From 18ffddbfa51448cd1a6f561d61209c8936a8a123 Mon Sep 17 00:00:00 2001 From: Jason Date: Fri, 15 May 2026 17:20:46 +0800 Subject: [PATCH] feat(presets): add RunAPI provider presets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add RunAPI as a new partner provider with support for: - Claude Code preset (Anthropic native protocol) - Codex preset (gpt-5.5 model) - Claude Desktop preset (direct mode with passthrough routes) - OpenCode preset (@ai-sdk/anthropic) - OpenClaw preset (anthropic-messages protocol) - Hermes preset (anthropic_messages mode) - Icon configuration (runapi.jpg) - i18n support (zh/en/ja) with ¥14 free credit promotion RunAPI is a high-performance AI model API gateway supporting 150+ mainstream models (OpenAI, Claude, Gemini, DeepSeek, Grok) with prices as low as 10% of official rates. --- src/config/claudeDesktopProviderPresets.ts | 13 ++++++ src/config/claudeProviderPresets.ts | 15 +++++++ src/config/codexProviderPresets.ts | 15 +++++++ src/config/hermesProviderPresets.ts | 30 ++++++++++++++ src/config/openclawProviderPresets.ts | 48 ++++++++++++++++++++++ src/config/opencodeProviderPresets.ts | 30 ++++++++++++++ src/i18n/locales/en.json | 1 + src/i18n/locales/ja.json | 1 + src/i18n/locales/zh.json | 1 + src/icons/extracted/index.ts | 2 + src/icons/extracted/metadata.ts | 6 +++ 11 files changed, 162 insertions(+) diff --git a/src/config/claudeDesktopProviderPresets.ts b/src/config/claudeDesktopProviderPresets.ts index 993d06f35..f2a0506ff 100644 --- a/src/config/claudeDesktopProviderPresets.ts +++ b/src/config/claudeDesktopProviderPresets.ts @@ -542,6 +542,19 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ partnerPromotionKey: "claudecn", icon: "claudecn", }, + { + name: "RunAPI", + websiteUrl: "https://runapi.co", + apiKeyUrl: "https://runapi.co", + category: "aggregator", + baseUrl: "https://runapi.co", + mode: "direct", + apiFormat: "anthropic", + modelRoutes: passthroughRoutes(), + isPartner: true, + partnerPromotionKey: "runapi", + icon: "runapi", + }, { name: "Cubence", websiteUrl: "https://cubence.com", diff --git a/src/config/claudeProviderPresets.ts b/src/config/claudeProviderPresets.ts index 90079ecee..863b56a33 100644 --- a/src/config/claudeProviderPresets.ts +++ b/src/config/claudeProviderPresets.ts @@ -585,6 +585,21 @@ export const providerPresets: ProviderPreset[] = [ partnerPromotionKey: "claudecn", icon: "claudecn", }, + { + name: "RunAPI", + websiteUrl: "https://runapi.co", + apiKeyUrl: "https://runapi.co", + settingsConfig: { + env: { + ANTHROPIC_BASE_URL: "https://runapi.co", + ANTHROPIC_AUTH_TOKEN: "", + }, + }, + category: "aggregator", + isPartner: true, + partnerPromotionKey: "runapi", + icon: "runapi", + }, { name: "Cubence", websiteUrl: "https://cubence.com", diff --git a/src/config/codexProviderPresets.ts b/src/config/codexProviderPresets.ts index 232f88f15..5b26a7a52 100644 --- a/src/config/codexProviderPresets.ts +++ b/src/config/codexProviderPresets.ts @@ -201,6 +201,21 @@ requires_openai_auth = true`, partnerPromotionKey: "claudecn", icon: "claudecn", }, + { + name: "RunAPI", + websiteUrl: "https://runapi.co", + apiKeyUrl: "https://runapi.co", + category: "aggregator", + auth: generateThirdPartyAuth(""), + config: generateThirdPartyConfig( + "runapi", + "https://runapi.co/v1", + "gpt-5.5", + ), + isPartner: true, + partnerPromotionKey: "runapi", + icon: "runapi", + }, { name: "Cubence", websiteUrl: "https://cubence.com", diff --git a/src/config/hermesProviderPresets.ts b/src/config/hermesProviderPresets.ts index 366e79887..d1f20194f 100644 --- a/src/config/hermesProviderPresets.ts +++ b/src/config/hermesProviderPresets.ts @@ -736,6 +736,36 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ model: { default: "claude-sonnet-4-6", provider: "claudecn" }, }, }, + { + name: "RunAPI", + websiteUrl: "https://runapi.co", + apiKeyUrl: "https://runapi.co", + settingsConfig: { + name: "runapi", + base_url: "https://runapi.co", + api_key: "", + api_mode: "anthropic_messages", + models: [ + { id: "claude-opus-4-7", name: "Claude Opus 4.7" }, + { id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6" }, + { id: "claude-haiku-4-5", name: "Claude Haiku 4.5" }, + ], + }, + category: "aggregator", + isPartner: true, + partnerPromotionKey: "runapi", + icon: "runapi", + templateValues: { + apiKey: { + label: "API Key", + placeholder: "", + editorValue: "", + }, + }, + suggestedDefaults: { + model: { default: "claude-sonnet-4-6", provider: "runapi" }, + }, + }, { name: "AIGoCode", websiteUrl: "https://aigocode.com", diff --git a/src/config/openclawProviderPresets.ts b/src/config/openclawProviderPresets.ts index 55bc5ddc9..f3d04a8bd 100644 --- a/src/config/openclawProviderPresets.ts +++ b/src/config/openclawProviderPresets.ts @@ -822,6 +822,54 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, }, }, + { + name: "RunAPI", + websiteUrl: "https://runapi.co", + apiKeyUrl: "https://runapi.co", + settingsConfig: { + baseUrl: "https://runapi.co", + apiKey: "", + api: "anthropic-messages", + models: [ + { + id: "claude-opus-4-7", + name: "Claude Opus 4.7", + contextWindow: 1000000, + }, + { + id: "claude-sonnet-4-6", + name: "Claude Sonnet 4.6", + contextWindow: 1000000, + }, + { + id: "claude-haiku-4-5", + name: "Claude Haiku 4.5", + contextWindow: 200000, + }, + ], + }, + category: "aggregator", + isPartner: true, + partnerPromotionKey: "runapi", + icon: "runapi", + templateValues: { + apiKey: { + label: "API Key", + placeholder: "", + editorValue: "", + }, + }, + suggestedDefaults: { + model: { + primary: "runapi/claude-sonnet-4-6", + }, + modelCatalog: { + "runapi/claude-opus-4-7": { alias: "Opus" }, + "runapi/claude-sonnet-4-6": { alias: "Sonnet" }, + "runapi/claude-haiku-4-5": { alias: "Haiku" }, + }, + }, + }, { name: "OpenRouter", websiteUrl: "https://openrouter.ai", diff --git a/src/config/opencodeProviderPresets.ts b/src/config/opencodeProviderPresets.ts index a8446e8b8..dfe776bd2 100644 --- a/src/config/opencodeProviderPresets.ts +++ b/src/config/opencodeProviderPresets.ts @@ -1240,6 +1240,36 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ }, }, }, + { + name: "RunAPI", + websiteUrl: "https://runapi.co", + apiKeyUrl: "https://runapi.co", + settingsConfig: { + npm: "@ai-sdk/anthropic", + name: "RunAPI", + options: { + baseURL: "https://runapi.co", + apiKey: "", + setCacheKey: true, + }, + models: { + "claude-sonnet-4-6": { name: "Claude Sonnet 4.6" }, + "claude-opus-4-7": { name: "Claude Opus 4.7" }, + "claude-haiku-4-5": { name: "Claude Haiku 4.5" }, + }, + }, + category: "aggregator", + isPartner: true, + partnerPromotionKey: "runapi", + icon: "runapi", + templateValues: { + apiKey: { + label: "API Key", + placeholder: "", + editorValue: "", + }, + }, + }, { name: "AICoding", websiteUrl: "https://aicoding.sh", diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index 925e6bef1..c004b1a02 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -838,6 +838,7 @@ "patewayai": "PatewayAI offers special benefits for CC Switch users. Register via this link to receive $3 credit.", "claudeapi": "ClaudeAPI offers special benefits for CC Switch users. Register via this link to claim test credits.", "claudecn": "ClaudeCN is an enterprise-grade AI gateway operated by a registered company, supporting enterprise procurement processes with corporate payments, contracts, and compliance guarantees.", + "runapi": "RunAPI offers special benefits for CC Switch users. Register via this link and contact customer support to claim ¥14 free credit.", "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!", diff --git a/src/i18n/locales/ja.json b/src/i18n/locales/ja.json index 881e61171..9b01aa5b6 100644 --- a/src/i18n/locales/ja.json +++ b/src/i18n/locales/ja.json @@ -838,6 +838,7 @@ "patewayai": "PatewayAI は CC Switch ユーザーに特別な特典を提供しています。このリンクから登録すると $3 のクレジットがもらえます。", "claudeapi": "ClaudeAPI は CC Switch ユーザーに特別な特典を提供しています。このリンクから登録するとテストクレジットを受け取ることができます。", "claudecn": "ClaudeCN は登録企業が運営するエンタープライズグレードの AI ゲートウェイプラットフォームで、企業調達プロセスをサポートし、法人支払い、契約、コンプライアンス保証を提供します。", + "runapi": "RunAPI は CC Switch ユーザーに特別な特典を提供しています。このリンクから登録しカスタマーサポートにご連絡いただくと、¥14 の無料クレジットを受け取ることができます。", "minimax_cn": "MiniMax Coding Plan 特別価格、Starter ¥9.9 から", "minimax_en": "MiniMax Coding Plan Black Friday、Starter が月額 $2(80% OFF)", "dmxapi": "Claude Code 専用モデル 66% OFF 実施中!", diff --git a/src/i18n/locales/zh.json b/src/i18n/locales/zh.json index 4bb94a146..acfe6937e 100644 --- a/src/i18n/locales/zh.json +++ b/src/i18n/locales/zh.json @@ -838,6 +838,7 @@ "patewayai": "PatewayAI 为 CC Switch 的用户提供了特别福利,通过此链接注册可以获得3美元额度。", "claudeapi": "ClaudeAPI 为 CC Switch 的用户提供了特别福利,通过此链接注册可以领取测试额度。", "claudecn": "ClaudeCN 是一家实体企业运营的企业级AI中转平台,支持企业采购流程,可对公打款、签约,服务合规有保障。", + "runapi": "RunAPI 为 CC Switch 的用户提供了特别福利,通过此链接注册并联系客服可领取 ¥14 免费额度。", "minimax_cn": "MiniMax Coding Plan 特惠,Starter 套餐 9.9 元起", "minimax_en": "MiniMax Coding Plan 黑五特惠,Starter 套餐现仅 $2/月(2折优惠!)", "dmxapi": "Claude Code 专属模型 3.4 折优惠进行中!", diff --git a/src/icons/extracted/index.ts b/src/icons/extracted/index.ts index 35a65b80d..7032b0810 100644 --- a/src/icons/extracted/index.ts +++ b/src/icons/extracted/index.ts @@ -8,6 +8,7 @@ import _hermes from "./hermes.png"; import _lemondata from "./lemondata.png"; import _pateway from "./pateway.jpg"; import _pipellm from "./pipellm.png"; +import _runapi from "./runapi.jpg"; import _shengsuanyun from "./shengsuanyun.svg?url"; export const icons: Record = { @@ -90,6 +91,7 @@ export const iconUrls: Record = { lemondata: _lemondata, pateway: _pateway, pipellm: _pipellm, + runapi: _runapi, shengsuanyun: _shengsuanyun, }; diff --git a/src/icons/extracted/metadata.ts b/src/icons/extracted/metadata.ts index 35a345e14..ba3a1045d 100644 --- a/src/icons/extracted/metadata.ts +++ b/src/icons/extracted/metadata.ts @@ -391,6 +391,12 @@ export const iconMetadata: Record = { keywords: ["pipellm", "pipe"], defaultColor: "currentColor", }, + runapi: { + name: "runapi", + displayName: "RunAPI", + category: "ai-provider", + keywords: ["runapi", "run", "aggregator", "gateway"], + }, eflowcode: { name: "eflowcode", displayName: "E-FlowCode",