@lobehub/chat 1.88.19 → 1.88.21

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.
Files changed (82) hide show
  1. package/.i18nrc.js +1 -1
  2. package/CHANGELOG.md +51 -0
  3. package/changelog/v1.json +18 -0
  4. package/locales/ar/chat.json +3 -0
  5. package/locales/ar/models.json +92 -17
  6. package/locales/ar/setting.json +0 -12
  7. package/locales/bg-BG/chat.json +3 -0
  8. package/locales/bg-BG/models.json +92 -17
  9. package/locales/bg-BG/setting.json +0 -12
  10. package/locales/de-DE/chat.json +3 -0
  11. package/locales/de-DE/models.json +92 -17
  12. package/locales/de-DE/setting.json +0 -12
  13. package/locales/en-US/chat.json +3 -0
  14. package/locales/en-US/models.json +92 -17
  15. package/locales/en-US/setting.json +0 -12
  16. package/locales/es-ES/chat.json +3 -0
  17. package/locales/es-ES/models.json +92 -17
  18. package/locales/es-ES/setting.json +0 -12
  19. package/locales/fa-IR/chat.json +3 -0
  20. package/locales/fa-IR/models.json +92 -17
  21. package/locales/fa-IR/setting.json +0 -12
  22. package/locales/fr-FR/chat.json +3 -0
  23. package/locales/fr-FR/models.json +92 -17
  24. package/locales/fr-FR/setting.json +0 -12
  25. package/locales/it-IT/chat.json +3 -0
  26. package/locales/it-IT/models.json +92 -17
  27. package/locales/it-IT/setting.json +0 -12
  28. package/locales/ja-JP/chat.json +3 -0
  29. package/locales/ja-JP/models.json +92 -17
  30. package/locales/ja-JP/setting.json +0 -12
  31. package/locales/ko-KR/chat.json +3 -0
  32. package/locales/ko-KR/models.json +92 -17
  33. package/locales/ko-KR/setting.json +0 -12
  34. package/locales/nl-NL/chat.json +3 -0
  35. package/locales/nl-NL/models.json +92 -17
  36. package/locales/nl-NL/setting.json +0 -12
  37. package/locales/pl-PL/chat.json +3 -0
  38. package/locales/pl-PL/models.json +92 -17
  39. package/locales/pl-PL/setting.json +0 -12
  40. package/locales/pt-BR/chat.json +3 -0
  41. package/locales/pt-BR/models.json +92 -17
  42. package/locales/pt-BR/setting.json +0 -12
  43. package/locales/ru-RU/chat.json +3 -0
  44. package/locales/ru-RU/models.json +92 -17
  45. package/locales/ru-RU/setting.json +0 -12
  46. package/locales/tr-TR/chat.json +3 -0
  47. package/locales/tr-TR/models.json +92 -17
  48. package/locales/tr-TR/setting.json +0 -12
  49. package/locales/vi-VN/chat.json +3 -0
  50. package/locales/vi-VN/models.json +92 -17
  51. package/locales/vi-VN/setting.json +0 -12
  52. package/locales/zh-CN/chat.json +3 -0
  53. package/locales/zh-CN/models.json +89 -14
  54. package/locales/zh-CN/setting.json +0 -12
  55. package/locales/zh-TW/chat.json +3 -0
  56. package/locales/zh-TW/models.json +92 -17
  57. package/locales/zh-TW/setting.json +0 -12
  58. package/package.json +1 -1
  59. package/src/app/[variants]/(main)/settings/common/features/Appearance/ThemeSwatches/ThemeSwatchesNeutral.tsx +4 -2
  60. package/src/app/[variants]/(main)/settings/common/features/Appearance/ThemeSwatches/ThemeSwatchesPrimary.tsx +4 -2
  61. package/src/config/aiModels/deepseek.ts +5 -3
  62. package/src/config/aiModels/groq.ts +16 -29
  63. package/src/config/aiModels/hunyuan.ts +104 -82
  64. package/src/config/aiModels/novita.ts +27 -121
  65. package/src/config/aiModels/openai.ts +19 -2
  66. package/src/config/aiModels/openrouter.ts +59 -47
  67. package/src/config/aiModels/siliconcloud.ts +73 -39
  68. package/src/config/aiModels/volcengine.ts +3 -3
  69. package/src/config/aiModels/xai.ts +2 -0
  70. package/src/features/AgentSetting/AgentMeta/index.tsx +5 -0
  71. package/src/features/AgentSetting/AgentModal/index.tsx +1 -26
  72. package/src/features/ChatInput/ActionBar/Model/ControlsForm.tsx +12 -0
  73. package/src/features/ChatInput/ActionBar/Model/ReasoningEffortSlider.tsx +57 -0
  74. package/src/features/ModelSwitchPanel/index.tsx +10 -9
  75. package/src/features/PluginDevModal/MCPManifestForm/index.tsx +3 -1
  76. package/src/libs/model-runtime/novita/__snapshots__/index.test.ts.snap +1 -1
  77. package/src/locales/default/chat.ts +3 -0
  78. package/src/locales/default/setting.ts +0 -12
  79. package/src/services/chat.ts +5 -1
  80. package/src/store/chat/slices/aiChat/actions/generateAIChat.ts +0 -5
  81. package/src/types/agent/chatConfig.ts +1 -0
  82. package/src/types/aiModel.ts +5 -1
