feat(provider): add DeepSeek provider with configuration and icon support (#907)
This commit is contained in:
@@ -198,6 +198,30 @@ export const PROVIDER_DEFINITIONS: ProviderDefinition[] = [
|
|||||||
apiKeyEnv: 'SILICONFLOW_API_KEY',
|
apiKeyEnv: 'SILICONFLOW_API_KEY',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: 'deepseek',
|
||||||
|
name: 'DeepSeek',
|
||||||
|
icon: '🐋',
|
||||||
|
placeholder: 'sk-...',
|
||||||
|
model: 'DeepSeek',
|
||||||
|
requiresApiKey: true,
|
||||||
|
defaultBaseUrl: 'https://api.deepseek.com/v1',
|
||||||
|
showModelId: true,
|
||||||
|
showModelIdInDevModeOnly: true,
|
||||||
|
modelIdPlaceholder: 'deepseek-v4-pro',
|
||||||
|
defaultModelId: 'deepseek-v4-pro',
|
||||||
|
apiKeyUrl: 'https://platform.deepseek.com/api_keys',
|
||||||
|
category: 'official',
|
||||||
|
envVar: 'DEEPSEEK_API_KEY',
|
||||||
|
supportedAuthModes: ['api_key'],
|
||||||
|
defaultAuthMode: 'api_key',
|
||||||
|
supportsMultipleAccounts: true,
|
||||||
|
providerConfig: {
|
||||||
|
baseUrl: 'https://api.deepseek.com/v1',
|
||||||
|
api: 'openai-completions',
|
||||||
|
apiKeyEnv: 'DEEPSEEK_API_KEY',
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: 'minimax-portal',
|
id: 'minimax-portal',
|
||||||
name: 'MiniMax (Global)',
|
name: 'MiniMax (Global)',
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ export const PROVIDER_TYPES = [
|
|||||||
'ark',
|
'ark',
|
||||||
'moonshot',
|
'moonshot',
|
||||||
'siliconflow',
|
'siliconflow',
|
||||||
|
'deepseek',
|
||||||
'minimax-portal',
|
'minimax-portal',
|
||||||
'minimax-portal-cn',
|
'minimax-portal-cn',
|
||||||
'modelstudio',
|
'modelstudio',
|
||||||
@@ -21,6 +22,7 @@ export const BUILTIN_PROVIDER_TYPES = [
|
|||||||
'ark',
|
'ark',
|
||||||
'moonshot',
|
'moonshot',
|
||||||
'siliconflow',
|
'siliconflow',
|
||||||
|
'deepseek',
|
||||||
'minimax-portal',
|
'minimax-portal',
|
||||||
'minimax-portal-cn',
|
'minimax-portal-cn',
|
||||||
'modelstudio',
|
'modelstudio',
|
||||||
|
|||||||
1
src/assets/providers/deepseek.svg
Normal file
1
src/assets/providers/deepseek.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 5.1 KiB |
@@ -9,6 +9,7 @@ import minimaxPortal from './minimax.svg';
|
|||||||
import qwenPortal from './qwen.svg';
|
import qwenPortal from './qwen.svg';
|
||||||
import ollama from './ollama.svg';
|
import ollama from './ollama.svg';
|
||||||
import custom from './custom.svg';
|
import custom from './custom.svg';
|
||||||
|
import deepseek from './deepseek.svg';
|
||||||
|
|
||||||
export const providerIcons: Record<string, string> = {
|
export const providerIcons: Record<string, string> = {
|
||||||
anthropic,
|
anthropic,
|
||||||
@@ -24,4 +25,5 @@ export const providerIcons: Record<string, string> = {
|
|||||||
'modelstudio': qwenPortal,
|
'modelstudio': qwenPortal,
|
||||||
ollama,
|
ollama,
|
||||||
custom,
|
custom,
|
||||||
|
deepseek,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ export const PROVIDER_TYPES = [
|
|||||||
'moonshot',
|
'moonshot',
|
||||||
'moonshot-global',
|
'moonshot-global',
|
||||||
'siliconflow',
|
'siliconflow',
|
||||||
|
'deepseek',
|
||||||
'minimax-portal',
|
'minimax-portal',
|
||||||
'minimax-portal-cn',
|
'minimax-portal-cn',
|
||||||
'modelstudio',
|
'modelstudio',
|
||||||
@@ -32,6 +33,7 @@ export const BUILTIN_PROVIDER_TYPES = [
|
|||||||
'moonshot',
|
'moonshot',
|
||||||
'moonshot-global',
|
'moonshot-global',
|
||||||
'siliconflow',
|
'siliconflow',
|
||||||
|
'deepseek',
|
||||||
'minimax-portal',
|
'minimax-portal',
|
||||||
'minimax-portal-cn',
|
'minimax-portal-cn',
|
||||||
'modelstudio',
|
'modelstudio',
|
||||||
@@ -176,6 +178,7 @@ export const PROVIDER_TYPE_INFO: ProviderTypeInfo[] = [
|
|||||||
{ id: 'moonshot', name: 'Moonshot (CN)', icon: '🌙', placeholder: 'sk-...', model: 'Kimi', requiresApiKey: true, defaultBaseUrl: 'https://api.moonshot.cn/v1', defaultModelId: 'kimi-k2.6', docsUrl: 'https://platform.moonshot.cn/' },
|
{ id: 'moonshot', name: 'Moonshot (CN)', icon: '🌙', placeholder: 'sk-...', model: 'Kimi', requiresApiKey: true, defaultBaseUrl: 'https://api.moonshot.cn/v1', defaultModelId: 'kimi-k2.6', docsUrl: 'https://platform.moonshot.cn/' },
|
||||||
{ id: 'moonshot-global', name: 'Moonshot (Global)', icon: '🌙', placeholder: 'sk-...', model: 'Kimi', requiresApiKey: true, defaultBaseUrl: 'https://api.moonshot.ai/v1', defaultModelId: 'kimi-k2.6', docsUrl: 'https://platform.moonshot.ai/' },
|
{ id: 'moonshot-global', name: 'Moonshot (Global)', icon: '🌙', placeholder: 'sk-...', model: 'Kimi', requiresApiKey: true, defaultBaseUrl: 'https://api.moonshot.ai/v1', defaultModelId: 'kimi-k2.6', docsUrl: 'https://platform.moonshot.ai/' },
|
||||||
{ id: 'siliconflow', name: 'SiliconFlow (CN)', icon: '🌊', placeholder: 'sk-...', model: 'Multi-Model', requiresApiKey: true, defaultBaseUrl: 'https://api.siliconflow.cn/v1', showModelId: true, showModelIdInDevModeOnly: true, modelIdPlaceholder: 'deepseek-ai/DeepSeek-V3', defaultModelId: 'deepseek-ai/DeepSeek-V3', docsUrl: 'https://docs.siliconflow.cn/cn/userguide/introduction' },
|
{ id: 'siliconflow', name: 'SiliconFlow (CN)', icon: '🌊', placeholder: 'sk-...', model: 'Multi-Model', requiresApiKey: true, defaultBaseUrl: 'https://api.siliconflow.cn/v1', showModelId: true, showModelIdInDevModeOnly: true, modelIdPlaceholder: 'deepseek-ai/DeepSeek-V3', defaultModelId: 'deepseek-ai/DeepSeek-V3', docsUrl: 'https://docs.siliconflow.cn/cn/userguide/introduction' },
|
||||||
|
{ id: 'deepseek', name: 'DeepSeek', icon: '🐋', placeholder: 'sk-...', model: 'DeepSeek', requiresApiKey: true, defaultBaseUrl: 'https://api.deepseek.com/v1', showModelId: true, showModelIdInDevModeOnly: true, modelIdPlaceholder: 'deepseek-v4-pro', defaultModelId: 'deepseek-v4-pro', apiKeyUrl: 'https://platform.deepseek.com/api_keys', docsUrl: 'https://api-docs.deepseek.com/', docsUrlZh: 'https://api-docs.deepseek.com/zh-cn/' },
|
||||||
{ id: 'minimax-portal', name: 'MiniMax (Global)', icon: '☁️', placeholder: 'sk-...', model: 'MiniMax', requiresApiKey: false, isOAuth: true, supportsApiKey: true, defaultModelId: 'MiniMax-M2.7', showModelId: true, showModelIdInDevModeOnly: true, modelIdPlaceholder: 'MiniMax-M2.7', apiKeyUrl: 'https://platform.minimax.io' },
|
{ id: 'minimax-portal', name: 'MiniMax (Global)', icon: '☁️', placeholder: 'sk-...', model: 'MiniMax', requiresApiKey: false, isOAuth: true, supportsApiKey: true, defaultModelId: 'MiniMax-M2.7', showModelId: true, showModelIdInDevModeOnly: true, modelIdPlaceholder: 'MiniMax-M2.7', apiKeyUrl: 'https://platform.minimax.io' },
|
||||||
{ id: 'modelstudio', name: 'Model Studio', icon: '☁️', placeholder: 'sk-...', model: 'Qwen', requiresApiKey: true, defaultBaseUrl: 'https://coding.dashscope.aliyuncs.com/v1', showBaseUrl: true, defaultModelId: 'qwen3.5-plus', showModelId: true, showModelIdInDevModeOnly: true, modelIdPlaceholder: 'qwen3.5-plus', apiKeyUrl: 'https://bailian.console.aliyun.com/', hidden: true },
|
{ id: 'modelstudio', name: 'Model Studio', icon: '☁️', placeholder: 'sk-...', model: 'Qwen', requiresApiKey: true, defaultBaseUrl: 'https://coding.dashscope.aliyuncs.com/v1', showBaseUrl: true, defaultModelId: 'qwen3.5-plus', showModelId: true, showModelIdInDevModeOnly: true, modelIdPlaceholder: 'qwen3.5-plus', apiKeyUrl: 'https://bailian.console.aliyun.com/', hidden: true },
|
||||||
{ id: 'ark', name: 'ByteDance Ark', icon: 'A', placeholder: 'your-ark-api-key', model: 'Doubao', requiresApiKey: true, defaultBaseUrl: 'https://ark.cn-beijing.volces.com/api/v3', showBaseUrl: true, showModelId: true, modelIdPlaceholder: 'ep-20260228000000-xxxxx', docsUrl: 'https://www.volcengine.com/', codePlanPresetBaseUrl: 'https://ark.cn-beijing.volces.com/api/coding/v3', codePlanPresetModelId: 'ark-code-latest', codePlanDocsUrl: 'https://www.volcengine.com/docs/82379/1928261?lang=zh' },
|
{ id: 'ark', name: 'ByteDance Ark', icon: 'A', placeholder: 'your-ark-api-key', model: 'Doubao', requiresApiKey: true, defaultBaseUrl: 'https://ark.cn-beijing.volces.com/api/v3', showBaseUrl: true, showModelId: true, modelIdPlaceholder: 'ep-20260228000000-xxxxx', docsUrl: 'https://www.volcengine.com/', codePlanPresetBaseUrl: 'https://ark.cn-beijing.volces.com/api/coding/v3', codePlanPresetModelId: 'ark-code-latest', codePlanDocsUrl: 'https://www.volcengine.com/docs/82379/1928261?lang=zh' },
|
||||||
|
|||||||
Reference in New Issue
Block a user