@lobehub/chat 1.128.1 → 1.128.3

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 (91) hide show
  1. package/.cursor/rules/i18n.mdc +97 -95
  2. package/CHANGELOG.md +51 -0
  3. package/changelog/v1.json +18 -0
  4. package/locales/ar/models.json +6 -0
  5. package/locales/bg-BG/models.json +6 -0
  6. package/locales/de-DE/models.json +6 -0
  7. package/locales/en-US/models.json +6 -0
  8. package/locales/es-ES/models.json +6 -0
  9. package/locales/fa-IR/models.json +6 -0
  10. package/locales/fr-FR/models.json +6 -0
  11. package/locales/it-IT/models.json +6 -0
  12. package/locales/ja-JP/models.json +6 -0
  13. package/locales/ko-KR/models.json +6 -0
  14. package/locales/nl-NL/models.json +6 -0
  15. package/locales/pl-PL/models.json +6 -0
  16. package/locales/pt-BR/models.json +6 -0
  17. package/locales/ru-RU/models.json +6 -0
  18. package/locales/tr-TR/models.json +6 -0
  19. package/locales/vi-VN/models.json +6 -0
  20. package/locales/zh-CN/models.json +6 -0
  21. package/locales/zh-TW/models.json +6 -0
  22. package/package.json +2 -2
  23. package/packages/const/src/auth.ts +1 -1
  24. package/packages/database/package.json +4 -2
  25. package/packages/database/src/index.ts +1 -0
  26. package/packages/database/src/repositories/dataExporter/index.test.ts +3 -3
  27. package/packages/model-bank/src/aiModels/deepseek.ts +4 -4
  28. package/packages/model-bank/src/aiModels/google.ts +30 -6
  29. package/packages/model-bank/src/aiModels/groq.ts +1 -19
  30. package/packages/model-bank/src/aiModels/modelscope.ts +24 -18
  31. package/packages/model-bank/src/aiModels/novita.ts +71 -5
  32. package/packages/model-bank/src/aiModels/qwen.ts +87 -2
  33. package/packages/model-bank/src/aiModels/siliconcloud.ts +65 -2
  34. package/packages/model-bank/src/aiModels/volcengine.ts +4 -3
  35. package/packages/model-runtime/src/utils/modelParse.ts +4 -4
  36. package/src/app/(backend)/_deprecated/createBizOpenAI/createAzureOpenai.ts +1 -1
  37. package/src/app/(backend)/_deprecated/createBizOpenAI/createOpenai.ts +1 -1
  38. package/src/app/(backend)/api/webhooks/casdoor/route.ts +1 -1
  39. package/src/app/(backend)/api/webhooks/casdoor/validateRequest.ts +1 -1
  40. package/src/app/(backend)/api/webhooks/clerk/route.ts +1 -1
  41. package/src/app/(backend)/api/webhooks/logto/route.ts +1 -1
  42. package/src/app/(backend)/api/webhooks/logto/validateRequest.ts +1 -1
  43. package/src/{config → envs}/__tests__/analytics.test.ts +1 -1
  44. package/src/{config → envs}/__tests__/app.test.ts +1 -1
  45. package/src/{config → envs}/__tests__/client.test.ts +1 -1
  46. package/src/layout/AuthProvider/index.tsx +1 -1
  47. package/src/libs/next-auth/auth.config.ts +1 -1
  48. package/src/libs/next-auth/sso-providers/auth0.ts +1 -1
  49. package/src/libs/next-auth/sso-providers/authelia.ts +1 -1
  50. package/src/libs/next-auth/sso-providers/authentik.ts +1 -1
  51. package/src/libs/next-auth/sso-providers/azure-ad.ts +1 -1
  52. package/src/libs/next-auth/sso-providers/cloudflare-zero-trust.ts +1 -1
  53. package/src/libs/next-auth/sso-providers/generic-oidc.ts +1 -1
  54. package/src/libs/next-auth/sso-providers/github.ts +1 -1
  55. package/src/libs/next-auth/sso-providers/logto.ts +1 -1
  56. package/src/libs/next-auth/sso-providers/microsoft-entra-id-helper.ts +1 -1
  57. package/src/libs/next-auth/sso-providers/zitadel.ts +1 -1
  58. package/src/libs/oidc-provider/adapter.ts +4 -5
  59. package/src/libs/oidc-provider/provider.ts +1 -1
  60. package/src/libs/trpc/async/asyncAuth.ts +1 -1
  61. package/src/libs/trpc/async/context.ts +1 -1
  62. package/src/middleware.ts +1 -1
  63. package/src/server/globalConfig/_deprecated.test.ts +1 -1
  64. package/src/server/globalConfig/_deprecated.ts +1 -1
  65. package/src/server/globalConfig/genServerAiProviderConfig.test.ts +2 -2
  66. package/src/server/globalConfig/genServerAiProviderConfig.ts +1 -1
  67. package/src/server/globalConfig/index.ts +2 -2
  68. package/src/server/modules/ModelRuntime/apiKeyManager.ts +1 -1
  69. package/src/server/modules/ModelRuntime/index.test.ts +1 -1
  70. package/src/server/modules/ModelRuntime/index.ts +1 -1
  71. package/src/server/modules/S3/index.ts +1 -1
  72. package/src/server/routers/async/file.ts +1 -1
  73. package/src/server/services/agent/index.ts +2 -1
  74. package/src/server/services/aiChat/index.test.ts +1 -1
  75. package/src/server/services/aiChat/index.ts +2 -1
  76. package/src/server/services/chunk/index.ts +1 -1
  77. package/src/server/services/document/index.ts +1 -1
  78. package/src/server/services/file/impls/s3.test.ts +13 -13
  79. package/src/server/services/file/impls/s3.ts +1 -1
  80. package/src/server/services/file/index.ts +1 -1
  81. package/src/server/services/generation/index.ts +1 -1
  82. package/src/server/services/nextAuthUser/index.ts +1 -1
  83. package/src/server/services/user/index.test.ts +1 -1
  84. package/src/server/services/user/index.ts +1 -1
  85. package/src/services/__tests__/upload.test.ts +1 -1
  86. package/src/services/file/_deprecated.test.ts +1 -1
  87. package/src/services/upload.ts +1 -1
  88. /package/src/{config → envs}/__tests__/auth.test.ts +0 -0
  89. /package/src/{config → envs}/auth.ts +0 -0
  90. /package/src/{config → envs}/file.ts +0 -0
  91. /package/src/{config → envs}/llm.ts +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/chat",