@@ -1,8 +1,23 @@
1
1
  import { AIChatModelCard } from '@/types/aiModel';
2
-
3
2
  // https://siliconflow.cn/zh-cn/models
4
-
5
3
  const siliconcloudChatModels: AIChatModelCard[] = [
4
+ {
5
+ abilities: {
6
+ reasoning: true,
7
+ },
8
+ contextWindowTokens: 131_072,
9
+ description:
10
+ 'QwenLong-L1-32B 是首个使用强化学习训练的长上下文大型推理模型(LRM),专门针对长文本推理任务进行优化。该模型通过渐进式上下文扩展的强化学习框架,实现了从短上下文到长上下文的稳定迁移。在七个长上下文文档问答基准测试中,QwenLong-L1-32B 超越了 OpenAI-o3-mini 和 Qwen3-235B-A22B 等旗舰模型,性能可媲美 Claude-3.7-Sonnet-Thinking。该模型特别擅长数学推理、逻辑推理和多跳推理等复杂任务。',
11
+ displayName: 'QwenLong L1 32B',
12
+ id: 'Tongyi-Zhiwen/QwenLong-L1-32B',
13
+ pricing: {
14
+ currency: 'CNY',
15
+ input: 1,
16
+ output: 4,
17
+ },
18
+ releasedAt: '2025-05-26',
19
+ type: 'chat',
20
+ },
6
21
  {
7
22
  abilities: {
8
23
  functionCall: true,
@@ -118,7 +133,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
118
133
  abilities: {
119
134
  reasoning: true,
120
135
  },
121
- contextWindowTokens: 32_768,
136
+ contextWindowTokens: 131_072,
122
137
  description:
123
138
  'GLM-Z1-Rumination-32B-0414 是一个具有沉思能力的深度推理模型(与 OpenAI 的 Deep Research 对标)。与典型的深度思考模型不同,沉思模型采用更长时间的深度思考来解决更开放和复杂的问题。',
124
139
  displayName: 'GLM-Z1-Rumination 32B 0414',
@@ -135,7 +150,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
135
150
  functionCall: true,
136
151
  reasoning: true,
137
152
  },
138
- contextWindowTokens: 32_768,
153
+ contextWindowTokens: 131_072,
139
154
  description:
140
155
  'GLM-Z1-32B-0414 是一个具有深度思考能力的推理模型。该模型基于 GLM-4-32B-0414 通过冷启动和扩展强化学习开发,并在数学、代码和逻辑任务上进行了进一步训练。与基础模型相比,GLM-Z1-32B-0414 显著提升了数学能力和解决复杂任务的能力。',
141
156
  displayName: 'GLM-Z1 32B 0414',
@@ -152,11 +167,10 @@ const siliconcloudChatModels: AIChatModelCard[] = [
152
167
  functionCall: true,
153
168
  reasoning: true,
154
169
  },
155
- contextWindowTokens: 32_768,
170
+ contextWindowTokens: 131_072,
156
171
  description:
157
172
  'GLM-Z1-9B-0414 是 GLM 系列的小型模型,仅有 90 亿参数,但保持了开源传统的同时展现出惊人的能力。尽管规模较小,该模型在数学推理和通用任务上仍表现出色,其总体性能在同等规模的开源模型中已处于领先水平。',
158
173
  displayName: 'GLM-Z1 9B 0414',
159
- enabled: true,
160
174
  id: 'THUDM/GLM-Z1-9B-0414',
161
175
  pricing: {
162
176
  currency: 'CNY',
@@ -202,7 +216,25 @@ const siliconcloudChatModels: AIChatModelCard[] = [
202
216
  abilities: {
203
217
  reasoning: true,
204
218
  },
205
- contextWindowTokens: 65_536,
219
+ contextWindowTokens: 131_072,
220
+ description:
221
+ 'DeepSeek-R1-0528-Qwen3-8B 是通过从 DeepSeek-R1-0528 模型蒸馏思维链到 Qwen3 8B Base 获得的模型。该模型在开源模型中达到了最先进(SOTA)的性能,在 AIME 2024 测试中超越了 Qwen3 8B 10%,并达到了 Qwen3-235B-thinking 的性能水平。该模型在数学推理、编程和通用逻辑等多个基准测试中表现出色,其架构与 Qwen3-8B 相同,但共享 DeepSeek-R1-0528 的分词器配置。',
222
+ displayName: 'DeepSeek R1 0528 Qwen3 8B',
223
+ enabled: true,
224
+ id: 'deepseek-ai/DeepSeek-R1-0528-Qwen3-8B',
225
+ pricing: {
226
+ currency: 'CNY',
227
+ input: 0,
228
+ output: 0,
229
+ },
230
+ type: 'chat',
231
+ },
232
+ {
233
+ abilities: {
234
+ functionCall: true,
235
+ reasoning: true,
236
+ },
237
+ contextWindowTokens: 98_304,
206
238
  description:
207
239
  'DeepSeek-R1 是一款强化学习(RL)驱动的推理模型,解决了模型中的重复性和可读性问题。在 RL 之前,DeepSeek-R1 引入了冷启动数据,进一步优化了推理性能。它在数学、代码和推理任务中与 OpenAI-o1 表现相当,并且通过精心设计的训练方法,提升了整体效果。',
208
240
  displayName: 'DeepSeek R1',
@@ -232,9 +264,10 @@ const siliconcloudChatModels: AIChatModelCard[] = [
232
264
  },
233
265
  {
234
266
  abilities: {
267
+ functionCall: true,
235
268
  reasoning: true,
236
269
  },
237
- contextWindowTokens: 65_536,
270
+ contextWindowTokens: 98_304,
238
271
  description:
239
272
  'DeepSeek-R1 是一款强化学习(RL)驱动的推理模型,解决了模型中的重复性和可读性问题。在 RL 之前,DeepSeek-R1 引入了冷启动数据,进一步优化了推理性能。它在数学、代码和推理任务中与 OpenAI-o1 表现相当,并且通过精心设计的训练方法,提升了整体效果。',
240
273
  displayName: 'DeepSeek R1 (Pro)',
@@ -246,6 +279,23 @@ const siliconcloudChatModels: AIChatModelCard[] = [
246
279
  },
247
280
  type: 'chat',
248
281
  },
282
+ {
283
+ abilities: {
284
+ functionCall: true,
285
+ reasoning: true,
286
+ },
287
+ contextWindowTokens: 98_304,
288
+ description:
289
+ 'DeepSeek-R1 是一款强化学习(RL)驱动的推理模型,解决了模型中的重复性和可读性问题。在 RL 之前,DeepSeek-R1 引入了冷启动数据,进一步优化了推理性能。它在数学、代码和推理任务中与 OpenAI-o1 表现相当,并且通过精心设计的训练方法,提升了整体效果。',
290
+ displayName: 'DeepSeek R1 0120 (Pro)',
291
+ id: 'Pro/deepseek-ai/DeepSeek-R1-0120',
292
+ pricing: {
293
+ currency: 'CNY',
294
+ input: 4,
295
+ output: 16,
296
+ },
297
+ type: 'chat',
298
+ },
249
299
  {
250
300
  abilities: {
251
301
  functionCall: true,
@@ -270,7 +320,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
270
320
  description:
271
321
  'DeepSeek-V3 是一款拥有 6710 亿参数的混合专家(MoE)语言模型,采用多头潜在注意力(MLA)和 DeepSeekMoE 架构,结合无辅助损失的负载平衡策略,优化推理和训练效率。通过在 14.8 万亿高质量tokens上预训练,并进行监督微调和强化学习,DeepSeek-V3 在性能上超越其他开源模型,接近领先闭源模型。',
272
322
  displayName: 'DeepSeek V3 1226 (Pro)',
273
- id: 'Pro/deepseek-ai/DeepSeek-V3-1226', // 将于 2025 年 4 月 30 日废弃
323
+ id: 'Pro/deepseek-ai/DeepSeek-V3-1226',
274
324
  pricing: {
275
325
  currency: 'CNY',
276
326
  input: 2,
@@ -283,7 +333,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
283
333
  functionCall: true,
284
334
  reasoning: true
285
335
  },
286
- contextWindowTokens: 32_768,
336
+ contextWindowTokens: 131_072,
287
337
  description:
288
338
  'DeepSeek-R1-Distill-Qwen-32B 是基于 Qwen2.5-32B 通过知识蒸馏得到的模型。该模型使用 DeepSeek-R1 生成的 80 万个精选样本进行微调,在数学、编程和推理等多个领域展现出卓越的性能。在 AIME 2024、MATH-500、GPQA Diamond 等多个基准测试中都取得了优异成绩,其中在 MATH-500 上达到了 94.3% 的准确率,展现出强大的数学推理能力。',
289
339
  displayName: 'DeepSeek R1 Distill Qwen 32B',
@@ -300,7 +350,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
300
350
  functionCall: true,
301
351
  reasoning: true
302
352
  },
303
- contextWindowTokens: 32_768,
353
+ contextWindowTokens: 131_072,
304
354
  description:
305
355
  'DeepSeek-R1-Distill-Qwen-14B 是基于 Qwen2.5-14B 通过知识蒸馏得到的模型。该模型使用 DeepSeek-R1 生成的 80 万个精选样本进行微调,展现出优秀的推理能力。在多个基准测试中表现出色,其中在 MATH-500 上达到了 93.9% 的准确率,在 AIME 2024 上达到了 69.7% 的通过率,在 CodeForces 上获得了 1481 的评分,显示出在数学和编程领域的强大实力。',
306
356
  displayName: 'DeepSeek R1 Distill Qwen 14B',
@@ -317,7 +367,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
317
367
  functionCall: true,
318
368
  reasoning: true
319
369
  },
320
- contextWindowTokens: 32_768,
370
+ contextWindowTokens: 131_072,
321
371
  description:
322
372
  'DeepSeek-R1-Distill-Qwen-7B 是基于 Qwen2.5-Math-7B 通过知识蒸馏得到的模型。该模型使用 DeepSeek-R1 生成的 80 万个精选样本进行微调,展现出优秀的推理能力。在多个基准测试中表现出色,其中在 MATH-500 上达到了 92.8% 的准确率,在 AIME 2024 上达到了 55.5% 的通过率,在 CodeForces 上获得了 1189 的评分,作为 7B 规模的模型展示了较强的数学和编程能力。',
323
373
  displayName: 'DeepSeek R1 Distill Qwen 7B (Free)',
@@ -334,11 +384,11 @@ const siliconcloudChatModels: AIChatModelCard[] = [
334
384
  functionCall: true,
335
385
  reasoning: true
336
386
  },
337
- contextWindowTokens: 32_768,
387
+ contextWindowTokens: 131_072,
338
388
  description:
339
389
  'DeepSeek-R1-Distill-Qwen-1.5B 是基于 Qwen2.5-Math-1.5B 通过知识蒸馏得到的模型。该模型使用 DeepSeek-R1 生成的 80 万个精选样本进行微调,在多个基准测试中展现出不错的性能。作为一个轻量级模型,在 MATH-500 上达到了 83.9% 的准确率,在 AIME 2024 上达到了 28.9% 的通过率,在 CodeForces 上获得了 954 的评分,显示出超出其参数规模的推理能力。',
340
390
  displayName: 'DeepSeek-R1-Distill-Qwen-1.5B (Free)',
341
- id: 'deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B',
391
+ id: 'deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B', // 将于 2025-06-05 下线
342
392
  pricing: {
343
393
  currency: 'CNY',
344
394
  input: 0,
@@ -351,7 +401,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
351
401
  functionCall: true,
352
402
  reasoning: true
353
403
  },
354
- contextWindowTokens: 32_768,
404
+ contextWindowTokens: 131_072,
355
405
  description:
356
406
  'DeepSeek-R1-Distill-Qwen-7B 是基于 Qwen2.5-Math-7B 通过知识蒸馏得到的模型。该模型使用 DeepSeek-R1 生成的 80 万个精选样本进行微调,展现出优秀的推理能力。在多个基准测试中表现出色,其中在 MATH-500 上达到了 92.8% 的准确率,在 AIME 2024 上达到了 55.5% 的通过率,在 CodeForces 上获得了 1189 的评分,作为 7B 规模的模型展示了较强的数学和编程能力。',
357
407
  displayName: 'DeepSeek R1 Distill Qwen 7B (Pro)',
@@ -368,11 +418,11 @@ const siliconcloudChatModels: AIChatModelCard[] = [
368
418
  functionCall: true,
369
419
  reasoning: true
370
420
  },
371
- contextWindowTokens: 32_768,
421
+ contextWindowTokens: 131_072,
372
422
  description:
373
423
  'DeepSeek-R1-Distill-Qwen-1.5B 是基于 Qwen2.5-Math-1.5B 通过知识蒸馏得到的模型。该模型使用 DeepSeek-R1 生成的 80 万个精选样本进行微调,在多个基准测试中展现出不错的性能。作为一个轻量级模型,在 MATH-500 上达到了 83.9% 的准确率,在 AIME 2024 上达到了 28.9% 的通过率,在 CodeForces 上获得了 954 的评分,显示出超出其参数规模的推理能力。',
374
424
  displayName: 'DeepSeek-R1-Distill-Qwen-1.5B (Pro)',
375
- id: 'Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B',
425
+ id: 'Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B', // 将于 2025-06-05 下线
376
426
  pricing: {
377
427
  currency: 'CNY',
378
428
  input: 0.14,
@@ -434,7 +484,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
434
484
  functionCall: true,
435
485
  reasoning: true,
436
486
  },
437
- contextWindowTokens: 32_768,
487
+ contextWindowTokens: 131_072,
438
488
  description:
439
489
  'QwQ 是 Qwen 系列的推理模型。与传统的指令调优模型相比,QwQ 具备思考和推理能力,能够在下游任务中实现显著增强的性能,尤其是在解决困难问题方面。QwQ-32B 是中型推理模型,能够在与最先进的推理模型(如 DeepSeek-R1、o1-mini)的对比中取得有竞争力的性能。该模型采用 RoPE、SwiGLU、RMSNorm 和 Attention QKV bias 等技术,具有 64 层网络结构和 40 个 Q 注意力头(GQA 架构中 KV 为 8 个)。',
440
490
  displayName: 'QwQ 32B',
@@ -542,22 +592,6 @@ const siliconcloudChatModels: AIChatModelCard[] = [
542
592
  },
543
593
  type: 'chat',
544
594
  },
545
- {
546
- abilities: {
547
- functionCall: true,
548
- },
549
- contextWindowTokens: 32_768,
550
- description:
551
- 'Qwen2.5-72B-Instruct 是阿里云发布的最新大语言模型系列之一。该 72B 模型在编码和数学等领域具有显著改进的能力。该模型还提供了多语言支持,覆盖超过 29 种语言,包括中文、英文等。模型在指令跟随、理解结构化数据以及生成结构化输出(尤其是 JSON)方面都有显著提升',
552
- displayName: 'Qwen2.5 72B Instruct (Vendor-A)',
553
- id: 'Vendor-A/Qwen/Qwen2.5-72B-Instruct',
554
- pricing: {
555
- currency: 'CNY',
556
- input: 1,
557
- output: 1,
558
- },
559
- type: 'chat',
560
- },
561
595
  {
562
596
  abilities: {
563
597
  functionCall: true,
@@ -618,7 +652,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
618
652
  description:
619
653
  'Qwen2-1.5B-Instruct 是 Qwen2 系列中的指令微调大语言模型,参数规模为 1.5B。该模型基于 Transformer 架构,采用了 SwiGLU 激活函数、注意力 QKV 偏置和组查询注意力等技术。它在语言理解、生成、多语言能力、编码、数学和推理等多个基准测试中表现出色,超越了大多数开源模型。与 Qwen1.5-1.8B-Chat 相比,Qwen2-1.5B-Instruct 在 MMLU、HumanEval、GSM8K、C-Eval 和 IFEval 等测试中均显示出显著的性能提升,尽管参数量略少',
620
654
  displayName: 'Qwen2 1.5B Instruct (Free)',
621
- id: 'Qwen/Qwen2-1.5B-Instruct',
655
+ id: 'Qwen/Qwen2-1.5B-Instruct', // 将于 2025-06-05 下线
622
656
  pricing: {
623
657
  currency: 'CNY',
624
658
  input: 0,
@@ -631,7 +665,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
631
665
  description:
632
666
  'Qwen2-1.5B-Instruct 是 Qwen2 系列中的指令微调大语言模型,参数规模为 1.5B。该模型基于 Transformer 架构,采用了 SwiGLU 激活函数、注意力 QKV 偏置和组查询注意力等技术。它在语言理解、生成、多语言能力、编码、数学和推理等多个基准测试中表现出色,超越了大多数开源模型。与 Qwen1.5-1.8B-Chat 相比,Qwen2-1.5B-Instruct 在 MMLU、HumanEval、GSM8K、C-Eval 和 IFEval 等测试中均显示出显著的性能提升,尽管参数量略少',
633
667
  displayName: 'Qwen2 1.5B Instruct (Pro)',
634
- id: 'Pro/Qwen/Qwen2-1.5B-Instruct',
668
+ id: 'Pro/Qwen/Qwen2-1.5B-Instruct', // 将于 2025-06-05 下线
635
669
  pricing: {
636
670
  currency: 'CNY',
637
671
  input: 0.14,
@@ -673,7 +707,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
673
707
  description:
674
708
  'Qwen2-VL-7B-Instruct 是 Qwen-VL 模型的最新迭代版本,在视觉理解基准测试中达到了最先进的性能,包括 MathVista、DocVQA、RealWorldQA 和 MTVQA 等。Qwen2-VL 能够用于高质量的基于视频的问答、对话和内容创作,还具备复杂推理和决策能力,可以与移动设备、机器人等集成,基于视觉环境和文本指令进行自动操作。除了英语和中文,Qwen2-VL 现在还支持理解图像中不同语言的文本,包括大多数欧洲语言、日语、韩语、阿拉伯语和越南语等',
675
709
  displayName: 'Qwen2 VL 7B Instruct (Pro)',
676
- id: 'Pro/Qwen/Qwen2-VL-7B-Instruct',
710
+ id: 'Pro/Qwen/Qwen2-VL-7B-Instruct', // 将于 2025-06-05 下线
677
711
  pricing: {
678
712
  currency: 'CNY',
679
713
  input: 0.35,
@@ -769,7 +803,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
769
803
  description:
770
804
  'InternLM2.5-20B-Chat 是一个开源的大规模对话模型,基于 InternLM2 架构开发。该模型拥有 200 亿参数,在数学推理方面表现出色,超越了同量级的 Llama3 和 Gemma2-27B 模型。InternLM2.5-20B-Chat 在工具调用能力方面有显著提升,支持从上百个网页收集信息进行分析推理,并具备更强的指令理解、工具选择和结果反思能力。它适用于构建复杂智能体,可进行多轮工具调用以完成复杂任务',
771
805
  displayName: 'InternLM2.5 20B Chat',
772
- id: 'internlm/internlm2_5-20b-chat',
806
+ id: 'internlm/internlm2_5-20b-chat', // 将于 2025-06-05 下线
773
807
  pricing: {
774
808
  currency: 'CNY',
775
809
  input: 1,
@@ -814,7 +848,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
814
848
  description:
815
849
  'ChatGLM3-6B 是 ChatGLM 系列的开源模型,由智谱 AI 开发。该模型保留了前代模型的优秀特性,如对话流畅和部署门槛低,同时引入了新的特性。它采用了更多样的训练数据、更充分的训练步数和更合理的训练策略,在 10B 以下的预训练模型中表现出色。ChatGLM3-6B 支持多轮对话、工具调用、代码执行和 Agent 任务等复杂场景。除对话模型外,还开源了基础模型 ChatGLM-6B-Base 和长文本对话模型 ChatGLM3-6B-32K。该模型对学术研究完全开放,在登记后也允许免费商业使用',
816
850
  displayName: 'ChatGLM3 6B (Free)',
817
- id: 'THUDM/chatglm3-6b',
851
+ id: 'THUDM/chatglm3-6b', // 将于 2025-06-05 下线
818
852
  pricing: {
819
853
  currency: 'CNY',
820
854
  input: 0,
@@ -80,11 +80,11 @@ const doubaoChatModels: AIChatModelCard[] = [
80
80
  reasoning: true,
81
81
  },
82
82
  config: {
83
- deploymentName: 'deepseek-r1-250120',
83
+ deploymentName: 'deepseek-r1-250528',
84
84
  },
85
- contextWindowTokens: 98_304,
85
+ contextWindowTokens: 131_072,
86
86
  description:
87
- 'DeepSeek-R1 在后训练阶段大规模使用了强化学习技术,在仅有极少标注数据的情况下,极大提升了模型推理能力。在数学、代码、自然语言推理等任务上,性能比肩 OpenAI o1 正式版。',
87
+ '0528最新版本上线,DeepSeek-R1 在后训练阶段大规模使用了强化学习技术,在仅有极少标注数据的情况下,极大提升了模型推理能力。在数学、代码、自然语言推理等任务上,性能比肩 OpenAI o1 正式版。',
88
88
  displayName: 'DeepSeek R1',
89
89
  id: 'deepseek-r1',
90
90
  maxOutput: 16_384,
@@ -61,6 +61,7 @@ const xaiChatModels: AIChatModelCard[] = [
61
61
  },
62
62
  releasedAt: '2025-04-03',
63
63
  settings: {
64
+ extendParams: ['reasoningEffort'],
64
65
  searchImpl: 'params',
65
66
  },
66
67
  type: 'chat',
@@ -82,6 +83,7 @@ const xaiChatModels: AIChatModelCard[] = [
82
83
  },
83
84
  releasedAt: '2025-04-03',
84
85
  settings: {
86
+ extendParams: ['reasoningEffort'],
85
87
  searchImpl: 'params',
86
88
  },
87
89
  type: 'chat',
@@ -1,6 +1,7 @@
1
1
  'use client';
2
2
 
3
3
  import { Button, Form, type FormGroupItemType, type FormItemProps, Tooltip } from '@lobehub/ui';
4
+ import { useUpdateEffect } from 'ahooks';
4
5
  import isEqual from 'fast-deep-equal';
5
6
  import { Wand2 } from 'lucide-react';
6
7
  import { memo, useState } from 'react';
@@ -30,6 +31,10 @@ const AgentMeta = memo(() => {
30
31
  const meta = useStore(selectors.currentMetaConfig, isEqual);
31
32
  const [background, setBackground] = useState(meta.backgroundColor);
32
33
 
34
+ useUpdateEffect(() => {
35
+ form.setFieldsValue(meta);
36
+ }, [meta]);
37
+
33
38
  if (isInbox) return;
34
39
 
35
40
  const basic = [
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
 
3
- import { Form, type FormGroupItemType, Select, SliderWithInput } from '@lobehub/ui';
3
+ import { Form, type FormGroupItemType, SliderWithInput } from '@lobehub/ui';
4
4
  import { Switch } from 'antd';
5
5
  import isEqual from 'fast-deep-equal';
6
6
  import { memo } from 'react';
@@ -74,31 +74,6 @@ const AgentModal = memo(() => {
74
74
  name: ['params', 'max_tokens'],
75
75
  tag: 'max_tokens',
76
76
  },
77
- {
78
- children: <Switch />,
79
- label: t('settingModel.enableReasoningEffort.title'),
80
- layout: 'horizontal',
81
- minWidth: undefined,
82
- name: ['chatConfig', 'enableReasoningEffort'],
83
- valuePropName: 'checked',
84
- },
85
- {
86
- children: (
87
- <Select
88
- defaultValue="medium"
89
- options={[
90
- { label: t('settingModel.reasoningEffort.options.low'), value: 'low' },
91
- { label: t('settingModel.reasoningEffort.options.medium'), value: 'medium' },
92
- { label: t('settingModel.reasoningEffort.options.high'), value: 'high' },
93
- ]}
94
- />
95
- ),
96
- desc: t('settingModel.reasoningEffort.desc'),
97
- hidden: !config.chatConfig.enableReasoningEffort,
98
- label: t('settingModel.reasoningEffort.title'),
99
- name: ['params', 'reasoning_effort'],
100
- tag: 'reasoning_effort',
101
- },
102
77
  ],
103
78
  title: t('settingModel.title'),
104
79
  };
@@ -11,6 +11,7 @@ import { agentChatConfigSelectors, agentSelectors } from '@/store/agent/selector
11
11
  import { aiModelSelectors, useAiInfraStore } from '@/store/aiInfra';
12
12
 
13
13
  import ContextCachingSwitch from './ContextCachingSwitch';
14
+ import ReasoningEffortSlider from './ReasoningEffortSlider';
14
15
  import ReasoningTokenSlider from './ReasoningTokenSlider';
15
16
 
16
17
  interface ControlsProps {
@@ -86,6 +87,17 @@ const ControlsForm = memo<ControlsProps>(({ setUpdating }) => {
86
87
  paddingBottom: 0,
87
88
  },
88
89
  },
90
+ {
91
+ children: <ReasoningEffortSlider />,
92
+ desc: 'reasoning_effort',
93
+ label: t('extendParams.reasoningEffort.title'),
94
+ layout: 'horizontal',
95
+ minWidth: undefined,
96
+ name: 'reasoningEffort',
97
+ style: {
98
+ paddingBottom: 0,
99
+ },
100
+ },
89
101
  ].filter(Boolean) as FormItemProps[];
90
102
 
91
103
  return (
@@ -0,0 +1,57 @@
1
+ import { Slider } from 'antd';
2
+ import { memo, useCallback } from 'react';
3
+ import { Flexbox } from 'react-layout-kit';
4
+
5
+ import { useAgentStore } from '@/store/agent';
6
+ import { agentChatConfigSelectors } from '@/store/agent/selectors';
7
+
8
+ const ReasoningEffortSlider = memo(() => {
9
+ const [config, updateAgentChatConfig] = useAgentStore((s) => [
10
+ agentChatConfigSelectors.currentChatConfig(s),
11
+ s.updateAgentChatConfig,
12
+ ]);
13
+
14
+ const reasoningEffort = config.reasoningEffort || 'medium'; // Default to 'medium' if not set
15
+
16
+ const marks = {
17
+ 0: 'low',
18
+ 1: 'medium',
19
+ 2: 'high',
20
+ };
21
+
22
+ const effortValues = ['low', 'medium', 'high'];
23
+ const indexValue = effortValues.indexOf(reasoningEffort);
24
+ const currentValue = indexValue === -1 ? 1 : indexValue;
25
+
26
+ const updateReasoningEffort = useCallback(
27
+ (value: number) => {
28
+ const effort = effortValues[value] as 'low' | 'medium' | 'high';
29
+ updateAgentChatConfig({ reasoningEffort: effort });
30
+ },
31
+ [updateAgentChatConfig],
32
+ );
33
+
34
+ return (
35
+ <Flexbox
36
+ align={'center'}
37
+ gap={12}
38
+ horizontal
39
+ paddingInline={'0 20px'}
40
+ style={{ minWidth: 200, width: '100%' }}
41
+ >
42
+ <Flexbox flex={1}>
43
+ <Slider
44
+ marks={marks}
45
+ max={2}
46
+ min={0}
47
+ onChange={updateReasoningEffort}
48
+ step={1}
49
+ tooltip={{ open: false }}
50
+ value={currentValue}
51
+ />
52
+ </Flexbox>
53
+ </Flexbox>
54
+ );
55
+ });
56
+
57
+ export default ReasoningEffortSlider;
@@ -4,7 +4,7 @@ import type { ItemType } from 'antd/es/menu/interface';
4
4
  import { LucideArrowRight, LucideBolt } from 'lucide-react';
5
5
  import Link from 'next/link';
6
6
  import { useRouter } from 'next/navigation';
7
- import { PropsWithChildren, memo, useMemo } from 'react';
7
+ import { type ReactNode, memo, useMemo } from 'react';
8
8
  import { useTranslation } from 'react-i18next';
9
9
  import { Flexbox } from 'react-layout-kit';
10
10
 
@@ -40,14 +40,15 @@ const useStyles = createStyles(({ css, prefixCls }) => ({
40
40
 
41
41
  const menuKey = (provider: string, model: string) => `${provider}-${model}`;
42
42
 
43
- const ModelSwitchPanel = memo<
44
- PropsWithChildren<{
45
- onOpenChange?: (open: boolean) => void;
46
- open?: boolean;
47
- setUpdating?: (updating: boolean) => void;
48
- updating?: boolean;
49
- }>
50
- >(({ children, setUpdating, onOpenChange, open }) => {
43
+ interface IProps {
44
+ children?: ReactNode;
45
+ onOpenChange?: (open: boolean) => void;
46
+ open?: boolean;
47
+ setUpdating?: (updating: boolean) => void;
48
+ updating?: boolean;
49
+ }
50
+
51
+ const ModelSwitchPanel = memo<IProps>(({ children, setUpdating, onOpenChange, open }) => {
51
52
  const { t } = useTranslation('components');
52
53
  const { styles, theme } = useStyles();
53
54
  const [model, provider, updateAgentConfig] = useAgentStore((s) => [
@@ -141,7 +141,9 @@ const MCPManifestForm = ({ form, isEditMode }: MCPManifestFormProps) => {
141
141
  ...(mcpType === 'http' ? [HTTP_URL_KEY] : [STDIO_COMMAND, STDIO_ARGS]),
142
142
  ]);
143
143
  isValid = true;
144
- } catch {}
144
+ } catch {
145
+ // no-thing
146
+ }
145
147
 
146
148
  if (!isValid) {
147
149
  setIsTesting(false);
@@ -36,7 +36,7 @@ exports[`NovitaAI > models > should get models 1`] = `
36
36
  "contextWindowTokens": 8192,
37
37
  "description": "Meta's latest class of models, Llama 3.1, has launched with a variety of sizes and configurations. The 70B instruct-tuned version is optimized for high-quality dialogue use cases. It has demonstrated strong performance in human evaluations compared to leading closed-source models.",
38
38
  "displayName": "meta-llama/llama-3.1-70b-instruct",
39
- "enabled": false,
39
+ "enabled": true,
40
40
  "functionCall": false,
41
41
  "id": "meta-llama/llama-3.1-70b-instruct",
42
42
  "reasoning": false,
@@ -44,6 +44,9 @@ export default {
44
44
  reasoningBudgetToken: {
45
45
  title: '思考消耗 Token',
46
46
  },
47
+ reasoningEffort: {
48
+ title: '推理强度',
49
+ },
47
50
  title: '模型扩展功能',
48
51
  },
49
52
  history: {
@@ -263,9 +263,6 @@ export default {
263
263
  enableMaxTokens: {
264
264
  title: '开启单次回复限制',
265
265
  },
266
- enableReasoningEffort: {
267
- title: '开启推理强度调整',
268
- },
269
266
  frequencyPenalty: {
270
267
  desc: '值越大,用词越丰富多样;值越低,用词更朴实简单',
271
268
  title: '词汇丰富度',
@@ -285,15 +282,6 @@ export default {
285
282
  desc: '值越大,越倾向不同的表达方式,避免概念重复;值越小,越倾向使用重复的概念或叙述,表达更具一致性',
286
283
  title: '表述发散度',
287
284
  },
288
- reasoningEffort: {
289
- desc: '值越大,推理能力越强,但可能会增加响应时间和 Token 消耗',
290
- options: {
291
- high: '高',
292
- low: '低',
293
- medium: '中',
294
- },
295
- title: '推理强度',
296
- },
297
285
  submit: '更新模型设置',
298
286
  temperature: {
299
287
  desc: '数值越大,回答越有创意和想象力;数值越小,回答越严谨',
@@ -238,13 +238,17 @@ class ChatService {
238
238
  };
239
239
  }
240
240
  }
241
-
241
+
242
242
  if (
243
243
  modelExtendParams!.includes('disableContextCaching') &&
244
244
  chatConfig.disableContextCaching
245
245
  ) {
246
246
  extendParams.enabledContextCaching = false;
247
247
  }
248
+
249
+ if (modelExtendParams!.includes('reasoningEffort') && chatConfig.reasoningEffort) {
250
+ extendParams.reasoning_effort = chatConfig.reasoningEffort;
251
+ }
248
252
  }
249
253
 
250
254
  return this.getChatCompletion(
@@ -538,11 +538,6 @@ export const generateAIChat: StateCreator<
538
538
  ? agentConfig.params.max_tokens
539
539
  : undefined;
540
540
 
541
- // 5. handle reasoning_effort
542
- agentConfig.params.reasoning_effort = chatConfig.enableReasoningEffort
543
- ? agentConfig.params.reasoning_effort
544
- : undefined;
545
-
546
541
  let isFunctionCall = false;
547
542
  let msgTraceId: string | undefined;
548
543
  let output = '';
@@ -25,6 +25,7 @@ export interface LobeAgentChatConfig {
25
25
  */
26
26
  enableReasoningEffort?: boolean;
27
27
  reasoningBudgetToken?: number;
28
+ reasoningEffort?: 'low' | 'medium' | 'high';
28
29
 
29
30
  /**
30
31
  * 禁用上下文缓存
@@ -143,7 +143,11 @@ export interface AiModelConfig {
143
143
 
144
144
  export type ModelSearchImplementType = 'tool' | 'params' | 'internal';
145
145
 
146
- export type ExtendParamsType = 'reasoningBudgetToken' | 'enableReasoning' | 'disableContextCaching';
146
+ export type ExtendParamsType =
147
+ | 'reasoningBudgetToken'
148
+ | 'enableReasoning'
149
+ | 'disableContextCaching'
150
+ | 'reasoningEffort';
147
151
 
148
152
  export interface AiModelSettings {
149
153
  extendParams?: ExtendParamsType[];