@lobehub/chat 1.23.0 → 1.24.0
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 +51 -0
- package/Dockerfile +19 -15
- package/Dockerfile.database +20 -16
- package/locales/ar/modelProvider.json +16 -0
- package/locales/ar/models.json +27 -0
- package/locales/ar/providers.json +1 -0
- package/locales/bg-BG/modelProvider.json +16 -0
- package/locales/bg-BG/models.json +27 -0
- package/locales/bg-BG/providers.json +1 -0
- package/locales/de-DE/modelProvider.json +16 -0
- package/locales/de-DE/models.json +27 -0
- package/locales/de-DE/providers.json +1 -0
- package/locales/en-US/modelProvider.json +16 -0
- package/locales/en-US/models.json +27 -0
- package/locales/en-US/providers.json +1 -0
- package/locales/es-ES/modelProvider.json +16 -0
- package/locales/es-ES/models.json +27 -0
- package/locales/es-ES/providers.json +1 -0
- package/locales/fr-FR/modelProvider.json +16 -0
- package/locales/fr-FR/models.json +27 -0
- package/locales/fr-FR/providers.json +1 -0
- package/locales/it-IT/modelProvider.json +16 -0
- package/locales/it-IT/models.json +27 -0
- package/locales/it-IT/providers.json +1 -0
- package/locales/ja-JP/modelProvider.json +16 -0
- package/locales/ja-JP/models.json +27 -0
- package/locales/ja-JP/providers.json +1 -0
- package/locales/ko-KR/modelProvider.json +16 -0
- package/locales/ko-KR/models.json +27 -0
- package/locales/ko-KR/providers.json +1 -0
- package/locales/nl-NL/modelProvider.json +16 -0
- package/locales/nl-NL/models.json +27 -0
- package/locales/nl-NL/providers.json +1 -0
- package/locales/pl-PL/modelProvider.json +16 -0
- package/locales/pl-PL/models.json +27 -0
- package/locales/pl-PL/providers.json +1 -0
- package/locales/pt-BR/modelProvider.json +16 -0
- package/locales/pt-BR/models.json +27 -0
- package/locales/pt-BR/providers.json +1 -0
- package/locales/ru-RU/modelProvider.json +16 -0
- package/locales/ru-RU/models.json +27 -0
- package/locales/ru-RU/providers.json +1 -0
- package/locales/tr-TR/modelProvider.json +16 -0
- package/locales/tr-TR/models.json +27 -0
- package/locales/tr-TR/providers.json +1 -0
- package/locales/vi-VN/modelProvider.json +16 -0
- package/locales/vi-VN/models.json +27 -0
- package/locales/vi-VN/providers.json +1 -0
- package/locales/zh-CN/modelProvider.json +16 -0
- package/locales/zh-CN/models.json +27 -0
- package/locales/zh-CN/providers.json +1 -0
- package/locales/zh-TW/modelProvider.json +16 -0
- package/locales/zh-TW/models.json +27 -0
- package/locales/zh-TW/providers.json +1 -0
- package/package.json +3 -3
- package/src/app/(main)/settings/llm/ProviderList/SenseNova/index.tsx +44 -0
- package/src/app/(main)/settings/llm/ProviderList/providers.tsx +4 -0
- package/src/config/llm.ts +38 -0
- package/src/config/modelProviders/index.ts +4 -0
- package/src/config/modelProviders/sensenova.ts +124 -0
- package/src/config/modelProviders/spark.ts +6 -6
- package/src/const/auth.ts +3 -0
- package/src/const/settings/llm.ts +5 -0
- package/src/features/Conversation/Error/APIKeyForm/SenseNova.tsx +49 -0
- package/src/features/Conversation/Error/APIKeyForm/index.tsx +3 -0
- package/src/libs/agent-runtime/AgentRuntime.ts +7 -0
- package/src/libs/agent-runtime/index.ts +1 -0
- package/src/libs/agent-runtime/sensenova/authToken.test.ts +18 -0
- package/src/libs/agent-runtime/sensenova/authToken.ts +27 -0
- package/src/libs/agent-runtime/sensenova/index.test.ts +321 -0
- package/src/libs/agent-runtime/sensenova/index.ts +98 -0
- package/src/libs/agent-runtime/types/type.ts +1 -0
- package/src/locales/default/modelProvider.ts +17 -0
- package/src/server/globalConfig/index.ts +158 -16
- package/src/server/modules/AgentRuntime/index.ts +10 -0
- package/src/services/_auth.ts +14 -0
- package/src/store/user/slices/modelList/selectors/keyVaults.ts +2 -0
- package/src/store/user/slices/modelList/selectors/modelConfig.ts +2 -0
- package/src/types/user/settings/keyVaults.ts +6 -0
@@ -4,20 +4,35 @@ import { fileEnv } from '@/config/file';
|
|
4
4
|
import { langfuseEnv } from '@/config/langfuse';
|
5
5
|
import { getLLMConfig } from '@/config/llm';
|
6
6
|
import {
|
7
|
+
Ai21ProviderCard,
|
8
|
+
Ai360ProviderCard,
|
9
|
+
AnthropicProviderCard,
|
10
|
+
BaichuanProviderCard,
|
7
11
|
BedrockProviderCard,
|
12
|
+
DeepSeekProviderCard,
|
8
13
|
FireworksAIProviderCard,
|
9
14
|
GithubProviderCard,
|
10
15
|
GoogleProviderCard,
|
11
16
|
GroqProviderCard,
|
12
17
|
HuggingFaceProviderCard,
|
13
18
|
HunyuanProviderCard,
|
19
|
+
MinimaxProviderCard,
|
20
|
+
MistralProviderCard,
|
21
|
+
MoonshotProviderCard,
|
14
22
|
NovitaProviderCard,
|
15
23
|
OllamaProviderCard,
|
16
24
|
OpenAIProviderCard,
|
17
25
|
OpenRouterProviderCard,
|
26
|
+
PerplexityProviderCard,
|
18
27
|
QwenProviderCard,
|
28
|
+
SenseNovaProviderCard,
|
19
29
|
SiliconCloudProviderCard,
|
30
|
+
SparkProviderCard,
|
31
|
+
StepfunProviderCard,
|
32
|
+
TaichuProviderCard,
|
20
33
|
TogetherAIProviderCard,
|
34
|
+
UpstageProviderCard,
|
35
|
+
WenxinProviderCard,
|
21
36
|
ZeroOneProviderCard,
|
22
37
|
ZhiPuProviderCard,
|
23
38
|
} from '@/config/modelProviders';
|
@@ -36,6 +51,8 @@ export const getServerGlobalConfig = () => {
|
|
36
51
|
OPENAI_MODEL_LIST,
|
37
52
|
|
38
53
|
ENABLED_MOONSHOT,
|
54
|
+
MOONSHOT_MODEL_LIST,
|
55
|
+
|
39
56
|
ENABLED_ZHIPU,
|
40
57
|
ZHIPU_MODEL_LIST,
|
41
58
|
|
@@ -55,10 +72,19 @@ export const getServerGlobalConfig = () => {
|
|
55
72
|
HUNYUAN_MODEL_LIST,
|
56
73
|
|
57
74
|
ENABLED_DEEPSEEK,
|
75
|
+
DEEPSEEK_MODEL_LIST,
|
76
|
+
|
58
77
|
ENABLED_PERPLEXITY,
|
78
|
+
PERPLEXITY_MODEL_LIST,
|
79
|
+
|
59
80
|
ENABLED_ANTHROPIC,
|
81
|
+
ANTHROPIC_MODEL_LIST,
|
82
|
+
|
60
83
|
ENABLED_MINIMAX,
|
84
|
+
MINIMAX_MODEL_LIST,
|
85
|
+
|
61
86
|
ENABLED_MISTRAL,
|
87
|
+
MISTRAL_MODEL_LIST,
|
62
88
|
|
63
89
|
ENABLED_NOVITA,
|
64
90
|
NOVITA_MODEL_LIST,
|
@@ -67,17 +93,31 @@ export const getServerGlobalConfig = () => {
|
|
67
93
|
QWEN_MODEL_LIST,
|
68
94
|
|
69
95
|
ENABLED_STEPFUN,
|
96
|
+
STEPFUN_MODEL_LIST,
|
97
|
+
|
70
98
|
ENABLED_BAICHUAN,
|
99
|
+
BAICHUAN_MODEL_LIST,
|
100
|
+
|
71
101
|
ENABLED_TAICHU,
|
102
|
+
TAICHU_MODEL_LIST,
|
103
|
+
|
72
104
|
ENABLED_AI21,
|
105
|
+
AI21_MODEL_LIST,
|
106
|
+
|
73
107
|
ENABLED_AI360,
|
108
|
+
AI360_MODEL_LIST,
|
109
|
+
|
110
|
+
ENABLED_SENSENOVA,
|
111
|
+
SENSENOVA_MODEL_LIST,
|
74
112
|
|
75
113
|
ENABLED_SILICONCLOUD,
|
76
114
|
SILICONCLOUD_MODEL_LIST,
|
77
115
|
|
78
116
|
ENABLED_UPSTAGE,
|
117
|
+
UPSTAGE_MODEL_LIST,
|
79
118
|
|
80
119
|
ENABLED_SPARK,
|
120
|
+
SPARK_MODEL_LIST,
|
81
121
|
|
82
122
|
ENABLED_AZURE_OPENAI,
|
83
123
|
AZURE_MODEL_LIST,
|
@@ -99,6 +139,7 @@ export const getServerGlobalConfig = () => {
|
|
99
139
|
FIREWORKSAI_MODEL_LIST,
|
100
140
|
|
101
141
|
ENABLED_WENXIN,
|
142
|
+
WENXIN_MODEL_LIST,
|
102
143
|
|
103
144
|
ENABLED_HUGGINGFACE,
|
104
145
|
HUGGINGFACE_MODEL_LIST,
|
@@ -112,10 +153,29 @@ export const getServerGlobalConfig = () => {
|
|
112
153
|
enabledAccessCode: ACCESS_CODES?.length > 0,
|
113
154
|
enabledOAuthSSO: enableNextAuth,
|
114
155
|
languageModel: {
|
115
|
-
ai21: {
|
116
|
-
|
156
|
+
ai21: {
|
157
|
+
enabled: ENABLED_AI21,
|
158
|
+
enabledModels: extractEnabledModels(AI21_MODEL_LIST),
|
159
|
+
serverModelCards: transformToChatModelCards({
|
160
|
+
defaultChatModels: Ai21ProviderCard.chatModels,
|
161
|
+
modelString: AI21_MODEL_LIST,
|
162
|
+
}),
|
163
|
+
},
|
164
|
+
ai360: {
|
165
|
+
enabled: ENABLED_AI360,
|
166
|
+
enabledModels: extractEnabledModels(AI360_MODEL_LIST),
|
167
|
+
serverModelCards: transformToChatModelCards({
|
168
|
+
defaultChatModels: Ai360ProviderCard.chatModels,
|
169
|
+
modelString: AI360_MODEL_LIST,
|
170
|
+
}),
|
171
|
+
},
|
117
172
|
anthropic: {
|
118
173
|
enabled: ENABLED_ANTHROPIC,
|
174
|
+
enabledModels: extractEnabledModels(ANTHROPIC_MODEL_LIST),
|
175
|
+
serverModelCards: transformToChatModelCards({
|
176
|
+
defaultChatModels: AnthropicProviderCard.chatModels,
|
177
|
+
modelString: ANTHROPIC_MODEL_LIST,
|
178
|
+
}),
|
119
179
|
},
|
120
180
|
azure: {
|
121
181
|
enabled: ENABLED_AZURE_OPENAI,
|
@@ -126,7 +186,14 @@ export const getServerGlobalConfig = () => {
|
|
126
186
|
withDeploymentName: true,
|
127
187
|
}),
|
128
188
|
},
|
129
|
-
baichuan: {
|
189
|
+
baichuan: {
|
190
|
+
enabled: ENABLED_BAICHUAN,
|
191
|
+
enabledModels: extractEnabledModels(BAICHUAN_MODEL_LIST),
|
192
|
+
serverModelCards: transformToChatModelCards({
|
193
|
+
defaultChatModels: BaichuanProviderCard.chatModels,
|
194
|
+
modelString: BAICHUAN_MODEL_LIST,
|
195
|
+
}),
|
196
|
+
},
|
130
197
|
bedrock: {
|
131
198
|
enabled: ENABLED_AWS_BEDROCK,
|
132
199
|
enabledModels: extractEnabledModels(AWS_BEDROCK_MODEL_LIST),
|
@@ -135,8 +202,14 @@ export const getServerGlobalConfig = () => {
|
|
135
202
|
modelString: AWS_BEDROCK_MODEL_LIST,
|
136
203
|
}),
|
137
204
|
},
|
138
|
-
deepseek: {
|
139
|
-
|
205
|
+
deepseek: {
|
206
|
+
enabled: ENABLED_DEEPSEEK,
|
207
|
+
enabledModels: extractEnabledModels(DEEPSEEK_MODEL_LIST),
|
208
|
+
serverModelCards: transformToChatModelCards({
|
209
|
+
defaultChatModels: DeepSeekProviderCard.chatModels,
|
210
|
+
modelString: DEEPSEEK_MODEL_LIST,
|
211
|
+
}),
|
212
|
+
},
|
140
213
|
fireworksai: {
|
141
214
|
enabled: ENABLED_FIREWORKSAI,
|
142
215
|
enabledModels: extractEnabledModels(FIREWORKSAI_MODEL_LIST),
|
@@ -145,7 +218,6 @@ export const getServerGlobalConfig = () => {
|
|
145
218
|
modelString: FIREWORKSAI_MODEL_LIST,
|
146
219
|
}),
|
147
220
|
},
|
148
|
-
|
149
221
|
github: {
|
150
222
|
enabled: ENABLED_GITHUB,
|
151
223
|
enabledModels: extractEnabledModels(GITHUB_MODEL_LIST),
|
@@ -186,9 +258,30 @@ export const getServerGlobalConfig = () => {
|
|
186
258
|
modelString: HUNYUAN_MODEL_LIST,
|
187
259
|
}),
|
188
260
|
},
|
189
|
-
minimax: {
|
190
|
-
|
191
|
-
|
261
|
+
minimax: {
|
262
|
+
enabled: ENABLED_MINIMAX,
|
263
|
+
enabledModels: extractEnabledModels(MINIMAX_MODEL_LIST),
|
264
|
+
serverModelCards: transformToChatModelCards({
|
265
|
+
defaultChatModels: MinimaxProviderCard.chatModels,
|
266
|
+
modelString: MINIMAX_MODEL_LIST,
|
267
|
+
}),
|
268
|
+
},
|
269
|
+
mistral: {
|
270
|
+
enabled: ENABLED_MISTRAL,
|
271
|
+
enabledModels: extractEnabledModels(MISTRAL_MODEL_LIST),
|
272
|
+
serverModelCards: transformToChatModelCards({
|
273
|
+
defaultChatModels: MistralProviderCard.chatModels,
|
274
|
+
modelString: MISTRAL_MODEL_LIST,
|
275
|
+
}),
|
276
|
+
},
|
277
|
+
moonshot: {
|
278
|
+
enabled: ENABLED_MOONSHOT,
|
279
|
+
enabledModels: extractEnabledModels(MOONSHOT_MODEL_LIST),
|
280
|
+
serverModelCards: transformToChatModelCards({
|
281
|
+
defaultChatModels: MoonshotProviderCard.chatModels,
|
282
|
+
modelString: MOONSHOT_MODEL_LIST,
|
283
|
+
}),
|
284
|
+
},
|
192
285
|
novita: {
|
193
286
|
enabled: ENABLED_NOVITA,
|
194
287
|
enabledModels: extractEnabledModels(NOVITA_MODEL_LIST),
|
@@ -222,7 +315,14 @@ export const getServerGlobalConfig = () => {
|
|
222
315
|
modelString: OPENROUTER_MODEL_LIST,
|
223
316
|
}),
|
224
317
|
},
|
225
|
-
perplexity: {
|
318
|
+
perplexity: {
|
319
|
+
enabled: ENABLED_PERPLEXITY,
|
320
|
+
enabledModels: extractEnabledModels(PERPLEXITY_MODEL_LIST),
|
321
|
+
serverModelCards: transformToChatModelCards({
|
322
|
+
defaultChatModels: PerplexityProviderCard.chatModels,
|
323
|
+
modelString: PERPLEXITY_MODEL_LIST,
|
324
|
+
}),
|
325
|
+
},
|
226
326
|
qwen: {
|
227
327
|
enabled: ENABLED_QWEN,
|
228
328
|
enabledModels: extractEnabledModels(QWEN_MODEL_LIST),
|
@@ -231,6 +331,14 @@ export const getServerGlobalConfig = () => {
|
|
231
331
|
modelString: QWEN_MODEL_LIST,
|
232
332
|
}),
|
233
333
|
},
|
334
|
+
sensenova: {
|
335
|
+
enabled: ENABLED_SENSENOVA,
|
336
|
+
enabledModels: extractEnabledModels(SENSENOVA_MODEL_LIST),
|
337
|
+
serverModelCards: transformToChatModelCards({
|
338
|
+
defaultChatModels: SenseNovaProviderCard.chatModels,
|
339
|
+
modelString: SENSENOVA_MODEL_LIST,
|
340
|
+
}),
|
341
|
+
},
|
234
342
|
siliconcloud: {
|
235
343
|
enabled: ENABLED_SILICONCLOUD,
|
236
344
|
enabledModels: extractEnabledModels(SILICONCLOUD_MODEL_LIST),
|
@@ -239,10 +347,30 @@ export const getServerGlobalConfig = () => {
|
|
239
347
|
modelString: SILICONCLOUD_MODEL_LIST,
|
240
348
|
}),
|
241
349
|
},
|
242
|
-
spark: {
|
243
|
-
|
244
|
-
|
245
|
-
|
350
|
+
spark: {
|
351
|
+
enabled: ENABLED_SPARK,
|
352
|
+
enabledModels: extractEnabledModels(SPARK_MODEL_LIST),
|
353
|
+
serverModelCards: transformToChatModelCards({
|
354
|
+
defaultChatModels: SparkProviderCard.chatModels,
|
355
|
+
modelString: SPARK_MODEL_LIST,
|
356
|
+
}),
|
357
|
+
},
|
358
|
+
stepfun: {
|
359
|
+
enabled: ENABLED_STEPFUN,
|
360
|
+
enabledModels: extractEnabledModels(STEPFUN_MODEL_LIST),
|
361
|
+
serverModelCards: transformToChatModelCards({
|
362
|
+
defaultChatModels: StepfunProviderCard.chatModels,
|
363
|
+
modelString: STEPFUN_MODEL_LIST,
|
364
|
+
}),
|
365
|
+
},
|
366
|
+
taichu: {
|
367
|
+
enabled: ENABLED_TAICHU,
|
368
|
+
enabledModels: extractEnabledModels(TAICHU_MODEL_LIST),
|
369
|
+
serverModelCards: transformToChatModelCards({
|
370
|
+
defaultChatModels: TaichuProviderCard.chatModels,
|
371
|
+
modelString: TAICHU_MODEL_LIST,
|
372
|
+
}),
|
373
|
+
},
|
246
374
|
togetherai: {
|
247
375
|
enabled: ENABLED_TOGETHERAI,
|
248
376
|
enabledModels: extractEnabledModels(TOGETHERAI_MODEL_LIST),
|
@@ -251,8 +379,22 @@ export const getServerGlobalConfig = () => {
|
|
251
379
|
modelString: TOGETHERAI_MODEL_LIST,
|
252
380
|
}),
|
253
381
|
},
|
254
|
-
upstage: {
|
255
|
-
|
382
|
+
upstage: {
|
383
|
+
enabled: ENABLED_UPSTAGE,
|
384
|
+
enabledModels: extractEnabledModels(UPSTAGE_MODEL_LIST),
|
385
|
+
serverModelCards: transformToChatModelCards({
|
386
|
+
defaultChatModels: UpstageProviderCard.chatModels,
|
387
|
+
modelString: UPSTAGE_MODEL_LIST,
|
388
|
+
}),
|
389
|
+
},
|
390
|
+
wenxin: {
|
391
|
+
enabled: ENABLED_WENXIN,
|
392
|
+
enabledModels: extractEnabledModels(WENXIN_MODEL_LIST),
|
393
|
+
serverModelCards: transformToChatModelCards({
|
394
|
+
defaultChatModels: WenxinProviderCard.chatModels,
|
395
|
+
modelString: WENXIN_MODEL_LIST,
|
396
|
+
}),
|
397
|
+
},
|
256
398
|
zeroone: {
|
257
399
|
enabled: ENABLED_ZEROONE,
|
258
400
|
enabledModels: extractEnabledModels(ZEROONE_MODEL_LIST),
|
@@ -261,6 +261,16 @@ const getLlmOptionsFromPayload = (provider: string, payload: JWTPayload) => {
|
|
261
261
|
|
262
262
|
const apiKey = apiKeyManager.pick(payload?.apiKey || HUNYUAN_API_KEY);
|
263
263
|
|
264
|
+
return { apiKey };
|
265
|
+
}
|
266
|
+
case ModelProvider.SenseNova: {
|
267
|
+
const { SENSENOVA_ACCESS_KEY_ID, SENSENOVA_ACCESS_KEY_SECRET } = getLLMConfig();
|
268
|
+
|
269
|
+
const sensenovaAccessKeyID = apiKeyManager.pick(payload?.sensenovaAccessKeyID || SENSENOVA_ACCESS_KEY_ID);
|
270
|
+
const sensenovaAccessKeySecret = apiKeyManager.pick(payload?.sensenovaAccessKeySecret || SENSENOVA_ACCESS_KEY_SECRET);
|
271
|
+
|
272
|
+
const apiKey = sensenovaAccessKeyID + ':' + sensenovaAccessKeySecret;
|
273
|
+
|
264
274
|
return { apiKey };
|
265
275
|
}
|
266
276
|
}
|
package/src/services/_auth.ts
CHANGED
@@ -25,6 +25,20 @@ export const getProviderAuthPayload = (provider: string) => {
|
|
25
25
|
};
|
26
26
|
}
|
27
27
|
|
28
|
+
case ModelProvider.SenseNova: {
|
29
|
+
const { sensenovaAccessKeyID, sensenovaAccessKeySecret } = keyVaultsConfigSelectors.sensenovaConfig(
|
30
|
+
useUserStore.getState(),
|
31
|
+
);
|
32
|
+
|
33
|
+
const apiKey = (sensenovaAccessKeyID || '') + ':' + (sensenovaAccessKeySecret || '')
|
34
|
+
|
35
|
+
return {
|
36
|
+
apiKey,
|
37
|
+
sensenovaAccessKeyID: sensenovaAccessKeyID,
|
38
|
+
sensenovaAccessKeySecret: sensenovaAccessKeySecret,
|
39
|
+
};
|
40
|
+
}
|
41
|
+
|
28
42
|
case ModelProvider.Wenxin: {
|
29
43
|
const { secretKey, accessKey } = keyVaultsConfigSelectors.wenxinConfig(
|
30
44
|
useUserStore.getState(),
|
@@ -16,6 +16,7 @@ const openAIConfig = (s: UserStore) => keyVaultsSettings(s).openai || {};
|
|
16
16
|
const bedrockConfig = (s: UserStore) => keyVaultsSettings(s).bedrock || {};
|
17
17
|
const wenxinConfig = (s: UserStore) => keyVaultsSettings(s).wenxin || {};
|
18
18
|
const ollamaConfig = (s: UserStore) => keyVaultsSettings(s).ollama || {};
|
19
|
+
const sensenovaConfig = (s: UserStore) => keyVaultsSettings(s).sensenova || {};
|
19
20
|
const azureConfig = (s: UserStore) => keyVaultsSettings(s).azure || {};
|
20
21
|
const getVaultByProvider = (provider: GlobalLLMProviderKey) => (s: UserStore) =>
|
21
22
|
(keyVaultsSettings(s)[provider] || {}) as OpenAICompatibleKeyVault &
|
@@ -43,5 +44,6 @@ export const keyVaultsConfigSelectors = {
|
|
43
44
|
ollamaConfig,
|
44
45
|
openAIConfig,
|
45
46
|
password,
|
47
|
+
sensenovaConfig,
|
46
48
|
wenxinConfig,
|
47
49
|
};
|
@@ -69,6 +69,7 @@ const openAIConfig = (s: UserStore) => currentLLMSettings(s).openai;
|
|
69
69
|
const bedrockConfig = (s: UserStore) => currentLLMSettings(s).bedrock;
|
70
70
|
const ollamaConfig = (s: UserStore) => currentLLMSettings(s).ollama;
|
71
71
|
const azureConfig = (s: UserStore) => currentLLMSettings(s).azure;
|
72
|
+
const sensenovaConfig = (s: UserStore) => currentLLMSettings(s).sensenova;
|
72
73
|
|
73
74
|
const isAzureEnabled = (s: UserStore) => currentLLMSettings(s).azure.enabled;
|
74
75
|
|
@@ -86,4 +87,5 @@ export const modelConfigSelectors = {
|
|
86
87
|
|
87
88
|
ollamaConfig,
|
88
89
|
openAIConfig,
|
90
|
+
sensenovaConfig,
|
89
91
|
};
|
@@ -16,6 +16,11 @@ export interface AWSBedrockKeyVault {
|
|
16
16
|
sessionToken?: string;
|
17
17
|
}
|
18
18
|
|
19
|
+
export interface SenseNovaKeyVault {
|
20
|
+
sensenovaAccessKeyID?: string;
|
21
|
+
sensenovaAccessKeySecret?: string;
|
22
|
+
}
|
23
|
+
|
19
24
|
export interface WenxinKeyVault {
|
20
25
|
accessKey?: string;
|
21
26
|
secretKey?: string;
|
@@ -46,6 +51,7 @@ export interface UserKeyVaults {
|
|
46
51
|
password?: string;
|
47
52
|
perplexity?: OpenAICompatibleKeyVault;
|
48
53
|
qwen?: OpenAICompatibleKeyVault;
|
54
|
+
sensenova?: SenseNovaKeyVault;
|
49
55
|
siliconcloud?: OpenAICompatibleKeyVault;
|
50
56
|
spark?: OpenAICompatibleKeyVault;
|
51
57
|
stepfun?: OpenAICompatibleKeyVault;
|