@lobehub/chat 1.106.3 → 1.106.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -0
- package/apps/desktop/src/preload/routeInterceptor.ts +28 -0
- package/changelog/v1.json +12 -0
- package/locales/ar/models.json +164 -5
- package/locales/bg-BG/models.json +164 -5
- package/locales/de-DE/models.json +164 -5
- package/locales/en-US/models.json +164 -5
- package/locales/es-ES/models.json +164 -5
- package/locales/fa-IR/models.json +164 -5
- package/locales/fr-FR/models.json +164 -5
- package/locales/it-IT/models.json +164 -5
- package/locales/ja-JP/models.json +164 -5
- package/locales/ko-KR/models.json +164 -5
- package/locales/nl-NL/models.json +164 -5
- package/locales/pl-PL/models.json +164 -5
- package/locales/pt-BR/models.json +164 -5
- package/locales/ru-RU/models.json +164 -5
- package/locales/tr-TR/models.json +164 -5
- package/locales/vi-VN/models.json +164 -5
- package/locales/zh-CN/models.json +164 -5
- package/locales/zh-TW/models.json +164 -5
- package/package.json +1 -1
- package/src/server/services/mcp/index.test.ts +161 -0
- package/src/server/services/mcp/index.ts +4 -1
@@ -32,6 +32,9 @@
|
|
32
32
|
"4.0Ultra": {
|
33
33
|
"description": "Spark4.0 Ultra 是星火大模型系列中最為強大的版本,在升級聯網搜索鏈路同時,提升對文本內容的理解和總結能力。它是用於提升辦公生產力和準確響應需求的全方位解決方案,是引領行業的智能產品。"
|
34
34
|
},
|
35
|
+
"AnimeSharp": {
|
36
|
+
"description": "AnimeSharp(又名 “4x‑AnimeSharp”) 是 Kim2091 基於 ESRGAN 架構開發的開源超解析度模型,專注於動漫風格圖像的放大與銳化。它於 2022 年 2 月由 “4x-TextSharpV1” 重命名而來,原本亦適用於文字圖像,但性能針對動漫內容進行了大幅優化。"
|
37
|
+
},
|
35
38
|
"Baichuan2-Turbo": {
|
36
39
|
"description": "採用搜索增強技術實現大模型與領域知識、全網知識的全面連結。支持PDF、Word等多種文檔上傳及網址輸入,信息獲取及時、全面,輸出結果準確、專業。"
|
37
40
|
},
|
@@ -89,6 +92,9 @@
|
|
89
92
|
"Doubao-pro-4k": {
|
90
93
|
"description": "效果最好的主力模型,適合處理複雜任務,在參考問答、總結摘要、創作、文本分類、角色扮演等場景都有很好的效果。支持4k上下文視窗的推理和精調。"
|
91
94
|
},
|
95
|
+
"DreamO": {
|
96
|
+
"description": "DreamO 是由字節跳動與北京大學聯合研發的開源圖像定制生成模型,旨在透過統一架構支持多任務圖像生成。它採用高效的組合建模方法,可根據用戶指定的身份、主體、風格、背景等多個條件生成高度一致且定制化的圖像。"
|
97
|
+
},
|
92
98
|
"ERNIE-3.5-128K": {
|
93
99
|
"description": "百度自研的旗艦級大規模語言模型,覆蓋海量中英文語料,具有強大的通用能力,可滿足絕大部分對話問答、創作生成、插件應用場景要求;支持自動對接百度搜索插件,保障問答信息時效。"
|
94
100
|
},
|
@@ -122,15 +128,39 @@
|
|
122
128
|
"ERNIE-Speed-Pro-128K": {
|
123
129
|
"description": "百度2024年最新發布的自研高性能大語言模型,通用能力優異,效果比ERNIE Speed更優,適合作為基座模型進行精調,更好地處理特定場景問題,同時具備極佳的推理性能。"
|
124
130
|
},
|
131
|
+
"FLUX.1-Kontext-dev": {
|
132
|
+
"description": "FLUX.1-Kontext-dev 是由 Black Forest Labs 開發的一款基於 Rectified Flow Transformer 架構的多模態圖像生成與編輯模型,擁有 12B(120 億)參數規模,專注於在給定上下文條件下生成、重構、增強或編輯圖像。該模型結合了擴散模型的可控生成優勢與 Transformer 的上下文建模能力,支持高品質圖像輸出,廣泛適用於圖像修復、圖像補全、視覺場景重構等任務。"
|
133
|
+
},
|
134
|
+
"FLUX.1-dev": {
|
135
|
+
"description": "FLUX.1-dev 是由 Black Forest Labs 開發的一款開源多模態語言模型(Multimodal Language Model, MLLM),專為圖文任務優化,融合了圖像和文本的理解與生成能力。它建立在先進的大語言模型(如 Mistral-7B)基礎上,透過精心設計的視覺編碼器與多階段指令微調,實現了圖文協同處理與複雜任務推理的能力。"
|
136
|
+
},
|
125
137
|
"Gryphe/MythoMax-L2-13b": {
|
126
138
|
"description": "MythoMax-L2 (13B) 是一種創新模型,適合多領域應用和複雜任務。"
|
127
139
|
},
|
140
|
+
"HelloMeme": {
|
141
|
+
"description": "HelloMeme 是一個可以根據你提供的圖片或動作,自動生成表情包、動圖或短影片的 AI 工具。它不需要你有任何繪畫或程式設計基礎,只需準備好參考圖片,它就能幫你做出好看、有趣、風格一致的內容。"
|
142
|
+
},
|
143
|
+
"HiDream-I1-Full": {
|
144
|
+
"description": "HiDream-E1-Full 是由智象未來(HiDream.ai)推出的一款開源多模態圖像編輯大模型,基於先進的 Diffusion Transformer 架構,並結合強大的語言理解能力(內嵌 LLaMA 3.1-8B-Instruct),支持透過自然語言指令進行圖像生成、風格遷移、局部編輯和內容重繪,具備出色的圖文理解與執行能力。"
|
145
|
+
},
|
146
|
+
"HunyuanDiT-v1.2-Diffusers-Distilled": {
|
147
|
+
"description": "hunyuandit-v1.2-distilled 是一款輕量級的文生圖模型,經過蒸餾優化,能夠快速生成高品質的圖像,特別適用於低資源環境和即時生成任務。"
|
148
|
+
},
|
149
|
+
"InstantCharacter": {
|
150
|
+
"description": "InstantCharacter 是由騰訊 AI 團隊於 2025 年發布的一款無需微調(tuning-free)的個性化角色生成模型,旨在實現高保真、跨場景的一致角色生成。該模型支持僅基於一張參考圖像對角色進行建模,並能夠將該角色靈活遷移到各種風格、動作和背景中。"
|
151
|
+
},
|
128
152
|
"InternVL2-8B": {
|
129
153
|
"description": "InternVL2-8B 是一款強大的視覺語言模型,支持圖像與文本的多模態處理,能夠精確識別圖像內容並生成相關描述或回答。"
|
130
154
|
},
|
131
155
|
"InternVL2.5-26B": {
|
132
156
|
"description": "InternVL2.5-26B 是一款強大的視覺語言模型,支持圖像與文本的多模態處理,能夠精確識別圖像內容並生成相關描述或回答。"
|
133
157
|
},
|
158
|
+
"Kolors": {
|
159
|
+
"description": "Kolors 是由快手 Kolors 團隊開發的文生圖模型。由數十億的參數訓練,在視覺品質、中文語義理解和文本渲染方面有顯著優勢。"
|
160
|
+
},
|
161
|
+
"Kwai-Kolors/Kolors": {
|
162
|
+
"description": "Kolors 是由快手 Kolors 團隊開發的基於潛在擴散的大規模文本到圖像生成模型。該模型透過數十億文本-圖像對的訓練,在視覺品質、複雜語義準確性以及中英文字元渲染方面展現出顯著優勢。它不僅支持中英文輸入,在理解和生成中文特定內容方面也表現出色。"
|
163
|
+
},
|
134
164
|
"Llama-3.2-11B-Vision-Instruct": {
|
135
165
|
"description": "在高解析度圖像上表現出色的圖像推理能力,適用於視覺理解應用。"
|
136
166
|
},
|
@@ -164,9 +194,15 @@
|
|
164
194
|
"MiniMaxAI/MiniMax-M1-80k": {
|
165
195
|
"description": "MiniMax-M1 是開源權重的大規模混合注意力推理模型,擁有 4560 億參數,每個 Token 可激活約 459 億參數。模型原生支援 100 萬 Token 的超長上下文,並透過閃電注意力機制,在 10 萬 Token 的生成任務中相比 DeepSeek R1 節省 75% 的浮點運算量。同時,MiniMax-M1 採用 MoE(混合專家)架構,結合 CISPO 演算法與混合注意力設計的高效強化學習訓練,在長輸入推理與真實軟體工程場景中實現了業界領先的性能。"
|
166
196
|
},
|
197
|
+
"Moonshot-Kimi-K2-Instruct": {
|
198
|
+
"description": "總參數 1T,激活參數 32B。非思維模型中,在前沿知識、數學和編碼方面達到頂尖水平,更擅長通用 Agent 任務。針對代理任務進行了精心優化,不僅能回答問題,還能採取行動。最適用於即興、通用聊天和代理體驗,是一款無需長時間思考的反射級模型。"
|
199
|
+
},
|
167
200
|
"NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO": {
|
168
201
|
"description": "Nous Hermes 2 - Mixtral 8x7B-DPO (46.7B) 是高精度的指令模型,適用於複雜計算。"
|
169
202
|
},
|
203
|
+
"OmniConsistency": {
|
204
|
+
"description": "OmniConsistency 透過引入大規模 Diffusion Transformers(DiTs)和配對風格化資料,提升圖像到圖像(Image-to-Image)任務中的風格一致性和泛化能力,避免風格退化。"
|
205
|
+
},
|
170
206
|
"Phi-3-medium-128k-instruct": {
|
171
207
|
"description": "相同的Phi-3-medium模型,但具有更大的上下文大小,適用於RAG或少量提示。"
|
172
208
|
},
|
@@ -218,6 +254,9 @@
|
|
218
254
|
"Pro/deepseek-ai/DeepSeek-V3": {
|
219
255
|
"description": "DeepSeek-V3 是一款擁有 6710 億參數的混合專家(MoE)語言模型,採用多頭潛在注意力(MLA)和 DeepSeekMoE 架構,結合無輔助損失的負載平衡策略,優化推理和訓練效率。透過在 14.8 萬億高質量tokens上預訓練,並進行監督微調和強化學習,DeepSeek-V3 在性能上超越其他開源模型,接近領先閉源模型。"
|
220
256
|
},
|
257
|
+
"Pro/moonshotai/Kimi-K2-Instruct": {
|
258
|
+
"description": "Kimi K2 是一款具備超強程式碼和 Agent 能力的 MoE 架構基礎模型,總參數 1T,激活參數 32B。在通用知識推理、程式設計、數學、Agent 等主要類別的基準性能測試中,K2 模型的性能超過其他主流開源模型。"
|
259
|
+
},
|
221
260
|
"QwQ-32B-Preview": {
|
222
261
|
"description": "QwQ-32B-Preview 是一款獨具創新的自然語言處理模型,能夠高效處理複雜的對話生成與上下文理解任務。"
|
223
262
|
},
|
@@ -278,6 +317,12 @@
|
|
278
317
|
"Qwen/Qwen3-235B-A22B": {
|
279
318
|
"description": "Qwen3 是一款能力大幅提升的新一代通義千問大模型,在推理、通用、Agent 和多語言等多個核心能力上均達到業界領先水平,並支持思考模式切換。"
|
280
319
|
},
|
320
|
+
"Qwen/Qwen3-235B-A22B-Instruct-2507": {
|
321
|
+
"description": "Qwen3-235B-A22B-Instruct-2507 是由阿里雲通義千問團隊開發的 Qwen3 系列中的一款旗艦級混合專家(MoE)大語言模型。該模型擁有 2350 億總參數,每次推理激活 220 億參數。它是作為 Qwen3-235B-A22B 非思考模式的更新版本發布的,專注於在指令遵循、邏輯推理、文本理解、數學、科學、程式設計及工具使用等通用能力上實現顯著提升。此外,模型增強了對多語言長尾知識的覆蓋,並能更好地對齊用戶在主觀和開放性任務上的偏好,以生成更有幫助和更高品質的文本。"
|
322
|
+
},
|
323
|
+
"Qwen/Qwen3-235B-A22B-Thinking-2507": {
|
324
|
+
"description": "Qwen3-235B-A22B-Thinking-2507 是由阿里巴巴通義千問團隊開發的 Qwen3 系列大型語言模型中的一員,專注於高難度的複雜推理任務。該模型基於混合專家(MoE)架構,總參數量達 2350 億,而在處理每個 token 時僅激活約 220 億參數,從而在保持強大性能的同時提高了計算效率。作為一個專門的“思考”模型,它在邏輯推理、數學、科學、程式設計和學術基準測試等需要人類專業知識的任務上表現顯著提升,達到了開源思考模型中的頂尖水平。此外,模型還增強了通用能力,如指令遵循、工具使用和文本生成,並原生支持 256K 的長上下文理解能力,非常適合用於需要深度推理和處理長文件的場景。"
|
325
|
+
},
|
281
326
|
"Qwen/Qwen3-30B-A3B": {
|
282
327
|
"description": "Qwen3 是一款能力大幅提升的新一代通義千問大模型,在推理、通用、Agent 和多語言等多個核心能力上均達到業界領先水平,並支持思考模式切換。"
|
283
328
|
},
|
@@ -944,6 +989,9 @@
|
|
944
989
|
"doubao-seed-1.6-thinking": {
|
945
990
|
"description": "Doubao-Seed-1.6-thinking 模型思考能力大幅強化,相較 Doubao-1.5-thinking-pro,在 Coding、Math、邏輯推理等基礎能力上進一步提升,支援視覺理解。支援 256k 上下文視窗,輸出長度支援最大 16k tokens。"
|
946
991
|
},
|
992
|
+
"doubao-seedream-3-0-t2i-250415": {
|
993
|
+
"description": "Doubao 圖片生成模型由字節跳動 Seed 團隊研發,支持文字與圖片輸入,提供高可控、高品質的圖片生成體驗。基於文本提示詞生成圖片。"
|
994
|
+
},
|
947
995
|
"doubao-vision-lite-32k": {
|
948
996
|
"description": "Doubao-vision 模型是豆包推出的多模態大模型,具備強大的圖片理解與推理能力,以及精準的指令理解能力。模型在影像文本資訊擷取、基於影像的推理任務上展現出強大的性能,能夠應用於更複雜、更廣泛的視覺問答任務。"
|
949
997
|
},
|
@@ -995,6 +1043,9 @@
|
|
995
1043
|
"ernie-char-fiction-8k": {
|
996
1044
|
"description": "百度自研的垂直場景大語言模型,適合遊戲NPC、客服對話、對話角色扮演等應用場景,人設風格更為鮮明、一致,指令遵循能力更強,推理性能更優。"
|
997
1045
|
},
|
1046
|
+
"ernie-irag-edit": {
|
1047
|
+
"description": "百度自研的 ERNIE iRAG Edit 圖像編輯模型支持基於圖片進行 erase(消除物件)、repaint(重繪物件)、variation(生成變體)等操作。"
|
1048
|
+
},
|
998
1049
|
"ernie-lite-8k": {
|
999
1050
|
"description": "ERNIE Lite是百度自研的輕量級大語言模型,兼顧優異的模型效果與推理性能,適合低算力AI加速卡推理使用。"
|
1000
1051
|
},
|
@@ -1022,12 +1073,27 @@
|
|
1022
1073
|
"ernie-x1-turbo-32k": {
|
1023
1074
|
"description": "與ERNIE-X1-32K相比,模型效果和性能更佳。"
|
1024
1075
|
},
|
1076
|
+
"flux-1-schnell": {
|
1077
|
+
"description": "由 Black Forest Labs 開發的 120 億參數文生圖模型,採用潛在對抗擴散蒸餾技術,能夠在 1 到 4 步內生成高品質圖像。該模型性能媲美閉源替代品,並在 Apache-2.0 許可證下發布,適用於個人、科研和商業用途。"
|
1078
|
+
},
|
1079
|
+
"flux-dev": {
|
1080
|
+
"description": "FLUX.1 [dev] 是一款面向非商業應用的開源權重、精煉模型。FLUX.1 [dev] 在保持了與 FLUX 專業版相近的圖像品質和指令遵循能力的同時,具備更高的運行效率。相較於同尺寸的標準模型,它在資源利用上更為高效。"
|
1081
|
+
},
|
1025
1082
|
"flux-kontext/dev": {
|
1026
1083
|
"description": "Frontier 影像編輯模型。"
|
1027
1084
|
},
|
1085
|
+
"flux-merged": {
|
1086
|
+
"description": "FLUX.1-merged 模型結合了 \"DEV\" 在開發階段探索的深度特性和 \"Schnell\" 所代表的高速執行優勢。透過這一舉措,FLUX.1-merged 不僅提升了模型的性能界限,還拓寬了其應用範圍。"
|
1087
|
+
},
|
1028
1088
|
"flux-pro/kontext": {
|
1029
1089
|
"description": "FLUX.1 Kontext [pro] 能夠處理文字和參考圖像作為輸入,無縫實現目標性的局部編輯和複雜的整體場景變換。"
|
1030
1090
|
},
|
1091
|
+
"flux-schnell": {
|
1092
|
+
"description": "FLUX.1 [schnell] 作為目前開源最先進的少步模型,不僅超越了同類競爭者,甚至還優於諸如 Midjourney v6.0 和 DALL·E 3 (HD) 等強大的非精煉模型。該模型經過專門微調,以保留預訓練階段的全部輸出多樣性,相較於當前市場上的最先進模型,FLUX.1 [schnell] 顯著提升了在視覺品質、指令遵從、尺寸/比例變化、字體處理及輸出多樣性等方面的可能,為用戶帶來更為豐富多樣的創意圖像生成體驗。"
|
1093
|
+
},
|
1094
|
+
"flux.1-schnell": {
|
1095
|
+
"description": "具有120億參數的修正流變換器,能夠根據文本描述生成圖像。"
|
1096
|
+
},
|
1031
1097
|
"flux/schnell": {
|
1032
1098
|
"description": "FLUX.1 [schnell] 是一個擁有120億參數的流式轉換器模型,能夠在1到4步內從文字生成高品質圖像,適合個人和商業用途。"
|
1033
1099
|
},
|
@@ -1109,9 +1175,6 @@
|
|
1109
1175
|
"gemini-2.5-flash-preview-04-17": {
|
1110
1176
|
"description": "Gemini 2.5 Flash Preview 是 Google 性價比最高的模型,提供全面的功能。"
|
1111
1177
|
},
|
1112
|
-
"gemini-2.5-flash-preview-04-17-thinking": {
|
1113
|
-
"description": "Gemini 2.5 Flash Preview 是 Google 性價比最高的模型,提供全面的功能。"
|
1114
|
-
},
|
1115
1178
|
"gemini-2.5-flash-preview-05-20": {
|
1116
1179
|
"description": "Gemini 2.5 Flash Preview 是 Google 性價比最高的模型,提供全面的功能。"
|
1117
1180
|
},
|
@@ -1190,6 +1253,21 @@
|
|
1190
1253
|
"glm-4.1v-thinking-flashx": {
|
1191
1254
|
"description": "GLM-4.1V-Thinking 系列模型是目前已知10B級別的VLM模型中性能最強的視覺模型,融合了同級別SOTA的各項視覺語言任務,包括影片理解、圖片問答、學科解題、OCR文字識別、文件和圖表解讀、GUI Agent、前端網頁程式設計、Grounding等,多項任務能力甚至超過8倍參數量的Qwen2.5-VL-72B。通過領先的強化學習技術,模型掌握了透過思維鏈推理的方式提升回答的準確性和豐富度,從最終效果和可解釋性等維度都顯著超過傳統的非thinking模型。"
|
1192
1255
|
},
|
1256
|
+
"glm-4.5": {
|
1257
|
+
"description": "智譜最新旗艦模型,支持思考模式切換,綜合能力達到開源模型的 SOTA 水準,上下文長度可達128K。"
|
1258
|
+
},
|
1259
|
+
"glm-4.5-air": {
|
1260
|
+
"description": "GLM-4.5 的輕量版,兼顧性能與性價比,可靈活切換混合思考模型。"
|
1261
|
+
},
|
1262
|
+
"glm-4.5-airx": {
|
1263
|
+
"description": "GLM-4.5-Air 的極速版,響應速度更快,專為大規模高速度需求打造。"
|
1264
|
+
},
|
1265
|
+
"glm-4.5-flash": {
|
1266
|
+
"description": "GLM-4.5 的免費版,推理、程式碼、智能體等任務表現出色。"
|
1267
|
+
},
|
1268
|
+
"glm-4.5-x": {
|
1269
|
+
"description": "GLM-4.5 的極速版,在性能強勁的同時,生成速度可達 100 tokens/秒。"
|
1270
|
+
},
|
1193
1271
|
"glm-4v": {
|
1194
1272
|
"description": "GLM-4V提供強大的圖像理解與推理能力,支持多種視覺任務。"
|
1195
1273
|
},
|
@@ -1209,7 +1287,7 @@
|
|
1209
1287
|
"description": "極速推理:具有超快的推理速度和強大的推理效果。"
|
1210
1288
|
},
|
1211
1289
|
"glm-z1-flash": {
|
1212
|
-
"description": "GLM-Z1
|
1290
|
+
"description": "GLM-Z1 系列具備強大的複雜推理能力,在邏輯推理、數學、程式設計等領域表現優異。"
|
1213
1291
|
},
|
1214
1292
|
"glm-z1-flashx": {
|
1215
1293
|
"description": "高速低價:Flash增強版本,超快推理速度,更快並發保障。"
|
@@ -1385,6 +1463,9 @@
|
|
1385
1463
|
"grok-2-1212": {
|
1386
1464
|
"description": "該模型在準確性、指令遵循和多語言能力方面有所改進。"
|
1387
1465
|
},
|
1466
|
+
"grok-2-image-1212": {
|
1467
|
+
"description": "我們最新的圖像生成模型可以根據文本提示生成生動逼真的圖像。它在行銷、社交媒體和娛樂等領域的圖像生成方面表現出色。"
|
1468
|
+
},
|
1388
1469
|
"grok-2-vision-1212": {
|
1389
1470
|
"description": "該模型在準確性、指令遵循和多語言能力方面有所改進。"
|
1390
1471
|
},
|
@@ -1454,6 +1535,9 @@
|
|
1454
1535
|
"hunyuan-t1-20250529": {
|
1455
1536
|
"description": "優化文本創作、作文寫作,優化程式碼前端、數學、邏輯推理等理科能力,提升指令遵循能力。"
|
1456
1537
|
},
|
1538
|
+
"hunyuan-t1-20250711": {
|
1539
|
+
"description": "大幅提升高難度數學、邏輯和程式碼能力,優化模型輸出穩定性,提升模型長文能力。"
|
1540
|
+
},
|
1457
1541
|
"hunyuan-t1-latest": {
|
1458
1542
|
"description": "業界首個超大規模 Hybrid-Transformer-Mamba 推理模型,擴展推理能力,超強解碼速度,進一步對齊人類偏好。"
|
1459
1543
|
},
|
@@ -1502,6 +1586,12 @@
|
|
1502
1586
|
"hunyuan-vision": {
|
1503
1587
|
"description": "混元最新多模態模型,支持圖片 + 文本輸入生成文本內容。"
|
1504
1588
|
},
|
1589
|
+
"image-01": {
|
1590
|
+
"description": "全新圖像生成模型,畫面表現細膩,支持文生圖、圖生圖。"
|
1591
|
+
},
|
1592
|
+
"image-01-live": {
|
1593
|
+
"description": "圖像生成模型,畫面表現細膩,支持文生圖並進行畫風設定。"
|
1594
|
+
},
|
1505
1595
|
"imagen-4.0-generate-preview-06-06": {
|
1506
1596
|
"description": "Imagen 第四代文字轉圖像模型系列"
|
1507
1597
|
},
|
@@ -1526,6 +1616,9 @@
|
|
1526
1616
|
"internvl3-latest": {
|
1527
1617
|
"description": "我們最新發布的多模態大模型,具備更強的圖文理解能力、長時序圖片理解能力,性能比肩頂尖閉源模型。默認指向我們最新發布的 InternVL 系列模型,當前指向 internvl3-78b。"
|
1528
1618
|
},
|
1619
|
+
"irag-1.0": {
|
1620
|
+
"description": "百度自研的 iRAG(image based RAG),檢索增強的文生圖技術,將百度搜尋的億級圖片資源與強大的基礎模型能力結合,即可生成各種超真實的圖片,整體效果遠遠超過文生圖原生系統,去除了 AI 味道,且成本極低。iRAG 具備無幻覺、超真實、立等可取等特點。"
|
1621
|
+
},
|
1529
1622
|
"jamba-large": {
|
1530
1623
|
"description": "我們最強大、最先進的模型,專為處理企業級複雜任務而設計,具備卓越的性能。"
|
1531
1624
|
},
|
@@ -1535,6 +1628,9 @@
|
|
1535
1628
|
"jina-deepsearch-v1": {
|
1536
1629
|
"description": "深度搜索結合了網路搜索、閱讀和推理,可進行全面調查。您可以將其視為一個代理,接受您的研究任務 - 它會進行廣泛搜索並經過多次迭代,然後才能給出答案。這個過程涉及持續的研究、推理和從各個角度解決問題。這與直接從預訓練數據生成答案的標準大模型以及依賴一次性表面搜索的傳統 RAG 系統有著根本的不同。"
|
1537
1630
|
},
|
1631
|
+
"kimi-k2": {
|
1632
|
+
"description": "Kimi-K2 是一款 Moonshot AI 推出的具備超強程式碼和 Agent 能力的 MoE 架構基礎模型,總參數 1T,激活參數 32B。在通用知識推理、程式設計、數學、Agent 等主要類別的基準性能測試中,K2 模型的性能超過其他主流開源模型。"
|
1633
|
+
},
|
1538
1634
|
"kimi-k2-0711-preview": {
|
1539
1635
|
"description": "kimi-k2 是一款具備超強程式碼和 Agent 能力的 MoE 架構基礎模型,總參數 1T,激活參數 32B。在通用知識推理、程式設計、數學、Agent 等主要類別的基準性能測試中,K2 模型的性能超越其他主流開源模型。"
|
1540
1636
|
},
|
@@ -1928,6 +2024,9 @@
|
|
1928
2024
|
"moonshotai/Kimi-Dev-72B": {
|
1929
2025
|
"description": "Kimi-Dev-72B 是一款開源程式碼大型模型,經過大規模強化學習優化,能輸出穩健、可直接投產的補丁。該模型在 SWE-bench Verified 上取得 60.4 % 的新高分,刷新了開源模型在缺陷修復、程式碼審查等自動化軟體工程任務上的紀錄。"
|
1930
2026
|
},
|
2027
|
+
"moonshotai/Kimi-K2-Instruct": {
|
2028
|
+
"description": "Kimi K2 是一款具備超強程式碼和 Agent 能力的 MoE 架構基礎模型,總參數 1T,激活參數 32B。在通用知識推理、程式設計、數學、Agent 等主要類別的基準性能測試中,K2 模型的性能超過其他主流開源模型。"
|
2029
|
+
},
|
1931
2030
|
"moonshotai/kimi-k2-instruct": {
|
1932
2031
|
"description": "kimi-k2 是一款具備超強程式碼與代理能力的 MoE 架構基礎模型,總參數量達 1T,啟用參數 32B。在通用知識推理、程式設計、數學、代理等主要類別的基準效能測試中,K2 模型的表現超越其他主流開源模型。"
|
1933
2032
|
},
|
@@ -2264,6 +2363,12 @@
|
|
2264
2363
|
"qwen3-235b-a22b": {
|
2265
2364
|
"description": "Qwen3是一款能力大幅提升的新一代通義千問大模型,在推理、通用、Agent和多語言等多個核心能力上均達到業界領先水平,並支持思考模式切換。"
|
2266
2365
|
},
|
2366
|
+
"qwen3-235b-a22b-instruct-2507": {
|
2367
|
+
"description": "基於 Qwen3 的非思考模式開源模型,相較上一版本(通義千問3-235B-A22B)主觀創作能力與模型安全性均有小幅度提升。"
|
2368
|
+
},
|
2369
|
+
"qwen3-235b-a22b-thinking-2507": {
|
2370
|
+
"description": "基於 Qwen3 的思考模式開源模型,相較上一版本(通義千問3-235B-A22B)邏輯能力、通用能力、知識增強及創作能力均有大幅提升,適用於高難度強推理場景。"
|
2371
|
+
},
|
2267
2372
|
"qwen3-30b-a3b": {
|
2268
2373
|
"description": "Qwen3是一款能力大幅提升的新一代通義千問大模型,在推理、通用、Agent和多語言等多個核心能力上均達到業界領先水平,並支持思考模式切換。"
|
2269
2374
|
},
|
@@ -2276,6 +2381,12 @@
|
|
2276
2381
|
"qwen3-8b": {
|
2277
2382
|
"description": "Qwen3是一款能力大幅提升的新一代通義千問大模型,在推理、通用、Agent和多語言等多個核心能力上均達到業界領先水平,並支持思考模式切換。"
|
2278
2383
|
},
|
2384
|
+
"qwen3-coder-480b-a35b-instruct": {
|
2385
|
+
"description": "通義千問程式碼模型開源版。最新的 qwen3-coder-480b-a35b-instruct 是基於 Qwen3 的程式碼生成模型,具有強大的 Coding Agent 能力,擅長工具調用和環境互動,能夠實現自主程式設計、程式碼能力卓越的同時兼具通用能力。"
|
2386
|
+
},
|
2387
|
+
"qwen3-coder-plus": {
|
2388
|
+
"description": "通義千問程式碼模型。最新的 Qwen3-Coder-Plus 系列模型是基於 Qwen3 的程式碼生成模型,具有強大的 Coding Agent 能力,擅長工具調用和環境互動,能夠實現自主程式設計,程式碼能力卓越的同時兼具通用能力。"
|
2389
|
+
},
|
2279
2390
|
"qwq": {
|
2280
2391
|
"description": "QwQ 是一個實驗研究模型,專注於提高 AI 推理能力。"
|
2281
2392
|
},
|
@@ -2318,6 +2429,24 @@
|
|
2318
2429
|
"sonar-reasoning-pro": {
|
2319
2430
|
"description": "由 DeepSeek 推理模型提供支援的新 API 產品。"
|
2320
2431
|
},
|
2432
|
+
"stable-diffusion-3-medium": {
|
2433
|
+
"description": "由 Stability AI 推出的最新文生圖大模型。這一版本在繼承了前代的優點上,對圖像品質、文本理解和風格多樣性等方面進行了顯著改進,能夠更準確地解讀複雜的自然語言提示,並生成更為精確和多樣化的圖像。"
|
2434
|
+
},
|
2435
|
+
"stable-diffusion-3.5-large": {
|
2436
|
+
"description": "stable-diffusion-3.5-large 是一個具有8億參數的多模態擴散變壓器(MMDiT)文本到圖像生成模型,具備卓越的圖像品質和提示詞匹配度,支持生成 100 萬像素的高解析度圖像,且能夠在普通消費級硬體上高效運行。"
|
2437
|
+
},
|
2438
|
+
"stable-diffusion-3.5-large-turbo": {
|
2439
|
+
"description": "stable-diffusion-3.5-large-turbo 是在 stable-diffusion-3.5-large 的基礎上採用對抗性擴散蒸餾(ADD)技術的模型,具備更快的速度。"
|
2440
|
+
},
|
2441
|
+
"stable-diffusion-v1.5": {
|
2442
|
+
"description": "stable-diffusion-v1.5 是以 stable-diffusion-v1.2 檢查點的權重進行初始化,並在 \"laion-aesthetics v2 5+\" 上以 512x512 的解析度進行了595k步的微調,減少了 10% 的文本條件化,以提高無分類器的引導採樣。"
|
2443
|
+
},
|
2444
|
+
"stable-diffusion-xl": {
|
2445
|
+
"description": "stable-diffusion-xl 相較於 v1.5 做了重大的改進,並且與當前開源的文生圖 SOTA 模型 midjourney 效果相當。具體改進之處包括:更大的 unet backbone,是之前的 3 倍;增加了 refinement 模組用於改善生成圖片的品質;更高效的訓練技巧等。"
|
2446
|
+
},
|
2447
|
+
"stable-diffusion-xl-base-1.0": {
|
2448
|
+
"description": "由 Stability AI 開發並開源的文生圖大模型,其創意圖像生成能力位居行業前列。具備出色的指令理解能力,能夠支持反向 Prompt 定義來精確生成內容。"
|
2449
|
+
},
|
2321
2450
|
"step-1-128k": {
|
2322
2451
|
"description": "平衡性能與成本,適合一般場景。"
|
2323
2452
|
},
|
@@ -2348,6 +2477,12 @@
|
|
2348
2477
|
"step-1v-8k": {
|
2349
2478
|
"description": "小型視覺模型,適合基本的圖文任務。"
|
2350
2479
|
},
|
2480
|
+
"step-1x-edit": {
|
2481
|
+
"description": "該模型專注於圖像編輯任務,能夠根據用戶提供的圖片和文本描述,對圖片進行修改和增強。支持多種輸入格式,包括文本描述和示例圖像。模型能夠理解用戶的意圖,並生成符合要求的圖像編輯結果。"
|
2482
|
+
},
|
2483
|
+
"step-1x-medium": {
|
2484
|
+
"description": "該模型擁有強大的圖像生成能力,支持文本描述作為輸入方式。具備原生的中文支持,能夠更好地理解和處理中文文本描述,並且能夠更準確地捕捉文本描述中的語義資訊,並將其轉化為圖像特徵,從而實現更精準的圖像生成。模型能夠根據輸入生成高解析度、高品質的圖像,並具備一定的風格遷移能力。"
|
2485
|
+
},
|
2351
2486
|
"step-2-16k": {
|
2352
2487
|
"description": "支持大規模上下文交互,適合複雜對話場景。"
|
2353
2488
|
},
|
@@ -2357,6 +2492,9 @@
|
|
2357
2492
|
"step-2-mini": {
|
2358
2493
|
"description": "基於新一代自研Attention架構MFA的極速大模型,用極低成本達到和step1類似的效果,同時保持了更高的吞吐和更快響應時延。能夠處理通用任務,在程式碼能力上具備特長。"
|
2359
2494
|
},
|
2495
|
+
"step-2x-large": {
|
2496
|
+
"description": "階躍星辰新一代生圖模型,該模型專注於圖像生成任務,能夠根據用戶提供的文本描述,生成高品質的圖像。新模型生成圖片質感更真實,中英文文字生成能力更強。"
|
2497
|
+
},
|
2360
2498
|
"step-r1-v-mini": {
|
2361
2499
|
"description": "該模型是擁有強大的圖像理解能力的推理大模型,能夠處理圖像和文字信息,經過深度思考後輸出文本生成文本內容。該模型在視覺推理領域表現突出,同時擁有第一梯隊的數學、程式碼、文本推理能力。上下文長度為100k。"
|
2362
2500
|
},
|
@@ -2432,8 +2570,23 @@
|
|
2432
2570
|
"v0-1.5-md": {
|
2433
2571
|
"description": "v0-1.5-md 模型適用於日常任務和使用者介面(UI)生成"
|
2434
2572
|
},
|
2573
|
+
"wan2.2-t2i-flash": {
|
2574
|
+
"description": "萬相2.2極速版,當前最新模型。在創意性、穩定性、寫實質感上全面升級,生成速度快,性價比高。"
|
2575
|
+
},
|
2576
|
+
"wan2.2-t2i-plus": {
|
2577
|
+
"description": "萬相2.2專業版,當前最新模型。在創意性、穩定性、寫實質感上全面升級,生成細節豐富。"
|
2578
|
+
},
|
2579
|
+
"wanx-v1": {
|
2580
|
+
"description": "基礎文生圖模型。對應通義萬相官網1.0通用模型。"
|
2581
|
+
},
|
2582
|
+
"wanx2.0-t2i-turbo": {
|
2583
|
+
"description": "擅長質感人像,速度中等、成本較低。對應通義萬相官網2.0極速模型。"
|
2584
|
+
},
|
2585
|
+
"wanx2.1-t2i-plus": {
|
2586
|
+
"description": "全面升級版本。生成圖像細節更豐富,速度稍慢。對應通義萬相官網2.1專業模型。"
|
2587
|
+
},
|
2435
2588
|
"wanx2.1-t2i-turbo": {
|
2436
|
-
"description": "
|
2589
|
+
"description": "全面升級版本。生成速度快、效果全面、綜合性價比高。對應通義萬相官網2.1極速模型。"
|
2437
2590
|
},
|
2438
2591
|
"whisper-1": {
|
2439
2592
|
"description": "通用語音識別模型,支持多語言語音識別、語音翻譯和語言識別。"
|
@@ -2485,5 +2638,11 @@
|
|
2485
2638
|
},
|
2486
2639
|
"yi-vision-v2": {
|
2487
2640
|
"description": "複雜視覺任務模型,提供基於多張圖片的高性能理解、分析能力。"
|
2641
|
+
},
|
2642
|
+
"zai-org/GLM-4.5": {
|
2643
|
+
"description": "GLM-4.5 是一款專為智能體應用打造的基礎模型,使用了混合專家(Mixture-of-Experts)架構。在工具調用、網頁瀏覽、軟體工程、前端程式設計領域進行了深度優化,支持無縫接入 Claude Code、Roo Code 等程式碼智能體中使用。GLM-4.5 採用混合推理模式,可以適應複雜推理和日常使用等多種應用場景。"
|
2644
|
+
},
|
2645
|
+
"zai-org/GLM-4.5-Air": {
|
2646
|
+
"description": "GLM-4.5-Air 是一款專為智能體應用打造的基礎模型,使用了混合專家(Mixture-of-Experts)架構。在工具調用、網頁瀏覽、軟體工程、前端程式設計領域進行了深度優化,支持無縫接入 Claude Code、Roo Code 等程式碼智能體中使用。GLM-4.5 採用混合推理模式,可以適應複雜推理和日常使用等多種應用場景。"
|
2488
2647
|
}
|
2489
2648
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@lobehub/chat",
|
3
|
-
"version": "1.106.
|
3
|
+
"version": "1.106.4",
|
4
4
|
"description": "Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.",
|
5
5
|
"keywords": [
|
6
6
|
"framework",
|
@@ -0,0 +1,161 @@
|
|
1
|
+
import { TRPCError } from '@trpc/server';
|
2
|
+
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
3
|
+
|
4
|
+
// Mock 依赖
|
5
|
+
vi.mock('@/libs/mcp');
|
6
|
+
|
7
|
+
describe('MCPService', () => {
|
8
|
+
let mcpService: any;
|
9
|
+
let mockClient: any;
|
10
|
+
|
11
|
+
beforeEach(async () => {
|
12
|
+
vi.clearAllMocks();
|
13
|
+
|
14
|
+
// 动态导入服务实例
|
15
|
+
const { mcpService: importedService } = await import('./index');
|
16
|
+
mcpService = importedService;
|
17
|
+
|
18
|
+
// 创建 mock 客户端
|
19
|
+
mockClient = {
|
20
|
+
callTool: vi.fn(),
|
21
|
+
};
|
22
|
+
|
23
|
+
// Mock getClient 方法返回 mock 客户端
|
24
|
+
vi.spyOn(mcpService as any, 'getClient').mockResolvedValue(mockClient);
|
25
|
+
});
|
26
|
+
|
27
|
+
describe('callTool', () => {
|
28
|
+
const mockParams = {
|
29
|
+
name: 'test-mcp',
|
30
|
+
type: 'stdio' as const,
|
31
|
+
command: 'test-command',
|
32
|
+
args: ['--test'],
|
33
|
+
};
|
34
|
+
|
35
|
+
it('should return original data when content array is empty', async () => {
|
36
|
+
mockClient.callTool.mockResolvedValue({
|
37
|
+
content: [],
|
38
|
+
isError: false,
|
39
|
+
});
|
40
|
+
|
41
|
+
const result = await mcpService.callTool(mockParams, 'testTool', '{}');
|
42
|
+
|
43
|
+
expect(result).toEqual([]);
|
44
|
+
});
|
45
|
+
|
46
|
+
it('should return original data when content is null or undefined', async () => {
|
47
|
+
mockClient.callTool.mockResolvedValue({
|
48
|
+
content: null,
|
49
|
+
isError: false,
|
50
|
+
});
|
51
|
+
|
52
|
+
const result = await mcpService.callTool(mockParams, 'testTool', '{}');
|
53
|
+
|
54
|
+
expect(result).toBeNull();
|
55
|
+
});
|
56
|
+
|
57
|
+
it('should return parsed JSON when single element contains valid JSON', async () => {
|
58
|
+
const jsonData = { message: 'Hello World', status: 'success' };
|
59
|
+
mockClient.callTool.mockResolvedValue({
|
60
|
+
content: [{ type: 'text', text: JSON.stringify(jsonData) }],
|
61
|
+
isError: false,
|
62
|
+
});
|
63
|
+
|
64
|
+
const result = await mcpService.callTool(mockParams, 'testTool', '{}');
|
65
|
+
|
66
|
+
expect(result).toEqual(jsonData);
|
67
|
+
});
|
68
|
+
|
69
|
+
it('should return plain text when single element contains non-JSON text', async () => {
|
70
|
+
const textData = 'Hello World';
|
71
|
+
mockClient.callTool.mockResolvedValue({
|
72
|
+
content: [{ type: 'text', text: textData }],
|
73
|
+
isError: false,
|
74
|
+
});
|
75
|
+
|
76
|
+
const result = await mcpService.callTool(mockParams, 'testTool', '{}');
|
77
|
+
|
78
|
+
expect(result).toBe(textData);
|
79
|
+
});
|
80
|
+
|
81
|
+
it('should return original data when single element has no text', async () => {
|
82
|
+
const contentData = [{ type: 'text', text: '' }];
|
83
|
+
mockClient.callTool.mockResolvedValue({
|
84
|
+
content: contentData,
|
85
|
+
isError: false,
|
86
|
+
});
|
87
|
+
|
88
|
+
const result = await mcpService.callTool(mockParams, 'testTool', '{}');
|
89
|
+
|
90
|
+
expect(result).toEqual(contentData);
|
91
|
+
});
|
92
|
+
|
93
|
+
it('should return complete array when content has multiple elements', async () => {
|
94
|
+
const multipleContent = [
|
95
|
+
{ type: 'text', text: 'First message' },
|
96
|
+
{ type: 'text', text: 'Second message' },
|
97
|
+
{ type: 'text', text: '{"json": "data"}' },
|
98
|
+
];
|
99
|
+
|
100
|
+
mockClient.callTool.mockResolvedValue({
|
101
|
+
content: multipleContent,
|
102
|
+
isError: false,
|
103
|
+
});
|
104
|
+
|
105
|
+
const result = await mcpService.callTool(mockParams, 'testTool', '{}');
|
106
|
+
|
107
|
+
// 应该直接返回完整的数组,不进行任何处理
|
108
|
+
expect(result).toEqual(multipleContent);
|
109
|
+
});
|
110
|
+
|
111
|
+
it('should return complete array when content has two elements', async () => {
|
112
|
+
const twoContent = [
|
113
|
+
{ type: 'text', text: 'First message' },
|
114
|
+
{ type: 'text', text: 'Second message' },
|
115
|
+
];
|
116
|
+
|
117
|
+
mockClient.callTool.mockResolvedValue({
|
118
|
+
content: twoContent,
|
119
|
+
isError: false,
|
120
|
+
});
|
121
|
+
|
122
|
+
const result = await mcpService.callTool(mockParams, 'testTool', '{}');
|
123
|
+
|
124
|
+
expect(result).toEqual(twoContent);
|
125
|
+
});
|
126
|
+
|
127
|
+
it('should return error result when isError is true', async () => {
|
128
|
+
const errorResult = {
|
129
|
+
content: [{ type: 'text', text: 'Error occurred' }],
|
130
|
+
isError: true,
|
131
|
+
};
|
132
|
+
|
133
|
+
mockClient.callTool.mockResolvedValue(errorResult);
|
134
|
+
|
135
|
+
const result = await mcpService.callTool(mockParams, 'testTool', '{}');
|
136
|
+
|
137
|
+
expect(result).toEqual(errorResult);
|
138
|
+
});
|
139
|
+
|
140
|
+
it('should throw TRPCError when client throws error', async () => {
|
141
|
+
const error = new Error('MCP client error');
|
142
|
+
mockClient.callTool.mockRejectedValue(error);
|
143
|
+
|
144
|
+
await expect(mcpService.callTool(mockParams, 'testTool', '{}')).rejects.toThrow(TRPCError);
|
145
|
+
});
|
146
|
+
|
147
|
+
it('should parse args string correctly', async () => {
|
148
|
+
const argsObject = { param1: 'value1', param2: 'value2' };
|
149
|
+
const argsString = JSON.stringify(argsObject);
|
150
|
+
|
151
|
+
mockClient.callTool.mockResolvedValue({
|
152
|
+
content: [{ type: 'text', text: 'result' }],
|
153
|
+
isError: false,
|
154
|
+
});
|
155
|
+
|
156
|
+
await mcpService.callTool(mockParams, 'testTool', argsString);
|
157
|
+
|
158
|
+
expect(mockClient.callTool).toHaveBeenCalledWith('testTool', argsObject);
|
159
|
+
});
|
160
|
+
});
|
161
|
+
});
|
@@ -166,8 +166,11 @@ class MCPService {
|
|
166
166
|
|
167
167
|
const data = content as { text: string; type: 'text' }[];
|
168
168
|
|
169
|
-
|
169
|
+
if (!data || data.length === 0) return data;
|
170
170
|
|
171
|
+
if (data.length > 1) return data;
|
172
|
+
|
173
|
+
const text = data[0]?.text;
|
171
174
|
if (!text) return data;
|
172
175
|
|
173
176
|
// try to get json object, which will be stringify in the client
|