/** * Claude Desktop 预设供应商配置模板 * * 形态与 Claude Code 预设不同: * - baseUrl 是顶级字段,而不是 settingsConfig.env.ANTHROPIC_BASE_URL * - 模型信息以"Desktop 可见模型 ID → 上游模型"表达, * 对应后端 ClaudeDesktopModelRoute 的 routeId / model * * 翻译来源:src/config/claudeProviderPresets.ts(排除 OAuth 与不兼容预设) */ import { ProviderCategory } from "../types"; import type { PresetTheme } from "./claudeProviderPresets"; export type ClaudeDesktopApiFormat = | "anthropic" | "openai_chat" | "openai_responses" | "gemini_native"; export interface ClaudeDesktopRoutePreset { routeId: string; upstreamModel: string; labelOverride?: string; supports1m: boolean; } /** * Claude Desktop 3P fail-all 校验接受的角色名。Desktop 1.12603.1+ 起白名单 * 纳入 fable(app.asar 内 ["sonnet","opus","haiku","fable","mythos"],实测 * 2026-06-13);此前 1.6259.1 仅接受 sonnet/opus/haiku。mythos 官方未公开 * 发布,暂不暴露给用户。所有预设工厂、表单角色下拉、后端 * `next_catalog_safe_route_id` 都从此映射派生 routeId,避免散落硬编码。 */ export const CLAUDE_DESKTOP_ROLE_ROUTE_IDS = { sonnet: "claude-sonnet-5", opus: "claude-opus-5", fable: "claude-fable-5", haiku: "claude-haiku-4-5", } as const; export type ClaudeDesktopRoleId = keyof typeof CLAUDE_DESKTOP_ROLE_ROUTE_IDS; export interface ClaudeDesktopProviderPreset { name: string; nameKey?: string; websiteUrl: string; apiKeyUrl?: string; category?: ProviderCategory; isPartner?: boolean; primePartner?: boolean; // 置顶合作伙伴(顶级):徽章显示为心形 partnerPromotionKey?: string; baseUrl: string; apiKeyField?: "ANTHROPIC_AUTH_TOKEN" | "ANTHROPIC_API_KEY"; mode: "direct" | "proxy"; apiFormat?: ClaudeDesktopApiFormat; modelRoutes?: ClaudeDesktopRoutePreset[]; providerType?: "github_copilot" | "codex_oauth" | "xai_oauth"; requiresOAuth?: boolean; endpointCandidates?: string[]; theme?: PresetTheme; icon?: string; iconColor?: string; } const passthroughRoutes = (supports1m = false): ClaudeDesktopRoutePreset[] => [ { routeId: CLAUDE_DESKTOP_ROLE_ROUTE_IDS.sonnet, upstreamModel: CLAUDE_DESKTOP_ROLE_ROUTE_IDS.sonnet, supports1m, }, { routeId: CLAUDE_DESKTOP_ROLE_ROUTE_IDS.opus, upstreamModel: CLAUDE_DESKTOP_ROLE_ROUTE_IDS.opus, supports1m, }, { routeId: CLAUDE_DESKTOP_ROLE_ROUTE_IDS.haiku, upstreamModel: CLAUDE_DESKTOP_ROLE_ROUTE_IDS.haiku, supports1m, }, ]; const mappedRoutes = ( sonnet: string, opus: string, haiku: string, supports1m = false, ): ClaudeDesktopRoutePreset[] => [ { routeId: CLAUDE_DESKTOP_ROLE_ROUTE_IDS.sonnet, upstreamModel: sonnet, supports1m, }, { routeId: CLAUDE_DESKTOP_ROLE_ROUTE_IDS.opus, upstreamModel: opus, supports1m, }, { routeId: CLAUDE_DESKTOP_ROLE_ROUTE_IDS.haiku, upstreamModel: haiku, supports1m, }, ]; /** * 非 Claude 上游模型用此工厂:route ID 使用 Claude Desktop 能通过校验的 * Sonnet/Opus/Haiku 路由,真实品牌名只写入 labelOverride 和 upstreamModel。 */ const brandedRoutes = ( sonnet: string, opus: string, haiku: string, supports1m = false, ): ClaudeDesktopRoutePreset[] => { const seenUpstream = new Set(); return [ { routeId: CLAUDE_DESKTOP_ROLE_ROUTE_IDS.sonnet, upstreamModel: sonnet }, { routeId: CLAUDE_DESKTOP_ROLE_ROUTE_IDS.opus, upstreamModel: opus }, { routeId: CLAUDE_DESKTOP_ROLE_ROUTE_IDS.haiku, upstreamModel: haiku }, ] .map(({ routeId, upstreamModel }) => ({ routeId, upstreamModel, labelOverride: upstreamModel, supports1m, })) .filter((route) => { if (seenUpstream.has(route.upstreamModel)) { return false; } seenUpstream.add(route.upstreamModel); return true; }); }; export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ { name: "Claude Desktop Official", websiteUrl: "https://claude.ai/download", category: "official", baseUrl: "", mode: "direct", apiFormat: "anthropic", theme: { icon: "claude", backgroundColor: "#D97757", textColor: "#FFFFFF", }, icon: "anthropic", iconColor: "#D4915D", }, // ===== 赞助商预设:文件顺序 = 应用内展示顺序,与 README 赞助商表对齐 ===== { name: "Kimi", primePartner: true, websiteUrl: "https://platform.kimi.com?aff=cc-switch", category: "cn_official", baseUrl: "https://api.moonshot.cn/anthropic", mode: "proxy", apiFormat: "anthropic", modelRoutes: brandedRoutes( "kimi-k2.7-code", "kimi-k2.7-code", "kimi-k2.7-code", ), icon: "kimi", iconColor: "#6366F1", }, { name: "Kimi For Coding", primePartner: true, websiteUrl: "https://www.kimi.com/code/?aff=cc-switch", category: "cn_official", baseUrl: "https://api.kimi.com/coding/", mode: "proxy", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), icon: "kimi", iconColor: "#6366F1", }, { name: "PackyCode", websiteUrl: "https://www.packyapi.ai", apiKeyUrl: "https://www.packyapi.ai/register?aff=cc-switch", category: "third_party", baseUrl: "https://www.packyapi.ai", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), endpointCandidates: [ "https://www.packyapi.ai", "https://cf.api.fan", "https://slb-v1.api.fan", "https://www.packyapi.com", ], isPartner: true, partnerPromotionKey: "packycode", icon: "packycode", }, { name: "ZetaAPI", websiteUrl: "https://zetaapi.ai", apiKeyUrl: "https://zetaapi.ai/go/u117", category: "aggregator", baseUrl: "https://api.zetaapi.ai", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), isPartner: true, partnerPromotionKey: "zetaapi", icon: "zetaapi", }, { name: "APINebula", websiteUrl: "https://apinebula.ai", apiKeyUrl: "https://apinebula.ai/VjM74M", category: "third_party", baseUrl: "https://apinebula.ai", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), endpointCandidates: ["https://apinebula.ai"], isPartner: true, partnerPromotionKey: "apinebula", icon: "apinebula", }, { name: "AICodeMirror", websiteUrl: "https://www.aicodemirror.ai", apiKeyUrl: "https://www.aicodemirror.ai/register?invitecode=9915W3", category: "third_party", baseUrl: "https://api.aicodemirror.ai/api/claudecode", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), endpointCandidates: ["https://api.aicodemirror.ai/api/claudecode"], isPartner: true, partnerPromotionKey: "aicodemirror", icon: "aicodemirror", iconColor: "#000000", }, { name: "PatewayAI", websiteUrl: "https://pateway.ai", apiKeyUrl: "https://pateway.ai/?ch=etzpm8&aff=WB6M6F67#/", category: "third_party", baseUrl: "https://api.pateway.ai", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), isPartner: true, partnerPromotionKey: "patewayai", icon: "pateway", }, { name: "FennoAI", websiteUrl: "https://api.fenno.ai", apiKeyUrl: "https://api.fenno.ai/register?redirect=/purchase?tab=subscription%26group=16&aff=P9MR3D3PLCNL", category: "aggregator", baseUrl: "https://api.fenno.ai", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), isPartner: true, partnerPromotionKey: "fenno", icon: "fenno", }, { name: "RunAPI", websiteUrl: "https://runapi.co", apiKeyUrl: "https://runapi.co/register?aff=iOKB", category: "aggregator", baseUrl: "https://runapi.co", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), isPartner: true, partnerPromotionKey: "runapi", icon: "runapi", }, { name: "Unity2.ai", websiteUrl: "https://unity2.ai", apiKeyUrl: "https://unity2.ai/register?source=ccs", category: "aggregator", baseUrl: "https://api.unity2.ai", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(true), isPartner: true, partnerPromotionKey: "unity2", icon: "unity2", }, { name: "Shengsuanyun", nameKey: "providerForm.presets.shengsuanyun", websiteUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF", apiKeyUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF", category: "aggregator", baseUrl: "https://router.shengsuanyun.com/api", mode: "direct", apiFormat: "anthropic", modelRoutes: mappedRoutes( "anthropic/claude-sonnet-5", "anthropic/claude-opus-5", "anthropic/claude-haiku-4.5", ), isPartner: true, partnerPromotionKey: "shengsuanyun", icon: "shengsuanyun", }, { name: "AIGoCode", websiteUrl: "https://aigocode.app", apiKeyUrl: "https://aigocode.app/invite/CC-SWITCH", category: "third_party", baseUrl: "https://api.aigocode.app", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), endpointCandidates: ["https://api.aigocode.app"], isPartner: true, partnerPromotionKey: "aigocode", icon: "aigocode", iconColor: "#5B7FFF", }, { name: "AICoding", websiteUrl: "https://aicoding.inc", apiKeyUrl: "https://aicoding.inc/i/CCSWITCH", category: "third_party", baseUrl: "https://api.aicoding.inc", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), endpointCandidates: ["https://api.aicoding.inc"], isPartner: true, partnerPromotionKey: "aicoding", icon: "aicoding", iconColor: "#000000", }, { name: "SubRouter", websiteUrl: "https://subrouter.ai", apiKeyUrl: "https://subrouter.ai/register?aff=l3ri", category: "aggregator", baseUrl: "https://subrouter.ai", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(true), isPartner: true, partnerPromotionKey: "subrouter", icon: "subrouter", }, { name: "APIKEY.FUN", websiteUrl: "https://apikey.fun", apiKeyUrl: "https://apikey.fun/register?aff=CCSwitch", category: "third_party", baseUrl: "https://api.apikey.fun", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), endpointCandidates: ["https://api.apikey.fun", "https://slb.apikey.fun"], isPartner: true, partnerPromotionKey: "apikeyfun", icon: "apikeyfun", }, { name: "ClaudeAPI", websiteUrl: "https://www.apito.ai", apiKeyUrl: "https://console.apito.ai/agent/register/pQBql2buaqiX3dDS", category: "aggregator", baseUrl: "https://gw.apito.ai", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), isPartner: true, partnerPromotionKey: "claudeapi", icon: "claudeapi", }, { name: "Code0", websiteUrl: "https://code0.ai", apiKeyUrl: "https://code0.ai/agent/register/B2XHxGjGmRvqgznY", category: "aggregator", baseUrl: "https://code0.ai", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), isPartner: true, partnerPromotionKey: "code0", icon: "code0", }, { name: "TeamoRouter", websiteUrl: "https://teamorouter.com", apiKeyUrl: "https://teamorouter.com/?utm_source=cc_switch&utm_medium=referral&utm_campaign=ai_directory", category: "aggregator", baseUrl: "https://api.teamorouter.com", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), isPartner: true, partnerPromotionKey: "teamorouter", icon: "teamorouter", }, { name: "ClaudeCN", websiteUrl: "https://claudecn.top", apiKeyUrl: "https://claudecn.ai/register?aff=HEL9", category: "third_party", baseUrl: "https://claudecn.top", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), isPartner: true, partnerPromotionKey: "claudecn", icon: "claudecn", }, { name: "火山Agentplan", websiteUrl: "https://www.volcengine.com/activity/codingplan?ac=MMAP8JTTCAQ2&rc=6J6FV5N2&utm_campaign=hw&utm_content=ccswitch&utm_medium=devrel_tool_web&utm_source=OWO&utm_term=ccswitch", apiKeyUrl: "https://www.volcengine.com/activity/codingplan?ac=MMAP8JTTCAQ2&rc=6J6FV5N2&utm_campaign=hw&utm_content=ccswitch&utm_medium=devrel_tool_web&utm_source=OWO&utm_term=ccswitch", category: "cn_official", baseUrl: "https://ark.cn-beijing.volces.com/api/coding", mode: "proxy", apiFormat: "anthropic", modelRoutes: brandedRoutes( "ark-code-latest", "ark-code-latest", "ark-code-latest", ), icon: "huoshan", iconColor: "#3370FF", isPartner: true, partnerPromotionKey: "volcengine_agentplan", }, { name: "BytePlus", websiteUrl: "https://www.byteplus.com/en/product/modelark?utm_campaign=hw&utm_content=ccswitch&utm_medium=devrel_tool_web&utm_source=OWO&utm_term=ccswitch", apiKeyUrl: "https://www.byteplus.com/en/product/modelark?utm_campaign=hw&utm_content=ccswitch&utm_medium=devrel_tool_web&utm_source=OWO&utm_term=ccswitch", category: "cn_official", baseUrl: "https://ark.ap-southeast.bytepluses.com/api/coding", mode: "proxy", apiFormat: "anthropic", modelRoutes: brandedRoutes( "ark-code-latest", "ark-code-latest", "ark-code-latest", ), icon: "byteplus", iconColor: "#3370FF", isPartner: true, partnerPromotionKey: "byteplus", }, { name: "DouBaoSeed", websiteUrl: "https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D&utm_campaign=hw&utm_content=ccswitch&utm_medium=devrel_tool_web&utm_source=OWO&utm_term=ccswitch", apiKeyUrl: "https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D&utm_campaign=hw&utm_content=ccswitch&utm_medium=devrel_tool_web&utm_source=OWO&utm_term=ccswitch", category: "cn_official", baseUrl: "https://ark.cn-beijing.volces.com/api/compatible", mode: "proxy", apiFormat: "anthropic", modelRoutes: brandedRoutes( "doubao-seed-2-1-pro-260628", "doubao-seed-2-1-pro-260628", "doubao-seed-2-1-pro-260628", ), isPartner: true, partnerPromotionKey: "doubaoseed", icon: "doubao", iconColor: "#3370FF", }, { name: "SiliconFlow", websiteUrl: "https://siliconflow.cn", apiKeyUrl: "https://cloud.siliconflow.cn/i/YflgU2Ve", category: "aggregator", baseUrl: "https://api.siliconflow.cn", mode: "proxy", apiFormat: "anthropic", modelRoutes: brandedRoutes( "Pro/MiniMaxAI/MiniMax-M2.7", "Pro/MiniMaxAI/MiniMax-M2.7", "Pro/MiniMaxAI/MiniMax-M2.7", ), isPartner: true, partnerPromotionKey: "siliconflow", icon: "siliconflow", iconColor: "#6E29F6", }, { name: "SiliconFlow en", websiteUrl: "https://siliconflow.com", apiKeyUrl: "https://cloud.siliconflow.cn/i/YflgU2Ve", category: "aggregator", baseUrl: "https://api.siliconflow.com", mode: "proxy", apiFormat: "anthropic", modelRoutes: brandedRoutes( "MiniMaxAI/MiniMax-M2.7", "MiniMaxAI/MiniMax-M2.7", "MiniMaxAI/MiniMax-M2.7", ), isPartner: true, partnerPromotionKey: "siliconflow", icon: "siliconflow", iconColor: "#000000", }, { name: "NekoCode", websiteUrl: "https://nekocode.ai", apiKeyUrl: "https://nekocode.ai?aff=CCSWITCH", category: "aggregator", baseUrl: "https://nekocode.ai", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), isPartner: true, partnerPromotionKey: "nekocode", icon: "nekocode", }, { name: "A6API", websiteUrl: "https://www.a6api.com", apiKeyUrl: "https://a6api.com/register?aff=AqNr", category: "aggregator", baseUrl: "https://api.a6api.com", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), isPartner: true, partnerPromotionKey: "a6api", icon: "a6api", }, { name: "AtlasCloud", websiteUrl: "https://www.atlascloud.ai/console/coding-plan", apiKeyUrl: "https://www.atlascloud.ai/console/coding-plan", category: "aggregator", baseUrl: "https://api.atlascloud.ai", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), endpointCandidates: ["https://api.atlascloud.ai"], isPartner: true, partnerPromotionKey: "atlascloud", icon: "atlascloud", }, { name: "Compshare", nameKey: "providerForm.presets.ucloud", websiteUrl: "https://www.compshare.cn", apiKeyUrl: "https://www.compshare.cn/coding-plan?ytag=GPU_YY_YX_git_cc-switch", category: "aggregator", baseUrl: "https://api.modelverse.cn", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), endpointCandidates: ["https://api.modelverse.cn"], isPartner: true, partnerPromotionKey: "ucloud", icon: "ucloud", iconColor: "#000000", }, { name: "Compshare Coding Plan", nameKey: "providerForm.presets.ucloudCoding", websiteUrl: "https://www.compshare.cn", apiKeyUrl: "https://www.compshare.cn/coding-plan?ytag=GPU_YY_YX_git_cc-switch", category: "aggregator", baseUrl: "https://cp.compshare.cn", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), endpointCandidates: ["https://cp.compshare.cn"], isPartner: true, partnerPromotionKey: "ucloud", icon: "ucloud", iconColor: "#000000", }, { name: "CCSub", websiteUrl: "https://www.ccsub.net", apiKeyUrl: "https://www.ccsub.net/register?ref=Y6Z8DXEA", category: "aggregator", baseUrl: "https://www.ccsub.net", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(true), isPartner: true, partnerPromotionKey: "ccsub", icon: "ccsub", }, { name: "SSSAiCode", websiteUrl: "https://sssaicodeapi.com", apiKeyUrl: "https://sssaicodeapi.com/register?ref=DCP0SM", category: "third_party", baseUrl: "https://node-hk.sssaicodeapi.com/api", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), endpointCandidates: [ "https://node-hk.sssaicodeapi.com/api", "https://node-hk.sssaiapi.com/api", "https://node-cf.sssaicodeapi.com/api", ], isPartner: true, partnerPromotionKey: "sssaicode", icon: "sssaicode", iconColor: "#000000", }, { name: "Micu", websiteUrl: "https://www.micuapi.ai", apiKeyUrl: "https://www.micuapi.ai/register?aff=aOYQ", category: "third_party", baseUrl: "https://www.micuapi.ai", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), endpointCandidates: ["https://www.micuapi.ai"], isPartner: true, partnerPromotionKey: "micu", icon: "micu", iconColor: "#000000", }, { name: "RightCode", websiteUrl: "https://www.rightapi.ai", apiKeyUrl: "https://www.rightapi.ai/register?aff=CCSWITCH", category: "third_party", baseUrl: "https://www.rightapi.ai/claude", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), isPartner: true, partnerPromotionKey: "rightcode", icon: "rc", iconColor: "#E96B2C", }, { name: "ETok.ai", websiteUrl: "https://etok.ai", apiKeyUrl: "https://etok.ai", category: "third_party", baseUrl: "https://api.etok.ai", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), isPartner: true, partnerPromotionKey: "etok", icon: "etok", iconColor: "#000000", }, { name: "Cubence", websiteUrl: "https://cubence.com", apiKeyUrl: "https://cubence.com/signup?code=CCSWITCH&source=ccs", category: "third_party", baseUrl: "https://api.cubence.com", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), endpointCandidates: [ "https://api.cubence.com", "https://api-cf.cubence.com", "https://api-dmit.cubence.com", "https://api-bwg.cubence.com", ], isPartner: true, partnerPromotionKey: "cubence", icon: "cubence", iconColor: "#000000", }, { name: "CrazyRouter", websiteUrl: "https://www.crazyrouter.com", apiKeyUrl: "https://www.crazyrouter.com/register?aff=OZcm&ref=cc-switch", category: "third_party", baseUrl: "https://cn.crazyrouter.com", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), endpointCandidates: ["https://cn.crazyrouter.com"], isPartner: true, partnerPromotionKey: "crazyrouter", icon: "crazyrouter", iconColor: "#000000", }, { name: "DMXAPI", websiteUrl: "https://www.dmxapi.cn", apiKeyUrl: "https://www.dmxapi.cn", category: "aggregator", baseUrl: "https://www.dmxapi.cn", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), endpointCandidates: ["https://www.dmxapi.cn", "https://api.dmxapi.cn"], isPartner: true, partnerPromotionKey: "dmxapi", }, { name: "Qiniu", nameKey: "providerForm.presets.qiniu", websiteUrl: "https://s.qiniu.com/nMvAvy", apiKeyUrl: "https://s.qiniu.com/nMvAvy", category: "aggregator", baseUrl: "https://api.qnaigc.com", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), endpointCandidates: ["https://api.qnaigc.com", "https://api.modelink.ai"], isPartner: true, partnerPromotionKey: "qiniu", icon: "qiniu", }, { name: "SudoCode.chat", websiteUrl: "https://sudocode.chat", apiKeyUrl: "https://sudocode.chat/sign-up?aff=CC-SWITCH&utm_source=cc-switch&utm_medium=sponsor&utm_campaign=ccswitch", category: "third_party", baseUrl: "https://api.sudocode.chat", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), endpointCandidates: ["https://api.sudocode.chat"], isPartner: true, partnerPromotionKey: "sudocode", icon: "sudocode", }, { name: "SudoCode.us", websiteUrl: "https://sudocode.us", apiKeyUrl: "https://sudocode.us", category: "third_party", baseUrl: "https://sudocode.us", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), endpointCandidates: ["https://sudocode.us", "https://sudocode.run"], isPartner: true, icon: "sudocode-us", }, // ===== 非赞助商预设:应用内展示按显示名排序,此处文件顺序不影响展示 ===== { name: "Amux", websiteUrl: "https://amux.ai", apiKeyUrl: "https://amux.ai", category: "aggregator", baseUrl: "https://api.amux.ai", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), icon: "amux", }, { name: "Gemini Native", websiteUrl: "https://ai.google.dev/gemini-api", apiKeyUrl: "https://aistudio.google.com/app/apikey", category: "third_party", baseUrl: "https://generativelanguage.googleapis.com", apiKeyField: "ANTHROPIC_API_KEY", mode: "proxy", apiFormat: "gemini_native", modelRoutes: brandedRoutes( "gemini-3.6-flash", "gemini-3.6-flash", "gemini-3.6-flash", ), endpointCandidates: ["https://generativelanguage.googleapis.com"], icon: "gemini", iconColor: "#4285F4", }, { name: "GitHub Copilot", websiteUrl: "https://github.com/features/copilot", category: "third_party", baseUrl: "https://api.githubcopilot.com", mode: "proxy", apiFormat: "openai_chat", providerType: "github_copilot", requiresOAuth: true, modelRoutes: brandedRoutes( "claude-sonnet-5", "claude-sonnet-5", "claude-haiku-4.5", ), icon: "github", iconColor: "#000000", }, { name: "Codex", websiteUrl: "https://openai.com/chatgpt/pricing", category: "third_party", baseUrl: "https://chatgpt.com/backend-api/codex", mode: "proxy", apiFormat: "openai_responses", providerType: "codex_oauth", requiresOAuth: true, modelRoutes: brandedRoutes("gpt-5.6-sol", "gpt-5.6-sol", "gpt-5.6-luna"), icon: "openai", iconColor: "#000000", }, { name: "xAI (Grok)", websiteUrl: "https://x.ai/grok", category: "third_party", baseUrl: "https://api.x.ai/v1", mode: "proxy", apiFormat: "openai_responses", providerType: "xai_oauth", requiresOAuth: true, modelRoutes: brandedRoutes("grok-4.5", "grok-4.5", "grok-4.5"), icon: "xai", iconColor: "#000000", }, { name: "DeepSeek", websiteUrl: "https://platform.deepseek.com", category: "cn_official", baseUrl: "https://api.deepseek.com/anthropic", mode: "proxy", apiFormat: "anthropic", modelRoutes: brandedRoutes( "deepseek-v4-pro", "deepseek-v4-pro", "deepseek-v4-flash", ), icon: "deepseek", iconColor: "#1E88E5", }, { name: "OpenCode Go", websiteUrl: "https://opencode.ai/go", apiKeyUrl: "https://opencode.ai/go?ref=2YTRG2NGTX", partnerPromotionKey: "opencode_go", category: "third_party", baseUrl: "https://opencode.ai/zen/go", mode: "proxy", apiFormat: "openai_chat", modelRoutes: brandedRoutes( "deepseek-v4-flash", "deepseek-v4-flash", "deepseek-v4-flash", ), endpointCandidates: ["https://opencode.ai/zen/go"], icon: "opencode", iconColor: "#211E1E", }, { name: "Zhipu GLM", websiteUrl: "https://open.bigmodel.cn", apiKeyUrl: "https://www.bigmodel.cn/claude-code?ic=RRVJPB5SII", category: "cn_official", baseUrl: "https://open.bigmodel.cn/api/anthropic", mode: "proxy", apiFormat: "anthropic", modelRoutes: brandedRoutes("glm-5.1", "glm-5.1", "glm-5.1"), icon: "zhipu", iconColor: "#0F62FE", }, { name: "Zhipu GLM en", websiteUrl: "https://z.ai", apiKeyUrl: "https://z.ai/subscribe?ic=8JVLJQFSKB", category: "cn_official", baseUrl: "https://api.z.ai/api/anthropic", mode: "proxy", apiFormat: "anthropic", modelRoutes: brandedRoutes("glm-5.1", "glm-5.1", "glm-5.1"), icon: "zhipu", iconColor: "#0F62FE", }, { name: "Baidu Qianfan Coding Plan", websiteUrl: "https://cloud.baidu.com/product/qianfan_modelbuilder", apiKeyUrl: "https://console.bce.baidu.com/qianfan/ais/console/applicationConsole/application", category: "cn_official", baseUrl: "https://qianfan.baidubce.com/anthropic/coding", mode: "proxy", apiFormat: "anthropic", modelRoutes: brandedRoutes( "qianfan-code-latest", "qianfan-code-latest", "qianfan-code-latest", ), endpointCandidates: ["https://qianfan.baidubce.com/anthropic/coding"], icon: "baidu", iconColor: "#2932E1", }, { name: "Bailian", websiteUrl: "https://bailian.console.aliyun.com", category: "cn_official", baseUrl: "https://dashscope.aliyuncs.com/apps/anthropic", mode: "proxy", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), icon: "bailian", iconColor: "#624AFF", }, { name: "Bailian For Coding", websiteUrl: "https://bailian.console.aliyun.com", category: "cn_official", baseUrl: "https://coding.dashscope.aliyuncs.com/apps/anthropic", mode: "proxy", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), icon: "bailian", iconColor: "#624AFF", }, { name: "StepFun", websiteUrl: "https://platform.stepfun.com/step-plan", apiKeyUrl: "https://platform.stepfun.com/interface-key", category: "cn_official", baseUrl: "https://api.stepfun.com/step_plan", mode: "proxy", apiFormat: "anthropic", modelRoutes: brandedRoutes( "step-3.5-flash-2603", "step-3.5-flash-2603", "step-3.5-flash-2603", ), endpointCandidates: ["https://api.stepfun.com/step_plan"], icon: "stepfun", iconColor: "#16D6D2", }, { name: "StepFun en", websiteUrl: "https://platform.stepfun.ai/step-plan", apiKeyUrl: "https://platform.stepfun.ai/interface-key", category: "cn_official", baseUrl: "https://api.stepfun.ai/step_plan", mode: "proxy", apiFormat: "anthropic", modelRoutes: brandedRoutes( "step-3.5-flash-2603", "step-3.5-flash-2603", "step-3.5-flash-2603", ), endpointCandidates: ["https://api.stepfun.ai/step_plan"], icon: "stepfun", iconColor: "#16D6D2", }, { name: "ModelScope", websiteUrl: "https://modelscope.cn", category: "aggregator", baseUrl: "https://api-inference.modelscope.cn", mode: "proxy", apiFormat: "anthropic", modelRoutes: brandedRoutes( "ZhipuAI/GLM-5.1", "ZhipuAI/GLM-5.1", "ZhipuAI/GLM-5.1", ), icon: "modelscope", iconColor: "#624AFF", }, { name: "Longcat", websiteUrl: "https://longcat.chat/platform", apiKeyUrl: "https://longcat.chat/platform/api_keys", category: "cn_official", baseUrl: "https://api.longcat.chat/anthropic", mode: "proxy", apiFormat: "anthropic", modelRoutes: brandedRoutes("LongCat-2.0", "LongCat-2.0", "LongCat-2.0"), icon: "longcat", iconColor: "#29E154", }, { name: "MiniMax", websiteUrl: "https://platform.minimaxi.com", apiKeyUrl: "https://platform.minimaxi.com/subscribe/coding-plan", category: "cn_official", baseUrl: "https://api.minimaxi.com/anthropic", mode: "proxy", apiFormat: "anthropic", modelRoutes: brandedRoutes("MiniMax-M2.7", "MiniMax-M2.7", "MiniMax-M2.7"), partnerPromotionKey: "minimax_cn", theme: { backgroundColor: "#f64551", textColor: "#FFFFFF", }, icon: "minimax", iconColor: "#FF6B6B", }, { name: "MiniMax en", websiteUrl: "https://platform.minimax.io", apiKeyUrl: "https://platform.minimax.io/subscribe/coding-plan", category: "cn_official", baseUrl: "https://api.minimax.io/anthropic", mode: "proxy", apiFormat: "anthropic", modelRoutes: brandedRoutes("MiniMax-M2.7", "MiniMax-M2.7", "MiniMax-M2.7"), partnerPromotionKey: "minimax_en", theme: { backgroundColor: "#f64551", textColor: "#FFFFFF", }, icon: "minimax", iconColor: "#FF6B6B", }, { name: "BaiLing", websiteUrl: "https://alipaytbox.yuque.com/sxs0ba/ling/get_started", category: "cn_official", baseUrl: "https://api.tbox.cn/api/anthropic", mode: "proxy", apiFormat: "anthropic", modelRoutes: brandedRoutes("Ling-2.5-1T", "Ling-2.5-1T", "Ling-2.5-1T"), }, { name: "AiHubMix", websiteUrl: "https://aihubmix.com", apiKeyUrl: "https://aihubmix.com", category: "aggregator", baseUrl: "https://aihubmix.com", apiKeyField: "ANTHROPIC_API_KEY", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), endpointCandidates: ["https://aihubmix.com", "https://api.aihubmix.com"], icon: "aihubmix", iconColor: "#006FFB", }, { name: "CherryIN", websiteUrl: "https://open.cherryin.ai", apiKeyUrl: "https://open.cherryin.ai/console/token", category: "aggregator", baseUrl: "https://open.cherryin.net", mode: "direct", apiFormat: "anthropic", modelRoutes: mappedRoutes( "anthropic/claude-sonnet-5", "anthropic/claude-opus-5", "anthropic/claude-haiku-4.5", ), endpointCandidates: ["https://open.cherryin.net"], icon: "cherryin", }, { name: "RelaxyCode", websiteUrl: "https://www.relaxycode.com", apiKeyUrl: "https://www.relaxycode.com/register", category: "third_party", baseUrl: "https://www.relaxycode.com", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), icon: "relaxcode", }, { name: "E-FlowCode", websiteUrl: "https://e-flowcode.cc", apiKeyUrl: "https://e-flowcode.cc", category: "third_party", baseUrl: "https://e-flowcode.cc", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), endpointCandidates: ["https://e-flowcode.cc"], icon: "eflowcode", iconColor: "#000000", }, { name: "OpenRouter", websiteUrl: "https://openrouter.ai", apiKeyUrl: "https://openrouter.ai/keys", category: "aggregator", baseUrl: "https://openrouter.ai/api", mode: "proxy", apiFormat: "anthropic", modelRoutes: mappedRoutes( "anthropic/claude-sonnet-5", "anthropic/claude-opus-5", "anthropic/claude-haiku-4.5", true, ), icon: "openrouter", iconColor: "#6566F1", }, { name: "TheRouter", websiteUrl: "https://therouter.ai", apiKeyUrl: "https://dashboard.therouter.ai", category: "aggregator", baseUrl: "https://api.therouter.ai", mode: "proxy", apiFormat: "anthropic", modelRoutes: mappedRoutes( "anthropic/claude-sonnet-5", "anthropic/claude-opus-5", "anthropic/claude-haiku-4.5", true, ), endpointCandidates: ["https://api.therouter.ai"], }, { name: "Novita AI", websiteUrl: "https://novita.ai", apiKeyUrl: "https://novita.ai", category: "aggregator", baseUrl: "https://api.novita.ai/anthropic", mode: "proxy", apiFormat: "anthropic", modelRoutes: brandedRoutes( "zai-org/glm-5.1", "zai-org/glm-5.1", "zai-org/glm-5.1", ), endpointCandidates: ["https://api.novita.ai/anthropic"], icon: "novita", iconColor: "#000000", }, { name: "Nvidia", websiteUrl: "https://build.nvidia.com", apiKeyUrl: "https://build.nvidia.com/settings/api-keys", category: "aggregator", baseUrl: "https://integrate.api.nvidia.com", mode: "proxy", apiFormat: "openai_chat", modelRoutes: brandedRoutes( "moonshotai/kimi-k2.5", "moonshotai/kimi-k2.5", "moonshotai/kimi-k2.5", ), icon: "nvidia", iconColor: "#000000", }, { name: "PIPELLM", websiteUrl: "https://code.pipellm.ai", apiKeyUrl: "https://code.pipellm.ai/login?ref=uvw650za", category: "aggregator", baseUrl: "https://cc-api.pipellm.ai", mode: "direct", apiFormat: "anthropic", modelRoutes: passthroughRoutes(), icon: "pipellm", }, { name: "Xiaomi MiMo", websiteUrl: "https://platform.xiaomimimo.com", apiKeyUrl: "https://platform.xiaomimimo.com/#/console/api-keys", category: "cn_official", baseUrl: "https://api.xiaomimimo.com/anthropic", mode: "proxy", apiFormat: "anthropic", modelRoutes: brandedRoutes( "mimo-v2.5-pro", "mimo-v2.5-pro", "mimo-v2.5-pro", ), icon: "xiaomimimo", iconColor: "#000000", }, { name: "Xiaomi MiMo Token Plan (China)", websiteUrl: "https://platform.xiaomimimo.com/#/token-plan", apiKeyUrl: "https://platform.xiaomimimo.com/#/console/plan-manage", category: "cn_official", baseUrl: "https://token-plan-cn.xiaomimimo.com/anthropic", mode: "proxy", apiFormat: "anthropic", modelRoutes: brandedRoutes( "mimo-v2.5-pro", "mimo-v2.5-pro", "mimo-v2.5-pro", ), icon: "xiaomimimo", iconColor: "#000000", }, ];