diff --git a/src/renderer/src/assets/images/providers/tencent-cloud.png b/src/renderer/src/assets/images/providers/tencent-cloud.png new file mode 100644 index 00000000..9af45261 Binary files /dev/null and b/src/renderer/src/assets/images/providers/tencent-cloud.png differ diff --git a/src/renderer/src/config/models.ts b/src/renderer/src/config/models.ts index 723ac332..a0480596 100644 --- a/src/renderer/src/config/models.ts +++ b/src/renderer/src/config/models.ts @@ -1728,7 +1728,21 @@ export const SYSTEM_MODELS: Record = { group: 'Jina' } ], - xirang: [] + xirang: [], + 'tencent-cloud': [ + { + id: 'deepseek-r1', + provider: 'tencent-cloud', + name: 'DeepSeek R1', + group: 'DeepSeek' + }, + { + id: 'deepseek-v3', + provider: 'tencent-cloud', + name: 'DeepSeek V3', + group: 'DeepSeek' + } + ] } export const TEXT_TO_IMAGES_MODELS = [ diff --git a/src/renderer/src/config/providers.ts b/src/renderer/src/config/providers.ts index 47d2fb93..42ee5a79 100644 --- a/src/renderer/src/config/providers.ts +++ b/src/renderer/src/config/providers.ts @@ -33,6 +33,7 @@ import PerplexityProviderLogo from '@renderer/assets/images/providers/perplexity import PPIOProviderLogo from '@renderer/assets/images/providers/ppio.png' import SiliconFlowProviderLogo from '@renderer/assets/images/providers/silicon.png' import StepProviderLogo from '@renderer/assets/images/providers/step.png' +import TencentCloudProviderLogo from '@renderer/assets/images/providers/tencent-cloud.png' import TogetherProviderLogo from '@renderer/assets/images/providers/together.png' import BytedanceProviderLogo from '@renderer/assets/images/providers/volcengine.png' import XirangProviderLogo from '@renderer/assets/images/providers/xirang.png' @@ -120,6 +121,8 @@ export function getProviderLogo(providerId: string) { return InfiniProviderLogo case 'o3': return O3ProviderLogo + case 'tencent-cloud': + return TencentCloudProviderLogo default: return undefined } @@ -558,5 +561,16 @@ export const PROVIDER_CONFIG = { docs: 'https://cloud.baidu.com/doc/index.html', models: 'https://cloud.baidu.com/doc/WENXINWORKSHOP/s/Fm2vrveyu' } + }, + 'tentent-cloud': { + api: { + url: 'https://api.lkeap.cloud.tencent.com' + }, + websites: { + official: 'https://cloud.tencent.com/product/ti', + apiKey: 'https://console.cloud.tencent.com/lkeap/api', + docs: 'https://cloud.tencent.com/document/product/1772', + models: 'https://console.cloud.tencent.com/tione/v2/aimarket' + } } } diff --git a/src/renderer/src/i18n/locales/en-us.json b/src/renderer/src/i18n/locales/en-us.json index e2f8c662..0d741199 100644 --- a/src/renderer/src/i18n/locales/en-us.json +++ b/src/renderer/src/i18n/locales/en-us.json @@ -562,7 +562,8 @@ "yi": "Yi", "zhinao": "360AI", "zhipu": "ZHIPU AI", - "xirang": "State Cloud Xirang" + "xirang": "State Cloud Xirang", + "tencent-cloud": "Tencent Cloud TI" }, "settings": { "about": "About & Feedback", diff --git a/src/renderer/src/i18n/locales/ja-jp.json b/src/renderer/src/i18n/locales/ja-jp.json index 62465476..e37a1e56 100644 --- a/src/renderer/src/i18n/locales/ja-jp.json +++ b/src/renderer/src/i18n/locales/ja-jp.json @@ -562,7 +562,8 @@ "yi": "零一万物", "zhinao": "360智脳", "zhipu": "智譜AI", - "xirang": "天翼クラウド 息壤" + "xirang": "天翼クラウド 息壤", + "tencent-cloud": "Tencent Cloud TI" }, "settings": { "about": "について", diff --git a/src/renderer/src/i18n/locales/ru-ru.json b/src/renderer/src/i18n/locales/ru-ru.json index 1cd745ca..40d0b17f 100644 --- a/src/renderer/src/i18n/locales/ru-ru.json +++ b/src/renderer/src/i18n/locales/ru-ru.json @@ -562,7 +562,8 @@ "yi": "Yi", "zhinao": "360AI", "zhipu": "ZHIPU AI", - "xirang": "State Cloud Xirang" + "xirang": "State Cloud Xirang", + "tencent-cloud": "Tencent Cloud TI" }, "settings": { "about": "О программе и обратная связь", diff --git a/src/renderer/src/i18n/locales/zh-cn.json b/src/renderer/src/i18n/locales/zh-cn.json index 75d1b4dc..745ccb33 100644 --- a/src/renderer/src/i18n/locales/zh-cn.json +++ b/src/renderer/src/i18n/locales/zh-cn.json @@ -562,7 +562,8 @@ "yi": "零一万物", "zhinao": "360智脑", "zhipu": "智谱AI", - "xirang": "天翼云息壤" + "xirang": "天翼云息壤", + "tencent-cloud": "腾讯云TI" }, "settings": { "about": "关于我们", diff --git a/src/renderer/src/i18n/locales/zh-tw.json b/src/renderer/src/i18n/locales/zh-tw.json index b64b02a4..cbfe1673 100644 --- a/src/renderer/src/i18n/locales/zh-tw.json +++ b/src/renderer/src/i18n/locales/zh-tw.json @@ -562,7 +562,8 @@ "yi": "零一萬物", "zhinao": "360智腦", "zhipu": "智譜AI", - "xirang": "天翼雲息壤" + "xirang": "天翼雲息壤", + "tencent-cloud": "騰訊雲TI" }, "settings": { "about": "關於與回饋", diff --git a/src/renderer/src/store/index.ts b/src/renderer/src/store/index.ts index 1814d680..e6cc1cf2 100644 --- a/src/renderer/src/store/index.ts +++ b/src/renderer/src/store/index.ts @@ -32,7 +32,7 @@ const persistedReducer = persistReducer( { key: 'cherry-studio', storage, - version: 75, + version: 76, blacklist: ['runtime'], migrate }, diff --git a/src/renderer/src/store/llm.ts b/src/renderer/src/store/llm.ts index 99db1feb..b399a7ae 100644 --- a/src/renderer/src/store/llm.ts +++ b/src/renderer/src/store/llm.ts @@ -416,6 +416,16 @@ const initialState: LlmState = { models: SYSTEM_MODELS.xirang, isSystem: true, enabled: false + }, + { + id: 'tencent-cloud', + name: 'Tencent Cloud TI', + type: 'openai', + apiKey: '', + apiHost: 'https://api.lkeap.cloud.tencent.com', + models: SYSTEM_MODELS['tencent-cloud'], + isSystem: true, + enabled: false } ], settings: { diff --git a/src/renderer/src/store/migrate.ts b/src/renderer/src/store/migrate.ts index 196bf8fa..c7321982 100644 --- a/src/renderer/src/store/migrate.ts +++ b/src/renderer/src/store/migrate.ts @@ -1202,6 +1202,19 @@ const migrateConfig = { zhihu && state.minapps.enabled.push(zhihu) } return state + }, + '76': (state: RootState) => { + state.llm.providers.push({ + id: 'tencent-cloud', + name: 'Tencent Cloud TI', + type: 'openai', + apiKey: '', + apiHost: 'https://api.lkeap.cloud.tencent.com', + models: SYSTEM_MODELS['tencent-cloud'], + isSystem: true, + enabled: false + }) + return state } }