From 4cdaed56e66fef9ab153130be40d1f646a394c32 Mon Sep 17 00:00:00 2001 From: Jason Date: Wed, 24 Dec 2025 11:06:48 +0800 Subject: [PATCH] feat(presets): add AiGoCode icon and partner promotion - Add AiGoCode colored icon (blue body #5B7FFF, purple star #7C6AEF) - Add original SVG source file for reference - Add icon metadata with keywords and default color - Add iconColor to AiGoCode presets for Claude, Codex, and Gemini - Add partner promotion messages in zh/en/ja locales --- src/config/claudeProviderPresets.ts | 20 +++++++++++ src/config/codexProviderPresets.ts | 13 ++++++++ src/config/geminiProviderPresets.ts | 27 +++++++++------ src/i18n/locales/en.json | 3 +- src/i18n/locales/ja.json | 3 +- src/i18n/locales/zh.json | 3 +- src/icons/extracted/algocode.svg | 51 +++++++++++++++++++++++++++++ src/icons/extracted/index.ts | 1 + src/icons/extracted/metadata.ts | 7 ++++ 9 files changed, 115 insertions(+), 13 deletions(-) create mode 100644 src/icons/extracted/algocode.svg diff --git a/src/config/claudeProviderPresets.ts b/src/config/claudeProviderPresets.ts index 37b42e35b..4f2eac68c 100644 --- a/src/config/claudeProviderPresets.ts +++ b/src/config/claudeProviderPresets.ts @@ -373,6 +373,26 @@ export const providerPresets: ProviderPreset[] = [ partnerPromotionKey: "packycode", // 促销信息 i18n key icon: "packycode", }, + { + name: "AiGoCode", + websiteUrl: "https://aigocode.com", + apiKeyUrl: "https://aigocode.com/invite/CC-SWITCH", + settingsConfig: { + env: { + ANTHROPIC_BASE_URL: "https://api.aigocode.com/api", + ANTHROPIC_AUTH_TOKEN: "", + }, + }, + // 请求地址候选(用于地址管理/测速) + endpointCandidates: [ + "https://api.aigocode.com", + ], + category: "third_party", + isPartner: true, // 合作伙伴 + partnerPromotionKey: "aigocode", // 促销信息 i18n key + icon: "aigocode", + iconColor: "#5B7FFF", + }, { name: "OpenRouter", websiteUrl: "https://openrouter.ai", diff --git a/src/config/codexProviderPresets.ts b/src/config/codexProviderPresets.ts index 3e06c0fb4..1d82897d3 100644 --- a/src/config/codexProviderPresets.ts +++ b/src/config/codexProviderPresets.ts @@ -153,4 +153,17 @@ requires_openai_auth = true`, partnerPromotionKey: "packycode", // 促销信息 i18n key icon: "packycode", }, + { + name: "AiGoCode", + websiteUrl: "https://aigocode.com", + apiKeyUrl: "https://aigocode.com/invite/CC-SWITCH", + category: "third_party", + auth: generateThirdPartyAuth(""), + config: generateThirdPartyConfig("aigocode", "https://api.aigocode.com/openai", "gpt-5.2"), + endpointCandidates: ["https://api.aigocode.com"], + isPartner: true, // 合作伙伴 + partnerPromotionKey: "aigocode", // 促销信息 i18n key + icon: "aigocode", + iconColor: "#5B7FFF", + }, ]; diff --git a/src/config/geminiProviderPresets.ts b/src/config/geminiProviderPresets.ts index b08e91a4a..a5b748de6 100644 --- a/src/config/geminiProviderPresets.ts +++ b/src/config/geminiProviderPresets.ts @@ -56,11 +56,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ settingsConfig: { env: { GOOGLE_GEMINI_BASE_URL: "https://www.packyapi.com", - GEMINI_MODEL: "gemini-3-pro-preview", + GEMINI_MODEL: "gemini-3-pro", }, }, baseURL: "https://www.packyapi.com", - model: "gemini-3-pro-preview", + model: "gemini-3-pro", description: "PackyCode", category: "third_party", isPartner: true, @@ -70,19 +70,26 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ "https://www.packyapi.com", ], icon: "packycode", - }, + }, { - name: "自定义", - websiteUrl: "", + name: "AiGoCode", + websiteUrl: "https://aigocode.com", + apiKeyUrl: "https://aigocode.com/invite/CC-SWITCH", settingsConfig: { env: { - GOOGLE_GEMINI_BASE_URL: "", - GEMINI_MODEL: "gemini-3-pro-preview", + GOOGLE_GEMINI_BASE_URL: "https://api.aigocode.com/gemini", + GEMINI_MODEL: "gemini-3-pro", }, }, - model: "gemini-3-pro-preview", - description: "自定义 Gemini API 端点", - category: "custom", + baseURL: "https://api.aigocode.com/gemini", + model: "gemini-3-pro", + description: "AiGoCode", + category: "third_party", + isPartner: true, + partnerPromotionKey: "aigocode", + endpointCandidates: ["https://api.aigocode.com/gemini"], + icon: "aigocode", + iconColor: "#5B7FFF", }, ]; diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index 9721bb00e..febfe4b9a 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -269,7 +269,8 @@ "packycode": "PackyCode is an official partner of CC Switch. Register using this link and enter \"cc-switch\" promo code during recharge to get 10% off", "minimax_cn": "MiniMax Coding Plan Special Offer, Starter from ¥9.9", "minimax_en": "MiniMax Coding Plan Black Friday, Starter is now $2/mo (80% OFF!)", - "dmxapi": "Claude Code exclusive model 66% OFF now!" + "dmxapi": "Claude Code exclusive model 66% OFF now!", + "aigocode": "AiGoCode is an official partner of CC Switch. Register using this link and get 10% bonus credit on 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 b9a53c53b..461654820 100644 --- a/src/i18n/locales/ja.json +++ b/src/i18n/locales/ja.json @@ -269,7 +269,8 @@ "packycode": "PackyCode は CC Switch の公式パートナーです。登録後チャージ時に \"cc-switch\" を入力すると 10% オフ", "minimax_cn": "MiniMax Coding Plan 特別価格、Starter ¥9.9 から", "minimax_en": "MiniMax Coding Plan Black Friday、Starter が月額 $2(80% OFF)", - "dmxapi": "Claude Code 専用モデル 66% OFF 実施中!" + "dmxapi": "Claude Code 専用モデル 66% OFF 実施中!", + "aigocode": "AiGoCode は CC Switch の公式パートナーです。このリンクから登録すると、初回チャージ時に 10% のボーナスクレジットがもらえます!" }, "parameterConfig": "パラメーター設定 - {{name}} *", "mainModel": "メインモデル(任意)", diff --git a/src/i18n/locales/zh.json b/src/i18n/locales/zh.json index ae0c7159c..a141625d2 100644 --- a/src/i18n/locales/zh.json +++ b/src/i18n/locales/zh.json @@ -269,7 +269,8 @@ "packycode": "PackyCode 是 CC Switch 的官方合作伙伴,使用此链接注册并在充值时填写 \"cc-switch\" 优惠码,可以享受9折优惠", "minimax_cn": "MiniMax Coding Plan 特惠,Starter 套餐 9.9 元起", "minimax_en": "MiniMax Coding Plan 黑五特惠,Starter 套餐现仅 $2/月(2折优惠!)", - "dmxapi": "Claude Code 专属模型 3.4 折优惠进行中!" + "dmxapi": "Claude Code 专属模型 3.4 折优惠进行中!", + "aigocode": "AiGoCode 是 CC Switch 的官方合作伙伴,使用此链接注册首次充值时可以获得10%额度奖励!" }, "parameterConfig": "参数配置 - {{name}} *", "mainModel": "主模型 (可选)", diff --git a/src/icons/extracted/algocode.svg b/src/icons/extracted/algocode.svg new file mode 100644 index 000000000..66f092a56 --- /dev/null +++ b/src/icons/extracted/algocode.svg @@ -0,0 +1,51 @@ + + + + + + + + + + diff --git a/src/icons/extracted/index.ts b/src/icons/extracted/index.ts index 507a41a7b..9278c509d 100644 --- a/src/icons/extracted/index.ts +++ b/src/icons/extracted/index.ts @@ -2,6 +2,7 @@ // Do not edit manually export const icons: Record = { + aigocode: `AiGoCode`, alibaba: `Alibaba`, anthropic: `Anthropic`, aws: `AWS`, diff --git a/src/icons/extracted/metadata.ts b/src/icons/extracted/metadata.ts index bc2c5d7d1..ec81584dc 100644 --- a/src/icons/extracted/metadata.ts +++ b/src/icons/extracted/metadata.ts @@ -2,6 +2,13 @@ import { IconMetadata } from "@/types/icon"; export const iconMetadata: Record = { + aigocode: { + name: "aigocode", + displayName: "AiGoCode", + category: "ai-provider", + keywords: ["aigocode", "aigo", "code", "third-party"], + defaultColor: "#5B7FFF", + }, alibaba: { name: "alibaba", displayName: "Alibaba",