From a254304a005c47c1172823cafd79e60313014c0c Mon Sep 17 00:00:00 2001 From: Jason Date: Tue, 24 Feb 2026 23:08:22 +0800 Subject: [PATCH] feat: add AICoding partner provider presets and i18n promotion text Add AICoding as a partner provider across all five apps (Claude, Codex, Gemini, OpenClaw, OpenCode) with endpoint, API key URL, and partner promotion configuration. Add trilingual (zh/en/ja) promotion text for the first top-up discount. --- src/config/claudeProviderPresets.ts | 19 +++++++++++ src/config/codexProviderPresets.ts | 18 ++++++++++ src/config/geminiProviderPresets.ts | 22 ++++++++++++ src/config/openclawProviderPresets.ts | 48 ++++++++++++++++++++++++++- src/config/opencodeProviderPresets.ts | 30 ++++++++++++++++- src/i18n/locales/en.json | 3 +- src/i18n/locales/ja.json | 3 +- src/i18n/locales/zh.json | 3 +- 8 files changed, 141 insertions(+), 5 deletions(-) diff --git a/src/config/claudeProviderPresets.ts b/src/config/claudeProviderPresets.ts index 80697e3eb..aac7bc3d3 100644 --- a/src/config/claudeProviderPresets.ts +++ b/src/config/claudeProviderPresets.ts @@ -476,6 +476,25 @@ export const providerPresets: ProviderPreset[] = [ icon: "aicodemirror", iconColor: "#000000", }, + { + name: "AICoding", + websiteUrl: "https://www.aicoding.sh", + apiKeyUrl: "https://www.aicoding.sh/i/CCSWITCH", + settingsConfig: { + env: { + ANTHROPIC_BASE_URL: "https://api.aicoding.sh", + ANTHROPIC_AUTH_TOKEN: "", + }, + }, + endpointCandidates: [ + "https://api.aicoding.sh", + ], + category: "third_party", + isPartner: true, // 合作伙伴 + partnerPromotionKey: "aicoding", // 促销信息 i18n key + icon: "aicoding", + iconColor: "#000000", + }, { name: "OpenRouter", websiteUrl: "https://openrouter.ai", diff --git a/src/config/codexProviderPresets.ts b/src/config/codexProviderPresets.ts index 9eac74c51..99af37aea 100644 --- a/src/config/codexProviderPresets.ts +++ b/src/config/codexProviderPresets.ts @@ -227,6 +227,24 @@ requires_openai_auth = true`, icon: "aicodemirror", iconColor: "#000000", }, + { + name: "AICoding", + websiteUrl: "https://www.aicoding.sh", + apiKeyUrl: "https://www.aicoding.sh/i/CCSWITCH", + auth: generateThirdPartyAuth(""), + config: generateThirdPartyConfig( + "aicoding", + "https://api.aicoding.sh", + "gpt-5.3-codex", + ), + endpointCandidates: [ + "https://api.aicoding.sh", + ], + isPartner: true, + partnerPromotionKey: "aicoding", + icon: "aicoding", + iconColor: "#000000", + }, { name: "OpenRouter", websiteUrl: "https://openrouter.ai", diff --git a/src/config/geminiProviderPresets.ts b/src/config/geminiProviderPresets.ts index ec1e1958c..d89e42991 100644 --- a/src/config/geminiProviderPresets.ts +++ b/src/config/geminiProviderPresets.ts @@ -139,6 +139,28 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ icon: "aicodemirror", iconColor: "#000000", }, + { + name: "AICoding", + websiteUrl: "https://www.aicoding.sh", + apiKeyUrl: "https://www.aicoding.sh/i/CCSWITCH", + settingsConfig: { + env: { + GOOGLE_GEMINI_BASE_URL: "https://api.aicoding.sh", + GEMINI_MODEL: "gemini-3-pro", + }, + }, + baseURL: "https://api.aicoding.sh", + model: "gemini-3-pro", + description: "AICoding", + category: "third_party", + isPartner: true, + partnerPromotionKey: "aicoding", + endpointCandidates: [ + "https://api.aicoding.sh", + ], + icon: "aicoding", + iconColor: "#000000", + }, { name: "OpenRouter", websiteUrl: "https://openrouter.ai", diff --git a/src/config/openclawProviderPresets.ts b/src/config/openclawProviderPresets.ts index 0eab37322..3f7a7d3cc 100644 --- a/src/config/openclawProviderPresets.ts +++ b/src/config/openclawProviderPresets.ts @@ -1052,8 +1052,54 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ "aicodemirror/claude-opus-4-6": { alias: "Opus" }, }, }, - }, + }, + { + name: "AICoding", + websiteUrl: "https://www.aicoding.sh", + apiKeyUrl: "https://www.aicoding.sh/i/CCSWITCH", + settingsConfig: { + baseUrl: "https://api.aicoding.sh", + apiKey: "", + api: "anthropic-messages", + models: [ + { + id: "claude-sonnet-4-5-20250929", + name: "Claude Sonnet 4.5", + contextWindow: 200000, + cost: { input: 3, output: 15 }, + }, + { + id: "claude-opus-4-6", + name: "Claude Opus 4.6", + contextWindow: 200000, + cost: { input: 5, output: 25 }, + }, + ], + }, + category: "third_party", + isPartner: true, + partnerPromotionKey: "aicoding", + icon: "aicoding", + iconColor: "#000000", + templateValues: { + apiKey: { + label: "API Key", + placeholder: "", + editorValue: "", + }, + }, + suggestedDefaults: { + model: { + primary: "aicoding/claude-sonnet-4-5-20250929", + fallbacks: ["aicoding/claude-opus-4-6"], + }, + modelCatalog: { + "aicoding/claude-sonnet-4-5-20250929": { alias: "Sonnet" }, + "aicoding/claude-opus-4-6": { alias: "Opus" }, + }, + }, + }, // ========== Cloud Providers ========== { name: "AWS Bedrock", diff --git a/src/config/opencodeProviderPresets.ts b/src/config/opencodeProviderPresets.ts index 007451164..75574b527 100644 --- a/src/config/opencodeProviderPresets.ts +++ b/src/config/opencodeProviderPresets.ts @@ -1133,7 +1133,35 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ }, }, }, - + { + name: "AICoding", + websiteUrl: "https://www.aicoding.sh", + apiKeyUrl: "https://www.aicoding.sh/i/CCSWITCH", + settingsConfig: { + npm: "@ai-sdk/anthropic", + name: "AICoding", + options: { + baseURL: "https://api.aicoding.sh", + apiKey: "", + }, + models: { + "claude-sonnet-4-5-20250929": { name: "Claude Sonnet 4.5" }, + "claude-opus-4-6": { name: "Claude Opus 4.6" }, + }, + }, + category: "third_party", + isPartner: true, + partnerPromotionKey: "aicoding", + icon: "aicoding", + iconColor: "#000000", + templateValues: { + apiKey: { + label: "API Key", + placeholder: "", + editorValue: "", + }, + }, + }, { name: "AWS Bedrock", websiteUrl: "https://aws.amazon.com/bedrock/", diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index b4deab8a9..330ab8ac6 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -625,7 +625,8 @@ "cubence": "Cubence is an official partner of CC Switch. Register using this link and enter \"CCSWITCH\" promo code during recharge to get 10% off every top-up", "aigocode": "AIGoCode is an official partner of CC Switch. Register using this link and get 10% bonus credit on your first top-up!", "rightcode": "RightCode is an official partner of CC Switch. Register using this link and get 5% bonus credit on every top-up!", - "aicodemirror": "AICodeMirror is an official partner of CC Switch. Register using this link to get 20% off!" + "aicodemirror": "AICodeMirror is an official partner of CC Switch. Register using this link to get 20% off!", + "aicoding": "AI Coding offers an exclusive discount for CC Switch users — 10% off your first top-up!" }, "parameterConfig": "Parameter Config - {{name}} *", "mainModel": "Main Model (optional)", diff --git a/src/i18n/locales/ja.json b/src/i18n/locales/ja.json index bfa30d4da..3db2bf85b 100644 --- a/src/i18n/locales/ja.json +++ b/src/i18n/locales/ja.json @@ -625,7 +625,8 @@ "cubence": "Cubence は CC Switch の公式パートナーです。登録後チャージ時に \"CCSWITCH\" を入力すると、毎回 10% オフ", "aigocode": "AIGoCode は CC Switch の公式パートナーです。このリンクから登録すると、初回チャージ時に 10% のボーナスクレジットがもらえます!", "rightcode": "RightCode は CC Switch の公式パートナーです。このリンクから登録すると、毎回のチャージに 5% のボーナスクレジットがもらえます!", - "aicodemirror": "AICodeMirror は CC Switch の公式パートナーです。このリンクから登録すると20%オフ!" + "aicodemirror": "AICodeMirror は CC Switch の公式パートナーです。このリンクから登録すると20%オフ!", + "aicoding": "AI Coding は CC Switch ユーザー向けに特別割引を提供しています。初回チャージが 10% オフ!" }, "parameterConfig": "パラメーター設定 - {{name}} *", "mainModel": "メインモデル(任意)", diff --git a/src/i18n/locales/zh.json b/src/i18n/locales/zh.json index f5f872c0b..3e0004d20 100644 --- a/src/i18n/locales/zh.json +++ b/src/i18n/locales/zh.json @@ -625,7 +625,8 @@ "cubence": "Cubence 是 CC Switch 的官方合作伙伴,使用此链接注册并在充值时填写 \"CCSWITCH\" 优惠码,每次充值均可享受9折优惠", "aigocode": "AIGoCode 是 CC Switch 的官方合作伙伴,使用此链接注册首次充值时可以获得10%额度奖励!", "rightcode": "RightCode 是 CC Switch 的官方合作伙伴,使用此链接注册每次充值均可赠送5%额外额度!", - "aicodemirror": "AICodeMirror 是 CC Switch 的官方合作伙伴,使用此链接注册可享受8折优惠!" + "aicodemirror": "AICodeMirror 是 CC Switch 的官方合作伙伴,使用此链接注册可享受8折优惠!", + "aicoding": "AI Coding 为 CC Switch 的用户提供了特殊优惠,首次充值可以享受 9 折优惠!" }, "parameterConfig": "参数配置 - {{name}} *", "mainModel": "主模型 (可选)",