3
- "version": "1.128.1",
3
+ "version": "1.128.3",
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",
@@ -157,7 +157,7 @@
157
157
  "@lobehub/charts": "^2.1.2",
158
158
  "@lobehub/chat-plugin-sdk": "^1.32.4",
159
159
  "@lobehub/chat-plugins-gateway": "^1.9.0",
160
- "@lobehub/editor": "^1.8.0",
160
+ "@lobehub/editor": "^1.8.5",
161
161
  "@lobehub/icons": "^2.32.2",
162
162
  "@lobehub/market-sdk": "^0.22.7",
163
163
  "@lobehub/tts": "^2.0.1",
@@ -1,4 +1,4 @@
1
- import { authEnv } from '@/config/auth';
1
+ import { authEnv } from '@/envs/auth';
2
2
 
3
3
  export const enableClerk = authEnv.NEXT_PUBLIC_ENABLE_CLERK_AUTH;
4
4
  export const enableNextAuth = authEnv.NEXT_PUBLIC_ENABLE_NEXT_AUTH;
@@ -2,8 +2,10 @@
2
2
  "name": "@lobechat/database",
3
3
  "version": "1.0.0",
4
4
  "private": true,
5
- "main": "src/index.ts",
6
- "types": "src/index.ts",
5
+ "exports": {
6
+ ".": "./src/index.ts",
7
+ "./schemas": "./src/schemas/index.ts"
8
+ },
7
9
  "scripts": {
8
10
  "test": "npm run test:client-db && npm run test:server-db",
9
11
  "test:client-db": "vitest run",
@@ -0,0 +1 @@
1
+ export * from './type';
@@ -1,6 +1,7 @@
1
1
  import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
2
2
 
3
3
  import { clientDB, initializeDB } from '@/database/client/db';
4
+
4
5
  import {
5
6
  agents,
6
7
  agentsKnowledgeBases,
@@ -16,9 +17,8 @@ import {
16
17
  topics,
17
18
  userSettings,
18
19
  users,
19
- } from '@/database/schemas';
20
- import { LobeChatDatabase } from '@/database/type';
21
-
20
+ } from '../../schemas';
21
+ import { LobeChatDatabase } from '../../type';
22
22
  import { DATA_EXPORT_CONFIG, DataExporterRepos } from './index';
23
23
 
24
24
  let db = clientDB as LobeChatDatabase;
@@ -17,8 +17,8 @@ const deepseekChatModels: AIChatModelCard[] = [
17
17
  currency: 'CNY',
18
18
  units: [
19
19
  { name: 'textInput_cacheRead', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
20
- { name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
21
- { name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
20
+ { name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
21
+ { name: 'textOutput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
22
22
  ],
23
23
  },
24
24
  releasedAt: '2025-08-21',
@@ -39,9 +39,9 @@ const deepseekChatModels: AIChatModelCard[] = [
39
39
  pricing: {
40
40
  currency: 'CNY',
41
41
  units: [
42
- { name: 'textInput_cacheRead', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
42
+ { name: 'textInput_cacheRead', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
43
43
  { name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
44
- { name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
44
+ { name: 'textOutput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
45
45
  ],
46
46
  },
47
47
  releasedAt: '2025-08-21',
@@ -18,7 +18,15 @@ const googleChatModels: AIChatModelCard[] = [
18
18
  maxOutput: 65_536,
19
19
  pricing: {
20
20
  units: [
21
- { name: 'textInput_cacheRead', rate: 0.31, strategy: 'fixed', unit: 'millionTokens' },
21
+ {
22
+ name: 'textInput_cacheRead',
23
+ strategy: 'tiered',
24
+ tiers: [
25
+ { rate: 0.31, upTo: 200_000 },
26
+ { rate: 0.625, upTo: 'infinity' },
27
+ ],
28
+ unit: 'millionTokens',
29
+ },
22
30
  {
23
31
  name: 'textInput',
24
32
  strategy: 'tiered',
@@ -57,12 +65,20 @@ const googleChatModels: AIChatModelCard[] = [
57
65
  contextWindowTokens: 1_048_576 + 65_536,
58
66
  description:
59
67
  'Gemini 2.5 Pro Preview 是 Google 最先进的思维模型,能够对代码、数学和STEM领域的复杂问题进行推理,以及使用长上下文分析大型数据集、代码库和文档。',
60
- displayName: 'Gemini 2.5 Pro Preview 06-05 (Paid)',
68
+ displayName: 'Gemini 2.5 Pro Preview 06-05',
61
69
  id: 'gemini-2.5-pro-preview-06-05',
62
70
  maxOutput: 65_536,
63
71
  pricing: {
64
72
  units: [
65
- { name: 'textInput_cacheRead', rate: 0.31, strategy: 'fixed', unit: 'millionTokens' },
73
+ {
74
+ name: 'textInput_cacheRead',
75
+ strategy: 'tiered',
76
+ tiers: [
77
+ { rate: 0.31, upTo: 200_000 },
78
+ { rate: 0.625, upTo: 'infinity' },
79
+ ],
80
+ unit: 'millionTokens',
81
+ },
66
82
  {
67
83
  name: 'textInput',
68
84
  strategy: 'tiered',
@@ -101,12 +117,20 @@ const googleChatModels: AIChatModelCard[] = [
101
117
  contextWindowTokens: 1_048_576 + 65_536,
102
118
  description:
103
119
  'Gemini 2.5 Pro Preview 是 Google 最先进的思维模型,能够对代码、数学和STEM领域的复杂问题进行推理,以及使用长上下文分析大型数据集、代码库和文档。',
104
- displayName: 'Gemini 2.5 Pro Preview 05-06 (Paid)',
120
+ displayName: 'Gemini 2.5 Pro Preview 05-06',
105
121
  id: 'gemini-2.5-pro-preview-05-06',
106
122
  maxOutput: 65_536,
107
123
  pricing: {
108
124
  units: [
109
- { name: 'textInput_cacheRead', rate: 0.31, strategy: 'fixed', unit: 'millionTokens' },
125
+ {
126
+ name: 'textInput_cacheRead',
127
+ strategy: 'tiered',
128
+ tiers: [
129
+ { rate: 0.31, upTo: 200_000 },
130
+ { rate: 0.625, upTo: 'infinity' },
131
+ ],
132
+ unit: 'millionTokens',
133
+ },
110
134
  {
111
135
  name: 'textInput',
112
136
  strategy: 'tiered',
@@ -479,7 +503,7 @@ const googleChatModels: AIChatModelCard[] = [
479
503
  contextWindowTokens: 2_008_192,
480
504
  description:
481
505
  'Gemini 1.5 Pro 002 是最新的生产就绪模型,提供更高质量的输出,特别在数学、长上下文和视觉任务方面有显著提升。',
482
- displayName: 'Gemini 1.5 Pro 002 (Paid)',
506
+ displayName: 'Gemini 1.5 Pro 002',
483
507
  id: 'gemini-1.5-pro-002', // Deprecated on 2025-09-24
484
508
  maxOutput: 8192,
485
509
  pricing: {
@@ -73,24 +73,6 @@ const groqChatModels: AIChatModelCard[] = [
73
73
  displayName: 'Kimi K2 0905',
74
74
  enabled: true,
75
75
  id: 'moonshotai/kimi-k2-instruct-0905',
76
- pricing: {
77
- units: [
78
- { name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
79
- { name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
80
- ],
81
- },
82
- releasedAt: '2025-09-05',
83
- type: 'chat',
84
- },
85
- {
86
- abilities: {
87
- functionCall: true,
88
- },
89
- contextWindowTokens: 131_072,
90
- description:
91
- 'kimi-k2 是一款具备超强代码和 Agent 能力的 MoE 架构基础模型,总参数 1T,激活参数 32B。在通用知识推理、编程、数学、Agent 等主要类别的基准性能测试中,K2 模型的性能超过其他主流开源模型。',
92
- displayName: 'Kimi K2 0711',
93
- id: 'moonshotai/kimi-k2-instruct',
94
76
  maxOutput: 16_384,
95
77
  pricing: {
96
78
  units: [
@@ -98,7 +80,7 @@ const groqChatModels: AIChatModelCard[] = [
98
80
  { name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
99
81
  ],
100
82
  },
101
- releasedAt: '2025-07-11',
83
+ releasedAt: '2025-09-05',
102
84
  type: 'chat',
103
85
  },
104
86
  {
@@ -4,14 +4,20 @@ const modelscopeChatModels: AIChatModelCard[] = [
4
4
  {
5
5
  abilities: {
6
6
  functionCall: true,
7
+ reasoning: true,
7
8
  },
8
- contextWindowTokens: 262_144,
9
- description:
10
- 'kimi-k2-0905-preview 模型上下文长度为 256k,具备更强的 Agentic Coding 能力、更突出的前端代码的美观度和实用性、以及更好的上下文理解能力。',
11
- displayName: 'Kimi K2 0905',
12
- enabled: true,
13
- id: 'moonshotai/Kimi-K2-Instruct-0905',
14
- releasedAt: '2025-09-05',
9
+ contextWindowTokens: 131_072,
10
+ displayName: 'Qwen3 Next 80B A3B Thinking',
11
+ id: 'Qwen/Qwen3-Next-80B-A3B-Thinking',
12
+ type: 'chat',
13
+ },
14
+ {
15
+ abilities: {
16
+ functionCall: true,
17
+ },
18
+ contextWindowTokens: 131_072,
19
+ displayName: 'Qwen3 Next 80B A3B Instruct',
20
+ id: 'Qwen/Qwen3-Next-80B-A3B-Instruct',
15
21
  type: 'chat',
16
22
  },
17
23
  {
@@ -20,8 +26,8 @@ const modelscopeChatModels: AIChatModelCard[] = [
20
26
  reasoning: true,
21
27
  },
22
28
  contextWindowTokens: 131_072,
23
- description: 'DeepSeek-V3.1 模型为混合推理架构模型,同时支持思考模式与非思考模式。',
24
- displayName: 'DeepSeek-V3.1',
29
+ description: 'DeepSeek V3.1 模型为混合推理架构模型,同时支持思考模式与非思考模式。',
30
+ displayName: 'DeepSeek V3.1',
25
31
  enabled: true,
26
32
  id: 'deepseek-ai/DeepSeek-V3.1',
27
33
  type: 'chat',
@@ -34,7 +40,7 @@ const modelscopeChatModels: AIChatModelCard[] = [
34
40
  contextWindowTokens: 131_072,
35
41
  description:
36
42
  'DeepSeek R1 通过利用增加的计算资源和在后训练过程中引入算法优化机制,显著提高了其推理和推断能力的深度。该模型在各种基准评估中表现出色,包括数学、编程和一般逻辑方面。其整体性能现已接近领先模型,如 O3 和 Gemini 2.5 Pro。',
37
- displayName: 'DeepSeek-R1-0528',
43
+ displayName: 'DeepSeek R1 0528',
38
44
  id: 'deepseek-ai/DeepSeek-R1-0528',
39
45
  type: 'chat',
40
46
  },
@@ -44,8 +50,8 @@ const modelscopeChatModels: AIChatModelCard[] = [
44
50
  reasoning: true,
45
51
  },
46
52
  contextWindowTokens: 131_072,
47
- description: 'DeepSeek-R1是DeepSeek最新的推理模型,专注于复杂推理任务。',
48
- displayName: 'DeepSeek-R1',
53
+ description: 'DeepSeek R1是DeepSeek最新的推理模型,专注于复杂推理任务。',
54
+ displayName: 'DeepSeek R1',
49
55
  id: 'deepseek-ai/DeepSeek-R1',
50
56
  type: 'chat',
51
57
  },
@@ -54,8 +60,8 @@ const modelscopeChatModels: AIChatModelCard[] = [
54
60
  functionCall: true,
55
61
  },
56
62
  contextWindowTokens: 131_072,
57
- description: 'DeepSeek-V3是DeepSeek第三代模型的最新版本,具有强大的推理和对话能力。',
58
- displayName: 'DeepSeek-V3',
63
+ description: 'DeepSeek V3是DeepSeek第三代模型的最新版本,具有强大的推理和对话能力。',
64
+ displayName: 'DeepSeek V3',
59
65
  id: 'deepseek-ai/DeepSeek-V3',
60
66
  type: 'chat',
61
67
  },
@@ -64,8 +70,8 @@ const modelscopeChatModels: AIChatModelCard[] = [
64
70
  functionCall: true,
65
71
  },
66
72
  contextWindowTokens: 131_072,
67
- description: 'Qwen3-235B-A22B是通义千问3代超大规模模型,提供顶级的AI能力。',
68
- displayName: 'Qwen3-235B-A22B',
73
+ description: 'Qwen3 235B A22B是通义千问3代超大规模模型,提供顶级的AI能力。',
74
+ displayName: 'Qwen3 235B A22B',
69
75
  id: 'Qwen/Qwen3-235B-A22B',
70
76
  type: 'chat',
71
77
  },
@@ -74,8 +80,8 @@ const modelscopeChatModels: AIChatModelCard[] = [
74
80
  functionCall: true,
75
81
  },
76
82
  contextWindowTokens: 131_072,
77
- description: 'Qwen3-32B是通义千问3代模型,具有强大的推理和对话能力。',
78
- displayName: 'Qwen3-32B',
83
+ description: 'Qwen3 32B是通义千问3代模型,具有强大的推理和对话能力。',
84
+ displayName: 'Qwen3 32B',
79
85
  id: 'Qwen/Qwen3-32B',
80
86
  type: 'chat',
81
87
  },
@@ -2,6 +2,52 @@ 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: 65_536,
11
+ displayName: 'Qwen3 Next 80B A3B Thinking',
12
+ id: 'qwen/qwen3-next-80b-a3b-thinking',
13
+ maxOutput: 65_536,
14
+ pricing: {
15
+ units: [
16
+ { name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
17
+ { name: 'textOutput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
18
+ ],
19
+ },
20
+ type: 'chat',
21
+ },
22
+ {
23
+ abilities: {
24
+ functionCall: true,
25
+ },
26
+ contextWindowTokens: 65_536,
27
+ displayName: 'Qwen3 Next 80B A3B Instruct',
28
+ id: 'qwen/qwen3-next-80b-a3b-instruct',
29
+ maxOutput: 65_536,
30
+ pricing: {
31
+ units: [
32
+ { name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
33
+ { name: 'textOutput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
34
+ ],
35
+ },
36
+ type: 'chat',
37
+ },
38
+ {
39
+ contextWindowTokens: 4096,
40
+ displayName: 'Qwen MT Plus',
41
+ id: 'qwen/qwen-mt-plus',
42
+ maxOutput: 2048,
43
+ pricing: {
44
+ units: [
45
+ { name: 'textInput', rate: 0.25, strategy: 'fixed', unit: 'millionTokens' },
46
+ { name: 'textOutput', rate: 0.75, strategy: 'fixed', unit: 'millionTokens' },
47
+ ],
48
+ },
49
+ type: 'chat',
50
+ },
5
51
  {
6
52
  abilities: {
7
53
  functionCall: true,
@@ -41,13 +87,13 @@ const novitaChatModels: AIChatModelCard[] = [
41
87
  abilities: {
42
88
  functionCall: true,
43
89
  },
44
- contextWindowTokens: 262_144,
90
+ contextWindowTokens: 65_536,
45
91
  displayName: 'Qwen3 Coder 480B A35B Instruct',
46
92
  id: 'qwen/qwen3-coder-480b-a35b-instruct',
47
93
  pricing: {
48
94
  units: [
49
- { name: 'textInput', rate: 0.35, strategy: 'fixed', unit: 'millionTokens' },
50
- { name: 'textOutput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
95
+ { name: 'textInput', rate: 0.29, strategy: 'fixed', unit: 'millionTokens' },
96
+ { name: 'textOutput', rate: 1.2, strategy: 'fixed', unit: 'millionTokens' },
51
97
  ],
52
98
  },
53
99
  type: 'chat',
@@ -83,6 +129,24 @@ const novitaChatModels: AIChatModelCard[] = [
83
129
  },
84
130
  type: 'chat',
85
131
  },
132
+ {
133
+ abilities: {
134
+ functionCall: true,
135
+ reasoning: true,
136
+ vision: true,
137
+ },
138
+ contextWindowTokens: 65_536,
139
+ displayName: 'GLM-4.5V',
140
+ id: 'zai-org/glm-4.5v',
141
+ maxOutput: 16_384,
142
+ pricing: {
143
+ units: [
144
+ { name: 'textInput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
145
+ { name: 'textOutput', rate: 1.8, strategy: 'fixed', unit: 'millionTokens' },
146
+ ],
147
+ },
148
+ type: 'chat',
149
+ },
86
150
  {
87
151
  abilities: {
88
152
  functionCall: true,
@@ -91,6 +155,7 @@ const novitaChatModels: AIChatModelCard[] = [
91
155
  contextWindowTokens: 131_072,
92
156
  displayName: 'GLM-4.5',
93
157
  id: 'zai-org/glm-4.5',
158
+ maxOutput: 98_304,
94
159
  pricing: {
95
160
  units: [
96
161
  { name: 'textInput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
@@ -103,9 +168,10 @@ const novitaChatModels: AIChatModelCard[] = [
103
168
  abilities: {
104
169
  functionCall: true,
105
170
  },
106
- contextWindowTokens: 262_144,
171
+ contextWindowTokens: 131_072,
107
172
  displayName: 'Qwen3 235B A22B Instruct 2507',
108
173
  id: 'qwen/qwen3-235b-a22b-instruct-2507',
174
+ maxOutput: 16_384,
109
175
  pricing: {
110
176
  units: [
111
177
  { name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
@@ -717,6 +783,7 @@ const novitaChatModels: AIChatModelCard[] = [
717
783
  contextWindowTokens: 32_000,
718
784
  displayName: 'Qwen2.5 72B Instruct',
719
785
  id: 'qwen/qwen-2.5-72b-instruct',
786
+ maxOutput: 8192,
720
787
  pricing: {
721
788
  units: [
722
789
  { name: 'textInput', rate: 0.38, strategy: 'fixed', unit: 'millionTokens' },
@@ -770,7 +837,6 @@ const novitaChatModels: AIChatModelCard[] = [
770
837
  },
771
838
  contextWindowTokens: 32_768,
772
839
  displayName: 'Qwen2.5 VL 72B Instruct',
773
- enabled: true,
774
840
  id: 'qwen/qwen2.5-vl-72b-instruct',
775
841
  pricing: {
776
842
  units: [
@@ -48,6 +48,92 @@ const qwenChatModels: AIChatModelCard[] = [
48
48
  },
49
49
  type: 'chat',
50
50
  },
51
+ {
52
+ abilities: {
53
+ reasoning: true,
54
+ },
55
+ contextWindowTokens: 131_072,
56
+ description: 'GLM-4.5系列模型是智谱AI专为智能体设计的混合推理模型,提供思考与非思考两种模式。',
57
+ displayName: 'GLM-4.5',
58
+ id: 'glm-4.5',
59
+ maxOutput: 16_384,
60
+ pricing: {
61
+ currency: 'CNY',
62
+ units: [
63
+ {
64
+ lookup: {
65
+ prices: {
66
+ '[0, 32_000]': 3,
67
+ '[32_000, infinity]': 4,
68
+ },
69
+ pricingParams: ['textInputRange'],
70
+ },
71
+ name: 'textInput',
72
+ strategy: 'lookup',
73
+ unit: 'millionTokens',
74
+ },
75
+ {
76
+ lookup: {
77
+ prices: {
78
+ '[0, 32_000]': 14,
79
+ '[32_000, infinity]': 16,
80
+ },
81
+ pricingParams: ['textInputRange'],
82
+ },
83
+ name: 'textOutput',
84
+ strategy: 'lookup',
85
+ unit: 'millionTokens',
86
+ },
87
+ ],
88
+ },
89
+ settings: {
90
+ extendParams: ['enableReasoning', 'reasoningBudgetToken'],
91
+ },
92
+ type: 'chat',
93
+ },
94
+ {
95
+ abilities: {
96
+ reasoning: true,
97
+ },
98
+ contextWindowTokens: 131_072,
99
+ description: 'GLM-4.5系列模型是智谱AI专为智能体设计的混合推理模型,提供思考与非思考两种模式。',
100
+ displayName: 'GLM-4.5-Air',
101
+ id: 'glm-4.5-air',
102
+ maxOutput: 16_384,
103
+ pricing: {
104
+ currency: 'CNY',
105
+ units: [
106
+ {
107
+ lookup: {
108
+ prices: {
109
+ '[0, 32_000]': 0.8,
110
+ '[32_000, infinity]': 1.2,
111
+ },
112
+ pricingParams: ['textInputRange'],
113
+ },
114
+ name: 'textInput',
115
+ strategy: 'lookup',
116
+ unit: 'millionTokens',
117
+ },
118
+ {
119
+ lookup: {
120
+ prices: {
121
+ '[0, 32_000]': 6,
122
+ '[32_000, infinity]': 8,
123
+ },
124
+ pricingParams: ['textInputRange'],
125
+ },
126
+ name: 'textOutput',
127
+ strategy: 'lookup',
128
+ unit: 'millionTokens',
129
+ },
130
+ ],
131
+ },
132
+ settings: {
133
+ extendParams: ['enableReasoning', 'reasoningBudgetToken'],
134
+ },
135
+ type: 'chat',
136
+ },
51
137
  {
52
138
  abilities: {
53
139
  functionCall: true,
@@ -583,7 +669,7 @@ const qwenChatModels: AIChatModelCard[] = [
583
669
  search: true,
584
670
  },
585
671
  config: {
586
- deploymentName: 'qwen-plus-2025-07-28',
672
+ deploymentName: 'qwen-plus-2025-09-11',
587
673
  },
588
674
  contextWindowTokens: 1_000_000,
589
675
  description: '通义千问超大规模语言模型增强版,支持中文、英文等不同语言输入。',
@@ -627,7 +713,6 @@ const qwenChatModels: AIChatModelCard[] = [
627
713
  '[0, 128_000]_[false]': 2,
628
714
  '[0, 128_000]_[true]': 8,
629
715
  '[128_000, 256_000]_[false]': 20,
630
-
631
716
  '[128_000, 256_000]_[true]': 24,
632
717
  '[256_000, infinity]_[false]': 48,
633
718
  '[256_000, infinity]_[true]': 64,
@@ -47,6 +47,25 @@ const siliconcloudChatModels: AIChatModelCard[] = [
47
47
  },
48
48
  type: 'chat',
49
49
  },
50
+ {
51
+ abilities: {
52
+ functionCall: true,
53
+ },
54
+ contextWindowTokens: 131_072,
55
+ description:
56
+ 'Ling-mini-2.0 是一款基于 MoE 架构的小尺寸高性能大语言模型。它拥有 16B 总参数,但每个 token 仅激活 1.4B(non-embedding 789M),从而实现了极高的生成速度。得益于高效的 MoE 设计与大规模高质量训练数据,尽管激活参数仅为 1.4B,Ling-mini-2.0 依然在下游任务中展现出可媲美 10B 以下 dense LLM 及更大规模 MoE 模型的顶尖性能',
57
+ displayName: 'Ling Mini 2.0',
58
+ id: 'inclusionAI/Ling-mini-2.0',
59
+ pricing: {
60
+ currency: 'CNY',
61
+ units: [
62
+ { name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
63
+ { name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
64
+ ],
65
+ },
66
+ releasedAt: '2025-09-09',
67
+ type: 'chat',
68
+ },
50
69
  {
51
70
  abilities: {
52
71
  functionCall: true,
@@ -223,10 +242,51 @@ const siliconcloudChatModels: AIChatModelCard[] = [
223
242
  type: 'chat',
224
243
  },
225
244
  {
245
+ abilities: {
246
+ functionCall: true,
247
+ },
248
+ contextWindowTokens: 262_144,
249
+ description:
250
+ 'Kimi K2-Instruct-0905 是 Kimi K2 最新、最强大的版本。它是一款顶尖的混合专家(MoE)语言模型,拥有 1 万亿的总参数和 320 亿的激活参数。该模型的主要特性包括:增强的智能体编码智能,在公开基准测试和真实世界的编码智能体任务中表现出显著的性能提升;改进的前端编码体验,在前端编程的美观性和实用性方面均有进步。',
251
+ displayName: 'Kimi K2 0905',
252
+ id: 'moonshotai/Kimi-K2-Instruct-0905',
253
+ pricing: {
254
+ currency: 'CNY',
255
+ units: [
256
+ { name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
257
+ { name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
258
+ ],
259
+ },
260
+ releasedAt: '2025-09-05',
261
+ type: 'chat',
262
+ },
263
+ {
264
+ abilities: {
265
+ functionCall: true,
266
+ },
267
+ contextWindowTokens: 262_144,
268
+ description:
269
+ 'Kimi K2-Instruct-0905 是 Kimi K2 最新、最强大的版本。它是一款顶尖的混合专家(MoE)语言模型,拥有 1 万亿的总参数和 320 亿的激活参数。该模型的主要特性包括:增强的智能体编码智能,在公开基准测试和真实世界的编码智能体任务中表现出显著的性能提升;改进的前端编码体验,在前端编程的美观性和实用性方面均有进步。',
270
+ displayName: 'Kimi K2 0905 (Pro)',
271
+ id: 'Pro/moonshotai/Kimi-K2-Instruct-0905',
272
+ pricing: {
273
+ currency: 'CNY',
274
+ units: [
275
+ { name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
276
+ { name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
277
+ ],
278
+ },
279
+ releasedAt: '2025-09-05',
280
+ type: 'chat',
281
+ },
282
+ {
283
+ abilities: {
284
+ functionCall: true,
285
+ },
226
286
  contextWindowTokens: 131_072,
227
287
  description:
228
288
  'Kimi K2 是一款具备超强代码和 Agent 能力的 MoE 架构基础模型,总参数 1T,激活参数 32B。在通用知识推理、编程、数学、Agent 等主要类别的基准性能测试中,K2 模型的性能超过其他主流开源模型。',
229
- displayName: 'Kimi K2 Instruct',
289
+ displayName: 'Kimi K2 0711',
230
290
  id: 'moonshotai/Kimi-K2-Instruct',
231
291
  pricing: {
232
292
  currency: 'CNY',
@@ -239,10 +299,13 @@ const siliconcloudChatModels: AIChatModelCard[] = [
239
299
  type: 'chat',
240
300
  },
241
301
  {
302
+ abilities: {
303
+ functionCall: true,
304
+ },
242
305
  contextWindowTokens: 131_072,
243
306
  description:
244
307
  'Kimi K2 是一款具备超强代码和 Agent 能力的 MoE 架构基础模型,总参数 1T,激活参数 32B。在通用知识推理、编程、数学、Agent 等主要类别的基准性能测试中,K2 模型的性能超过其他主流开源模型。',
245
- displayName: 'Kimi K2 Instruct (Pro)',
308
+ displayName: 'Kimi K2 0711 (Pro)',
246
309
  id: 'Pro/moonshotai/Kimi-K2-Instruct',
247
310
  pricing: {
248
311
  currency: 'CNY',
@@ -35,17 +35,18 @@ const doubaoChatModels: AIChatModelCard[] = [
35
35
  functionCall: true,
36
36
  },
37
37
  config: {
38
- deploymentName: 'kimi-k2-250711',
38
+ deploymentName: 'kimi-k2-250905',
39
39
  },
40
- contextWindowTokens: 256_000,
40
+ contextWindowTokens: 131_072,
41
41
  description:
42
42
  'Kimi-K2 是一款Moonshot AI推出的具备超强代码和 Agent 能力的 MoE 架构基础模型,总参数 1T,激活参数 32B。在通用知识推理、编程、数学、Agent 等主要类别的基准性能测试中,K2 模型的性能超过其他主流开源模型。',
43
43
  displayName: 'Kimi K2',
44
44
  id: 'kimi-k2',
45
- maxOutput: 16_384,
45
+ maxOutput: 32_768,
46
46
  pricing: {
47
47
  currency: 'CNY',
48
48
  units: [
49
+ { name: 'textInput_cacheRead', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
49
50
  { name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
50
51
  { name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
51
52
  ],
@@ -53,7 +53,7 @@ export const MODEL_LIST_CONFIGS = {
53
53
  'qwen2.5',
54
54
  'qwen3',
55
55
  ],
56
- reasoningKeywords: ['qvq', 'qwq', 'qwen3', '!-instruct-', '!-coder-'],
56
+ reasoningKeywords: ['qvq', 'qwq', 'qwen3', '!-instruct-', '!-coder-', '!-max-'],
57
57
  visionKeywords: ['qvq', 'vl'],
58
58
  },
59
59
  v0: {
@@ -303,9 +303,9 @@ const processModelCard = (
303
303
  )
304
304
  ? 'image'
305
305
  : isKeywordListMatch(
306
- model.id.toLowerCase(),
307
- EMBEDDING_MODEL_KEYWORDS.map((k) => k.toLowerCase()),
308
- )
306
+ model.id.toLowerCase(),
307
+ EMBEDDING_MODEL_KEYWORDS.map((k) => k.toLowerCase()),
308
+ )
309
309
  ? 'embedding'
310
310
  : 'chat');
311
311
 
@@ -2,7 +2,7 @@ import { ChatErrorType } from '@lobechat/types';
2
2
  import OpenAI, { ClientOptions } from 'openai';
3
3
  import urlJoin from 'url-join';
4
4
 
5
- import { getLLMConfig } from '@/config/llm';
5
+ import { getLLMConfig } from '@/envs/llm';
6
6
 
7
7
  // create Azure OpenAI Instance
8
8
  export const createAzureOpenai = (params: {