@lobehub/chat 1.118.7 → 1.118.8

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 CHANGED
@@ -2,6 +2,31 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ### [Version 1.118.8](https://github.com/lobehub/lobe-chat/compare/v1.118.7...v1.118.8)
6
+
7
+ <sup>Released on **2025-08-30**</sup>
8
+
9
+ #### 💄 Styles
10
+
11
+ - **misc**: Update DeepSeek V3.1 & Gemini 2.5 Flash Image Preview models.
12
+
13
+ <br/>
14
+
15
+ <details>
16
+ <summary><kbd>Improvements and Fixes</kbd></summary>
17
+
18
+ #### Styles
19
+
20
+ - **misc**: Update DeepSeek V3.1 & Gemini 2.5 Flash Image Preview models, closes [#8878](https://github.com/lobehub/lobe-chat/issues/8878) ([5d538a2](https://github.com/lobehub/lobe-chat/commit/5d538a2))
21
+
22
+ </details>
23
+
24
+ <div align="right">
25
+
26
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
27
+
28
+ </div>
29
+
5
30
  ### [Version 1.118.7](https://github.com/lobehub/lobe-chat/compare/v1.118.6...v1.118.7)
6
31
 
7
32
  <sup>Released on **2025-08-30**</sup>
package/changelog/v1.json CHANGED
@@ -1,4 +1,13 @@
1
1
  [
2
+ {
3
+ "children": {
4
+ "improvements": [
5
+ "Update DeepSeek V3.1 & Gemini 2.5 Flash Image Preview models."
6
+ ]
7
+ },
8
+ "date": "2025-08-30",
9
+ "version": "1.118.8"
10
+ },
2
11
  {
3
12
  "children": {
4
13
  "improvements": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/chat",
3
- "version": "1.118.7",
3
+ "version": "1.118.8",
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",
@@ -323,6 +323,27 @@ const aihubmixModels: AIChatModelCard[] = [
323
323
  },
324
324
  type: 'chat',
325
325
  },
326
+ {
327
+ abilities: {
328
+ functionCall: true,
329
+ reasoning: true,
330
+ vision: true,
331
+ },
332
+ contextWindowTokens: 256_000,
333
+ description:
334
+ '我们最新最强大的旗舰模型,在自然语言处理、数学计算和推理方面表现卓越 —— 是一款完美的全能型选手。',
335
+ displayName: 'Grok 4 0709',
336
+ enabled: true,
337
+ id: 'grok-4',
338
+ pricing: {
339
+ units: [
340
+ { name: 'textInput', rate: 3.3, strategy: 'fixed', unit: 'millionTokens' },
341
+ { name: 'textOutput', rate: 16.5, strategy: 'fixed', unit: 'millionTokens' },
342
+ ],
343
+ },
344
+ releasedAt: '2025-07-09',
345
+ type: 'chat',
346
+ },
326
347
  {
327
348
  abilities: {
328
349
  functionCall: true,
@@ -331,7 +352,6 @@ const aihubmixModels: AIChatModelCard[] = [
331
352
  description:
332
353
  '旗舰级模型,擅长数据提取、编程和文本摘要等企业级应用,拥有金融、医疗、法律和科学等领域的深厚知识。',
333
354
  displayName: 'Grok 3',
334
- enabled: true,
335
355
  id: 'grok-3',
336
356
  pricing: {
337
357
  units: [
@@ -352,7 +372,6 @@ const aihubmixModels: AIChatModelCard[] = [
352
372
  description:
353
373
  '轻量级模型,回话前会先思考。运行快速、智能,适用于不需要深层领域知识的逻辑任务,并能获取原始的思维轨迹。',
354
374
  displayName: 'Grok 3 Mini',
355
- enabled: true,
356
375
  id: 'grok-3-mini',
357
376
  pricing: {
358
377
  units: [
@@ -535,11 +554,29 @@ const aihubmixModels: AIChatModelCard[] = [
535
554
  functionCall: true,
536
555
  reasoning: true,
537
556
  },
538
- contextWindowTokens: 65_536,
557
+ contextWindowTokens: 131_072,
558
+ description:
559
+ 'DeepSeek-V3.1 是深度求索全新推出的混合推理模型,支持思考与非思考2种推理模式,较 DeepSeek-R1-0528 思考效率更高。经 Post-Training 优化,Agent 工具使用与智能体任务表现大幅提升。',
560
+ displayName: 'DeepSeek V3.1',
561
+ enabled: true,
562
+ id: 'DeepSeek-V3.1',
563
+ pricing: {
564
+ units: [
565
+ { name: 'textInput', rate: 0.56, strategy: 'fixed', unit: 'millionTokens' },
566
+ { name: 'textOutput', rate: 1.68, strategy: 'fixed', unit: 'millionTokens' },
567
+ ],
568
+ },
569
+ type: 'chat',
570
+ },
571
+ {
572
+ abilities: {
573
+ functionCall: true,
574
+ reasoning: true,
575
+ },
576
+ contextWindowTokens: 131_072,
539
577
  description:
540
578
  '已升级至最新版本250528;字节火山云开源部署的满血 R1,总参数量 671B,输入最高 64k。目前最稳定,推荐用这个。',
541
579
  displayName: 'DeepSeek R1',
542
- enabled: true,
543
580
  id: 'DeepSeek-R1',
544
581
  pricing: {
545
582
  units: [
@@ -571,10 +608,9 @@ const aihubmixModels: AIChatModelCard[] = [
571
608
  abilities: {
572
609
  functionCall: true,
573
610
  },
574
- contextWindowTokens: 65_536,
611
+ contextWindowTokens: 131_072,
575
612
  description: '字节火山云开源部署目前最稳定,推荐用这个。已经自动升级为最新发布的版本 250324 。',
576
613
  displayName: 'DeepSeek V3',
577
- enabled: true,
578
614
  id: 'DeepSeek-V3',
579
615
  pricing: {
580
616
  units: [
@@ -657,6 +693,25 @@ const aihubmixModels: AIChatModelCard[] = [
657
693
  },
658
694
  type: 'chat',
659
695
  },
696
+ {
697
+ abilities: {
698
+ imageOutput: true,
699
+ vision: true,
700
+ },
701
+ contextWindowTokens: 32_768 + 8192,
702
+ description: 'Gemini 2.5 Flash 实验模型,支持图像生成',
703
+ displayName: 'Gemini 2.5 Flash Image Preview',
704
+ id: 'gemini-2.5-flash-image-preview',
705
+ maxOutput: 8192,
706
+ pricing: {
707
+ units: [
708
+ { name: 'textInput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
709
+ { name: 'textOutput', rate: 30, strategy: 'fixed', unit: 'millionTokens' },
710
+ ],
711
+ },
712
+ releasedAt: '2025-08-26',
713
+ type: 'chat',
714
+ },
660
715
  {
661
716
  abilities: {
662
717
  functionCall: true,
@@ -6,10 +6,10 @@ const deepseekChatModels: AIChatModelCard[] = [
6
6
  abilities: {
7
7
  functionCall: true,
8
8
  },
9
- contextWindowTokens: 65_536,
9
+ contextWindowTokens: 131_072,
10
10
  description:
11
- '最新模型 DeepSeek-V3 多项评测成绩超越 Qwen2.5-72B Llama-3.1-405B 等开源模型,性能对齐领军闭源模型 GPT-4o 与 Claude-3.5-Sonnet。',
12
- displayName: 'DeepSeek V3',
11
+ 'DeepSeek V3.1 DeepSeek 最新发布的通用大模型,支持混合推理架构,具备更强的 Agent 能力。',
12
+ displayName: 'DeepSeek V3.1',
13
13
  enabled: true,
14
14
  id: 'deepseek-chat',
15
15
  maxOutput: 8192,
@@ -21,7 +21,7 @@ const deepseekChatModels: AIChatModelCard[] = [
21
21
  { name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
22
22
  ],
23
23
  },
24
- releasedAt: '2025-03-24',
24
+ releasedAt: '2025-08-21',
25
25
  type: 'chat',
26
26
  },
27
27
  {
@@ -29,13 +29,13 @@ const deepseekChatModels: AIChatModelCard[] = [
29
29
  functionCall: true,
30
30
  reasoning: true,
31
31
  },
32
- contextWindowTokens: 65_536,
32
+ contextWindowTokens: 131_072,
33
33
  description:
34
- 'DeepSeek 推出的推理模型。在输出最终回答之前,模型会先输出一段思维链内容,以提升最终答案的准确性。',
35
- displayName: 'DeepSeek R1',
34
+ 'DeepSeek V3.1 思考模式。在输出最终回答之前,模型会先输出一段思维链内容,以提升最终答案的准确性。',
35
+ displayName: 'DeepSeek V3.1 Thinking',
36
36
  enabled: true,
37
37
  id: 'deepseek-reasoner',
38
- maxOutput: 8192,
38
+ maxOutput: 65_536,
39
39
  pricing: {
40
40
  currency: 'CNY',
41
41
  units: [
@@ -44,7 +44,7 @@ const deepseekChatModels: AIChatModelCard[] = [
44
44
  { name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
45
45
  ],
46
46
  },
47
- releasedAt: '2025-05-28',
47
+ releasedAt: '2025-08-21',
48
48
  type: 'chat',
49
49
  },
50
50
  ];
@@ -7,22 +7,22 @@ const modelscopeChatModels: AIChatModelCard[] = [
7
7
  reasoning: true,
8
8
  },
9
9
  contextWindowTokens: 131_072,
10
- description:
11
- 'DeepSeek R1 通过利用增加的计算资源和在后训练过程中引入算法优化机制,显著提高了其推理和推断能力的深度。该模型在各种基准评估中表现出色,包括数学、编程和一般逻辑方面。其整体性能现已接近领先模型,如 O3 和 Gemini 2.5 Pro。',
12
- displayName: 'DeepSeek-R1-0528',
10
+ description: 'DeepSeek-V3.1 模型为混合推理架构模型,同时支持思考模式与非思考模式。',
11
+ displayName: 'DeepSeek-V3.1',
13
12
  enabled: true,
14
- id: 'deepseek-ai/DeepSeek-R1-0528',
13
+ id: 'deepseek-ai/DeepSeek-V3.1',
15
14
  type: 'chat',
16
15
  },
17
16
  {
18
17
  abilities: {
19
18
  functionCall: true,
19
+ reasoning: true,
20
20
  },
21
21
  contextWindowTokens: 131_072,
22
- description: 'DeepSeek-V3是DeepSeek第三代模型的最新版本,具有强大的推理和对话能力。',
23
- displayName: 'DeepSeek-V3',
24
- enabled: true,
25
- id: 'deepseek-ai/DeepSeek-V3',
22
+ description:
23
+ 'DeepSeek R1 通过利用增加的计算资源和在后训练过程中引入算法优化机制,显著提高了其推理和推断能力的深度。该模型在各种基准评估中表现出色,包括数学、编程和一般逻辑方面。其整体性能现已接近领先模型,如 O3 和 Gemini 2.5 Pro。',
24
+ displayName: 'DeepSeek-R1-0528',
25
+ id: 'deepseek-ai/DeepSeek-R1-0528',
26
26
  type: 'chat',
27
27
  },
28
28
  {
@@ -33,10 +33,19 @@ const modelscopeChatModels: AIChatModelCard[] = [
33
33
  contextWindowTokens: 131_072,
34
34
  description: 'DeepSeek-R1是DeepSeek最新的推理模型,专注于复杂推理任务。',
35
35
  displayName: 'DeepSeek-R1',
36
- enabled: true,
37
36
  id: 'deepseek-ai/DeepSeek-R1',
38
37
  type: 'chat',
39
38
  },
39
+ {
40
+ abilities: {
41
+ functionCall: true,
42
+ },
43
+ contextWindowTokens: 131_072,
44
+ description: 'DeepSeek-V3是DeepSeek第三代模型的最新版本,具有强大的推理和对话能力。',
45
+ displayName: 'DeepSeek-V3',
46
+ id: 'deepseek-ai/DeepSeek-V3',
47
+ type: 'chat',
48
+ },
40
49
  {
41
50
  abilities: {
42
51
  functionCall: true,
@@ -2,6 +2,130 @@ import { AIChatModelCard } from '@/types/aiModel';
2
2
 
3
3
  // https://novita.ai/pricing
4
4
  const novitaChatModels: AIChatModelCard[] = [
5
+ {
6
+ abilities: {
7
+ functionCall: true,
8
+ reasoning: true,
9
+ },
10
+ contextWindowTokens: 163_840,
11
+ displayName: 'DeepSeek V3.1',
12
+ id: 'deepseek/deepseek-v3.1',
13
+ pricing: {
14
+ units: [
15
+ { name: 'textInput', rate: 0.55, strategy: 'fixed', unit: 'millionTokens' },
16
+ { name: 'textOutput', rate: 1.66, strategy: 'fixed', unit: 'millionTokens' },
17
+ ],
18
+ },
19
+ type: 'chat',
20
+ },
21
+ {
22
+ abilities: {
23
+ functionCall: true,
24
+ },
25
+ contextWindowTokens: 262_144,
26
+ displayName: 'Qwen3 Coder 480B A35B Instruct',
27
+ id: 'qwen/qwen3-coder-480b-a35b-instruct',
28
+ pricing: {
29
+ units: [
30
+ { name: 'textInput', rate: 0.35, strategy: 'fixed', unit: 'millionTokens' },
31
+ { name: 'textOutput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
32
+ ],
33
+ },
34
+ type: 'chat',
35
+ },
36
+ {
37
+ abilities: {
38
+ functionCall: true,
39
+ reasoning: true,
40
+ },
41
+ contextWindowTokens: 131_072,
42
+ displayName: 'OpenAI GPT OSS 120B',
43
+ id: 'openai/gpt-oss-120b',
44
+ pricing: {
45
+ units: [
46
+ { name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
47
+ { name: 'textOutput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
48
+ ],
49
+ },
50
+ type: 'chat',
51
+ },
52
+ {
53
+ abilities: {
54
+ reasoning: true,
55
+ },
56
+ contextWindowTokens: 131_072,
57
+ displayName: 'OpenAI: GPT OSS 20B',
58
+ id: 'openai/gpt-oss-20b',
59
+ pricing: {
60
+ units: [
61
+ { name: 'textInput', rate: 0.05, strategy: 'fixed', unit: 'millionTokens' },
62
+ { name: 'textOutput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
63
+ ],
64
+ },
65
+ type: 'chat',
66
+ },
67
+ {
68
+ abilities: {
69
+ functionCall: true,
70
+ reasoning: true,
71
+ },
72
+ contextWindowTokens: 131_072,
73
+ displayName: 'GLM-4.5',
74
+ id: 'zai-org/glm-4.5',
75
+ pricing: {
76
+ units: [
77
+ { name: 'textInput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
78
+ { name: 'textOutput', rate: 2.2, strategy: 'fixed', unit: 'millionTokens' },
79
+ ],
80
+ },
81
+ type: 'chat',
82
+ },
83
+ {
84
+ abilities: {
85
+ functionCall: true,
86
+ },
87
+ contextWindowTokens: 262_144,
88
+ displayName: 'Qwen3 235B A22B Instruct 2507',
89
+ id: 'qwen/qwen3-235b-a22b-instruct-2507',
90
+ pricing: {
91
+ units: [
92
+ { name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
93
+ { name: 'textOutput', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
94
+ ],
95
+ },
96
+ type: 'chat',
97
+ },
98
+ {
99
+ abilities: {
100
+ functionCall: true,
101
+ reasoning: true,
102
+ },
103
+ contextWindowTokens: 131_072,
104
+ displayName: 'Qwen3 235B A22b Thinking 2507',
105
+ id: 'qwen/qwen3-235b-a22b-thinking-2507',
106
+ pricing: {
107
+ units: [
108
+ { name: 'textInput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
109
+ { name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
110
+ ],
111
+ },
112
+ type: 'chat',
113
+ },
114
+ {
115
+ abilities: {
116
+ reasoning: true,
117
+ },
118
+ contextWindowTokens: 131_072,
119
+ displayName: 'BaiChuan M2 32B',
120
+ id: 'baichuan/baichuan-m2-32b',
121
+ pricing: {
122
+ units: [
123
+ { name: 'textInput', rate: 0.07, strategy: 'fixed', unit: 'millionTokens' },
124
+ { name: 'textOutput', rate: 0.07, strategy: 'fixed', unit: 'millionTokens' },
125
+ ],
126
+ },
127
+ type: 'chat',
128
+ },
5
129
  {
6
130
  abilities: {
7
131
  reasoning: true,
@@ -34,6 +158,9 @@ const novitaChatModels: AIChatModelCard[] = [
34
158
  type: 'chat',
35
159
  },
36
160
  {
161
+ abilities: {
162
+ functionCall: true,
163
+ },
37
164
  contextWindowTokens: 120_000,
38
165
  displayName: 'ERNIE 4.5 0.3B',
39
166
  id: 'baidu/ernie-4.5-0.3b',
@@ -46,13 +173,16 @@ const novitaChatModels: AIChatModelCard[] = [
46
173
  type: 'chat',
47
174
  },
48
175
  {
176
+ abilities: {
177
+ functionCall: true,
178
+ },
49
179
  contextWindowTokens: 120_000,
50
180
  displayName: 'ERNIE 4.5 21B A3B',
51
181
  id: 'baidu/ernie-4.5-21B-a3b',
52
182
  pricing: {
53
183
  units: [
54
- { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
55
- { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
184
+ { name: 'textInput', rate: 0.07, strategy: 'fixed', unit: 'millionTokens' },
185
+ { name: 'textOutput', rate: 0.28, strategy: 'fixed', unit: 'millionTokens' },
56
186
  ],
57
187
  },
58
188
  type: 'chat',
@@ -74,6 +204,7 @@ const novitaChatModels: AIChatModelCard[] = [
74
204
  },
75
205
  {
76
206
  abilities: {
207
+ functionCall: true,
77
208
  reasoning: true,
78
209
  vision: true,
79
210
  },
@@ -82,8 +213,8 @@ const novitaChatModels: AIChatModelCard[] = [
82
213
  id: 'baidu/ernie-4.5-vl-28b-a3b',
83
214
  pricing: {
84
215
  units: [
85
- { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
86
- { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
216
+ { name: 'textInput', rate: 0.14, strategy: 'fixed', unit: 'millionTokens' },
217
+ { name: 'textOutput', rate: 0.56, strategy: 'fixed', unit: 'millionTokens' },
87
218
  ],
88
219
  },
89
220
  type: 'chat',
@@ -211,6 +342,7 @@ const novitaChatModels: AIChatModelCard[] = [
211
342
  {
212
343
  abilities: {
213
344
  functionCall: true,
345
+ vision: true,
214
346
  },
215
347
  contextWindowTokens: 131_072,
216
348
  displayName: 'Llama 4 Scout 17B Instruct',
@@ -227,6 +359,7 @@ const novitaChatModels: AIChatModelCard[] = [
227
359
  {
228
360
  abilities: {
229
361
  functionCall: true,
362
+ vision: true,
230
363
  },
231
364
  contextWindowTokens: 1_048_576,
232
365
  displayName: 'Llama 4 Maverick 17B Instruct',
@@ -234,7 +367,7 @@ const novitaChatModels: AIChatModelCard[] = [
234
367
  id: 'meta-llama/llama-4-maverick-17b-128e-instruct-fp8',
235
368
  pricing: {
236
369
  units: [
237
- { name: 'textInput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
370
+ { name: 'textInput', rate: 0.17, strategy: 'fixed', unit: 'millionTokens' },
238
371
  { name: 'textOutput', rate: 0.85, strategy: 'fixed', unit: 'millionTokens' },
239
372
  ],
240
373
  },
@@ -286,7 +419,7 @@ const novitaChatModels: AIChatModelCard[] = [
286
419
  id: 'google/gemma-3-27b-it',
287
420
  pricing: {
288
421
  units: [
289
- { name: 'textInput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
422
+ { name: 'textInput', rate: 0.119, strategy: 'fixed', unit: 'millionTokens' },
290
423
  { name: 'textOutput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
291
424
  ],
292
425
  },
@@ -562,6 +695,9 @@ const novitaChatModels: AIChatModelCard[] = [
562
695
  type: 'chat',
563
696
  },
564
697
  {
698
+ abilities: {
699
+ functionCall: true,
700
+ },
565
701
  contextWindowTokens: 8192,
566
702
  displayName: 'L3 70B Euryale v2.1',
567
703
  id: 'sao10k/l3-70b-euryale-v2.1',
@@ -653,6 +789,9 @@ const novitaChatModels: AIChatModelCard[] = [
653
789
  type: 'chat',
654
790
  },
655
791
  {
792
+ abilities: {
793
+ functionCall: true,
794
+ },
656
795
  contextWindowTokens: 8192,
657
796
  displayName: 'L31 70B Euryale v2.2',
658
797
  id: 'sao10k/l31-70b-euryale-v2.2',
@@ -673,8 +812,8 @@ const novitaChatModels: AIChatModelCard[] = [
673
812
  id: 'qwen/qwen2.5-7b-instruct',
674
813
  pricing: {
675
814
  units: [
676
- { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
677
- { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
815
+ { name: 'textInput', rate: 0.07, strategy: 'fixed', unit: 'millionTokens' },
816
+ { name: 'textOutput', rate: 0.07, strategy: 'fixed', unit: 'millionTokens' },
678
817
  ],
679
818
  },
680
819
  type: 'chat',
@@ -688,8 +827,8 @@ const novitaChatModels: AIChatModelCard[] = [
688
827
  id: 'thudm/glm-4-32b-0414',
689
828
  pricing: {
690
829
  units: [
691
- { name: 'textInput', rate: 0.24, strategy: 'fixed', unit: 'millionTokens' },
692
- { name: 'textOutput', rate: 0.24, strategy: 'fixed', unit: 'millionTokens' },
830
+ { name: 'textInput', rate: 0.55, strategy: 'fixed', unit: 'millionTokens' },
831
+ { name: 'textOutput', rate: 1.66, strategy: 'fixed', unit: 'millionTokens' },
693
832
  ],
694
833
  },
695
834
  type: 'chat',
@@ -11,6 +11,25 @@ const openrouterChatModels: AIChatModelCard[] = [
11
11
  id: 'openrouter/auto',
12
12
  type: 'chat',
13
13
  },
14
+ {
15
+ abilities: {
16
+ functionCall: true,
17
+ reasoning: true,
18
+ },
19
+ contextWindowTokens: 163_840,
20
+ description:
21
+ 'DeepSeek-V3.1是一款支持128K长上下文和高效模式切换的大型混合推理模型,它在工具调用、代码生成和复杂推理任务上实现了卓越的性能与速度。',
22
+ displayName: 'DeepSeek V3.1',
23
+ id: 'deepseek/deepseek-chat-v3.1',
24
+ pricing: {
25
+ units: [
26
+ { name: 'textInput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
27
+ { name: 'textOutput', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
28
+ ],
29
+ },
30
+ releasedAt: '2025-08-21',
31
+ type: 'chat',
32
+ },
14
33
  {
15
34
  abilities: {
16
35
  imageOutput: true,
@@ -44,6 +63,25 @@ const openrouterChatModels: AIChatModelCard[] = [
44
63
  releasedAt: '2025-08-26',
45
64
  type: 'chat',
46
65
  },
66
+ {
67
+ abilities: {
68
+ functionCall: true,
69
+ reasoning: true,
70
+ },
71
+ contextWindowTokens: 163_840,
72
+ description:
73
+ 'DeepSeek-V3.1是一款支持128K长上下文和高效模式切换的大型混合推理模型,它在工具调用、代码生成和复杂推理任务上实现了卓越的性能与速度。',
74
+ displayName: 'DeepSeek V3.1',
75
+ id: 'deepseek/deepseek-chat-v3.1',
76
+ pricing: {
77
+ units: [
78
+ { name: 'textInput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
79
+ { name: 'textOutput', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
80
+ ],
81
+ },
82
+ releasedAt: '2025-08-21',
83
+ type: 'chat',
84
+ },
47
85
  {
48
86
  abilities: {
49
87
  reasoning: true,
@@ -3,6 +3,25 @@ import { AIChatModelCard, AIImageModelCard } from '@/types/aiModel';
3
3
  // https://help.aliyun.com/zh/model-studio/models?spm=a2c4g.11186623
4
4
 
5
5
  const qwenChatModels: AIChatModelCard[] = [
6
+ {
7
+ abilities: {
8
+ functionCall: true,
9
+ reasoning: true,
10
+ },
11
+ contextWindowTokens: 131_072,
12
+ description: 'DeepSeek-V3.1 模型为混合推理架构模型,同时支持思考模式与非思考模式。',
13
+ displayName: 'DeepSeek V3.1',
14
+ id: 'deepseek-v3.1',
15
+ maxOutput: 65_536,
16
+ pricing: {
17
+ currency: 'CNY',
18
+ units: [
19
+ { name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
20
+ { name: 'textOutput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
21
+ ],
22
+ },
23
+ type: 'chat',
24
+ },
6
25
  {
7
26
  abilities: {
8
27
  search: true,
@@ -11,7 +30,6 @@ const qwenChatModels: AIChatModelCard[] = [
11
30
  description:
12
31
  '总参数 1T,激活参数 32B。 非思维模型中,在前沿知识、数学和编码方面达到了顶尖水平,更擅长通用 Agent 任务。 针对代理任务进行了精心优化,不仅能回答问题,还能采取行动。 最适用于即兴、通用聊天和代理体验,是一款无需长时间思考的反射级模型。',
13
32
  displayName: 'Kimi K2 Instruct',
14
- enabled: true,
15
33
  id: 'Moonshot-Kimi-K2-Instruct',
16
34
  maxOutput: 8192,
17
35
  organization: 'Qwen',
@@ -45,7 +63,7 @@ const qwenChatModels: AIChatModelCard[] = [
45
63
  pricing: {
46
64
  currency: 'CNY',
47
65
  units: [
48
- { name: 'textInput_cacheRead', rate: 2.4, strategy: 'fixed', unit: 'millionTokens' }, // tokens 32K ~ 128K
66
+ { name: 'textInput_cacheRead', rate: 6 * 0.2, strategy: 'fixed', unit: 'millionTokens' }, // tokens 32K ~ 128K
49
67
  { name: 'textInput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
50
68
  { name: 'textOutput', rate: 24, strategy: 'fixed', unit: 'millionTokens' },
51
69
  ],
@@ -70,7 +88,7 @@ const qwenChatModels: AIChatModelCard[] = [
70
88
  pricing: {
71
89
  currency: 'CNY',
72
90
  units: [
73
- { name: 'textInput_cacheRead', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' }, // tokens 32K ~ 128K
91
+ { name: 'textInput_cacheRead', rate: 1.5 * 0.2, strategy: 'fixed', unit: 'millionTokens' }, // tokens 32K ~ 128K
74
92
  { name: 'textInput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
75
93
  { name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
76
94
  ],
@@ -155,7 +173,6 @@ const qwenChatModels: AIChatModelCard[] = [
155
173
  description:
156
174
  '基于Qwen3的思考模式开源模型,相较上一版本(通义千问3-30B-A3B)逻辑能力、通用能力、知识增强及创作能力均有大幅提升,适用于高难度强推理场景。',
157
175
  displayName: 'Qwen3 30B A3B Thinking 2507',
158
- enabled: true,
159
176
  id: 'qwen3-30b-a3b-thinking-2507',
160
177
  maxOutput: 32_768,
161
178
  organization: 'Qwen',
@@ -180,7 +197,6 @@ const qwenChatModels: AIChatModelCard[] = [
180
197
  description:
181
198
  '相较上一版本(Qwen3-30B-A3B)中英文和多语言整体通用能力有大幅提升。主观开放类任务专项优化,显著更加符合用户偏好,能够提供更有帮助性的回复。',
182
199
  displayName: 'Qwen3 30B A3B Instruct 2507',
183
- enabled: true,
184
200
  id: 'qwen3-30b-a3b-instruct-2507',
185
201
  maxOutput: 32_768,
186
202
  organization: 'Qwen',
@@ -466,9 +482,9 @@ const qwenChatModels: AIChatModelCard[] = [
466
482
  name: 'textInput_cacheRead',
467
483
  strategy: 'tiered',
468
484
  tiers: [
469
- { rate: 0.15 * 0.4, upTo: 0.128 },
470
- { rate: 0.6 * 0.4, upTo: 0.256 },
471
- { rate: 1.2 * 0.4, upTo: 'infinity' },
485
+ { rate: 0.15 * 0.2, upTo: 0.128 },
486
+ { rate: 0.6 * 0.2, upTo: 0.256 },
487
+ { rate: 1.2 * 0.2, upTo: 'infinity' },
472
488
  ],
473
489
  unit: 'millionTokens',
474
490
  },
@@ -500,7 +516,7 @@ const qwenChatModels: AIChatModelCard[] = [
500
516
  pricing: {
501
517
  currency: 'CNY',
502
518
  units: [
503
- { name: 'textInput_cacheRead', rate: 0.12, strategy: 'fixed', unit: 'millionTokens' },
519
+ { name: 'textInput_cacheRead', rate: 0.3 * 0.2, strategy: 'fixed', unit: 'millionTokens' },
504
520
  { name: 'textInput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
505
521
  { name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
506
522
  ],
@@ -534,9 +550,9 @@ const qwenChatModels: AIChatModelCard[] = [
534
550
  {
535
551
  lookup: {
536
552
  prices: {
537
- '[0, 128_000]': 0.8 * 0.4,
538
- '[128_000, 256_000]': 2.4 * 0.4,
539
- '[256_000, infinity]': 4.8 * 0.4,
553
+ '[0, 128_000]': 0.8 * 0.2,
554
+ '[128_000, 256_000]': 2.4 * 0.2,
555
+ '[256_000, infinity]': 4.8 * 0.2,
540
556
  },
541
557
  pricingParams: ['textInputRange'],
542
558
  },
@@ -602,7 +618,7 @@ const qwenChatModels: AIChatModelCard[] = [
602
618
  pricing: {
603
619
  currency: 'CNY',
604
620
  units: [
605
- { name: 'textInput_cacheRead', rate: 0.96, strategy: 'fixed', unit: 'millionTokens' },
621
+ { name: 'textInput_cacheRead', rate: 2.4 * 0.2, strategy: 'fixed', unit: 'millionTokens' },
606
622
  { name: 'textInput', rate: 2.4, strategy: 'fixed', unit: 'millionTokens' },
607
623
  { name: 'textOutput', rate: 9.6, strategy: 'fixed', unit: 'millionTokens' },
608
624
  ],
@@ -695,7 +711,7 @@ const qwenChatModels: AIChatModelCard[] = [
695
711
  pricing: {
696
712
  currency: 'CNY',
697
713
  units: [
698
- { name: 'textInput_cacheRead', rate: 0.8 * 0.4, strategy: 'fixed', unit: 'millionTokens' },
714
+ { name: 'textInput_cacheRead', rate: 0.8 * 0.2, strategy: 'fixed', unit: 'millionTokens' },
699
715
  { name: 'textInput', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
700
716
  { name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
701
717
  ],
@@ -719,7 +735,7 @@ const qwenChatModels: AIChatModelCard[] = [
719
735
  pricing: {
720
736
  currency: 'CNY',
721
737
  units: [
722
- { name: 'textInput_cacheRead', rate: 1.6 * 0.4, strategy: 'fixed', unit: 'millionTokens' },
738
+ { name: 'textInput_cacheRead', rate: 1.6 * 0.2, strategy: 'fixed', unit: 'millionTokens' },
723
739
  { name: 'textInput', rate: 1.6, strategy: 'fixed', unit: 'millionTokens' },
724
740
  { name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
725
741
  ],
@@ -2,6 +2,45 @@ import { AIChatModelCard, AIImageModelCard } from '@/types/aiModel';
2
2
 
3
3
  // https://siliconflow.cn/zh-cn/models
4
4
  const siliconcloudChatModels: AIChatModelCard[] = [
5
+ {
6
+ abilities: {
7
+ functionCall: true,
8
+ reasoning: true,
9
+ },
10
+ contextWindowTokens: 163_840,
11
+ description:
12
+ 'DeepSeek-V3.1 是由深度求索(DeepSeek AI)发布的混合模式大语言模型,它在前代模型的基础上进行了多方面的重要升级。该模型的一大创新是集成了“思考模式”(Thinking Mode)和“非思考模式”(Non-thinking Mode)于一体,用户可以通过调整聊天模板灵活切换,以适应不同的任务需求。通过专门的训练后优化,V3.1 在工具调用和 Agent 任务方面的性能得到了显著增强,能够更好地支持外部搜索工具和执行多步复杂任务。该模型基于 DeepSeek-V3.1-Base 进行后训练,通过两阶段长文本扩展方法,大幅增加了训练数据量,使其在处理长文档和长篇代码方面表现更佳。作为一个开源模型,DeepSeek-V3.1 在编码、数学和推理等多个基准测试中展现了与顶尖闭源模型相媲美的能力,同时凭借其混合专家(MoE)架构,在保持巨大模型容量的同时,有效降低了推理成本。',
13
+ displayName: 'DeepSeek V3.1',
14
+ enabled: true,
15
+ id: 'deepseek-ai/DeepSeek-V3.1',
16
+ pricing: {
17
+ currency: 'CNY',
18
+ units: [
19
+ { name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
20
+ { name: 'textOutput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
21
+ ],
22
+ },
23
+ type: 'chat',
24
+ },
25
+ {
26
+ abilities: {
27
+ functionCall: true,
28
+ reasoning: true,
29
+ },
30
+ contextWindowTokens: 163_840,
31
+ description:
32
+ 'DeepSeek-V3.1 是由深度求索(DeepSeek AI)发布的混合模式大语言模型,它在前代模型的基础上进行了多方面的重要升级。该模型的一大创新是集成了“思考模式”(Thinking Mode)和“非思考模式”(Non-thinking Mode)于一体,用户可以通过调整聊天模板灵活切换,以适应不同的任务需求。通过专门的训练后优化,V3.1 在工具调用和 Agent 任务方面的性能得到了显著增强,能够更好地支持外部搜索工具和执行多步复杂任务。该模型基于 DeepSeek-V3.1-Base 进行后训练,通过两阶段长文本扩展方法,大幅增加了训练数据量,使其在处理长文档和长篇代码方面表现更佳。作为一个开源模型,DeepSeek-V3.1 在编码、数学和推理等多个基准测试中展现了与顶尖闭源模型相媲美的能力,同时凭借其混合专家(MoE)架构,在保持巨大模型容量的同时,有效降低了推理成本。',
33
+ displayName: 'DeepSeek V3.1 (Pro)',
34
+ id: 'Pro/deepseek-ai/DeepSeek-V3.1',
35
+ pricing: {
36
+ currency: 'CNY',
37
+ units: [
38
+ { name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
39
+ { name: 'textOutput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
40
+ ],
41
+ },
42
+ type: 'chat',
43
+ },
5
44
  {
6
45
  abilities: {
7
46
  functionCall: true,
@@ -452,7 +491,6 @@ const siliconcloudChatModels: AIChatModelCard[] = [
452
491
  description:
453
492
  'Qwen3是一款能力大幅提升的新一代通义千问大模型,在推理、通用、Agent和多语言等多个核心能力上均达到业界领先水平,并支持思考模式切换。',
454
493
  displayName: 'Qwen3 8B (Free)',
455
- enabled: true,
456
494
  id: 'Qwen/Qwen3-8B',
457
495
  organization: 'Qwen',
458
496
  pricing: {
@@ -40,7 +40,6 @@ const vertexaiChatModels: AIChatModelCard[] = [
40
40
  description:
41
41
  'Gemini 2.5 Pro Preview 是 Google 最先进的思维模型,能够对代码、数学和STEM领域的复杂问题进行推理,以及使用长上下文分析大型数据集、代码库和文档。',
42
42
  displayName: 'Gemini 2.5 Pro Preview 05-06',
43
- enabled: true,
44
43
  id: 'gemini-2.5-pro-preview-05-06',
45
44
  maxOutput: 65_536,
46
45
  pricing: {
@@ -109,7 +108,6 @@ const vertexaiChatModels: AIChatModelCard[] = [
109
108
  contextWindowTokens: 1_048_576 + 65_536,
110
109
  description: 'Gemini 2.5 Flash Preview 是 Google 性价比最高的模型,提供全面的功能。',
111
110
  displayName: 'Gemini 2.5 Flash Preview 04-17',
112
- enabled: true,
113
111
  id: 'gemini-2.5-flash-preview-04-17',
114
112
  maxOutput: 65_536,
115
113
  pricing: {
@@ -153,7 +151,6 @@ const vertexaiChatModels: AIChatModelCard[] = [
153
151
  contextWindowTokens: 1_000_000 + 64_000,
154
152
  description: 'Gemini 2.5 Flash-Lite 是 Google 最小、性价比最高的模型,专为大规模使用而设计。',
155
153
  displayName: 'Gemini 2.5 Flash-Lite',
156
- enabled: true,
157
154
  id: 'gemini-2.5-flash-lite',
158
155
  maxOutput: 64_000,
159
156
  pricing: {
@@ -180,7 +177,6 @@ const vertexaiChatModels: AIChatModelCard[] = [
180
177
  description:
181
178
  'Gemini 2.5 Flash-Lite Preview 是 Google 最小、性价比最高的模型,专为大规模使用而设计。',
182
179
  displayName: 'Gemini 2.5 Flash-Lite Preview 06-17',
183
- enabled: true,
184
180
  id: 'gemini-2.5-flash-lite-preview-06-17',
185
181
  maxOutput: 64_000,
186
182
  pricing: {
@@ -4,6 +4,33 @@ import { AIChatModelCard, AIImageModelCard } from '@/types/aiModel';
4
4
  // pricing https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement
5
5
 
6
6
  const doubaoChatModels: AIChatModelCard[] = [
7
+ {
8
+ abilities: {
9
+ functionCall: true,
10
+ reasoning: true,
11
+ },
12
+ config: {
13
+ deploymentName: 'deepseek-v3-1-250821',
14
+ },
15
+ contextWindowTokens: 131_072,
16
+ description:
17
+ 'DeepSeek-V3.1 是深度求索全新推出的混合推理模型,支持思考与非思考2种推理模式,较 DeepSeek-R1-0528 思考效率更高。经 Post-Training 优化,Agent 工具使用与智能体任务表现大幅提升。支持 128k 上下文窗口,输出长度支持最大 64k tokens。',
18
+ displayName: 'DeepSeek V3.1',
19
+ id: 'deepseek-v3.1',
20
+ maxOutput: 32_768,
21
+ pricing: {
22
+ currency: 'CNY',
23
+ units: [
24
+ { name: 'textInput_cacheRead', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
25
+ { name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
26
+ { name: 'textOutput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
27
+ ],
28
+ },
29
+ settings: {
30
+ extendParams: ['enableReasoning'],
31
+ },
32
+ type: 'chat',
33
+ },
7
34
  {
8
35
  abilities: {
9
36
  functionCall: true,
@@ -11,7 +11,6 @@ const xaiChatModels: AIChatModelCard[] = [
11
11
  description:
12
12
  '我们很高兴推出 grok-code-fast-1,这是一款快速且经济高效的推理模型,在代理编码方面表现出色。',
13
13
  displayName: 'Grok Code Fast 1',
14
- enabled: true,
15
14
  id: 'grok-code-fast-1',
16
15
  pricing: {
17
16
  units: [
@@ -20,7 +19,7 @@ const xaiChatModels: AIChatModelCard[] = [
20
19
  { name: 'textOutput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
21
20
  ],
22
21
  },
23
- releasedAt: '2025-08-28',
22
+ releasedAt: '2025-08-27',
24
23
  // settings: {
25
24
  // reasoning_effort is not supported by grok-code. Specifying reasoning_effort parameter will get an error response.
26
25
  // extendParams: ['reasoningEffort'],
@@ -1,6 +1,5 @@
1
- import type { ChatModelCard } from '@/types/llm';
2
-
3
1
  import { ModelProvider } from '../types';
2
+ import { MODEL_LIST_CONFIGS, processModelList } from '../utils/modelParse';
4
3
  import { createOpenAICompatibleRuntime } from '../utils/openaiCompatibleFactory';
5
4
 
6
5
  export interface DeepSeekModelCard {
@@ -18,29 +17,7 @@ export const LobeDeepSeekAI = createOpenAICompatibleRuntime({
18
17
  const modelsPage = (await client.models.list()) as any;
19
18
  const modelList: DeepSeekModelCard[] = modelsPage.data;
20
19
 
21
- return modelList
22
- .map((model) => {
23
- const knownModel = LOBE_DEFAULT_MODEL_LIST.find(
24
- (m) => model.id.toLowerCase() === m.id.toLowerCase(),
25
- );
26
-
27
- return {
28
- contextWindowTokens: knownModel?.contextWindowTokens ?? undefined,
29
- displayName: knownModel?.displayName ?? undefined,
30
- enabled: knownModel?.enabled || false,
31
- functionCall:
32
- !model.id.toLowerCase().includes('reasoner') ||
33
- knownModel?.abilities?.functionCall ||
34
- false,
35
- id: model.id,
36
- reasoning:
37
- model.id.toLowerCase().includes('reasoner') ||
38
- knownModel?.abilities?.reasoning ||
39
- false,
40
- vision: knownModel?.abilities?.vision || false,
41
- };
42
- })
43
- .filter(Boolean) as ChatModelCard[];
20
+ return processModelList(modelList, MODEL_LIST_CONFIGS.deepseek, 'deepseek');
44
21
  },
45
22
  provider: ModelProvider.DeepSeek,
46
23
  });
@@ -134,7 +134,7 @@ export class LobeGoogleAI implements LobeRuntimeAI {
134
134
  const thinkingConfig: ThinkingConfig = {
135
135
  includeThoughts:
136
136
  !!thinkingBudget ||
137
- (!thinkingBudget && model && (model.includes('-2.5-') || model.includes('thinking')))
137
+ (!thinkingBudget && model && (model.includes('-2.5-') || model.includes('thinking')))
138
138
  ? true
139
139
  : undefined,
140
140
  // https://ai.google.dev/gemini-api/docs/thinking#set-budget
@@ -17,8 +17,8 @@ export const MODEL_LIST_CONFIGS = {
17
17
  visionKeywords: ['claude'],
18
18
  },
19
19
  deepseek: {
20
- functionCallKeywords: ['v3', 'r1'],
21
- reasoningKeywords: ['r1'],
20
+ functionCallKeywords: ['v3', 'r1', 'deepseek-chat'],
21
+ reasoningKeywords: ['r1', 'deepseek-reasoner', 'v3.1'],
22
22
  },
23
23
  google: {
24
24
  functionCallKeywords: ['gemini'],
@@ -67,7 +67,7 @@ export const MODEL_LIST_CONFIGS = {
67
67
  },
68
68
  xai: {
69
69
  functionCallKeywords: ['grok'],
70
- reasoningKeywords: ['mini', 'grok-4'],
70
+ reasoningKeywords: ['mini', 'grok-4', 'grok-code-fast'],
71
71
  visionKeywords: ['vision', 'grok-4'],
72
72
  },
73
73
  zeroone: {
@@ -167,9 +167,13 @@ const transformGoogleGenerativeAIStream = (
167
167
  if (candidate.finishReason) {
168
168
  const chunks: StreamProtocolChunk[] = [imageChunk];
169
169
  if (chunk.usageMetadata) {
170
+ // usageChunks already includes the 'stop' chunk as its first entry when usage exists,
171
+ // so append usageChunks to avoid sending a duplicate 'stop'.
170
172
  chunks.push(...usageChunks);
173
+ } else {
174
+ // No usage metadata, we need to send the stop chunk explicitly.
175
+ chunks.push({ data: candidate.finishReason, id: context?.id, type: 'stop' });
171
176
  }
172
- chunks.push({ data: candidate.finishReason, id: context?.id, type: 'stop' });
173
177
  return chunks;
174
178
  }
175
179
 
@@ -7,6 +7,7 @@ const THINKING_MODELS = [
7
7
  'thinking-pro-m',
8
8
  'doubao-seed-1-6',
9
9
  'doubao-1-5-ui-tars',
10
+ 'deepseek-v3-1',
10
11
  ];
11
12
 
12
13
  export interface VolcengineModelCard {
@@ -51,6 +51,7 @@ const ModelScope: ModelProviderCard = {
51
51
  modelList: { showModelFetcher: true },
52
52
  name: 'ModelScope',
53
53
  settings: {
54
+ disableBrowserRequest: true, // CORS Error
54
55
  proxyUrl: {
55
56
  placeholder: 'https://api-inference.modelscope.cn/v1',
56
57
  },