diff --git a/src/components/ProviderList.tsx b/src/components/ProviderList.tsx index 97438c7..309b7a4 100644 --- a/src/components/ProviderList.tsx +++ b/src/components/ProviderList.tsx @@ -29,7 +29,7 @@ const ProviderList: React.FC = ({ appType, onNotify, }) => { - const { t } = useTranslation(); + const { t, i18n } = useTranslation(); // 提取API地址(兼容不同供应商配置:Claude env / Codex TOML) const getApiUrl = (provider: Provider): string => { try { @@ -118,7 +118,8 @@ const ProviderList: React.FC = ({ // 如果都没有时间戳,按名称排序 if (timeA === 0 && timeB === 0) { - return a.name.localeCompare(b.name, "zh-CN"); + const locale = i18n.language === "zh" ? "zh-CN" : "en-US"; + return a.name.localeCompare(b.name, locale); } // 如果只有一个没有时间戳,没有时间戳的排在前面 diff --git a/src/config/codexProviderPresets.ts b/src/config/codexProviderPresets.ts index fb633eb..c2dd514 100644 --- a/src/config/codexProviderPresets.ts +++ b/src/config/codexProviderPresets.ts @@ -54,7 +54,7 @@ wire_api = "responses"`; export const codexProviderPresets: CodexProviderPreset[] = [ { - name: "Codex官方", + name: "Codex Official", websiteUrl: "https://chatgpt.com/codex", isOfficial: true, category: "official", diff --git a/src/config/providerPresets.ts b/src/config/providerPresets.ts index 99d4091..a994ced 100644 --- a/src/config/providerPresets.ts +++ b/src/config/providerPresets.ts @@ -26,7 +26,7 @@ export interface ProviderPreset { export const providerPresets: ProviderPreset[] = [ { - name: "Claude官方", + name: "Claude Official", websiteUrl: "https://www.anthropic.com/claude-code", settingsConfig: { env: {}, @@ -48,7 +48,7 @@ export const providerPresets: ProviderPreset[] = [ category: "cn_official", }, { - name: "智谱GLM", + name: "Zhipu GLM", websiteUrl: "https://open.bigmodel.cn", settingsConfig: { env: { @@ -65,7 +65,7 @@ export const providerPresets: ProviderPreset[] = [ category: "cn_official", }, { - name: "Qwen-Coder", + name: "Qwen Coder", websiteUrl: "https://bailian.console.aliyun.com", settingsConfig: { env: { @@ -92,7 +92,7 @@ export const providerPresets: ProviderPreset[] = [ category: "cn_official", }, { - name: "魔搭", + name: "ModelScope", websiteUrl: "https://modelscope.cn", settingsConfig: { env: { @@ -104,6 +104,28 @@ export const providerPresets: ProviderPreset[] = [ }, category: "aggregator", }, + { + name: "KAT-Coder", + websiteUrl: "https://console.streamlake.ai/wanqing/", + apiKeyUrl: "https://console.streamlake.ai/console/wanqing/api-key", + settingsConfig: { + env: { + ANTHROPIC_BASE_URL: "https://vanchin.streamlake.ai/api/gateway/v1/endpoints/${ENDPOINT_ID}/claude-code-proxy", + ANTHROPIC_AUTH_TOKEN: "", + ANTHROPIC_MODEL: "KAT-Coder", + ANTHROPIC_SMALL_FAST_MODEL: "KAT-Coder", + }, + }, + category: "cn_official", + templateValues: { + ENDPOINT_ID: { + label: "Vanchin Endpoint ID", + placeholder: "ep-xxx-xxx", + defaultValue: "", + editorValue: "", + }, + }, + }, { name: "PackyCode", websiteUrl: "https://www.packycode.com", @@ -124,26 +146,5 @@ export const providerPresets: ProviderPreset[] = [ ], category: "third_party", }, - { - name: "KAT-Coder 官方", - websiteUrl: "https://console.streamlake.ai/wanqing/", - apiKeyUrl: "https://console.streamlake.ai/console/wanqing/api-key", - settingsConfig: { - env: { - ANTHROPIC_BASE_URL: "https://vanchin.streamlake.ai/api/gateway/v1/endpoints/${ENDPOINT_ID}/claude-code-proxy", - ANTHROPIC_AUTH_TOKEN: "", - ANTHROPIC_MODEL: "KAT-Coder", - ANTHROPIC_SMALL_FAST_MODEL: "KAT-Coder", - }, - }, - category: "cn_official", - templateValues: { - ENDPOINT_ID: { - label: "Vanchin Endpoint ID", - placeholder: "ep-xxx-xxx", - defaultValue: "", - editorValue: "", - }, - }, - }, + ];