mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-07-26 23:56:02 +08:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 934a2d0348 | |||
| bc7c82228b | |||
| b972f0a3bd |
@@ -16,7 +16,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v6
|
||||
@@ -62,7 +62,7 @@ jobs:
|
||||
os: [ubuntu-22.04, windows-latest, macos-latest]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Setup Rust
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
|
||||
@@ -41,7 +41,7 @@ jobs:
|
||||
id-token: write
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 1
|
||||
ref: ${{ github.event.pull_request.head.sha || github.sha }}
|
||||
|
||||
@@ -30,7 +30,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v6
|
||||
@@ -772,7 +772,7 @@ jobs:
|
||||
|
||||
- name: Checkout scripts
|
||||
if: steps.r2.outputs.configured == 'true'
|
||||
uses: actions/checkout@v7
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
sparse-checkout: scripts
|
||||
|
||||
|
||||
@@ -78,8 +78,8 @@ Register now via <a href="https://pateway.ai/?ch=etzpm8&aff=WB6M6F67#/">this lin
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td width="180"><a href="https://aicoding.sh/i/CCSWITCH"><img src="assets/partners/logos/aicoding.jpg" alt="AICoding" width="150"></a></td>
|
||||
<td>Thanks to AICoding.sh for sponsoring this project! AICoding.sh — Global AI Model API Relay Service at Unbeatable Prices! Claude Code at 19% of original price, GPT at just 1%! Trusted by hundreds of enterprises for cost-effective AI services. Supports Claude Code, GPT, Gemini and major domestic models, with enterprise-grade high concurrency, fast invoicing, and 24/7 dedicated technical support. CC Switch users who register via <a href="https://aicoding.sh/i/CCSWITCH">this link</a> get 10% off their first top-up!</td>
|
||||
<td width="180"><a href="https://www.shengsuanyun.com/?from=CH_4HHXMRYF"><img src="assets/partners/logos/shengsuanyun.png" alt="Shengsuanyun" width="150"></a></td>
|
||||
<td>Thanks to Shengsuanyun for sponsoring this project! Shengsuanyun is a super factory serving AI Native Teams — an industrial-grade AI task parallel execution platform. Its model marketplace aggregates Claude, ChatGPT, Gemini, and other domestic and international LLM and multimedia model capabilities with direct supply. Absolutely no reverse engineering or dilution — platform-wide model SLA availability reaches 99.7%, with <a href="https://watch.shengsuanyun.com/status/shengsuanyun">monitoring dashboards</a> showing green across the board. It also offers enterprise-grade custom gateways for fine-grained team cost and permission management, smart routing, security protection, and BYOK (Bring Your Own Key) hosting. The platform charges on a pay-per-use and tokens plan (coming soon) basis, with invoicing available. Register via <a href="https://www.shengsuanyun.com/?from=CH_4HHXMRYF">this link</a> as a new user to receive ¥10 in credits plus a 10% bonus on your first top-up.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
@@ -88,8 +88,8 @@ Register now via <a href="https://pateway.ai/?ch=etzpm8&aff=WB6M6F67#/">this lin
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td width="180"><a href="https://www.shengsuanyun.com/?from=CH_4HHXMRYF"><img src="assets/partners/logos/shengsuanyun.png" alt="Shengsuanyun" width="150"></a></td>
|
||||
<td>Thanks to Shengsuanyun for sponsoring this project! Shengsuanyun is a super factory serving AI Native Teams — an industrial-grade AI task parallel execution platform. Its model marketplace aggregates Claude, ChatGPT, Gemini, and other domestic and international LLM and multimedia model capabilities with direct supply. Absolutely no reverse engineering or dilution — platform-wide model SLA availability reaches 99.7%, with <a href="https://watch.shengsuanyun.com/status/shengsuanyun">monitoring dashboards</a> showing green across the board. It also offers enterprise-grade custom gateways for fine-grained team cost and permission management, smart routing, security protection, and BYOK (Bring Your Own Key) hosting. The platform charges on a pay-per-use and tokens plan (coming soon) basis, with invoicing available. Register via <a href="https://www.shengsuanyun.com/?from=CH_4HHXMRYF">this link</a> as a new user to receive ¥10 in credits plus a 10% bonus on your first top-up.</td>
|
||||
<td width="180"><a href="https://aicoding.sh/i/CCSWITCH"><img src="assets/partners/logos/aicoding.jpg" alt="AICoding" width="150"></a></td>
|
||||
<td>Thanks to AICoding.sh for sponsoring this project! AICoding.sh — Global AI Model API Relay Service at Unbeatable Prices! Claude Code at 19% of original price, GPT at just 1%! Trusted by hundreds of enterprises for cost-effective AI services. Supports Claude Code, GPT, Gemini and major domestic models, with enterprise-grade high concurrency, fast invoicing, and 24/7 dedicated technical support. CC Switch users who register via <a href="https://aicoding.sh/i/CCSWITCH">this link</a> get 10% off their first top-up!</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
@@ -87,6 +87,11 @@ Registrieren Sie sich jetzt über <a href="https://pateway.ai/?ch=etzpm8&aff=WB6
|
||||
<td>Danke an AIGoCode für die Unterstützung dieses Projekts! AIGoCode ist eine All-in-One-Plattform, die Claude Code, Codex und die neuesten Gemini-Modelle integriert und Ihnen stabile, effiziente und äußerst kostengünstige KI-Coding-Dienste bietet. Die Plattform stellt flexible Abonnementpläne bereit, birgt kein Risiko einer Kontosperrung, ermöglicht Direktzugriff ohne VPN und reagiert blitzschnell. AIGoCode hat ein besonderes Angebot für CC-Switch-Nutzer vorbereitet: Wenn Sie sich über <a href="https://aigocode.com/invite/CC-SWITCH">diesen Link</a> registrieren, erhalten Sie bei Ihrer ersten Aufladung zusätzliche 10 % Bonusguthaben!</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td width="180"><a href="https://aicoding.sh/i/CCSWITCH"><img src="assets/partners/logos/aicoding.jpg" alt="AICoding" width="150"></a></td>
|
||||
<td>Danke an AICoding.sh für die Unterstützung dieses Projekts! AICoding.sh — globaler AI-Modell-API-Relay-Dienst zu unschlagbaren Preisen! Claude Code für 19 % des Originalpreises, GPT für nur 1 %! Hunderte Unternehmen vertrauen auf diese kostengünstigen KI-Dienste. Unterstützt Claude Code, GPT, Gemini und führende chinesische Modelle — mit hoher Parallelität auf Unternehmensniveau, schneller Rechnungsstellung und persönlichem technischem Support rund um die Uhr. CC-Switch-Nutzer, die sich über <a href="https://aicoding.sh/i/CCSWITCH">diesen Link</a> registrieren, erhalten 10 % Rabatt auf ihre erste Aufladung!</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td width="180"><a href="https://subrouter.ai/register?aff=l3ri"><img src="assets/partners/logos/subrouter-banner.png" alt="SubRouter" width="150"></a></td>
|
||||
<td>Danke an SubRouter für die Unterstützung dieses Projekts! SubRouter ist ein Marktplatz und eine intelligente Routing-Plattform für Betreiber von KI-Diensten. Händler können eigene Betriebsseiten starten, Pakete veröffentlichen sowie Nutzer, Modelle und Preise verwalten, während Nutzer im Marktplatz Dienste entdecken und über eine einzige einheitliche API zuverlässige und effiziente Modellaufrufe nutzen. Registrieren Sie sich über <a href="https://subrouter.ai/register?aff=l3ri">diesen Link</a>!</td>
|
||||
|
||||
+4
-4
@@ -78,8 +78,8 @@ Claude Code / Codex / Gemini 公式チャンネルが最安で元価格の 38% /
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td width="180"><a href="https://aicoding.sh/i/CCSWITCH"><img src="assets/partners/logos/aicoding.jpg" alt="AICoding" width="150"></a></td>
|
||||
<td>AICoding.sh のご支援に感謝します!AICoding.sh —— グローバル AI モデル API 超お得な中継サービス!Claude Code 81% オフ、GPT 99% オフ!数百社の企業に高コストパフォーマンスの AI サービスを提供。Claude Code、GPT、Gemini および国内主要モデルに対応、エンタープライズ級の高同時接続、迅速な請求書発行、24 時間年中無休の専属テクニカルサポート。<a href="https://aicoding.sh/i/CCSWITCH">こちらのリンク</a>から登録した CC Switch ユーザーは、初回チャージ 10% オフ!</td>
|
||||
<td width="180"><a href="https://www.shengsuanyun.com/?from=CH_4HHXMRYF"><img src="assets/partners/logos/shengsuanyun.png" alt="Shengsuanyun" width="150"></a></td>
|
||||
<td>胜算雲(Shengsuanyun)のご支援に感謝します!胜算雲は AI ネイティブチーム向けのスーパーファクトリーであり、産業グレードの AI タスク並列実行プラットフォームです。モデルマーケットプレイスでは Claude、ChatGPT、Gemini をはじめとする国内外の LLM およびマルチメディアモデルの計算リソースを集約・直接提供。リバースエンジニアリングや品質低下は一切なく、プラットフォーム全体のモデル SLA 可用性は 99.7% に達し、<a href="https://watch.shengsuanyun.com/status/shengsuanyun">監視ダッシュボード</a>は常時グリーン表示です。さらにエンタープライズ向けカスタムゲートウェイを提供し、チームのきめ細かなコスト・権限管理、スマートルーティング、セキュリティ保護、BYOK(自社キー持ち込み)ホスティングを実現します。従量課金およびトークンプラン(近日公開)対応で、請求書発行にも対応。<a href="https://www.shengsuanyun.com/?from=CH_4HHXMRYF">このリンク</a>から新規登録すると 10 元分のクレジットと初回チャージ 10% ボーナスが付与されます。</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
@@ -88,8 +88,8 @@ Claude Code / Codex / Gemini 公式チャンネルが最安で元価格の 38% /
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td width="180"><a href="https://www.shengsuanyun.com/?from=CH_4HHXMRYF"><img src="assets/partners/logos/shengsuanyun.png" alt="Shengsuanyun" width="150"></a></td>
|
||||
<td>胜算雲(Shengsuanyun)のご支援に感謝します!胜算雲は AI ネイティブチーム向けのスーパーファクトリーであり、産業グレードの AI タスク並列実行プラットフォームです。モデルマーケットプレイスでは Claude、ChatGPT、Gemini をはじめとする国内外の LLM およびマルチメディアモデルの計算リソースを集約・直接提供。リバースエンジニアリングや品質低下は一切なく、プラットフォーム全体のモデル SLA 可用性は 99.7% に達し、<a href="https://watch.shengsuanyun.com/status/shengsuanyun">監視ダッシュボード</a>は常時グリーン表示です。さらにエンタープライズ向けカスタムゲートウェイを提供し、チームのきめ細かなコスト・権限管理、スマートルーティング、セキュリティ保護、BYOK(自社キー持ち込み)ホスティングを実現します。従量課金およびトークンプラン(近日公開)対応で、請求書発行にも対応。<a href="https://www.shengsuanyun.com/?from=CH_4HHXMRYF">このリンク</a>から新規登録すると 10 元分のクレジットと初回チャージ 10% ボーナスが付与されます。</td>
|
||||
<td width="180"><a href="https://aicoding.sh/i/CCSWITCH"><img src="assets/partners/logos/aicoding.jpg" alt="AICoding" width="150"></a></td>
|
||||
<td>AICoding.sh のご支援に感謝します!AICoding.sh —— グローバル AI モデル API 超お得な中継サービス!Claude Code 81% オフ、GPT 99% オフ!数百社の企業に高コストパフォーマンスの AI サービスを提供。Claude Code、GPT、Gemini および国内主要モデルに対応、エンタープライズ級の高同時接続、迅速な請求書発行、24 時間年中無休の専属テクニカルサポート。<a href="https://aicoding.sh/i/CCSWITCH">こちらのリンク</a>から登録した CC Switch ユーザーは、初回チャージ 10% オフ!</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
+4
-4
@@ -78,8 +78,8 @@ Claude Code / Codex / Gemini 官方渠道低至 3.8 / 0.2 / 0.9 折,充值更
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td width="180"><a href="https://aicoding.sh/i/CCSWITCH"><img src="assets/partners/logos/aicoding.jpg" alt="AICoding" width="150"></a></td>
|
||||
<td>感谢 AICoding.sh 赞助了本项目!AICoding.sh —— 全球大模型 API 超值中转服务!Claude Code 1.9 折,GPT 0.1 折,已为数百家企业提供高性价比 AI 服务。支持 Claude Code、GPT、Gemini 及国内主流模型,企业级高并发、极速开票、7×24 专属技术支持,通过<a href="https://aicoding.sh/i/CCSWITCH">此链接</a> 注册的 CC Switch 用户,首充可享受九折优惠!</td>
|
||||
<td width="180"><a href="https://www.shengsuanyun.com/?from=CH_4HHXMRYF"><img src="assets/partners/logos/shengsuanyun.png" alt="Shengsuanyun" width="150"></a></td>
|
||||
<td>感谢胜算云赞助了本项目!胜算云是专为AI Native Teams服务的超级工厂,工业级AI任务并行执行平台,模型商城集采直供聚合接入了Claude、Chatgpt、Gemini等海内外LLM及图片视频多媒体模型算力,绝无逆向掺水、全站模型SLA可用性高达99.7%、<a href="https://watch.shengsuanyun.com/status/shengsuanyun">监测接口</a>日常全绿。更有企业级专属定制网关,实现团队精细化成本与权限管控,智能路由+安全防护+BYOK企业自带密钥托管。平台按量及tokens plan(即将上线)计费,可开票,使用<a href="https://www.shengsuanyun.com/?from=CH_4HHXMRYF">此链接</a>注册新用户可获10元模力及首充10%赠送。</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
@@ -88,8 +88,8 @@ Claude Code / Codex / Gemini 官方渠道低至 3.8 / 0.2 / 0.9 折,充值更
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td width="180"><a href="https://www.shengsuanyun.com/?from=CH_4HHXMRYF"><img src="assets/partners/logos/shengsuanyun.png" alt="Shengsuanyun" width="150"></a></td>
|
||||
<td>感谢胜算云赞助了本项目!胜算云是专为AI Native Teams服务的超级工厂,工业级AI任务并行执行平台,模型商城集采直供聚合接入了Claude、Chatgpt、Gemini等海内外LLM及图片视频多媒体模型算力,绝无逆向掺水、全站模型SLA可用性高达99.7%、<a href="https://watch.shengsuanyun.com/status/shengsuanyun">监测接口</a>日常全绿。更有企业级专属定制网关,实现团队精细化成本与权限管控,智能路由+安全防护+BYOK企业自带密钥托管。平台按量及tokens plan(即将上线)计费,可开票,使用<a href="https://www.shengsuanyun.com/?from=CH_4HHXMRYF">此链接</a>注册新用户可获10元模力及首充10%赠送。</td>
|
||||
<td width="180"><a href="https://aicoding.sh/i/CCSWITCH"><img src="assets/partners/logos/aicoding.jpg" alt="AICoding" width="150"></a></td>
|
||||
<td>感谢 AICoding.sh 赞助了本项目!AICoding.sh —— 全球大模型 API 超值中转服务!Claude Code 1.9 折,GPT 0.1 折,已为数百家企业提供高性价比 AI 服务。支持 Claude Code、GPT、Gemini 及国内主流模型,企业级高并发、极速开票、7×24 专属技术支持,通过<a href="https://aicoding.sh/i/CCSWITCH">此链接</a> 注册的 CC Switch 用户,首充可享受九折优惠!</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
@@ -32,8 +32,8 @@ pub const ANTHROPIC_CLAUDE_ROUTE_PREFIX: &str = "anthropic/claude-";
|
||||
/// Claude Desktop schema 不接受此后缀,import 边界翻译为 `supports1m` 字段。
|
||||
pub const ONE_M_CONTEXT_MARKER: &str = "[1m]";
|
||||
|
||||
const CURRENT_OPUS_ROUTE_ID: &str = "claude-opus-4-8";
|
||||
const LEGACY_OPUS_ROUTE_ID: &str = "claude-opus-4-7";
|
||||
const CURRENT_OPUS_ROUTE_ID: &str = "claude-opus-5";
|
||||
const LEGACY_OPUS_ROUTE_ID: &str = "claude-opus-4-8";
|
||||
|
||||
#[derive(Debug, Clone, Copy, Serialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
@@ -1989,7 +1989,7 @@ mod tests {
|
||||
.iter()
|
||||
.find(|route| route.upstream_model == "deepseek-v4-pro")
|
||||
.expect("repaired route");
|
||||
assert_eq!(repaired.route_id, "claude-opus-4-8");
|
||||
assert_eq!(repaired.route_id, "claude-opus-5");
|
||||
assert_eq!(repaired.label_override.as_deref(), Some("deepseek-v4-pro"));
|
||||
assert!(repaired.supports_1m);
|
||||
let repaired_old = routes
|
||||
|
||||
@@ -1098,7 +1098,7 @@ mod import_claude_desktop_tests {
|
||||
let routes = suggested_claude_desktop_routes(&p).expect("routes built");
|
||||
assert_eq!(routes.len(), 3);
|
||||
assert_eq!(routes.get("claude-sonnet-5").unwrap().model, "GLM-4.6");
|
||||
assert_eq!(routes.get("claude-opus-4-8").unwrap().model, "GLM-4-Air");
|
||||
assert_eq!(routes.get("claude-opus-5").unwrap().model, "GLM-4-Air");
|
||||
assert_eq!(routes.get("claude-haiku-4-5").unwrap().model, "GLM-4-Flash");
|
||||
assert_eq!(
|
||||
routes
|
||||
|
||||
@@ -1855,6 +1855,15 @@ impl Database {
|
||||
("gpt-4.1", "GPT-4.1", "2", "8", "0.50", "0"),
|
||||
("gpt-4.1-mini", "GPT-4.1 Mini", "0.40", "1.60", "0.10", "0"),
|
||||
("gpt-4.1-nano", "GPT-4.1 Nano", "0.10", "0.40", "0.025", "0"),
|
||||
// Gemini 3.6 系列
|
||||
(
|
||||
"gemini-3.6-flash",
|
||||
"Gemini 3.6 Flash",
|
||||
"1.50",
|
||||
"7.50",
|
||||
"0.15",
|
||||
"0",
|
||||
),
|
||||
// Gemini 3.5 系列
|
||||
(
|
||||
"gemini-3.5-flash",
|
||||
|
||||
@@ -135,7 +135,7 @@ export const GeminiCommonConfigModal: React.FC<
|
||||
value={draftValue}
|
||||
onChange={setDraftValue}
|
||||
placeholder={`{
|
||||
"GEMINI_MODEL": "gemini-3.5-flash"
|
||||
"GEMINI_MODEL": "gemini-3.6-flash"
|
||||
}`}
|
||||
darkMode={isDarkMode}
|
||||
rows={16}
|
||||
|
||||
@@ -97,7 +97,7 @@ export const GeminiEnvSection: React.FC<GeminiEnvSectionProps> = ({
|
||||
onChange={handleChange}
|
||||
placeholder={`GOOGLE_GEMINI_BASE_URL=https://your-api-endpoint.com/
|
||||
GEMINI_API_KEY=sk-your-api-key-here
|
||||
GEMINI_MODEL=gemini-3.5-flash`}
|
||||
GEMINI_MODEL=gemini-3.6-flash`}
|
||||
darkMode={isDarkMode}
|
||||
rows={6}
|
||||
showValidation={false}
|
||||
|
||||
@@ -185,7 +185,7 @@ export function GeminiFormFields({
|
||||
id="gemini-model"
|
||||
value={model}
|
||||
onChange={onModelChange}
|
||||
placeholder="gemini-3.5-flash"
|
||||
placeholder="gemini-3.6-flash"
|
||||
fetchedModels={fetchedModels}
|
||||
isLoading={isFetchingModels}
|
||||
/>
|
||||
|
||||
@@ -417,7 +417,7 @@ export function HermesFormFields({
|
||||
handleModelChange(index, "id", e.target.value)
|
||||
}
|
||||
placeholder={t("hermes.form.modelIdPlaceholder", {
|
||||
defaultValue: "anthropic/claude-opus-4-8",
|
||||
defaultValue: "anthropic/claude-opus-5",
|
||||
})}
|
||||
className="flex-1"
|
||||
/>
|
||||
@@ -473,7 +473,7 @@ export function HermesFormFields({
|
||||
handleModelChange(index, "name", e.target.value)
|
||||
}
|
||||
placeholder={t("hermes.form.modelNamePlaceholder", {
|
||||
defaultValue: "Claude Opus 4.8",
|
||||
defaultValue: "Claude Opus 5",
|
||||
})}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -24,7 +24,7 @@ export const GEMINI_DEFAULT_CONFIG = JSON.stringify(
|
||||
env: {
|
||||
GOOGLE_GEMINI_BASE_URL: "",
|
||||
GEMINI_API_KEY: "",
|
||||
GEMINI_MODEL: "gemini-3.5-flash",
|
||||
GEMINI_MODEL: "gemini-3.6-flash",
|
||||
},
|
||||
},
|
||||
null,
|
||||
|
||||
@@ -148,7 +148,7 @@ export function UniversalProviderFormModal({
|
||||
// 计算 Codex 配置 JSON 预览
|
||||
const codexConfigJson = useMemo(() => {
|
||||
if (!codexEnabled) return null;
|
||||
const model = models.codex?.model || "gpt-5.5";
|
||||
const model = models.codex?.model || "gpt-5.6-sol";
|
||||
const reasoningEffort = models.codex?.reasoningEffort || "high";
|
||||
// 确保 base_url 以 /v1 结尾(Codex 使用 OpenAI 兼容 API)
|
||||
const codexBaseUrl = baseUrl.endsWith("/v1")
|
||||
@@ -594,7 +594,7 @@ requires_openai_auth = true`;
|
||||
onChange={(e) =>
|
||||
updateModel("codex", "model", e.target.value)
|
||||
}
|
||||
placeholder="gpt-5.5"
|
||||
placeholder="gpt-5.6-sol"
|
||||
/>
|
||||
</div>
|
||||
<div className="space-y-1">
|
||||
|
||||
@@ -33,7 +33,7 @@ export interface ClaudeDesktopRoutePreset {
|
||||
*/
|
||||
export const CLAUDE_DESKTOP_ROLE_ROUTE_IDS = {
|
||||
sonnet: "claude-sonnet-5",
|
||||
opus: "claude-opus-4-8",
|
||||
opus: "claude-opus-5",
|
||||
fable: "claude-fable-5",
|
||||
haiku: "claude-haiku-4-5",
|
||||
} as const;
|
||||
@@ -295,19 +295,22 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [
|
||||
icon: "unity2",
|
||||
},
|
||||
{
|
||||
name: "AICoding",
|
||||
websiteUrl: "https://aicoding.sh",
|
||||
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
|
||||
category: "third_party",
|
||||
baseUrl: "https://api.aicoding.sh",
|
||||
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: passthroughRoutes(),
|
||||
endpointCandidates: ["https://api.aicoding.sh"],
|
||||
modelRoutes: mappedRoutes(
|
||||
"anthropic/claude-sonnet-5",
|
||||
"anthropic/claude-opus-5",
|
||||
"anthropic/claude-haiku-4.5",
|
||||
),
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "aicoding",
|
||||
icon: "aicoding",
|
||||
iconColor: "#000000",
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
},
|
||||
{
|
||||
name: "AIGoCode",
|
||||
@@ -325,22 +328,19 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [
|
||||
iconColor: "#5B7FFF",
|
||||
},
|
||||
{
|
||||
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",
|
||||
name: "AICoding",
|
||||
websiteUrl: "https://aicoding.sh",
|
||||
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
|
||||
category: "third_party",
|
||||
baseUrl: "https://api.aicoding.sh",
|
||||
mode: "direct",
|
||||
apiFormat: "anthropic",
|
||||
modelRoutes: mappedRoutes(
|
||||
"anthropic/claude-sonnet-5",
|
||||
"anthropic/claude-opus-4.8",
|
||||
"anthropic/claude-haiku-4.5",
|
||||
),
|
||||
modelRoutes: passthroughRoutes(),
|
||||
endpointCandidates: ["https://api.aicoding.sh"],
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
partnerPromotionKey: "aicoding",
|
||||
icon: "aicoding",
|
||||
iconColor: "#000000",
|
||||
},
|
||||
{
|
||||
name: "SubRouter",
|
||||
@@ -767,9 +767,9 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [
|
||||
mode: "proxy",
|
||||
apiFormat: "gemini_native",
|
||||
modelRoutes: brandedRoutes(
|
||||
"gemini-3.5-flash",
|
||||
"gemini-3.5-flash",
|
||||
"gemini-3.5-flash",
|
||||
"gemini-3.6-flash",
|
||||
"gemini-3.6-flash",
|
||||
"gemini-3.6-flash",
|
||||
),
|
||||
endpointCandidates: ["https://generativelanguage.googleapis.com"],
|
||||
icon: "gemini",
|
||||
@@ -801,7 +801,7 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [
|
||||
apiFormat: "openai_responses",
|
||||
providerType: "codex_oauth",
|
||||
requiresOAuth: true,
|
||||
modelRoutes: brandedRoutes("gpt-5.6", "gpt-5.6", "gpt-5.6-luna"),
|
||||
modelRoutes: brandedRoutes("gpt-5.6-sol", "gpt-5.6-sol", "gpt-5.6-luna"),
|
||||
icon: "openai",
|
||||
iconColor: "#000000",
|
||||
},
|
||||
@@ -1043,7 +1043,7 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [
|
||||
apiFormat: "anthropic",
|
||||
modelRoutes: mappedRoutes(
|
||||
"anthropic/claude-sonnet-5",
|
||||
"anthropic/claude-opus-4.8",
|
||||
"anthropic/claude-opus-5",
|
||||
"anthropic/claude-haiku-4.5",
|
||||
),
|
||||
endpointCandidates: ["https://open.cherryin.net"],
|
||||
@@ -1083,7 +1083,7 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [
|
||||
apiFormat: "anthropic",
|
||||
modelRoutes: mappedRoutes(
|
||||
"anthropic/claude-sonnet-5",
|
||||
"anthropic/claude-opus-4.8",
|
||||
"anthropic/claude-opus-5",
|
||||
"anthropic/claude-haiku-4.5",
|
||||
true,
|
||||
),
|
||||
@@ -1100,7 +1100,7 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [
|
||||
apiFormat: "anthropic",
|
||||
modelRoutes: mappedRoutes(
|
||||
"anthropic/claude-sonnet-5",
|
||||
"anthropic/claude-opus-4.8",
|
||||
"anthropic/claude-opus-5",
|
||||
"anthropic/claude-haiku-4.5",
|
||||
true,
|
||||
),
|
||||
|
||||
@@ -265,21 +265,24 @@ export const providerPresets: ProviderPreset[] = [
|
||||
icon: "unity2",
|
||||
},
|
||||
{
|
||||
name: "AICoding",
|
||||
websiteUrl: "https://aicoding.sh",
|
||||
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
|
||||
name: "Shengsuanyun",
|
||||
nameKey: "providerForm.presets.shengsuanyun",
|
||||
websiteUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
apiKeyUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
settingsConfig: {
|
||||
env: {
|
||||
ANTHROPIC_BASE_URL: "https://api.aicoding.sh",
|
||||
ANTHROPIC_BASE_URL: "https://router.shengsuanyun.com/api",
|
||||
ANTHROPIC_AUTH_TOKEN: "",
|
||||
ANTHROPIC_MODEL: "anthropic/claude-sonnet-5",
|
||||
ANTHROPIC_DEFAULT_HAIKU_MODEL: "anthropic/claude-haiku-4.5",
|
||||
ANTHROPIC_DEFAULT_SONNET_MODEL: "anthropic/claude-sonnet-5",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "anthropic/claude-opus-5",
|
||||
},
|
||||
},
|
||||
endpointCandidates: ["https://api.aicoding.sh"],
|
||||
category: "third_party",
|
||||
isPartner: true, // 合作伙伴
|
||||
partnerPromotionKey: "aicoding", // 促销信息 i18n key
|
||||
icon: "aicoding",
|
||||
iconColor: "#000000",
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
},
|
||||
{
|
||||
name: "AIGoCode",
|
||||
@@ -300,24 +303,21 @@ export const providerPresets: ProviderPreset[] = [
|
||||
iconColor: "#5B7FFF",
|
||||
},
|
||||
{
|
||||
name: "Shengsuanyun",
|
||||
nameKey: "providerForm.presets.shengsuanyun",
|
||||
websiteUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
apiKeyUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
name: "AICoding",
|
||||
websiteUrl: "https://aicoding.sh",
|
||||
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
|
||||
settingsConfig: {
|
||||
env: {
|
||||
ANTHROPIC_BASE_URL: "https://router.shengsuanyun.com/api",
|
||||
ANTHROPIC_BASE_URL: "https://api.aicoding.sh",
|
||||
ANTHROPIC_AUTH_TOKEN: "",
|
||||
ANTHROPIC_MODEL: "anthropic/claude-sonnet-5",
|
||||
ANTHROPIC_DEFAULT_HAIKU_MODEL: "anthropic/claude-haiku-4.5",
|
||||
ANTHROPIC_DEFAULT_SONNET_MODEL: "anthropic/claude-sonnet-5",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "anthropic/claude-opus-4.8",
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
endpointCandidates: ["https://api.aicoding.sh"],
|
||||
category: "third_party",
|
||||
isPartner: true, // 合作伙伴
|
||||
partnerPromotionKey: "aicoding", // 促销信息 i18n key
|
||||
icon: "aicoding",
|
||||
iconColor: "#000000",
|
||||
},
|
||||
{
|
||||
name: "SubRouter",
|
||||
@@ -808,10 +808,10 @@ export const providerPresets: ProviderPreset[] = [
|
||||
env: {
|
||||
ANTHROPIC_BASE_URL: "https://generativelanguage.googleapis.com",
|
||||
ANTHROPIC_API_KEY: "",
|
||||
ANTHROPIC_MODEL: "gemini-3.5-flash",
|
||||
ANTHROPIC_DEFAULT_HAIKU_MODEL: "gemini-3.5-flash",
|
||||
ANTHROPIC_DEFAULT_SONNET_MODEL: "gemini-3.5-flash",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "gemini-3.5-flash",
|
||||
ANTHROPIC_MODEL: "gemini-3.6-flash",
|
||||
ANTHROPIC_DEFAULT_HAIKU_MODEL: "gemini-3.6-flash",
|
||||
ANTHROPIC_DEFAULT_SONNET_MODEL: "gemini-3.6-flash",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "gemini-3.6-flash",
|
||||
},
|
||||
},
|
||||
category: "third_party",
|
||||
@@ -1139,7 +1139,7 @@ export const providerPresets: ProviderPreset[] = [
|
||||
ANTHROPIC_MODEL: "anthropic/claude-sonnet-5",
|
||||
ANTHROPIC_DEFAULT_HAIKU_MODEL: "anthropic/claude-haiku-4.5",
|
||||
ANTHROPIC_DEFAULT_SONNET_MODEL: "anthropic/claude-sonnet-5",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "anthropic/claude-opus-4.8",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "anthropic/claude-opus-5",
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
@@ -1192,7 +1192,7 @@ export const providerPresets: ProviderPreset[] = [
|
||||
ANTHROPIC_MODEL: "anthropic/claude-sonnet-5",
|
||||
ANTHROPIC_DEFAULT_HAIKU_MODEL: "anthropic/claude-haiku-4.5",
|
||||
ANTHROPIC_DEFAULT_SONNET_MODEL: "anthropic/claude-sonnet-5",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "anthropic/claude-opus-4.8",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "anthropic/claude-opus-5",
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
@@ -1211,7 +1211,7 @@ export const providerPresets: ProviderPreset[] = [
|
||||
ANTHROPIC_MODEL: "anthropic/claude-sonnet-5",
|
||||
ANTHROPIC_DEFAULT_HAIKU_MODEL: "anthropic/claude-haiku-4.5",
|
||||
ANTHROPIC_DEFAULT_SONNET_MODEL: "anthropic/claude-sonnet-5",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "anthropic/claude-opus-4.8",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "anthropic/claude-opus-5",
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
@@ -1263,12 +1263,12 @@ export const providerPresets: ProviderPreset[] = [
|
||||
// base_url 由代理后端强制重写为 chatgpt.com/backend-api/codex
|
||||
// 用户无需配置
|
||||
ANTHROPIC_BASE_URL: "https://chatgpt.com/backend-api/codex",
|
||||
ANTHROPIC_MODEL: "gpt-5.6",
|
||||
ANTHROPIC_MODEL: "gpt-5.6-sol",
|
||||
ANTHROPIC_DEFAULT_HAIKU_MODEL: "gpt-5.6-luna",
|
||||
ANTHROPIC_DEFAULT_SONNET_MODEL: "gpt-5.6",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "gpt-5.6",
|
||||
ANTHROPIC_DEFAULT_SONNET_MODEL: "gpt-5.6-sol",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "gpt-5.6-sol",
|
||||
// Claude Code falls back to a 200K context window for unrecognized
|
||||
// non-Claude model ids. The ChatGPT Codex backend catalogs gpt-5.6
|
||||
// non-Claude model ids. The ChatGPT Codex backend catalogs gpt-5.6-sol
|
||||
// at a 372K window with a ~353K effective budget (openai/codex#31860),
|
||||
// not the 1.05M API window. Pin both knobs: the compact window equals
|
||||
// min(model window, value), so matching the window is behavior-neutral
|
||||
@@ -1332,10 +1332,10 @@ export const providerPresets: ProviderPreset[] = [
|
||||
env: {
|
||||
ANTHROPIC_BASE_URL: "https://cc-api.pipellm.ai",
|
||||
ANTHROPIC_AUTH_TOKEN: "",
|
||||
ANTHROPIC_MODEL: "claude-opus-4-8",
|
||||
ANTHROPIC_MODEL: "claude-opus-5",
|
||||
ANTHROPIC_DEFAULT_HAIKU_MODEL: "claude-haiku-4-5-20251001",
|
||||
ANTHROPIC_DEFAULT_SONNET_MODEL: "claude-sonnet-5",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "claude-opus-4-8",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "claude-opus-5",
|
||||
},
|
||||
includeCoAuthoredBy: false,
|
||||
},
|
||||
@@ -1388,11 +1388,11 @@ export const providerPresets: ProviderPreset[] = [
|
||||
AWS_ACCESS_KEY_ID: "${AWS_ACCESS_KEY_ID}",
|
||||
AWS_SECRET_ACCESS_KEY: "${AWS_SECRET_ACCESS_KEY}",
|
||||
AWS_REGION: "${AWS_REGION}",
|
||||
ANTHROPIC_MODEL: "global.anthropic.claude-opus-4-8",
|
||||
ANTHROPIC_MODEL: "global.anthropic.claude-opus-5",
|
||||
ANTHROPIC_DEFAULT_HAIKU_MODEL:
|
||||
"global.anthropic.claude-haiku-4-5-20251001-v1:0",
|
||||
ANTHROPIC_DEFAULT_SONNET_MODEL: "global.anthropic.claude-sonnet-5",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "global.anthropic.claude-opus-4-8",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "global.anthropic.claude-opus-5",
|
||||
CLAUDE_CODE_USE_BEDROCK: "1",
|
||||
},
|
||||
},
|
||||
@@ -1426,11 +1426,11 @@ export const providerPresets: ProviderPreset[] = [
|
||||
ANTHROPIC_BASE_URL:
|
||||
"https://bedrock-runtime.${AWS_REGION}.amazonaws.com",
|
||||
AWS_REGION: "${AWS_REGION}",
|
||||
ANTHROPIC_MODEL: "global.anthropic.claude-opus-4-8",
|
||||
ANTHROPIC_MODEL: "global.anthropic.claude-opus-5",
|
||||
ANTHROPIC_DEFAULT_HAIKU_MODEL:
|
||||
"global.anthropic.claude-haiku-4-5-20251001-v1:0",
|
||||
ANTHROPIC_DEFAULT_SONNET_MODEL: "global.anthropic.claude-sonnet-5",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "global.anthropic.claude-opus-4-8",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "global.anthropic.claude-opus-5",
|
||||
CLAUDE_CODE_USE_BEDROCK: "1",
|
||||
},
|
||||
},
|
||||
|
||||
@@ -60,7 +60,7 @@ export function generateThirdPartyAuth(apiKey: string): Record<string, any> {
|
||||
export function generateThirdPartyConfig(
|
||||
providerName: string,
|
||||
baseUrl: string,
|
||||
modelName = "gpt-5.5",
|
||||
modelName = "gpt-5.6-sol",
|
||||
): string {
|
||||
const tomlString = (value: string) => JSON.stringify(value);
|
||||
|
||||
@@ -203,7 +203,7 @@ export const codexProviderPresets: CodexProviderPreset[] = [
|
||||
config: generateThirdPartyConfig(
|
||||
"packycode",
|
||||
"https://www.packyapi.ai/v1",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
endpointCandidates: ["https://www.packyapi.ai/v1"],
|
||||
isPartner: true, // 合作伙伴
|
||||
@@ -219,7 +219,7 @@ export const codexProviderPresets: CodexProviderPreset[] = [
|
||||
config: generateThirdPartyConfig(
|
||||
"zetaapi",
|
||||
"https://api.zetaapi.ai/v1",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
endpointCandidates: ["https://api.zetaapi.ai/v1"],
|
||||
isPartner: true,
|
||||
@@ -233,8 +233,8 @@ export const codexProviderPresets: CodexProviderPreset[] = [
|
||||
category: "third_party",
|
||||
auth: generateThirdPartyAuth(""),
|
||||
config: `model_provider = "custom"
|
||||
model = "gpt-5.5"
|
||||
review_model = "gpt-5.5"
|
||||
model = "gpt-5.6-sol"
|
||||
review_model = "gpt-5.6-sol"
|
||||
model_reasoning_effort = "high"
|
||||
disable_response_storage = true
|
||||
|
||||
@@ -257,7 +257,7 @@ requires_openai_auth = true`,
|
||||
config: generateThirdPartyConfig(
|
||||
"aicodemirror",
|
||||
"https://api.aicodemirror.com/api/codex/backend-api/codex",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
endpointCandidates: [
|
||||
"https://api.aicodemirror.com/api/codex/backend-api/codex",
|
||||
@@ -277,7 +277,7 @@ requires_openai_auth = true`,
|
||||
config: generateThirdPartyConfig(
|
||||
"patewayai",
|
||||
"https://api.pateway.ai/v1",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
endpointCandidates: ["https://api.pateway.ai/v1"],
|
||||
isPartner: true,
|
||||
@@ -294,7 +294,7 @@ requires_openai_auth = true`,
|
||||
config: generateThirdPartyConfig(
|
||||
"fenno",
|
||||
"https://api.fenno.ai",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
endpointCandidates: ["https://api.fenno.ai"],
|
||||
isPartner: true,
|
||||
@@ -310,7 +310,7 @@ requires_openai_auth = true`,
|
||||
config: generateThirdPartyConfig(
|
||||
"runapi",
|
||||
"https://runapi.co/v1",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "runapi",
|
||||
@@ -325,46 +325,13 @@ requires_openai_auth = true`,
|
||||
config: generateThirdPartyConfig(
|
||||
"unity2",
|
||||
"https://api.unity2.ai",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
endpointCandidates: ["https://api.unity2.ai"],
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "unity2",
|
||||
icon: "unity2",
|
||||
},
|
||||
{
|
||||
name: "AICoding",
|
||||
websiteUrl: "https://aicoding.sh",
|
||||
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
|
||||
auth: generateThirdPartyAuth(""),
|
||||
config: generateThirdPartyConfig(
|
||||
"aicoding",
|
||||
"https://api.aicoding.sh",
|
||||
"gpt-5.5",
|
||||
),
|
||||
endpointCandidates: ["https://api.aicoding.sh"],
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "aicoding",
|
||||
icon: "aicoding",
|
||||
iconColor: "#000000",
|
||||
},
|
||||
{
|
||||
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",
|
||||
"gpt-5.5",
|
||||
),
|
||||
endpointCandidates: ["https://api.aigocode.com"],
|
||||
isPartner: true, // 合作伙伴
|
||||
partnerPromotionKey: "aigocode", // 促销信息 i18n key
|
||||
icon: "aigocode",
|
||||
iconColor: "#5B7FFF",
|
||||
},
|
||||
{
|
||||
name: "Shengsuanyun",
|
||||
nameKey: "providerForm.presets.shengsuanyun",
|
||||
@@ -374,13 +341,46 @@ requires_openai_auth = true`,
|
||||
config: generateThirdPartyConfig(
|
||||
"shengsuanyun",
|
||||
"https://router.shengsuanyun.com/api/v1",
|
||||
"openai/gpt-5.5",
|
||||
"openai/gpt-5.6-sol",
|
||||
),
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
},
|
||||
{
|
||||
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",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
endpointCandidates: ["https://api.aigocode.com"],
|
||||
isPartner: true, // 合作伙伴
|
||||
partnerPromotionKey: "aigocode", // 促销信息 i18n key
|
||||
icon: "aigocode",
|
||||
iconColor: "#5B7FFF",
|
||||
},
|
||||
{
|
||||
name: "AICoding",
|
||||
websiteUrl: "https://aicoding.sh",
|
||||
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
|
||||
auth: generateThirdPartyAuth(""),
|
||||
config: generateThirdPartyConfig(
|
||||
"aicoding",
|
||||
"https://api.aicoding.sh",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
endpointCandidates: ["https://api.aicoding.sh"],
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "aicoding",
|
||||
icon: "aicoding",
|
||||
iconColor: "#000000",
|
||||
},
|
||||
{
|
||||
name: "SubRouter",
|
||||
websiteUrl: "https://subrouter.ai",
|
||||
@@ -390,7 +390,7 @@ requires_openai_auth = true`,
|
||||
config: generateThirdPartyConfig(
|
||||
"subrouter",
|
||||
"https://subrouter.ai/v1",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
endpointCandidates: ["https://subrouter.ai/v1"],
|
||||
isPartner: true,
|
||||
@@ -404,8 +404,8 @@ requires_openai_auth = true`,
|
||||
category: "third_party",
|
||||
auth: generateThirdPartyAuth(""),
|
||||
config: `model_provider = "custom"
|
||||
model = "gpt-5.5"
|
||||
review_model = "gpt-5.5"
|
||||
model = "gpt-5.6-sol"
|
||||
review_model = "gpt-5.6-sol"
|
||||
model_reasoning_effort = "high"
|
||||
disable_response_storage = true
|
||||
|
||||
@@ -429,7 +429,11 @@ requires_openai_auth = true`,
|
||||
apiKeyUrl: "https://code0.ai/agent/register/B2XHxGjGmRvqgznY",
|
||||
category: "aggregator",
|
||||
auth: generateThirdPartyAuth(""),
|
||||
config: generateThirdPartyConfig("code0", "https://code0.ai/v1", "gpt-5.5"),
|
||||
config: generateThirdPartyConfig(
|
||||
"code0",
|
||||
"https://code0.ai/v1",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
endpointCandidates: ["https://code0.ai/v1"],
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "code0",
|
||||
@@ -445,7 +449,7 @@ requires_openai_auth = true`,
|
||||
config: generateThirdPartyConfig(
|
||||
"teamorouter",
|
||||
"https://api.teamorouter.com/v1",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
endpointCandidates: ["https://api.teamorouter.com/v1"],
|
||||
isPartner: true,
|
||||
@@ -461,7 +465,7 @@ requires_openai_auth = true`,
|
||||
config: generateThirdPartyConfig(
|
||||
"claudecn",
|
||||
"https://claudecn.top/v1",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "claudecn",
|
||||
@@ -612,7 +616,7 @@ requires_openai_auth = true`,
|
||||
config: generateThirdPartyConfig(
|
||||
"nekocode",
|
||||
"https://nekocode.ai/v1",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
endpointCandidates: ["https://nekocode.ai/v1"],
|
||||
isPartner: true,
|
||||
@@ -657,7 +661,7 @@ requires_openai_auth = true`,
|
||||
config: generateThirdPartyConfig(
|
||||
"compshare",
|
||||
"https://api.modelverse.cn/v1",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
endpointCandidates: ["https://api.modelverse.cn/v1"],
|
||||
category: "aggregator",
|
||||
@@ -676,7 +680,7 @@ requires_openai_auth = true`,
|
||||
config: generateThirdPartyConfig(
|
||||
"compshare_coding",
|
||||
"https://cp.compshare.cn/v1",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
endpointCandidates: ["https://cp.compshare.cn/v1"],
|
||||
category: "aggregator",
|
||||
@@ -694,7 +698,7 @@ requires_openai_auth = true`,
|
||||
config: generateThirdPartyConfig(
|
||||
"ccsub",
|
||||
"https://www.ccsub.net/v1",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
endpointCandidates: ["https://www.ccsub.net/v1"],
|
||||
isPartner: true,
|
||||
@@ -709,7 +713,7 @@ requires_openai_auth = true`,
|
||||
config: generateThirdPartyConfig(
|
||||
"sssaicode",
|
||||
"https://node-hk.sssaicodeapi.com/api/v1",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
endpointCandidates: [
|
||||
"https://node-hk.sssaicodeapi.com/api/v1",
|
||||
@@ -730,7 +734,7 @@ requires_openai_auth = true`,
|
||||
config: generateThirdPartyConfig(
|
||||
"micu",
|
||||
"https://www.micuapi.ai/v1",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
endpointCandidates: ["https://www.micuapi.ai/v1"],
|
||||
category: "third_party",
|
||||
@@ -747,7 +751,7 @@ requires_openai_auth = true`,
|
||||
config: generateThirdPartyConfig(
|
||||
"rightcode",
|
||||
"https://www.rightapi.ai/codex/v1",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
@@ -763,7 +767,7 @@ requires_openai_auth = true`,
|
||||
config: generateThirdPartyConfig(
|
||||
"etok",
|
||||
"https://api.etok.ai/v1",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
endpointCandidates: ["https://api.etok.ai/v1"],
|
||||
category: "third_party",
|
||||
@@ -780,7 +784,7 @@ requires_openai_auth = true`,
|
||||
config: generateThirdPartyConfig(
|
||||
"cubence",
|
||||
"https://api.cubence.com/v1",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
endpointCandidates: [
|
||||
"https://api.cubence.com/v1",
|
||||
@@ -802,7 +806,7 @@ requires_openai_auth = true`,
|
||||
config: generateThirdPartyConfig(
|
||||
"crazyrouter",
|
||||
"https://cn.crazyrouter.com/v1",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
endpointCandidates: ["https://cn.crazyrouter.com/v1"],
|
||||
isPartner: true,
|
||||
@@ -818,7 +822,7 @@ requires_openai_auth = true`,
|
||||
config: generateThirdPartyConfig(
|
||||
"dmxapi",
|
||||
"https://www.dmxapi.cn/v1",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
endpointCandidates: ["https://www.dmxapi.cn/v1"],
|
||||
isPartner: true, // 合作伙伴
|
||||
@@ -834,7 +838,7 @@ requires_openai_auth = true`,
|
||||
config: generateThirdPartyConfig(
|
||||
"qiniu",
|
||||
"https://api.qnaigc.com/bypass/openai/v1",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
endpointCandidates: [
|
||||
"https://api.qnaigc.com/bypass/openai/v1",
|
||||
@@ -875,8 +879,8 @@ requires_openai_auth = true`,
|
||||
category: "third_party",
|
||||
auth: generateThirdPartyAuth(""),
|
||||
config: `model_provider = "custom"
|
||||
model = "gpt-5.5"
|
||||
review_model = "gpt-5.5"
|
||||
model = "gpt-5.6-sol"
|
||||
review_model = "gpt-5.6-sol"
|
||||
model_reasoning_effort = "high"
|
||||
disable_response_storage = true
|
||||
model_verbosity = "high"
|
||||
@@ -901,7 +905,7 @@ requires_openai_auth = true`,
|
||||
config: generateThirdPartyConfig(
|
||||
"amux",
|
||||
"https://api.amux.ai/v1",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
endpointCandidates: ["https://api.amux.ai/v1"],
|
||||
icon: "amux",
|
||||
@@ -914,7 +918,7 @@ requires_openai_auth = true`,
|
||||
isOfficial: true,
|
||||
auth: generateThirdPartyAuth(""),
|
||||
config: `model_provider = "custom"
|
||||
model = "gpt-5.5"
|
||||
model = "gpt-5.6-sol"
|
||||
model_reasoning_effort = "high"
|
||||
disable_response_storage = true
|
||||
|
||||
@@ -1506,7 +1510,7 @@ requires_openai_auth = true`,
|
||||
config: generateThirdPartyConfig(
|
||||
"aihubmix",
|
||||
"https://aihubmix.com/v1",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
endpointCandidates: [
|
||||
"https://aihubmix.com/v1",
|
||||
@@ -1523,7 +1527,7 @@ requires_openai_auth = true`,
|
||||
config: generateThirdPartyConfig(
|
||||
"cherryin",
|
||||
"https://open.cherryin.net/v1",
|
||||
"openai/gpt-5.5",
|
||||
"openai/gpt-5.6-sol",
|
||||
),
|
||||
endpointCandidates: ["https://open.cherryin.net/v1"],
|
||||
category: "aggregator",
|
||||
@@ -1538,7 +1542,7 @@ requires_openai_auth = true`,
|
||||
config: generateThirdPartyConfig(
|
||||
"relaxycode",
|
||||
"https://www.relaxycode.com/v1",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
icon: "relaxcode",
|
||||
},
|
||||
@@ -1550,7 +1554,7 @@ requires_openai_auth = true`,
|
||||
OPENAI_API_KEY: "",
|
||||
},
|
||||
config: `model_provider = "custom"
|
||||
model = "gpt-5.5"
|
||||
model = "gpt-5.6-sol"
|
||||
model_reasoning_effort = "high"
|
||||
disable_response_storage = true
|
||||
personality = "pragmatic"
|
||||
@@ -1575,7 +1579,7 @@ model_auto_compact_token_limit = 9000000`,
|
||||
OPENAI_API_KEY: "",
|
||||
},
|
||||
config: `model_provider = "custom"
|
||||
model = "gpt-5.5"
|
||||
model = "gpt-5.6-sol"
|
||||
model_reasoning_effort = "medium"
|
||||
disable_response_storage = true
|
||||
|
||||
@@ -1596,7 +1600,7 @@ base_url = "https://cc-api.pipellm.ai/v1"`,
|
||||
config: generateThirdPartyConfig(
|
||||
"openrouter",
|
||||
"https://openrouter.ai/api/v1",
|
||||
"gpt-5.5",
|
||||
"gpt-5.6-sol",
|
||||
),
|
||||
category: "aggregator",
|
||||
icon: "openrouter",
|
||||
|
||||
@@ -14,7 +14,7 @@ export interface CodexTemplate {
|
||||
*/
|
||||
export function getCodexCustomTemplate(): CodexTemplate {
|
||||
const config = `model_provider = "custom"
|
||||
model = "gpt-5.6"
|
||||
model = "gpt-5.6-sol"
|
||||
model_reasoning_effort = "high"
|
||||
disable_response_storage = true
|
||||
|
||||
|
||||
@@ -59,11 +59,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
|
||||
settingsConfig: {
|
||||
env: {
|
||||
GOOGLE_GEMINI_BASE_URL: "https://www.packyapi.ai",
|
||||
GEMINI_MODEL: "gemini-3.5-flash",
|
||||
GEMINI_MODEL: "gemini-3.6-flash",
|
||||
},
|
||||
},
|
||||
baseURL: "https://www.packyapi.ai",
|
||||
model: "gemini-3.5-flash",
|
||||
model: "gemini-3.6-flash",
|
||||
description: "PackyCode",
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
@@ -79,11 +79,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
|
||||
env: {
|
||||
GOOGLE_GEMINI_BASE_URL: "https://apinebula.ai",
|
||||
GEMINI_API_KEY: "",
|
||||
GEMINI_MODEL: "gemini-3.5-flash",
|
||||
GEMINI_MODEL: "gemini-3.6-flash",
|
||||
},
|
||||
},
|
||||
baseURL: "https://apinebula.ai",
|
||||
model: "gemini-3.5-flash",
|
||||
model: "gemini-3.6-flash",
|
||||
description: "APINebula",
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
@@ -98,11 +98,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
|
||||
settingsConfig: {
|
||||
env: {
|
||||
GOOGLE_GEMINI_BASE_URL: "https://api.aicodemirror.com/api/gemini",
|
||||
GEMINI_MODEL: "gemini-3.5-flash",
|
||||
GEMINI_MODEL: "gemini-3.6-flash",
|
||||
},
|
||||
},
|
||||
baseURL: "https://api.aicodemirror.com/api/gemini",
|
||||
model: "gemini-3.5-flash",
|
||||
model: "gemini-3.6-flash",
|
||||
description: "AICodeMirror",
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
@@ -133,24 +133,23 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
|
||||
icon: "unity2",
|
||||
},
|
||||
{
|
||||
name: "AICoding",
|
||||
websiteUrl: "https://aicoding.sh",
|
||||
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
|
||||
name: "Shengsuanyun",
|
||||
nameKey: "providerForm.presets.shengsuanyun",
|
||||
websiteUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
apiKeyUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
settingsConfig: {
|
||||
env: {
|
||||
GOOGLE_GEMINI_BASE_URL: "https://api.aicoding.sh",
|
||||
GEMINI_MODEL: "gemini-3.5-flash",
|
||||
GOOGLE_GEMINI_BASE_URL: "https://router.shengsuanyun.com/api",
|
||||
GEMINI_MODEL: "google/gemini-3.6-flash",
|
||||
},
|
||||
},
|
||||
baseURL: "https://api.aicoding.sh",
|
||||
model: "gemini-3.5-flash",
|
||||
description: "AICoding",
|
||||
category: "third_party",
|
||||
baseURL: "https://router.shengsuanyun.com/api",
|
||||
model: "google/gemini-3.6-flash",
|
||||
description: "Shengsuanyun",
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "aicoding",
|
||||
endpointCandidates: ["https://api.aicoding.sh"],
|
||||
icon: "aicoding",
|
||||
iconColor: "#000000",
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
},
|
||||
{
|
||||
name: "AIGoCode",
|
||||
@@ -159,11 +158,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
|
||||
settingsConfig: {
|
||||
env: {
|
||||
GOOGLE_GEMINI_BASE_URL: "https://api.aigocode.com",
|
||||
GEMINI_MODEL: "gemini-3.5-flash",
|
||||
GEMINI_MODEL: "gemini-3.6-flash",
|
||||
},
|
||||
},
|
||||
baseURL: "https://api.aigocode.com",
|
||||
model: "gemini-3.5-flash",
|
||||
model: "gemini-3.6-flash",
|
||||
description: "AIGoCode",
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
@@ -173,23 +172,24 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
|
||||
iconColor: "#5B7FFF",
|
||||
},
|
||||
{
|
||||
name: "Shengsuanyun",
|
||||
nameKey: "providerForm.presets.shengsuanyun",
|
||||
websiteUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
apiKeyUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
name: "AICoding",
|
||||
websiteUrl: "https://aicoding.sh",
|
||||
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
|
||||
settingsConfig: {
|
||||
env: {
|
||||
GOOGLE_GEMINI_BASE_URL: "https://router.shengsuanyun.com/api",
|
||||
GEMINI_MODEL: "google/gemini-3.5-flash",
|
||||
GOOGLE_GEMINI_BASE_URL: "https://api.aicoding.sh",
|
||||
GEMINI_MODEL: "gemini-3.6-flash",
|
||||
},
|
||||
},
|
||||
baseURL: "https://router.shengsuanyun.com/api",
|
||||
model: "google/gemini-3.5-flash",
|
||||
description: "Shengsuanyun",
|
||||
category: "aggregator",
|
||||
baseURL: "https://api.aicoding.sh",
|
||||
model: "gemini-3.6-flash",
|
||||
description: "AICoding",
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
partnerPromotionKey: "aicoding",
|
||||
endpointCandidates: ["https://api.aicoding.sh"],
|
||||
icon: "aicoding",
|
||||
iconColor: "#000000",
|
||||
},
|
||||
{
|
||||
name: "SubRouter",
|
||||
@@ -198,11 +198,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
|
||||
settingsConfig: {
|
||||
env: {
|
||||
GOOGLE_GEMINI_BASE_URL: "https://subrouter.ai/v1beta",
|
||||
GEMINI_MODEL: "gemini-3.5-flash",
|
||||
GEMINI_MODEL: "gemini-3.6-flash",
|
||||
},
|
||||
},
|
||||
baseURL: "https://subrouter.ai/v1beta",
|
||||
model: "gemini-3.5-flash",
|
||||
model: "gemini-3.6-flash",
|
||||
description: "SubRouter",
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
@@ -218,11 +218,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
|
||||
env: {
|
||||
GOOGLE_GEMINI_BASE_URL: "https://api.apikey.fun",
|
||||
GEMINI_API_KEY: "",
|
||||
GEMINI_MODEL: "gemini-3.5-flash",
|
||||
GEMINI_MODEL: "gemini-3.6-flash",
|
||||
},
|
||||
},
|
||||
baseURL: "https://api.apikey.fun",
|
||||
model: "gemini-3.5-flash",
|
||||
model: "gemini-3.6-flash",
|
||||
description: "APIKEY.FUN",
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
@@ -255,11 +255,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
|
||||
settingsConfig: {
|
||||
env: {
|
||||
GOOGLE_GEMINI_BASE_URL: "https://node-hk.sssaicodeapi.com/api",
|
||||
GEMINI_MODEL: "gemini-3.5-flash",
|
||||
GEMINI_MODEL: "gemini-3.6-flash",
|
||||
},
|
||||
},
|
||||
baseURL: "https://node-hk.sssaicodeapi.com/api",
|
||||
model: "gemini-3.5-flash",
|
||||
model: "gemini-3.6-flash",
|
||||
description: "SSSAiCode",
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
@@ -279,11 +279,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
|
||||
settingsConfig: {
|
||||
env: {
|
||||
GOOGLE_GEMINI_BASE_URL: "https://api.etok.ai/v1beta",
|
||||
GEMINI_MODEL: "gemini-3.5-flash",
|
||||
GEMINI_MODEL: "gemini-3.6-flash",
|
||||
},
|
||||
},
|
||||
baseURL: "https://api.etok.ai/v1beta",
|
||||
model: "gemini-3.5-flash",
|
||||
model: "gemini-3.6-flash",
|
||||
description: "ETok",
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
@@ -299,11 +299,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
|
||||
settingsConfig: {
|
||||
env: {
|
||||
GOOGLE_GEMINI_BASE_URL: "https://api.cubence.com",
|
||||
GEMINI_MODEL: "gemini-3.5-flash",
|
||||
GEMINI_MODEL: "gemini-3.6-flash",
|
||||
},
|
||||
},
|
||||
baseURL: "https://api.cubence.com",
|
||||
model: "gemini-3.5-flash",
|
||||
model: "gemini-3.6-flash",
|
||||
description: "Cubence",
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
@@ -324,11 +324,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
|
||||
settingsConfig: {
|
||||
env: {
|
||||
GOOGLE_GEMINI_BASE_URL: "https://cn.crazyrouter.com",
|
||||
GEMINI_MODEL: "gemini-3.5-flash",
|
||||
GEMINI_MODEL: "gemini-3.6-flash",
|
||||
},
|
||||
},
|
||||
baseURL: "https://cn.crazyrouter.com",
|
||||
model: "gemini-3.5-flash",
|
||||
model: "gemini-3.6-flash",
|
||||
description: "CrazyRouter",
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
@@ -388,7 +388,7 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
|
||||
env: {
|
||||
GOOGLE_GEMINI_BASE_URL: "https://e-flowcode.cc",
|
||||
GEMINI_API_KEY: "",
|
||||
GEMINI_MODEL: "gemini-3.5-flash",
|
||||
GEMINI_MODEL: "gemini-3.6-flash",
|
||||
},
|
||||
config: {
|
||||
general: {
|
||||
@@ -408,7 +408,7 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
|
||||
},
|
||||
},
|
||||
baseURL: "https://e-flowcode.cc",
|
||||
model: "gemini-3.5-flash",
|
||||
model: "gemini-3.6-flash",
|
||||
description: "E-FlowCode",
|
||||
category: "third_party",
|
||||
endpointCandidates: ["https://e-flowcode.cc"],
|
||||
@@ -423,11 +423,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
|
||||
env: {
|
||||
GOOGLE_GEMINI_BASE_URL: "https://open.cherryin.net",
|
||||
GEMINI_API_KEY: "",
|
||||
GEMINI_MODEL: "google/gemini-3.5-flash",
|
||||
GEMINI_MODEL: "google/gemini-3.6-flash",
|
||||
},
|
||||
},
|
||||
baseURL: "https://open.cherryin.net",
|
||||
model: "google/gemini-3.5-flash",
|
||||
model: "google/gemini-3.6-flash",
|
||||
description: "CherryIN",
|
||||
category: "aggregator",
|
||||
endpointCandidates: ["https://open.cherryin.net"],
|
||||
@@ -440,11 +440,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
|
||||
settingsConfig: {
|
||||
env: {
|
||||
GOOGLE_GEMINI_BASE_URL: "https://openrouter.ai/api",
|
||||
GEMINI_MODEL: "gemini-3.5-flash",
|
||||
GEMINI_MODEL: "gemini-3.6-flash",
|
||||
},
|
||||
},
|
||||
baseURL: "https://openrouter.ai/api",
|
||||
model: "gemini-3.5-flash",
|
||||
model: "gemini-3.6-flash",
|
||||
description: "OpenRouter",
|
||||
category: "aggregator",
|
||||
icon: "openrouter",
|
||||
@@ -457,11 +457,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
|
||||
settingsConfig: {
|
||||
env: {
|
||||
GOOGLE_GEMINI_BASE_URL: "https://api.therouter.ai",
|
||||
GEMINI_MODEL: "gemini-3.5-flash",
|
||||
GEMINI_MODEL: "gemini-3.6-flash",
|
||||
},
|
||||
},
|
||||
baseURL: "https://api.therouter.ai",
|
||||
model: "gemini-3.5-flash",
|
||||
model: "gemini-3.6-flash",
|
||||
description: "TheRouter",
|
||||
category: "aggregator",
|
||||
endpointCandidates: ["https://api.therouter.ai"],
|
||||
@@ -472,10 +472,10 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
|
||||
settingsConfig: {
|
||||
env: {
|
||||
GOOGLE_GEMINI_BASE_URL: "",
|
||||
GEMINI_MODEL: "gemini-3.5-flash",
|
||||
GEMINI_MODEL: "gemini-3.6-flash",
|
||||
},
|
||||
},
|
||||
model: "gemini-3.5-flash",
|
||||
model: "gemini-3.6-flash",
|
||||
description: "自定义 Gemini API 端点",
|
||||
category: "custom",
|
||||
},
|
||||
|
||||
@@ -181,19 +181,6 @@ export const grokBuildProviderPresets: GrokBuildProviderPreset[] = [
|
||||
partnerPromotionKey: "unity2",
|
||||
icon: "unity2",
|
||||
},
|
||||
{
|
||||
name: "AIGoCode",
|
||||
websiteUrl: "https://aigocode.com",
|
||||
apiKeyUrl: "https://aigocode.com/invite/CC-SWITCH",
|
||||
auth: grokAuth(),
|
||||
config: grokPresetConfig("AIGoCode", "https://api.aigocode.com"),
|
||||
endpointCandidates: ["https://api.aigocode.com"],
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "aigocode",
|
||||
icon: "aigocode",
|
||||
iconColor: "#5B7FFF",
|
||||
},
|
||||
{
|
||||
name: "Shengsuanyun",
|
||||
nameKey: "providerForm.presets.shengsuanyun",
|
||||
@@ -210,6 +197,19 @@ export const grokBuildProviderPresets: GrokBuildProviderPreset[] = [
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
},
|
||||
{
|
||||
name: "AIGoCode",
|
||||
websiteUrl: "https://aigocode.com",
|
||||
apiKeyUrl: "https://aigocode.com/invite/CC-SWITCH",
|
||||
auth: grokAuth(),
|
||||
config: grokPresetConfig("AIGoCode", "https://api.aigocode.com"),
|
||||
endpointCandidates: ["https://api.aigocode.com"],
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "aigocode",
|
||||
icon: "aigocode",
|
||||
iconColor: "#5B7FFF",
|
||||
},
|
||||
{
|
||||
name: "SubRouter",
|
||||
websiteUrl: "https://subrouter.ai",
|
||||
|
||||
+124
-124
@@ -35,7 +35,7 @@ export function isHermesReadOnlyProvider(settingsConfig: unknown): boolean {
|
||||
*
|
||||
* ```yaml
|
||||
* models:
|
||||
* anthropic/claude-opus-4-8:
|
||||
* anthropic/claude-opus-5:
|
||||
* context_length: 200000
|
||||
* ```
|
||||
*
|
||||
@@ -179,7 +179,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
api_key: "",
|
||||
api_mode: "anthropic_messages",
|
||||
models: [
|
||||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||||
{ id: "claude-opus-5", name: "Claude Opus 5" },
|
||||
{ id: "claude-sonnet-5", name: "Claude Sonnet 5" },
|
||||
{ id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" },
|
||||
],
|
||||
@@ -189,7 +189,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
partnerPromotionKey: "packycode",
|
||||
icon: "packycode",
|
||||
suggestedDefaults: {
|
||||
model: { default: "claude-opus-4-8", provider: "packycode" },
|
||||
model: { default: "claude-opus-5", provider: "packycode" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -201,14 +201,14 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
base_url: "https://api.zetaapi.ai/v1",
|
||||
api_key: "",
|
||||
api_mode: "chat_completions",
|
||||
models: [{ id: "gpt-5.5", name: "GPT-5.5" }],
|
||||
models: [{ id: "gpt-5.6-sol", name: "GPT-5.6 Sol" }],
|
||||
},
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "zetaapi",
|
||||
icon: "zetaapi",
|
||||
suggestedDefaults: {
|
||||
model: { default: "gpt-5.5", provider: "zetaapi" },
|
||||
model: { default: "gpt-5.6-sol", provider: "zetaapi" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -222,8 +222,8 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
api_mode: "chat_completions",
|
||||
models: [
|
||||
{
|
||||
id: "gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
id: "gpt-5.6-sol",
|
||||
name: "GPT-5.6 Sol",
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -232,7 +232,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
partnerPromotionKey: "apinebula",
|
||||
icon: "apinebula",
|
||||
suggestedDefaults: {
|
||||
model: { default: "gpt-5.5", provider: "apinebula" },
|
||||
model: { default: "gpt-5.6-sol", provider: "apinebula" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -245,7 +245,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
api_key: "",
|
||||
api_mode: "anthropic_messages",
|
||||
models: [
|
||||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||||
{ id: "claude-opus-5", name: "Claude Opus 5" },
|
||||
{ id: "claude-sonnet-5", name: "Claude Sonnet 5" },
|
||||
{ id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" },
|
||||
],
|
||||
@@ -256,7 +256,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
icon: "aicodemirror",
|
||||
iconColor: "#000000",
|
||||
suggestedDefaults: {
|
||||
model: { default: "claude-opus-4-8", provider: "aicodemirror" },
|
||||
model: { default: "claude-opus-5", provider: "aicodemirror" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -269,14 +269,14 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
base_url: "https://api.fenno.ai/v1",
|
||||
api_key: "",
|
||||
api_mode: "chat_completions",
|
||||
models: [{ id: "gpt-5.5", name: "GPT-5.5" }],
|
||||
models: [{ id: "gpt-5.6-sol", name: "GPT-5.6 Sol" }],
|
||||
},
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "fenno",
|
||||
icon: "fenno",
|
||||
suggestedDefaults: {
|
||||
model: { default: "gpt-5.5", provider: "fenno" },
|
||||
model: { default: "gpt-5.6-sol", provider: "fenno" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -289,7 +289,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
api_key: "",
|
||||
api_mode: "anthropic_messages",
|
||||
models: [
|
||||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||||
{ id: "claude-opus-5", name: "Claude Opus 5" },
|
||||
{ id: "claude-sonnet-5", name: "Claude Sonnet 5" },
|
||||
{ id: "claude-haiku-4-5", name: "Claude Haiku 4.5" },
|
||||
],
|
||||
@@ -320,8 +320,8 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
api_mode: "chat_completions",
|
||||
models: [
|
||||
{
|
||||
id: "gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
id: "gpt-5.6-sol",
|
||||
name: "GPT-5.6 Sol",
|
||||
context_length: 400000,
|
||||
},
|
||||
],
|
||||
@@ -331,55 +331,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
partnerPromotionKey: "unity2",
|
||||
icon: "unity2",
|
||||
suggestedDefaults: {
|
||||
model: { default: "gpt-5.5", provider: "unity2" },
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "AICoding",
|
||||
websiteUrl: "https://aicoding.sh",
|
||||
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
|
||||
settingsConfig: {
|
||||
name: "aicoding",
|
||||
base_url: "https://api.aicoding.sh",
|
||||
api_key: "",
|
||||
api_mode: "anthropic_messages",
|
||||
models: [
|
||||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||||
{ id: "claude-sonnet-5", name: "Claude Sonnet 5" },
|
||||
{ id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" },
|
||||
],
|
||||
},
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "aicoding",
|
||||
icon: "aicoding",
|
||||
iconColor: "#000000",
|
||||
suggestedDefaults: {
|
||||
model: { default: "claude-opus-4-8", provider: "aicoding" },
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "AIGoCode",
|
||||
websiteUrl: "https://aigocode.com",
|
||||
apiKeyUrl: "https://aigocode.com/invite/CC-SWITCH",
|
||||
settingsConfig: {
|
||||
name: "aigocode",
|
||||
base_url: "https://api.aigocode.com",
|
||||
api_key: "",
|
||||
api_mode: "anthropic_messages",
|
||||
models: [
|
||||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||||
{ id: "claude-sonnet-5", name: "Claude Sonnet 5" },
|
||||
{ id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" },
|
||||
],
|
||||
},
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "aigocode",
|
||||
icon: "aigocode",
|
||||
iconColor: "#5B7FFF",
|
||||
suggestedDefaults: {
|
||||
model: { default: "claude-opus-4-8", provider: "aigocode" },
|
||||
model: { default: "gpt-5.6-sol", provider: "unity2" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -392,14 +344,62 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
base_url: "https://router.shengsuanyun.com/api/v1",
|
||||
api_key: "",
|
||||
api_mode: "chat_completions",
|
||||
models: [{ id: "openai/gpt-5.5", name: "GPT-5.5" }],
|
||||
models: [{ id: "openai/gpt-5.6-sol", name: "GPT-5.6 Sol" }],
|
||||
},
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
suggestedDefaults: {
|
||||
model: { default: "openai/gpt-5.5", provider: "shengsuanyun" },
|
||||
model: { default: "openai/gpt-5.6-sol", provider: "shengsuanyun" },
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "AIGoCode",
|
||||
websiteUrl: "https://aigocode.com",
|
||||
apiKeyUrl: "https://aigocode.com/invite/CC-SWITCH",
|
||||
settingsConfig: {
|
||||
name: "aigocode",
|
||||
base_url: "https://api.aigocode.com",
|
||||
api_key: "",
|
||||
api_mode: "anthropic_messages",
|
||||
models: [
|
||||
{ id: "claude-opus-5", name: "Claude Opus 5" },
|
||||
{ id: "claude-sonnet-5", name: "Claude Sonnet 5" },
|
||||
{ id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" },
|
||||
],
|
||||
},
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "aigocode",
|
||||
icon: "aigocode",
|
||||
iconColor: "#5B7FFF",
|
||||
suggestedDefaults: {
|
||||
model: { default: "claude-opus-5", provider: "aigocode" },
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "AICoding",
|
||||
websiteUrl: "https://aicoding.sh",
|
||||
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
|
||||
settingsConfig: {
|
||||
name: "aicoding",
|
||||
base_url: "https://api.aicoding.sh",
|
||||
api_key: "",
|
||||
api_mode: "anthropic_messages",
|
||||
models: [
|
||||
{ id: "claude-opus-5", name: "Claude Opus 5" },
|
||||
{ id: "claude-sonnet-5", name: "Claude Sonnet 5" },
|
||||
{ id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" },
|
||||
],
|
||||
},
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "aicoding",
|
||||
icon: "aicoding",
|
||||
iconColor: "#000000",
|
||||
suggestedDefaults: {
|
||||
model: { default: "claude-opus-5", provider: "aicoding" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -413,8 +413,8 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
api_mode: "chat_completions",
|
||||
models: [
|
||||
{
|
||||
id: "gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
id: "gpt-5.6-sol",
|
||||
name: "GPT-5.6 Sol",
|
||||
context_length: 400000,
|
||||
},
|
||||
],
|
||||
@@ -424,7 +424,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
partnerPromotionKey: "subrouter",
|
||||
icon: "subrouter",
|
||||
suggestedDefaults: {
|
||||
model: { default: "gpt-5.5", provider: "subrouter" },
|
||||
model: { default: "gpt-5.6-sol", provider: "subrouter" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -438,8 +438,8 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
api_mode: "anthropic_messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-8",
|
||||
name: "Claude Opus 4.8",
|
||||
id: "claude-opus-5",
|
||||
name: "Claude Opus 5",
|
||||
context_length: 1000000,
|
||||
},
|
||||
{
|
||||
@@ -459,7 +459,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
partnerPromotionKey: "apikeyfun",
|
||||
icon: "apikeyfun",
|
||||
suggestedDefaults: {
|
||||
model: { default: "claude-opus-4-8", provider: "apikeyfun" },
|
||||
model: { default: "claude-opus-5", provider: "apikeyfun" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -471,14 +471,14 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
base_url: "https://code0.ai/v1",
|
||||
api_key: "",
|
||||
api_mode: "chat_completions",
|
||||
models: [{ id: "gpt-5.5", name: "GPT-5.5" }],
|
||||
models: [{ id: "gpt-5.6-sol", name: "GPT-5.6 Sol" }],
|
||||
},
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "code0",
|
||||
icon: "code0",
|
||||
suggestedDefaults: {
|
||||
model: { default: "gpt-5.5", provider: "code0" },
|
||||
model: { default: "gpt-5.6-sol", provider: "code0" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -491,14 +491,14 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
base_url: "https://api.teamorouter.com/v1",
|
||||
api_key: "",
|
||||
api_mode: "chat_completions",
|
||||
models: [{ id: "gpt-5.5", name: "GPT-5.5" }],
|
||||
models: [{ id: "gpt-5.6-sol", name: "GPT-5.6 Sol" }],
|
||||
},
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "teamorouter",
|
||||
icon: "teamorouter",
|
||||
suggestedDefaults: {
|
||||
model: { default: "gpt-5.5", provider: "teamorouter" },
|
||||
model: { default: "gpt-5.6-sol", provider: "teamorouter" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -511,7 +511,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
api_key: "",
|
||||
api_mode: "anthropic_messages",
|
||||
models: [
|
||||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||||
{ id: "claude-opus-5", name: "Claude Opus 5" },
|
||||
{ id: "claude-sonnet-5", name: "Claude Sonnet 5" },
|
||||
{ id: "claude-haiku-4-5", name: "Claude Haiku 4.5" },
|
||||
],
|
||||
@@ -681,14 +681,14 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
base_url: "https://nekocode.ai/v1",
|
||||
api_key: "",
|
||||
api_mode: "chat_completions",
|
||||
models: [{ id: "gpt-5.5", name: "GPT-5.5" }],
|
||||
models: [{ id: "gpt-5.6-sol", name: "GPT-5.6 Sol" }],
|
||||
},
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "nekocode",
|
||||
icon: "nekocode",
|
||||
suggestedDefaults: {
|
||||
model: { default: "gpt-5.5", provider: "nekocode" },
|
||||
model: { default: "gpt-5.6-sol", provider: "nekocode" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -726,7 +726,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
base_url: "https://api.modelverse.cn/v1",
|
||||
api_key: "",
|
||||
api_mode: "chat_completions",
|
||||
models: [{ id: "gpt-5.5", name: "GPT-5.5" }],
|
||||
models: [{ id: "gpt-5.6-sol", name: "GPT-5.6 Sol" }],
|
||||
},
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
@@ -734,7 +734,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
icon: "ucloud",
|
||||
iconColor: "#000000",
|
||||
suggestedDefaults: {
|
||||
model: { default: "gpt-5.5", provider: "compshare" },
|
||||
model: { default: "gpt-5.6-sol", provider: "compshare" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -748,7 +748,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
base_url: "https://cp.compshare.cn/v1",
|
||||
api_key: "",
|
||||
api_mode: "chat_completions",
|
||||
models: [{ id: "gpt-5.5", name: "GPT-5.5" }],
|
||||
models: [{ id: "gpt-5.6-sol", name: "GPT-5.6 Sol" }],
|
||||
},
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
@@ -756,7 +756,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
icon: "ucloud",
|
||||
iconColor: "#000000",
|
||||
suggestedDefaults: {
|
||||
model: { default: "gpt-5.5", provider: "compshare_coding" },
|
||||
model: { default: "gpt-5.6-sol", provider: "compshare_coding" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -770,8 +770,8 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
api_mode: "chat_completions",
|
||||
models: [
|
||||
{
|
||||
id: "gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
id: "gpt-5.6-sol",
|
||||
name: "GPT-5.6 Sol",
|
||||
context_length: 400000,
|
||||
},
|
||||
],
|
||||
@@ -781,7 +781,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
partnerPromotionKey: "ccsub",
|
||||
icon: "ccsub",
|
||||
suggestedDefaults: {
|
||||
model: { default: "gpt-5.5", provider: "ccsub" },
|
||||
model: { default: "gpt-5.6-sol", provider: "ccsub" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -794,7 +794,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
api_key: "",
|
||||
api_mode: "anthropic_messages",
|
||||
models: [
|
||||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||||
{ id: "claude-opus-5", name: "Claude Opus 5" },
|
||||
{ id: "claude-sonnet-5", name: "Claude Sonnet 5" },
|
||||
{ id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" },
|
||||
],
|
||||
@@ -805,7 +805,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
icon: "sssaicode",
|
||||
iconColor: "#000000",
|
||||
suggestedDefaults: {
|
||||
model: { default: "claude-opus-4-8", provider: "sssaicode" },
|
||||
model: { default: "claude-opus-5", provider: "sssaicode" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -818,7 +818,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
api_key: "",
|
||||
api_mode: "anthropic_messages",
|
||||
models: [
|
||||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||||
{ id: "claude-opus-5", name: "Claude Opus 5" },
|
||||
{ id: "claude-sonnet-5", name: "Claude Sonnet 5" },
|
||||
{ id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" },
|
||||
],
|
||||
@@ -829,7 +829,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
icon: "micu",
|
||||
iconColor: "#000000",
|
||||
suggestedDefaults: {
|
||||
model: { default: "claude-opus-4-8", provider: "micu" },
|
||||
model: { default: "claude-opus-5", provider: "micu" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -842,7 +842,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
api_key: "",
|
||||
api_mode: "anthropic_messages",
|
||||
models: [
|
||||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||||
{ id: "claude-opus-5", name: "Claude Opus 5" },
|
||||
{ id: "claude-sonnet-5", name: "Claude Sonnet 5" },
|
||||
{ id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" },
|
||||
],
|
||||
@@ -853,7 +853,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
icon: "rc",
|
||||
iconColor: "#E96B2C",
|
||||
suggestedDefaults: {
|
||||
model: { default: "claude-opus-4-8", provider: "rightcode" },
|
||||
model: { default: "claude-opus-5", provider: "rightcode" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -866,7 +866,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
api_key: "",
|
||||
api_mode: "anthropic_messages",
|
||||
models: [
|
||||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||||
{ id: "claude-opus-5", name: "Claude Opus 5" },
|
||||
{ id: "claude-sonnet-5", name: "Claude Sonnet 5" },
|
||||
{ id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" },
|
||||
],
|
||||
@@ -877,7 +877,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
icon: "etok",
|
||||
iconColor: "#000000",
|
||||
suggestedDefaults: {
|
||||
model: { default: "claude-opus-4-8", provider: "etok" },
|
||||
model: { default: "claude-opus-5", provider: "etok" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -890,7 +890,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
api_key: "",
|
||||
api_mode: "anthropic_messages",
|
||||
models: [
|
||||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||||
{ id: "claude-opus-5", name: "Claude Opus 5" },
|
||||
{ id: "claude-sonnet-5", name: "Claude Sonnet 5" },
|
||||
{ id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" },
|
||||
],
|
||||
@@ -901,7 +901,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
icon: "cubence",
|
||||
iconColor: "#000000",
|
||||
suggestedDefaults: {
|
||||
model: { default: "claude-opus-4-8", provider: "cubence" },
|
||||
model: { default: "claude-opus-5", provider: "cubence" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -914,7 +914,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
api_key: "",
|
||||
api_mode: "anthropic_messages",
|
||||
models: [
|
||||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||||
{ id: "claude-opus-5", name: "Claude Opus 5" },
|
||||
{ id: "claude-sonnet-5", name: "Claude Sonnet 5" },
|
||||
{ id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" },
|
||||
],
|
||||
@@ -925,7 +925,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
icon: "crazyrouter",
|
||||
iconColor: "#000000",
|
||||
suggestedDefaults: {
|
||||
model: { default: "claude-opus-4-8", provider: "crazyrouter" },
|
||||
model: { default: "claude-opus-5", provider: "crazyrouter" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -937,13 +937,13 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
base_url: "https://www.dmxapi.cn/v1",
|
||||
api_key: "",
|
||||
api_mode: "chat_completions",
|
||||
models: [{ id: "gpt-5.5", name: "GPT-5.5" }],
|
||||
models: [{ id: "gpt-5.6-sol", name: "GPT-5.6 Sol" }],
|
||||
},
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "dmxapi",
|
||||
suggestedDefaults: {
|
||||
model: { default: "gpt-5.5", provider: "dmxapi" },
|
||||
model: { default: "gpt-5.6-sol", provider: "dmxapi" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -956,14 +956,14 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
base_url: "https://api.qnaigc.com/v1",
|
||||
api_key: "",
|
||||
api_mode: "chat_completions",
|
||||
models: [{ id: "gpt-5.5", name: "GPT-5.5" }],
|
||||
models: [{ id: "gpt-5.6-sol", name: "GPT-5.6 Sol" }],
|
||||
},
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "qiniu",
|
||||
icon: "qiniu",
|
||||
suggestedDefaults: {
|
||||
model: { default: "gpt-5.5", provider: "qiniu" },
|
||||
model: { default: "gpt-5.6-sol", provider: "qiniu" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -1002,8 +1002,8 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
api_mode: "codex_responses",
|
||||
models: [
|
||||
{
|
||||
id: "gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
id: "gpt-5.6-sol",
|
||||
name: "GPT-5.6 Sol",
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -1011,7 +1011,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
isPartner: true,
|
||||
icon: "sudocode-us",
|
||||
suggestedDefaults: {
|
||||
model: { default: "gpt-5.5", provider: "sudocode_us" },
|
||||
model: { default: "gpt-5.6-sol", provider: "sudocode_us" },
|
||||
},
|
||||
},
|
||||
// ===== 非赞助商预设:应用内展示按显示名排序,此处文件顺序不影响展示 =====
|
||||
@@ -1024,12 +1024,12 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
base_url: "https://api.amux.ai/v1",
|
||||
api_key: "",
|
||||
api_mode: "chat_completions",
|
||||
models: [{ id: "gpt-5.5", name: "GPT-5.5" }],
|
||||
models: [{ id: "gpt-5.6-sol", name: "GPT-5.6 Sol" }],
|
||||
},
|
||||
category: "aggregator",
|
||||
icon: "amux",
|
||||
suggestedDefaults: {
|
||||
model: { default: "gpt-5.5", provider: "amux" },
|
||||
model: { default: "gpt-5.6-sol", provider: "amux" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -1044,8 +1044,8 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
api_mode: "chat_completions",
|
||||
models: [
|
||||
{
|
||||
id: "anthropic/claude-opus-4-8",
|
||||
name: "Claude Opus 4.8",
|
||||
id: "anthropic/claude-opus-5",
|
||||
name: "Claude Opus 5",
|
||||
context_length: 1000000,
|
||||
},
|
||||
{
|
||||
@@ -1059,13 +1059,13 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
context_length: 200000,
|
||||
},
|
||||
{
|
||||
id: "openai/gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
id: "openai/gpt-5.6-sol",
|
||||
name: "GPT-5.6 Sol",
|
||||
context_length: 400000,
|
||||
},
|
||||
{
|
||||
id: "google/gemini-3.5-flash",
|
||||
name: "Gemini 3.5 Flash",
|
||||
id: "google/gemini-3.6-flash",
|
||||
name: "Gemini 3.6 Flash",
|
||||
context_length: 1000000,
|
||||
},
|
||||
],
|
||||
@@ -1074,7 +1074,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
icon: "openrouter",
|
||||
iconColor: "#6366F1",
|
||||
suggestedDefaults: {
|
||||
model: { default: "anthropic/claude-opus-4-8", provider: "openrouter" },
|
||||
model: { default: "anthropic/claude-opus-5", provider: "openrouter" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -1402,13 +1402,13 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
base_url: "https://aihubmix.com/v1",
|
||||
api_key: "",
|
||||
api_mode: "chat_completions",
|
||||
models: [{ id: "gpt-5.5", name: "GPT-5.5" }],
|
||||
models: [{ id: "gpt-5.6-sol", name: "GPT-5.6 Sol" }],
|
||||
},
|
||||
category: "aggregator",
|
||||
icon: "aihubmix",
|
||||
iconColor: "#006FFB",
|
||||
suggestedDefaults: {
|
||||
model: { default: "gpt-5.5", provider: "aihubmix" },
|
||||
model: { default: "gpt-5.6-sol", provider: "aihubmix" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -1421,14 +1421,14 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
api_key: "",
|
||||
api_mode: "anthropic_messages",
|
||||
models: [
|
||||
{ id: "anthropic/claude-opus-4.8", name: "Claude Opus 4.8" },
|
||||
{ id: "anthropic/claude-opus-5", name: "Claude Opus 5" },
|
||||
{ id: "anthropic/claude-sonnet-5", name: "Claude Sonnet 5" },
|
||||
],
|
||||
},
|
||||
category: "aggregator",
|
||||
icon: "cherryin",
|
||||
suggestedDefaults: {
|
||||
model: { default: "anthropic/claude-opus-4.8", provider: "cherryin" },
|
||||
model: { default: "anthropic/claude-opus-5", provider: "cherryin" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -1441,7 +1441,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
api_key: "",
|
||||
api_mode: "anthropic_messages",
|
||||
models: [
|
||||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||||
{ id: "claude-opus-5", name: "Claude Opus 5" },
|
||||
{ id: "claude-sonnet-5", name: "Claude Sonnet 5" },
|
||||
{ id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" },
|
||||
],
|
||||
@@ -1450,7 +1450,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
icon: "eflowcode",
|
||||
iconColor: "#000000",
|
||||
suggestedDefaults: {
|
||||
model: { default: "claude-opus-4-8", provider: "eflowcode" },
|
||||
model: { default: "claude-opus-5", provider: "eflowcode" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -1463,7 +1463,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
api_key: "",
|
||||
api_mode: "chat_completions",
|
||||
models: [
|
||||
{ id: "openai/gpt-5.5", name: "GPT-5.5" },
|
||||
{ id: "openai/gpt-5.6-sol", name: "GPT-5.6 Sol" },
|
||||
{ id: "openai/gpt-5.4-mini", name: "GPT-5.4 mini" },
|
||||
{ id: "openai/gpt-5.4-nano", name: "GPT-5.4 nano" },
|
||||
],
|
||||
@@ -1471,7 +1471,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
category: "aggregator",
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
default: "openai/gpt-5.5",
|
||||
default: "openai/gpt-5.6-sol",
|
||||
provider: "therouter",
|
||||
},
|
||||
},
|
||||
@@ -1522,7 +1522,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
api_key: "",
|
||||
api_mode: "anthropic_messages",
|
||||
models: [
|
||||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||||
{ id: "claude-opus-5", name: "Claude Opus 5" },
|
||||
{ id: "claude-sonnet-5", name: "Claude Sonnet 5" },
|
||||
{
|
||||
id: "claude-haiku-4-5-20251001",
|
||||
@@ -1533,7 +1533,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
category: "aggregator",
|
||||
icon: "pipellm",
|
||||
suggestedDefaults: {
|
||||
model: { default: "claude-opus-4-8", provider: "pipellm" },
|
||||
model: { default: "claude-opus-5", provider: "pipellm" },
|
||||
},
|
||||
},
|
||||
{
|
||||
|
||||
@@ -151,7 +151,7 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
websiteUrl: "https://www.kimi.com/code/?aff=cc-switch",
|
||||
apiKeyUrl: "https://platform.kimi.com/console/api-keys?aff=cc-switch",
|
||||
settingsConfig: {
|
||||
baseUrl: "https://api.kimi.com/v1",
|
||||
baseUrl: "https://api.kimi.com/coding/v1",
|
||||
apiKey: "",
|
||||
api: "openai-completions",
|
||||
models: [
|
||||
@@ -169,8 +169,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
templateValues: {
|
||||
baseUrl: {
|
||||
label: "Base URL",
|
||||
placeholder: "https://api.kimi.com/v1",
|
||||
defaultValue: "https://api.kimi.com/v1",
|
||||
placeholder: "https://api.kimi.com/coding/v1",
|
||||
defaultValue: "https://api.kimi.com/coding/v1",
|
||||
editorValue: "",
|
||||
},
|
||||
apiKey: {
|
||||
@@ -195,8 +195,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-8",
|
||||
name: "Claude Opus 4.8",
|
||||
id: "claude-opus-5",
|
||||
name: "Claude Opus 5",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -221,11 +221,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "packycode/claude-opus-4-8",
|
||||
primary: "packycode/claude-opus-5",
|
||||
fallbacks: ["packycode/claude-sonnet-5"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"packycode/claude-opus-4-8": { alias: "Opus" },
|
||||
"packycode/claude-opus-5": { alias: "Opus" },
|
||||
"packycode/claude-sonnet-5": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
@@ -240,8 +240,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "openai-completions",
|
||||
models: [
|
||||
{
|
||||
id: "gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
id: "gpt-5.6-sol",
|
||||
name: "GPT-5.6 Sol",
|
||||
contextWindow: 400000,
|
||||
},
|
||||
],
|
||||
@@ -259,10 +259,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "zetaapi/gpt-5.5",
|
||||
primary: "zetaapi/gpt-5.6-sol",
|
||||
},
|
||||
modelCatalog: {
|
||||
"zetaapi/gpt-5.5": { alias: "GPT-5.5" },
|
||||
"zetaapi/gpt-5.6-sol": { alias: "GPT-5.6 Sol" },
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -276,8 +276,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "openai-completions",
|
||||
models: [
|
||||
{
|
||||
id: "gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
id: "gpt-5.6-sol",
|
||||
name: "GPT-5.6 Sol",
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -294,7 +294,7 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "apinebula/gpt-5.5",
|
||||
primary: "apinebula/gpt-5.6-sol",
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -308,8 +308,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-8",
|
||||
name: "Claude Opus 4.8",
|
||||
id: "claude-opus-5",
|
||||
name: "Claude Opus 5",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -335,11 +335,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "aicodemirror/claude-opus-4-8",
|
||||
primary: "aicodemirror/claude-opus-5",
|
||||
fallbacks: ["aicodemirror/claude-sonnet-5"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"aicodemirror/claude-opus-4-8": { alias: "Opus" },
|
||||
"aicodemirror/claude-opus-5": { alias: "Opus" },
|
||||
"aicodemirror/claude-sonnet-5": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
@@ -355,8 +355,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "openai-completions",
|
||||
models: [
|
||||
{
|
||||
id: "gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
id: "gpt-5.6-sol",
|
||||
name: "GPT-5.6 Sol",
|
||||
contextWindow: 400000,
|
||||
},
|
||||
],
|
||||
@@ -374,10 +374,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "fenno/gpt-5.5",
|
||||
primary: "fenno/gpt-5.6-sol",
|
||||
},
|
||||
modelCatalog: {
|
||||
"fenno/gpt-5.5": { alias: "GPT-5.5" },
|
||||
"fenno/gpt-5.6-sol": { alias: "GPT-5.6 Sol" },
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -391,8 +391,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-8",
|
||||
name: "Claude Opus 4.8",
|
||||
id: "claude-opus-5",
|
||||
name: "Claude Opus 5",
|
||||
contextWindow: 1000000,
|
||||
},
|
||||
{
|
||||
@@ -423,7 +423,7 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
primary: "runapi/claude-sonnet-5",
|
||||
},
|
||||
modelCatalog: {
|
||||
"runapi/claude-opus-4-8": { alias: "Opus" },
|
||||
"runapi/claude-opus-5": { alias: "Opus" },
|
||||
"runapi/claude-sonnet-5": { alias: "Sonnet" },
|
||||
"runapi/claude-haiku-4-5": { alias: "Haiku" },
|
||||
},
|
||||
@@ -439,8 +439,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "openai-completions",
|
||||
models: [
|
||||
{
|
||||
id: "gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
id: "gpt-5.6-sol",
|
||||
name: "GPT-5.6 Sol",
|
||||
contextWindow: 400000,
|
||||
cost: { input: 5, output: 15 },
|
||||
},
|
||||
@@ -459,41 +459,41 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "unity2/gpt-5.5",
|
||||
primary: "unity2/gpt-5.6-sol",
|
||||
},
|
||||
modelCatalog: {
|
||||
"unity2/gpt-5.5": { alias: "GPT-5.5" },
|
||||
"unity2/gpt-5.6-sol": { alias: "GPT-5.6 Sol" },
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "AICoding",
|
||||
websiteUrl: "https://aicoding.sh",
|
||||
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
|
||||
name: "Shengsuanyun",
|
||||
nameKey: "providerForm.presets.shengsuanyun",
|
||||
websiteUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
apiKeyUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
settingsConfig: {
|
||||
baseUrl: "https://api.aicoding.sh",
|
||||
baseUrl: "https://router.shengsuanyun.com/api",
|
||||
apiKey: "",
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-8",
|
||||
name: "Claude Opus 4.8",
|
||||
id: "anthropic/claude-opus-5",
|
||||
name: "Claude Opus 5",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
{
|
||||
id: "claude-sonnet-5",
|
||||
id: "anthropic/claude-sonnet-5",
|
||||
name: "Claude Sonnet 5",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 3, output: 15 },
|
||||
},
|
||||
],
|
||||
},
|
||||
category: "third_party",
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "aicoding",
|
||||
icon: "aicoding",
|
||||
iconColor: "#000000",
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
templateValues: {
|
||||
apiKey: {
|
||||
label: "API Key",
|
||||
@@ -503,12 +503,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "aicoding/claude-opus-4-8",
|
||||
fallbacks: ["aicoding/claude-sonnet-5"],
|
||||
primary: "shengsuanyun/anthropic/claude-opus-5",
|
||||
fallbacks: ["shengsuanyun/anthropic/claude-sonnet-5"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"aicoding/claude-opus-4-8": { alias: "Opus" },
|
||||
"aicoding/claude-sonnet-5": { alias: "Sonnet" },
|
||||
"shengsuanyun/anthropic/claude-opus-5": { alias: "Opus" },
|
||||
"shengsuanyun/anthropic/claude-sonnet-5": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -522,8 +522,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-8",
|
||||
name: "Claude Opus 4.8",
|
||||
id: "claude-opus-5",
|
||||
name: "Claude Opus 5",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -549,43 +549,43 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "aigocode/claude-opus-4-8",
|
||||
primary: "aigocode/claude-opus-5",
|
||||
fallbacks: ["aigocode/claude-sonnet-5"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"aigocode/claude-opus-4-8": { alias: "Opus" },
|
||||
"aigocode/claude-opus-5": { alias: "Opus" },
|
||||
"aigocode/claude-sonnet-5": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "Shengsuanyun",
|
||||
nameKey: "providerForm.presets.shengsuanyun",
|
||||
websiteUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
apiKeyUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
name: "AICoding",
|
||||
websiteUrl: "https://aicoding.sh",
|
||||
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
|
||||
settingsConfig: {
|
||||
baseUrl: "https://router.shengsuanyun.com/api",
|
||||
baseUrl: "https://api.aicoding.sh",
|
||||
apiKey: "",
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "anthropic/claude-opus-4.8",
|
||||
name: "Claude Opus 4.8",
|
||||
id: "claude-opus-5",
|
||||
name: "Claude Opus 5",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
{
|
||||
id: "anthropic/claude-sonnet-5",
|
||||
id: "claude-sonnet-5",
|
||||
name: "Claude Sonnet 5",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 3, output: 15 },
|
||||
},
|
||||
],
|
||||
},
|
||||
category: "aggregator",
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
partnerPromotionKey: "aicoding",
|
||||
icon: "aicoding",
|
||||
iconColor: "#000000",
|
||||
templateValues: {
|
||||
apiKey: {
|
||||
label: "API Key",
|
||||
@@ -595,12 +595,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "shengsuanyun/anthropic/claude-opus-4.8",
|
||||
fallbacks: ["shengsuanyun/anthropic/claude-sonnet-5"],
|
||||
primary: "aicoding/claude-opus-5",
|
||||
fallbacks: ["aicoding/claude-sonnet-5"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"shengsuanyun/anthropic/claude-opus-4.8": { alias: "Opus" },
|
||||
"shengsuanyun/anthropic/claude-sonnet-5": { alias: "Sonnet" },
|
||||
"aicoding/claude-opus-5": { alias: "Opus" },
|
||||
"aicoding/claude-sonnet-5": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -614,8 +614,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "openai-completions",
|
||||
models: [
|
||||
{
|
||||
id: "gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
id: "gpt-5.6-sol",
|
||||
name: "GPT-5.6 Sol",
|
||||
contextWindow: 400000,
|
||||
},
|
||||
],
|
||||
@@ -633,10 +633,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "subrouter/gpt-5.5",
|
||||
primary: "subrouter/gpt-5.6-sol",
|
||||
},
|
||||
modelCatalog: {
|
||||
"subrouter/gpt-5.5": { alias: "GPT-5.5" },
|
||||
"subrouter/gpt-5.6-sol": { alias: "GPT-5.6 Sol" },
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -650,8 +650,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-8",
|
||||
name: "Claude Opus 4.8",
|
||||
id: "claude-opus-5",
|
||||
name: "Claude Opus 5",
|
||||
contextWindow: 1000000,
|
||||
},
|
||||
{
|
||||
@@ -679,11 +679,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "apikeyfun/claude-opus-4-8",
|
||||
primary: "apikeyfun/claude-opus-5",
|
||||
fallbacks: ["apikeyfun/claude-sonnet-5"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"apikeyfun/claude-opus-4-8": { alias: "Opus" },
|
||||
"apikeyfun/claude-opus-5": { alias: "Opus" },
|
||||
"apikeyfun/claude-sonnet-5": { alias: "Sonnet" },
|
||||
"apikeyfun/claude-haiku-4-5": { alias: "Haiku" },
|
||||
},
|
||||
@@ -699,8 +699,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "openai-completions",
|
||||
models: [
|
||||
{
|
||||
id: "gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
id: "gpt-5.6-sol",
|
||||
name: "GPT-5.6 Sol",
|
||||
contextWindow: 400000,
|
||||
},
|
||||
],
|
||||
@@ -718,10 +718,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "code0/gpt-5.5",
|
||||
primary: "code0/gpt-5.6-sol",
|
||||
},
|
||||
modelCatalog: {
|
||||
"code0/gpt-5.5": { alias: "GPT-5.5" },
|
||||
"code0/gpt-5.6-sol": { alias: "GPT-5.6 Sol" },
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -736,8 +736,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "openai-completions",
|
||||
models: [
|
||||
{
|
||||
id: "gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
id: "gpt-5.6-sol",
|
||||
name: "GPT-5.6 Sol",
|
||||
contextWindow: 400000,
|
||||
},
|
||||
],
|
||||
@@ -755,10 +755,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "teamorouter/gpt-5.5",
|
||||
primary: "teamorouter/gpt-5.6-sol",
|
||||
},
|
||||
modelCatalog: {
|
||||
"teamorouter/gpt-5.5": { alias: "GPT-5.5" },
|
||||
"teamorouter/gpt-5.6-sol": { alias: "GPT-5.6 Sol" },
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -772,8 +772,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-8",
|
||||
name: "Claude Opus 4.8",
|
||||
id: "claude-opus-5",
|
||||
name: "Claude Opus 5",
|
||||
contextWindow: 1000000,
|
||||
},
|
||||
{
|
||||
@@ -804,7 +804,7 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
primary: "claudecn/claude-sonnet-5",
|
||||
},
|
||||
modelCatalog: {
|
||||
"claudecn/claude-opus-4-8": { alias: "Opus" },
|
||||
"claudecn/claude-opus-5": { alias: "Opus" },
|
||||
"claudecn/claude-sonnet-5": { alias: "Sonnet" },
|
||||
"claudecn/claude-haiku-4-5": { alias: "Haiku" },
|
||||
},
|
||||
@@ -1004,8 +1004,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "openai-completions",
|
||||
models: [
|
||||
{
|
||||
id: "gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
id: "gpt-5.6-sol",
|
||||
name: "GPT-5.6 Sol",
|
||||
contextWindow: 400000,
|
||||
},
|
||||
],
|
||||
@@ -1023,10 +1023,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "nekocode/gpt-5.5",
|
||||
primary: "nekocode/gpt-5.6-sol",
|
||||
},
|
||||
modelCatalog: {
|
||||
"nekocode/gpt-5.5": { alias: "GPT-5.5" },
|
||||
"nekocode/gpt-5.6-sol": { alias: "GPT-5.6 Sol" },
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -1074,8 +1074,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-8",
|
||||
name: "Claude Opus 4.8",
|
||||
id: "claude-opus-5",
|
||||
name: "Claude Opus 5",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -1095,10 +1095,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "compshare/claude-opus-4-8",
|
||||
primary: "compshare/claude-opus-5",
|
||||
},
|
||||
modelCatalog: {
|
||||
"compshare/claude-opus-4-8": { alias: "Opus" },
|
||||
"compshare/claude-opus-5": { alias: "Opus" },
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -1114,8 +1114,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-8",
|
||||
name: "Claude Opus 4.8",
|
||||
id: "claude-opus-5",
|
||||
name: "Claude Opus 5",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -1135,10 +1135,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "compshare-coding/claude-opus-4-8",
|
||||
primary: "compshare-coding/claude-opus-5",
|
||||
},
|
||||
modelCatalog: {
|
||||
"compshare-coding/claude-opus-4-8": { alias: "Opus" },
|
||||
"compshare-coding/claude-opus-5": { alias: "Opus" },
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -1152,8 +1152,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "openai-completions",
|
||||
models: [
|
||||
{
|
||||
id: "gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
id: "gpt-5.6-sol",
|
||||
name: "GPT-5.6 Sol",
|
||||
contextWindow: 400000,
|
||||
cost: { input: 5, output: 15 },
|
||||
},
|
||||
@@ -1172,10 +1172,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "ccsub/gpt-5.5",
|
||||
primary: "ccsub/gpt-5.6-sol",
|
||||
},
|
||||
modelCatalog: {
|
||||
"ccsub/gpt-5.5": { alias: "GPT-5.5" },
|
||||
"ccsub/gpt-5.6-sol": { alias: "GPT-5.6 Sol" },
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -1189,8 +1189,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-8",
|
||||
name: "Claude Opus 4.8",
|
||||
id: "claude-opus-5",
|
||||
name: "Claude Opus 5",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -1216,11 +1216,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "sssaicode/claude-opus-4-8",
|
||||
primary: "sssaicode/claude-opus-5",
|
||||
fallbacks: ["sssaicode/claude-sonnet-5"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"sssaicode/claude-opus-4-8": { alias: "Opus" },
|
||||
"sssaicode/claude-opus-5": { alias: "Opus" },
|
||||
"sssaicode/claude-sonnet-5": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
@@ -1235,8 +1235,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-8",
|
||||
name: "Claude Opus 4.8",
|
||||
id: "claude-opus-5",
|
||||
name: "Claude Opus 5",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -1256,10 +1256,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "micu/claude-opus-4-8",
|
||||
primary: "micu/claude-opus-5",
|
||||
},
|
||||
modelCatalog: {
|
||||
"micu/claude-opus-4-8": { alias: "Opus" },
|
||||
"micu/claude-opus-5": { alias: "Opus" },
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -1273,8 +1273,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-8",
|
||||
name: "Claude Opus 4.8",
|
||||
id: "claude-opus-5",
|
||||
name: "Claude Opus 5",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -1300,11 +1300,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "rightcode/claude-opus-4-8",
|
||||
primary: "rightcode/claude-opus-5",
|
||||
fallbacks: ["rightcode/claude-sonnet-5"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"rightcode/claude-opus-4-8": { alias: "Opus" },
|
||||
"rightcode/claude-opus-5": { alias: "Opus" },
|
||||
"rightcode/claude-sonnet-5": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
@@ -1319,8 +1319,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-8",
|
||||
name: "Claude Opus 4.8",
|
||||
id: "claude-opus-5",
|
||||
name: "Claude Opus 5",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -1340,10 +1340,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "etok/claude-opus-4-8",
|
||||
primary: "etok/claude-opus-5",
|
||||
},
|
||||
modelCatalog: {
|
||||
"etok/claude-opus-4-8": { alias: "Opus" },
|
||||
"etok/claude-opus-5": { alias: "Opus" },
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -1357,8 +1357,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-8",
|
||||
name: "Claude Opus 4.8",
|
||||
id: "claude-opus-5",
|
||||
name: "Claude Opus 5",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -1384,11 +1384,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "cubence/claude-opus-4-8",
|
||||
primary: "cubence/claude-opus-5",
|
||||
fallbacks: ["cubence/claude-sonnet-5"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"cubence/claude-opus-4-8": { alias: "Opus" },
|
||||
"cubence/claude-opus-5": { alias: "Opus" },
|
||||
"cubence/claude-sonnet-5": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
@@ -1403,8 +1403,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-8",
|
||||
name: "Claude Opus 4.8",
|
||||
id: "claude-opus-5",
|
||||
name: "Claude Opus 5",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -1430,11 +1430,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "crazyrouter/claude-opus-4-8",
|
||||
primary: "crazyrouter/claude-opus-5",
|
||||
fallbacks: ["crazyrouter/claude-sonnet-5"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"crazyrouter/claude-opus-4-8": { alias: "Opus" },
|
||||
"crazyrouter/claude-opus-5": { alias: "Opus" },
|
||||
"crazyrouter/claude-sonnet-5": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
@@ -1449,8 +1449,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-8",
|
||||
name: "Claude Opus 4.8",
|
||||
id: "claude-opus-5",
|
||||
name: "Claude Opus 5",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -1474,11 +1474,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "dmxapi/claude-opus-4-8",
|
||||
primary: "dmxapi/claude-opus-5",
|
||||
fallbacks: ["dmxapi/claude-sonnet-5"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"dmxapi/claude-opus-4-8": { alias: "Opus" },
|
||||
"dmxapi/claude-opus-5": { alias: "Opus" },
|
||||
"dmxapi/claude-sonnet-5": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
@@ -1494,8 +1494,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "openai-completions",
|
||||
models: [
|
||||
{
|
||||
id: "gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
id: "gpt-5.6-sol",
|
||||
name: "GPT-5.6 Sol",
|
||||
contextWindow: 400000,
|
||||
},
|
||||
],
|
||||
@@ -1513,10 +1513,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "qiniu/gpt-5.5",
|
||||
primary: "qiniu/gpt-5.6-sol",
|
||||
},
|
||||
modelCatalog: {
|
||||
"qiniu/gpt-5.5": { alias: "GPT-5.5" },
|
||||
"qiniu/gpt-5.6-sol": { alias: "GPT-5.6 Sol" },
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -1563,8 +1563,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "openai-responses",
|
||||
models: [
|
||||
{
|
||||
id: "gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
id: "gpt-5.6-sol",
|
||||
name: "GPT-5.6 Sol",
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -1580,7 +1580,7 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "sudocode-us/gpt-5.5",
|
||||
primary: "sudocode-us/gpt-5.6-sol",
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -1595,8 +1595,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "openai-completions",
|
||||
models: [
|
||||
{
|
||||
id: "gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
id: "gpt-5.6-sol",
|
||||
name: "GPT-5.6 Sol",
|
||||
contextWindow: 400000,
|
||||
},
|
||||
],
|
||||
@@ -1612,10 +1612,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "amux/gpt-5.5",
|
||||
primary: "amux/gpt-5.6-sol",
|
||||
},
|
||||
modelCatalog: {
|
||||
"amux/gpt-5.5": { alias: "GPT-5.5" },
|
||||
"amux/gpt-5.6-sol": { alias: "GPT-5.6 Sol" },
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -2153,8 +2153,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-8",
|
||||
name: "Claude Opus 4.8",
|
||||
id: "claude-opus-5",
|
||||
name: "Claude Opus 5",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -2178,11 +2178,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "aihubmix/claude-opus-4-8",
|
||||
primary: "aihubmix/claude-opus-5",
|
||||
fallbacks: ["aihubmix/claude-sonnet-5"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"aihubmix/claude-opus-4-8": { alias: "Opus" },
|
||||
"aihubmix/claude-opus-5": { alias: "Opus" },
|
||||
"aihubmix/claude-sonnet-5": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
@@ -2197,8 +2197,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "anthropic/claude-opus-4.8",
|
||||
name: "Claude Opus 4.8",
|
||||
id: "anthropic/claude-opus-5",
|
||||
name: "Claude Opus 5",
|
||||
contextWindow: 1000000,
|
||||
},
|
||||
{
|
||||
@@ -2219,11 +2219,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "cherryin/anthropic/claude-opus-4.8",
|
||||
primary: "cherryin/anthropic/claude-opus-5",
|
||||
fallbacks: ["cherryin/anthropic/claude-sonnet-5"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"cherryin/anthropic/claude-opus-4.8": { alias: "Opus" },
|
||||
"cherryin/anthropic/claude-opus-5": { alias: "Opus" },
|
||||
"cherryin/anthropic/claude-sonnet-5": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
@@ -2238,8 +2238,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "openai-completions",
|
||||
models: [
|
||||
{
|
||||
id: "anthropic/claude-opus-4.8",
|
||||
name: "Claude Opus 4.8",
|
||||
id: "anthropic/claude-opus-5",
|
||||
name: "Claude Opus 5",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -2263,11 +2263,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "openrouter/anthropic/claude-opus-4.8",
|
||||
primary: "openrouter/anthropic/claude-opus-5",
|
||||
fallbacks: ["openrouter/anthropic/claude-sonnet-5"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"openrouter/anthropic/claude-opus-4.8": { alias: "Opus" },
|
||||
"openrouter/anthropic/claude-opus-5": { alias: "Opus" },
|
||||
"openrouter/anthropic/claude-sonnet-5": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
@@ -2300,8 +2300,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
cost: { input: 1.75, output: 14, cacheRead: 0.175 },
|
||||
},
|
||||
{
|
||||
id: "google/gemini-3.5-flash",
|
||||
name: "Gemini 3.5 Flash",
|
||||
id: "google/gemini-3.6-flash",
|
||||
name: "Gemini 3.6 Flash",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 1.5, output: 9, cacheRead: 0.15 },
|
||||
},
|
||||
@@ -2326,13 +2326,13 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
primary: "therouter/anthropic/claude-sonnet-5",
|
||||
fallbacks: [
|
||||
"therouter/openai/gpt-5.2",
|
||||
"therouter/google/gemini-3.5-flash",
|
||||
"therouter/google/gemini-3.6-flash",
|
||||
],
|
||||
},
|
||||
modelCatalog: {
|
||||
"therouter/anthropic/claude-sonnet-5": { alias: "Sonnet" },
|
||||
"therouter/openai/gpt-5.2": { alias: "GPT-5.2" },
|
||||
"therouter/google/gemini-3.5-flash": { alias: "Gemini Flash" },
|
||||
"therouter/google/gemini-3.6-flash": { alias: "Gemini Flash" },
|
||||
"therouter/openai/gpt-5.3-codex": { alias: "Codex" },
|
||||
"therouter/qwen/qwen3-coder-480b": { alias: "Qwen Coder" },
|
||||
},
|
||||
@@ -2452,8 +2452,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-8",
|
||||
name: "claude-opus-4-8",
|
||||
id: "claude-opus-5",
|
||||
name: "claude-opus-5",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -2482,11 +2482,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "pipellm/claude-opus-4-8",
|
||||
primary: "pipellm/claude-opus-5",
|
||||
fallbacks: ["pipellm/claude-sonnet-5"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"pipellm/claude-opus-4-8": { alias: "Opus" },
|
||||
"pipellm/claude-opus-5": { alias: "Opus" },
|
||||
"pipellm/claude-sonnet-5": { alias: "Sonnet" },
|
||||
"pipellm/claude-haiku-4-5-20251001": { alias: "Haiku" },
|
||||
},
|
||||
@@ -2518,8 +2518,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
name: "gpt-5.3-codex",
|
||||
},
|
||||
{
|
||||
id: "gpt-5.5",
|
||||
name: "gpt-5.5",
|
||||
id: "gpt-5.6-sol",
|
||||
name: "gpt-5.6-sol",
|
||||
},
|
||||
{
|
||||
id: "gpt-5.2-codex",
|
||||
@@ -2544,11 +2544,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "eflowcode/gpt-5.3-codex",
|
||||
fallbacks: ["eflowcode/gpt-5.5", "eflowcode/gpt-5.2-codex"],
|
||||
fallbacks: ["eflowcode/gpt-5.6-sol", "eflowcode/gpt-5.2-codex"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"eflowcode/gpt-5.3-codex": { alias: "gpt-5.3-codex" },
|
||||
"eflowcode/gpt-5.5": { alias: "gpt-5.5" },
|
||||
"eflowcode/gpt-5.6-sol": { alias: "gpt-5.6-sol" },
|
||||
"eflowcode/gpt-5.2-codex": { alias: "gpt-5.2-codex" },
|
||||
"eflowcode/gpt-5.2": { alias: "gpt-5.2" },
|
||||
},
|
||||
@@ -2564,8 +2564,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "bedrock-converse-stream",
|
||||
models: [
|
||||
{
|
||||
id: "anthropic.claude-opus-4-8",
|
||||
name: "Claude Opus 4.8",
|
||||
id: "anthropic.claude-opus-5",
|
||||
name: "Claude Opus 5",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
|
||||
},
|
||||
|
||||
@@ -99,8 +99,8 @@ export const OPENCODE_PRESET_MODEL_VARIANTS: Record<
|
||||
},
|
||||
},
|
||||
{
|
||||
id: "gemini-3.5-flash",
|
||||
name: "Gemini 3.5 Flash",
|
||||
id: "gemini-3.6-flash",
|
||||
name: "Gemini 3.6 Flash",
|
||||
contextLimit: 1048576,
|
||||
outputLimit: 65536,
|
||||
modalities: {
|
||||
@@ -125,8 +125,8 @@ export const OPENCODE_PRESET_MODEL_VARIANTS: Record<
|
||||
],
|
||||
"@ai-sdk/openai": [
|
||||
{
|
||||
id: "gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
id: "gpt-5.6-sol",
|
||||
name: "GPT-5.6 Sol",
|
||||
contextLimit: 400000,
|
||||
outputLimit: 128000,
|
||||
modalities: { input: ["text", "image"], output: ["text"] },
|
||||
@@ -156,8 +156,8 @@ export const OPENCODE_PRESET_MODEL_VARIANTS: Record<
|
||||
],
|
||||
"@ai-sdk/amazon-bedrock": [
|
||||
{
|
||||
id: "global.anthropic.claude-opus-4-8",
|
||||
name: "Claude Opus 4.8",
|
||||
id: "global.anthropic.claude-opus-5",
|
||||
name: "Claude Opus 5",
|
||||
contextLimit: 1000000,
|
||||
outputLimit: 128000,
|
||||
modalities: { input: ["text", "image", "pdf"], output: ["text"] },
|
||||
@@ -224,8 +224,8 @@ export const OPENCODE_PRESET_MODEL_VARIANTS: Record<
|
||||
},
|
||||
},
|
||||
{
|
||||
id: "claude-opus-4-8",
|
||||
name: "Claude Opus 4.8",
|
||||
id: "claude-opus-5",
|
||||
name: "Claude Opus 5",
|
||||
contextLimit: 1000000,
|
||||
outputLimit: 128000,
|
||||
modalities: { input: ["text", "image", "pdf"], output: ["text"] },
|
||||
@@ -371,7 +371,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
models: {
|
||||
"claude-sonnet-5": { name: "Claude Sonnet 5" },
|
||||
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
||||
"claude-opus-5": { name: "Claude Opus 5" },
|
||||
},
|
||||
},
|
||||
category: "third_party",
|
||||
@@ -399,7 +399,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"gpt-5.5": { name: "GPT-5.5" },
|
||||
"gpt-5.6-sol": { name: "GPT-5.6 Sol" },
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
@@ -427,7 +427,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"gpt-5.5": { name: "GPT-5.5" },
|
||||
"gpt-5.6-sol": { name: "GPT-5.6 Sol" },
|
||||
},
|
||||
},
|
||||
category: "third_party",
|
||||
@@ -456,7 +456,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
models: {
|
||||
"claude-sonnet-5": { name: "Claude Sonnet 5" },
|
||||
"claude-opus-4.8": { name: "Claude Opus 4.8" },
|
||||
"claude-opus-5": { name: "Claude Opus 5" },
|
||||
},
|
||||
},
|
||||
category: "third_party",
|
||||
@@ -486,7 +486,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"gpt-5.5": { name: "GPT-5.5" },
|
||||
"gpt-5.6-sol": { name: "GPT-5.6 Sol" },
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
@@ -515,7 +515,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
models: {
|
||||
"claude-sonnet-5": { name: "Claude Sonnet 5" },
|
||||
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
||||
"claude-opus-5": { name: "Claude Opus 5" },
|
||||
"claude-haiku-4-5": { name: "Claude Haiku 4.5" },
|
||||
},
|
||||
},
|
||||
@@ -544,7 +544,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"gpt-5.5": { name: "GPT-5.5" },
|
||||
"gpt-5.6-sol": { name: "GPT-5.6 Sol" },
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
@@ -559,66 +559,6 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "AICoding",
|
||||
websiteUrl: "https://aicoding.sh",
|
||||
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
|
||||
settingsConfig: {
|
||||
npm: "@ai-sdk/anthropic",
|
||||
name: "AICoding",
|
||||
options: {
|
||||
baseURL: "https://api.aicoding.sh",
|
||||
apiKey: "",
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"claude-sonnet-5": { name: "Claude Sonnet 5" },
|
||||
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
||||
},
|
||||
},
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "aicoding",
|
||||
icon: "aicoding",
|
||||
iconColor: "#000000",
|
||||
templateValues: {
|
||||
apiKey: {
|
||||
label: "API Key",
|
||||
placeholder: "",
|
||||
editorValue: "",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "AIGoCode",
|
||||
websiteUrl: "https://aigocode.com",
|
||||
apiKeyUrl: "https://aigocode.com/invite/CC-SWITCH",
|
||||
settingsConfig: {
|
||||
npm: "@ai-sdk/anthropic",
|
||||
name: "AIGoCode",
|
||||
options: {
|
||||
baseURL: "https://api.aigocode.com",
|
||||
apiKey: "",
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"claude-sonnet-5": { name: "Claude Sonnet 5" },
|
||||
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
||||
},
|
||||
},
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "aigocode",
|
||||
icon: "aigocode",
|
||||
iconColor: "#5B7FFF",
|
||||
templateValues: {
|
||||
apiKey: {
|
||||
label: "API Key",
|
||||
placeholder: "",
|
||||
editorValue: "",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "Shengsuanyun",
|
||||
nameKey: "providerForm.presets.shengsuanyun",
|
||||
@@ -633,7 +573,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"anthropic/claude-opus-4.8": { name: "Claude Opus 4.8" },
|
||||
"anthropic/claude-opus-5": { name: "Claude Opus 5" },
|
||||
"anthropic/claude-sonnet-5": { name: "Claude Sonnet 5" },
|
||||
},
|
||||
},
|
||||
@@ -649,6 +589,66 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "AIGoCode",
|
||||
websiteUrl: "https://aigocode.com",
|
||||
apiKeyUrl: "https://aigocode.com/invite/CC-SWITCH",
|
||||
settingsConfig: {
|
||||
npm: "@ai-sdk/anthropic",
|
||||
name: "AIGoCode",
|
||||
options: {
|
||||
baseURL: "https://api.aigocode.com",
|
||||
apiKey: "",
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"claude-sonnet-5": { name: "Claude Sonnet 5" },
|
||||
"claude-opus-5": { name: "Claude Opus 5" },
|
||||
},
|
||||
},
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "aigocode",
|
||||
icon: "aigocode",
|
||||
iconColor: "#5B7FFF",
|
||||
templateValues: {
|
||||
apiKey: {
|
||||
label: "API Key",
|
||||
placeholder: "",
|
||||
editorValue: "",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "AICoding",
|
||||
websiteUrl: "https://aicoding.sh",
|
||||
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
|
||||
settingsConfig: {
|
||||
npm: "@ai-sdk/anthropic",
|
||||
name: "AICoding",
|
||||
options: {
|
||||
baseURL: "https://api.aicoding.sh",
|
||||
apiKey: "",
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"claude-sonnet-5": { name: "Claude Sonnet 5" },
|
||||
"claude-opus-5": { name: "Claude Opus 5" },
|
||||
},
|
||||
},
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "aicoding",
|
||||
icon: "aicoding",
|
||||
iconColor: "#000000",
|
||||
templateValues: {
|
||||
apiKey: {
|
||||
label: "API Key",
|
||||
placeholder: "",
|
||||
editorValue: "",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "SubRouter",
|
||||
websiteUrl: "https://subrouter.ai",
|
||||
@@ -662,7 +662,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"gpt-5.5": { name: "GPT-5.5" },
|
||||
"gpt-5.6-sol": { name: "GPT-5.6 Sol" },
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
@@ -690,7 +690,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
||||
"claude-opus-5": { name: "Claude Opus 5" },
|
||||
"claude-sonnet-5": { name: "Claude Sonnet 5" },
|
||||
"claude-haiku-4-5": { name: "Claude Haiku 4.5" },
|
||||
},
|
||||
@@ -720,7 +720,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"gpt-5.5": { name: "GPT-5.5" },
|
||||
"gpt-5.6-sol": { name: "GPT-5.6 Sol" },
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
@@ -749,7 +749,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"gpt-5.5": { name: "GPT-5.5" },
|
||||
"gpt-5.6-sol": { name: "GPT-5.6 Sol" },
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
@@ -778,7 +778,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
models: {
|
||||
"claude-sonnet-5": { name: "Claude Sonnet 5" },
|
||||
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
||||
"claude-opus-5": { name: "Claude Opus 5" },
|
||||
"claude-haiku-4-5": { name: "Claude Haiku 4.5" },
|
||||
},
|
||||
},
|
||||
@@ -906,7 +906,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"gpt-5.5": { name: "GPT-5.5" },
|
||||
"gpt-5.6-sol": { name: "GPT-5.6 Sol" },
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
@@ -962,7 +962,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"gpt-5.5": { name: "GPT-5.5" },
|
||||
"gpt-5.6-sol": { name: "GPT-5.6 Sol" },
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
@@ -991,7 +991,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
models: {
|
||||
"claude-sonnet-5": { name: "Claude Sonnet 5" },
|
||||
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
||||
"claude-opus-5": { name: "Claude Opus 5" },
|
||||
},
|
||||
},
|
||||
category: "third_party",
|
||||
@@ -1020,7 +1020,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
||||
"claude-opus-5": { name: "Claude Opus 5" },
|
||||
"claude-sonnet-5": { name: "Claude Sonnet 5" },
|
||||
},
|
||||
},
|
||||
@@ -1050,7 +1050,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"gpt-5.5": { name: "GPT-5.5" },
|
||||
"gpt-5.6-sol": { name: "GPT-5.6 Sol" },
|
||||
},
|
||||
},
|
||||
category: "third_party",
|
||||
@@ -1079,7 +1079,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
||||
"claude-opus-5": { name: "Claude Opus 5" },
|
||||
"claude-sonnet-5": { name: "Claude Sonnet 5" },
|
||||
},
|
||||
},
|
||||
@@ -1110,7 +1110,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
models: {
|
||||
"claude-sonnet-5": { name: "Claude Sonnet 5" },
|
||||
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
||||
"claude-opus-5": { name: "Claude Opus 5" },
|
||||
},
|
||||
},
|
||||
category: "third_party",
|
||||
@@ -1140,7 +1140,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
models: {
|
||||
"claude-sonnet-5": { name: "Claude Sonnet 5" },
|
||||
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
||||
"claude-opus-5": { name: "Claude Opus 5" },
|
||||
},
|
||||
},
|
||||
category: "third_party",
|
||||
@@ -1170,7 +1170,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
models: {
|
||||
"claude-sonnet-5": { name: "Claude Sonnet 5" },
|
||||
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
||||
"claude-opus-5": { name: "Claude Opus 5" },
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
@@ -1198,7 +1198,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"gpt-5.5": { name: "GPT-5.5" },
|
||||
"gpt-5.6-sol": { name: "GPT-5.6 Sol" },
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
@@ -1255,7 +1255,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"gpt-5.5": { name: "GPT-5.5" },
|
||||
"gpt-5.6-sol": { name: "GPT-5.6 Sol" },
|
||||
},
|
||||
},
|
||||
category: "third_party",
|
||||
@@ -1283,7 +1283,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"gpt-5.5": { name: "GPT-5.5" },
|
||||
"gpt-5.6-sol": { name: "GPT-5.6 Sol" },
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
@@ -1831,7 +1831,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
models: {
|
||||
"claude-sonnet-5": { name: "Claude Sonnet 5" },
|
||||
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
||||
"claude-opus-5": { name: "Claude Opus 5" },
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
@@ -1859,7 +1859,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
models: {
|
||||
"anthropic/claude-sonnet-5": { name: "Claude Sonnet 5" },
|
||||
"anthropic/claude-opus-4.8": { name: "Claude Opus 4.8" },
|
||||
"anthropic/claude-opus-5": { name: "Claude Opus 5" },
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
@@ -1886,7 +1886,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
models: {
|
||||
"anthropic/claude-sonnet-5": { name: "Claude Sonnet 5" },
|
||||
"anthropic/claude-opus-4.8": { name: "Claude Opus 4.8" },
|
||||
"anthropic/claude-opus-5": { name: "Claude Opus 5" },
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
@@ -1916,8 +1916,8 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
"anthropic/claude-sonnet-5": { name: "Claude Sonnet 5" },
|
||||
"openai/gpt-5.3-codex": { name: "GPT-5.3 Codex" },
|
||||
"openai/gpt-5.2": { name: "GPT-5.2" },
|
||||
"google/gemini-3.5-flash": {
|
||||
name: "Gemini 3.5 Flash",
|
||||
"google/gemini-3.6-flash": {
|
||||
name: "Gemini 3.6 Flash",
|
||||
},
|
||||
"qwen/qwen3-coder-480b": { name: "Qwen3 Coder 480B" },
|
||||
},
|
||||
@@ -1998,7 +1998,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"claude-opus-4-8": { name: "claude-opus-4-8" },
|
||||
"claude-opus-5": { name: "claude-opus-5" },
|
||||
"claude-sonnet-5": { name: "claude-sonnet-5" },
|
||||
"claude-haiku-4-5-20251001": { name: "claude-haiku-4-5-20251001" },
|
||||
},
|
||||
@@ -2056,7 +2056,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"global.anthropic.claude-opus-4-8": { name: "Claude Opus 4.8" },
|
||||
"global.anthropic.claude-opus-5": { name: "Claude Opus 5" },
|
||||
"global.anthropic.claude-sonnet-5": {
|
||||
name: "Claude Sonnet 5",
|
||||
},
|
||||
|
||||
@@ -44,14 +44,14 @@ const NEWAPI_DEFAULT_MODELS: UniversalProviderModels = {
|
||||
model: "claude-sonnet-5",
|
||||
haikuModel: "claude-haiku-4-5-20251001",
|
||||
sonnetModel: "claude-sonnet-5",
|
||||
opusModel: "claude-opus-4-8",
|
||||
opusModel: "claude-opus-5",
|
||||
},
|
||||
codex: {
|
||||
model: "gpt-5.5",
|
||||
model: "gpt-5.6-sol",
|
||||
reasoningEffort: "high",
|
||||
},
|
||||
gemini: {
|
||||
model: "gemini-3.5-flash",
|
||||
model: "gemini-3.6-flash",
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@@ -1020,7 +1020,7 @@
|
||||
"providerKeyStatusLoading": "Provider identifier status is still loading. Please try again shortly.",
|
||||
"getApiKey": "Get API Key",
|
||||
"partnerPromotion": {
|
||||
"sudocode": "With one SudoCode key, Claude Code and Claude Desktop use Claude Opus 4.8, while Codex uses GPT-5.6. Sign up, join QQ group 726213516, and contact the group owner to claim CNY ¥10 in trial credit.",
|
||||
"sudocode": "With one SudoCode key, Claude Code and Claude Desktop use Claude Opus 5, while Codex uses GPT-5.6. Sign up, join QQ group 726213516, and contact the group owner to claim CNY ¥10 in trial credit.",
|
||||
"code0": "code0.ai is an AI coding service platform for developers, supporting Claude Code, Codex, and Gemini. Exclusive for CC Switch users: contact support via the official website to claim free trial credits!",
|
||||
"nekocode": "NekoCode gives developers a stable, efficient, and reliable API relay for Claude, Codex, and other AI models, with transparent pay-as-you-go pricing. Exclusive 10% off for CC Switch users: register via the link above and enter promo code cc-switch at recharge to save 10%!",
|
||||
"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",
|
||||
@@ -1345,7 +1345,7 @@
|
||||
"modelMetadataAdvanced": "Model Metadata Advanced Options",
|
||||
"modelMetadataAdvancedHint": "Overrides Codex metadata for unknown models; clearing a field removes the matching config.toml entry.",
|
||||
"defaultModelLabel": "Default Model",
|
||||
"defaultModelPlaceholder": "e.g. gpt-5.6",
|
||||
"defaultModelPlaceholder": "e.g. gpt-5.6-sol",
|
||||
"defaultModelHint": "The model Codex requests by default; change it anytime without waiting for a preset update. If left empty while model mapping is configured, the first mapping row is used.",
|
||||
"defaultModelNotInCatalog": "This model is not in the model mapping, so the Codex /model menu won't list it (direct requests still work).",
|
||||
"addToModelMapping": "Add to mapping",
|
||||
@@ -2160,9 +2160,9 @@
|
||||
"addModel": "Add model",
|
||||
"noModels": "No models configured. Switching to this provider won't change the default model.",
|
||||
"modelId": "Model ID",
|
||||
"modelIdPlaceholder": "anthropic/claude-opus-4-8",
|
||||
"modelIdPlaceholder": "anthropic/claude-opus-5",
|
||||
"modelName": "Display name",
|
||||
"modelNamePlaceholder": "Claude Opus 4.8",
|
||||
"modelNamePlaceholder": "Claude Opus 5",
|
||||
"contextLength": "Context length",
|
||||
"advancedOptions": "Advanced options",
|
||||
"modelsHint": "On switch, the first model is written to top-level model.default.",
|
||||
@@ -2940,13 +2940,13 @@
|
||||
"writing": "Writing"
|
||||
},
|
||||
"categoryTooltip": {
|
||||
"visualEngineering": "Frontend and visual engineering category for UI/UX design, styling, animation and interface implementation. Defaults to Gemini 3.5 Flash model.",
|
||||
"visualEngineering": "Frontend and visual engineering category for UI/UX design, styling, animation and interface implementation. Defaults to Gemini 3.6 Flash model.",
|
||||
"ultrabrain": "Deep logical reasoning category for complex architectural decisions requiring extensive analysis. Defaults to GPT-5.3 Codex ultra-high reasoning variant.",
|
||||
"deep": "Deep autonomous problem-solving category with goal-oriented execution. Conducts thorough research before action, suitable for difficult problems requiring deep understanding.",
|
||||
"artistry": "Highly creative and artistic task category that inspires novel ideas and creative solutions. Defaults to Gemini 3.5 Flash high variant.",
|
||||
"artistry": "Highly creative and artistic task category that inspires novel ideas and creative solutions. Defaults to Gemini 3.6 Flash high variant.",
|
||||
"quick": "Lightweight task category for single-file modifications, typo fixes, and simple adjustments. Defaults to Claude Haiku 4.5 fast model.",
|
||||
"unspecifiedLow": "Uncategorized low-effort task category for tasks that don't fit other categories with small workload. Defaults to Claude Sonnet 4.5.",
|
||||
"unspecifiedHigh": "Uncategorized high-effort task category for tasks that don't fit other categories with large workload. Defaults to Claude Opus 4.8 max variant.",
|
||||
"unspecifiedHigh": "Uncategorized high-effort task category for tasks that don't fit other categories with large workload. Defaults to Claude Opus 5 max variant.",
|
||||
"writing": "Writing category for documentation, prose and technical writing. Defaults to Kimi K2.5 model."
|
||||
},
|
||||
"slimAgentDesc": {
|
||||
|
||||
@@ -1020,7 +1020,7 @@
|
||||
"providerKeyStatusLoading": "プロバイダー識別子の状態を読み込んでいます。しばらくしてからもう一度お試しください",
|
||||
"getApiKey": "API Key を取得",
|
||||
"partnerPromotion": {
|
||||
"sudocode": "SudoCode の1つのキーで、Claude Code と Claude Desktop では Claude Opus 4.8、Codex では GPT-5.6 を利用できます。登録後 QQ グループ 726213516 に参加し、管理者へ連絡すると CNY ¥10 のトライアルクレジットを受け取れます。",
|
||||
"sudocode": "SudoCode の1つのキーで、Claude Code と Claude Desktop では Claude Opus 5、Codex では GPT-5.6 を利用できます。登録後 QQ グループ 726213516 に参加し、管理者へ連絡すると CNY ¥10 のトライアルクレジットを受け取れます。",
|
||||
"code0": "code0.ai は開発者向けの AI コーディングサービスプラットフォームで、Claude Code、Codex、Gemini に対応。CC Switch ユーザー限定特典:公式サイトからサポートに連絡してテストクレジットを受け取れます!",
|
||||
"nekocode": "NekoCode は Claude や Codex などの AI モデルに対応した、安定・高効率で信頼性の高い API 中継サービスを提供します。明瞭な従量課金制。CC Switch ユーザー限定 10%オフ:上のリンクから登録し、チャージ時にクーポンコード cc-switch を入力すると 10%オフ!",
|
||||
"packycode": "PackyCode は CC Switch の公式パートナーです。登録後チャージ時に \"cc-switch\" を入力すると 10% オフ",
|
||||
@@ -1345,7 +1345,7 @@
|
||||
"modelMetadataAdvanced": "モデルメタデータ詳細オプション",
|
||||
"modelMetadataAdvancedHint": "未知のモデル向けに Codex メタデータを上書きします。空にすると対応する config.toml 設定を削除します。",
|
||||
"defaultModelLabel": "デフォルトモデル",
|
||||
"defaultModelPlaceholder": "例: gpt-5.6",
|
||||
"defaultModelPlaceholder": "例: gpt-5.6-sol",
|
||||
"defaultModelHint": "Codex がデフォルトでリクエストするモデルです。プリセットの更新を待たずにいつでも変更できます。空欄のままモデルマッピングを設定している場合は、マッピングの先頭行が使われます。",
|
||||
"defaultModelNotInCatalog": "このモデルはモデルマッピングにないため、Codex の /model メニューには表示されません(直接リクエストは有効です)。",
|
||||
"addToModelMapping": "マッピングに追加",
|
||||
@@ -2160,9 +2160,9 @@
|
||||
"addModel": "モデルを追加",
|
||||
"noModels": "モデル未設定。このプロバイダーに切り替えてもデフォルトモデルは更新されません。",
|
||||
"modelId": "モデル ID",
|
||||
"modelIdPlaceholder": "anthropic/claude-opus-4-8",
|
||||
"modelIdPlaceholder": "anthropic/claude-opus-5",
|
||||
"modelName": "表示名",
|
||||
"modelNamePlaceholder": "Claude Opus 4.8",
|
||||
"modelNamePlaceholder": "Claude Opus 5",
|
||||
"contextLength": "コンテキスト長",
|
||||
"advancedOptions": "詳細オプション",
|
||||
"modelsHint": "切り替え時、最初のモデルが model.default に書き込まれます。",
|
||||
@@ -2940,13 +2940,13 @@
|
||||
"writing": "ライティング"
|
||||
},
|
||||
"categoryTooltip": {
|
||||
"visualEngineering": "フロントエンドとビジュアルエンジニアリングカテゴリ。UI/UX デザイン、スタイリング、アニメーション、インターフェース実装に特化。デフォルトで Gemini 3.5 Flash モデルを使用。",
|
||||
"visualEngineering": "フロントエンドとビジュアルエンジニアリングカテゴリ。UI/UX デザイン、スタイリング、アニメーション、インターフェース実装に特化。デフォルトで Gemini 3.6 Flash モデルを使用。",
|
||||
"ultrabrain": "ディープロジック推論カテゴリ。広範な分析が必要な複雑なアーキテクチャ決定に使用。デフォルトで GPT-5.3 Codex の超高推論バリアントを使用。",
|
||||
"deep": "ディープ自律問題解決カテゴリ。目標指向の実行で、行動前に徹底的な調査を実施。深い理解が必要な難問に適しています。",
|
||||
"artistry": "高度にクリエイティブで芸術的なタスクカテゴリ。斬新なアイデアとクリエイティブなソリューションを促進。デフォルトで Gemini 3.5 Flash の高推論バリアントを使用。",
|
||||
"artistry": "高度にクリエイティブで芸術的なタスクカテゴリ。斬新なアイデアとクリエイティブなソリューションを促進。デフォルトで Gemini 3.6 Flash の高推論バリアントを使用。",
|
||||
"quick": "軽量タスクカテゴリ。単一ファイルの修正、タイポ修正、簡単な調整などの些細な作業に使用。デフォルトで Claude Haiku 4.5 高速モデルを使用。",
|
||||
"unspecifiedLow": "未分類の低作業量タスクカテゴリ。他のカテゴリに該当せず作業量が小さいタスクに適用。デフォルトで Claude Sonnet 4.5 を使用。",
|
||||
"unspecifiedHigh": "未分類の高作業量タスクカテゴリ。他のカテゴリに該当せず作業量が大きいタスクに適用。デフォルトで Claude Opus 4.8 の max バリアントを使用。",
|
||||
"unspecifiedHigh": "未分類の高作業量タスクカテゴリ。他のカテゴリに該当せず作業量が大きいタスクに適用。デフォルトで Claude Opus 5 の max バリアントを使用。",
|
||||
"writing": "ライティングカテゴリ。ドキュメント、散文、技術文書に特化。デフォルトで Kimi K2.5 モデルを使用。"
|
||||
},
|
||||
"slimAgentDesc": {
|
||||
|
||||
@@ -991,7 +991,7 @@
|
||||
"providerKeyStatusLoading": "正在載入供應商識別碼狀態,請稍後再試",
|
||||
"getApiKey": "取得 API Key",
|
||||
"partnerPromotion": {
|
||||
"sudocode": "SudoCode 讓 Claude Code 與 Claude Desktop 使用 Claude Opus 4.8,Codex 使用 GPT-5.6,一個 Key 統一管理。CC Switch 使用者註冊並加入 QQ 群 726213516,聯絡群主領取人民幣 ¥10 試用額度。",
|
||||
"sudocode": "SudoCode 讓 Claude Code 與 Claude Desktop 使用 Claude Opus 5,Codex 使用 GPT-5.6,一個 Key 統一管理。CC Switch 使用者註冊並加入 QQ 群 726213516,聯絡群主領取人民幣 ¥10 試用額度。",
|
||||
"code0": "code0.ai 是面向開發者的 AI 程式設計服務平台,支援 Claude Code、Codex、Gemini。CC Switch 使用者專屬福利:透過官網聯繫客服即可領取測試額度!",
|
||||
"nekocode": "NekoCode 為開發者提供穩定、高效、可靠的 Claude、Codex 等 AI 模型 API 中轉服務,價格透明、按量計費。CC Switch 使用者專享 9 折:透過上方連結註冊,儲值時輸入優惠碼 cc-switch 即享 9 折優惠!",
|
||||
"packycode": "PackyCode 是 CC Switch 的官方合作夥伴,使用此連結註冊並在儲值時填寫「cc-switch」優惠碼,可以享受 9 折優惠",
|
||||
@@ -1310,7 +1310,7 @@
|
||||
"promptCacheRoutingDisabled": "關閉",
|
||||
"promptCacheRoutingHint": "自動模式僅對已確認相容的上游傳送 prompt_cache_key;開啟可用於其他相容閘道,關閉可避免嚴格閘道因未知欄位回傳 400。只使用客戶端提供的穩定工作階段 ID。",
|
||||
"defaultModelLabel": "預設模型",
|
||||
"defaultModelPlaceholder": "例如: gpt-5.6",
|
||||
"defaultModelPlaceholder": "例如: gpt-5.6-sol",
|
||||
"defaultModelHint": "Codex 預設請求的模型,隨時可改,無需等待軟體更新供應商範本。留空且設定了模型映射時,預設使用映射第一行。",
|
||||
"defaultModelNotInCatalog": "該模型不在模型映射中,Codex 的 /model 選單不會列出它(直接請求仍然有效)。",
|
||||
"addToModelMapping": "加入映射",
|
||||
@@ -2131,9 +2131,9 @@
|
||||
"addModel": "新增模型",
|
||||
"noModels": "暫無模型設定。切換至此供應商時將不會更新預設模型。",
|
||||
"modelId": "模型 ID",
|
||||
"modelIdPlaceholder": "anthropic/claude-opus-4-8",
|
||||
"modelIdPlaceholder": "anthropic/claude-opus-5",
|
||||
"modelName": "顯示名稱",
|
||||
"modelNamePlaceholder": "Claude Opus 4.8",
|
||||
"modelNamePlaceholder": "Claude Opus 5",
|
||||
"contextLength": "上下文長度",
|
||||
"advancedOptions": "進階選項",
|
||||
"modelsHint": "切換至此供應商時,第一個模型會寫入頂層 model.default。",
|
||||
@@ -2911,13 +2911,13 @@
|
||||
"writing": "寫作"
|
||||
},
|
||||
"categoryTooltip": {
|
||||
"visualEngineering": "前端與視覺工程類別,專注於 UI/UX 設計、樣式、動畫和介面實作,預設使用 Gemini 3.5 Flash 模型。",
|
||||
"visualEngineering": "前端與視覺工程類別,專注於 UI/UX 設計、樣式、動畫和介面實作,預設使用 Gemini 3.6 Flash 模型。",
|
||||
"ultrabrain": "深度邏輯推理類別,用於需要廣泛分析的複雜架構決策,預設使用 GPT-5.3 Codex 的超高推理變體。",
|
||||
"deep": "深度自主問題解決類別,目標導向執行,行動前進行徹底研究,適用於需要深度理解的棘手問題。",
|
||||
"artistry": "高度創意與藝術性任務類別,激發新穎想法和創造性解決方案,預設使用 Gemini 3.5 Flash 的高推理變體。",
|
||||
"artistry": "高度創意與藝術性任務類別,激發新穎想法和創造性解決方案,預設使用 Gemini 3.6 Flash 的高推理變體。",
|
||||
"quick": "輕量任務類別,用於單檔案修改、錯別字修復、簡單調整等瑣碎工作,預設使用 Claude Haiku 4.5 快速模型。",
|
||||
"unspecifiedLow": "未分類低工作量任務類別,適用於不適合其他類別且工作量較小的任務,預設使用 Claude Sonnet 4.5。",
|
||||
"unspecifiedHigh": "未分類高工作量任務類別,適用於不適合其他類別且工作量較大的任務,預設使用 Claude Opus 4.8 的最大變體。",
|
||||
"unspecifiedHigh": "未分類高工作量任務類別,適用於不適合其他類別且工作量較大的任務,預設使用 Claude Opus 5 的最大變體。",
|
||||
"writing": "寫作類別,專注於文件、散文和技術寫作,預設使用 Kimi K2.5 模型。"
|
||||
},
|
||||
"slimAgentDesc": {
|
||||
|
||||
@@ -1020,7 +1020,7 @@
|
||||
"providerKeyStatusLoading": "正在加载供应商标识状态,请稍后再试",
|
||||
"getApiKey": "获取 API Key",
|
||||
"partnerPromotion": {
|
||||
"sudocode": "SudoCode 让 Claude Code 与 Claude Desktop 接入 Claude Opus 4.8,Codex 接入 GPT-5.6,一个 Key 统一使用。CC Switch 用户注册并加入 QQ 群 726213516,联系群主领取 ¥10 试用额度。",
|
||||
"sudocode": "SudoCode 让 Claude Code 与 Claude Desktop 接入 Claude Opus 5,Codex 接入 GPT-5.6,一个 Key 统一使用。CC Switch 用户注册并加入 QQ 群 726213516,联系群主领取 ¥10 试用额度。",
|
||||
"code0": "code0.ai 是面向开发者的 AI 编程服务平台,支持 Claude Code、Codex、Gemini。CC Switch 用户专属福利:通过官网联系客服即可领取测试额度!",
|
||||
"nekocode": "NekoCode 为开发者提供稳定、高效、可靠的 Claude、Codex 等 AI 模型 API 中转服务,价格透明、按量计费。CC Switch 用户专享 9 折:通过上方链接注册,充值时输入优惠码 cc-switch 即享 9 折优惠!",
|
||||
"packycode": "PackyCode 是 CC Switch 的官方合作伙伴,使用此链接注册并在充值时填写 \"cc-switch\" 优惠码,可以享受9折优惠",
|
||||
@@ -1345,7 +1345,7 @@
|
||||
"modelMetadataAdvanced": "模型元数据高级选项",
|
||||
"modelMetadataAdvancedHint": "用于未知模型的 Codex 元数据覆盖;清空字段会从 config.toml 删除对应配置。",
|
||||
"defaultModelLabel": "默认模型",
|
||||
"defaultModelPlaceholder": "例如: gpt-5.6",
|
||||
"defaultModelPlaceholder": "例如: gpt-5.6-sol",
|
||||
"defaultModelHint": "Codex 默认请求的模型,随时可改,无需等待预设更新。留空且配置了模型映射时,默认使用映射第一行。",
|
||||
"defaultModelNotInCatalog": "该模型不在模型映射中,Codex 的 /model 菜单不会列出它(直接请求仍然有效)。",
|
||||
"addToModelMapping": "加入映射",
|
||||
@@ -2160,9 +2160,9 @@
|
||||
"addModel": "添加模型",
|
||||
"noModels": "暂无模型配置。切换到此供应商时将不会更新默认模型。",
|
||||
"modelId": "模型 ID",
|
||||
"modelIdPlaceholder": "anthropic/claude-opus-4-8",
|
||||
"modelIdPlaceholder": "anthropic/claude-opus-5",
|
||||
"modelName": "显示名称",
|
||||
"modelNamePlaceholder": "Claude Opus 4.8",
|
||||
"modelNamePlaceholder": "Claude Opus 5",
|
||||
"contextLength": "上下文长度",
|
||||
"advancedOptions": "高级选项",
|
||||
"modelsHint": "切换到此供应商时,第一个模型会写入顶层 model.default。",
|
||||
@@ -2940,13 +2940,13 @@
|
||||
"writing": "写作"
|
||||
},
|
||||
"categoryTooltip": {
|
||||
"visualEngineering": "前端与视觉工程类别,专注于 UI/UX 设计、样式、动画和界面实现,默认使用 Gemini 3.5 Flash 模型。",
|
||||
"visualEngineering": "前端与视觉工程类别,专注于 UI/UX 设计、样式、动画和界面实现,默认使用 Gemini 3.6 Flash 模型。",
|
||||
"ultrabrain": "深度逻辑推理类别,用于需要广泛分析的复杂架构决策,默认使用 GPT-5.3 Codex 的超高推理变体。",
|
||||
"deep": "深度自主问题解决类别,目标导向执行,行动前进行彻底研究,适用于需要深度理解的棘手问题。",
|
||||
"artistry": "高度创意与艺术性任务类别,激发新颖想法和创造性解决方案,默认使用 Gemini 3.5 Flash 的高推理变体。",
|
||||
"artistry": "高度创意与艺术性任务类别,激发新颖想法和创造性解决方案,默认使用 Gemini 3.6 Flash 的高推理变体。",
|
||||
"quick": "轻量任务类别,用于单文件修改、错别字修复、简单调整等琐碎工作,默认使用 Claude Haiku 4.5 快速模型。",
|
||||
"unspecifiedLow": "未归类低工作量任务类别,适用于不适合其他类别且工作量较小的任务,默认使用 Claude Sonnet 4.5。",
|
||||
"unspecifiedHigh": "未归类高工作量任务类别,适用于不适合其他类别且工作量较大的任务,默认使用 Claude Opus 4.8 的最大变体。",
|
||||
"unspecifiedHigh": "未归类高工作量任务类别,适用于不适合其他类别且工作量较大的任务,默认使用 Claude Opus 5 的最大变体。",
|
||||
"writing": "写作类别,专注于文档、散文和技术写作,默认使用 Kimi K2.5 模型。"
|
||||
},
|
||||
"slimAgentDesc": {
|
||||
|
||||
+18
-18
@@ -29,7 +29,7 @@ export const OMO_BUILTIN_AGENTS: OmoAgentDef[] = [
|
||||
display: "Sisyphus",
|
||||
descKey: "omo.agentDesc.sisyphus",
|
||||
tooltipKey: "omo.agentTooltip.sisyphus",
|
||||
recommended: "claude-opus-4-8",
|
||||
recommended: "claude-opus-5",
|
||||
group: "main",
|
||||
},
|
||||
{
|
||||
@@ -37,7 +37,7 @@ export const OMO_BUILTIN_AGENTS: OmoAgentDef[] = [
|
||||
display: "Hephaestus",
|
||||
descKey: "omo.agentDesc.hephaestus",
|
||||
tooltipKey: "omo.agentTooltip.hephaestus",
|
||||
recommended: "gpt-5.5",
|
||||
recommended: "gpt-5.6-sol",
|
||||
group: "main",
|
||||
},
|
||||
{
|
||||
@@ -45,7 +45,7 @@ export const OMO_BUILTIN_AGENTS: OmoAgentDef[] = [
|
||||
display: "Prometheus",
|
||||
descKey: "omo.agentDesc.prometheus",
|
||||
tooltipKey: "omo.agentTooltip.prometheus",
|
||||
recommended: "claude-opus-4-8",
|
||||
recommended: "claude-opus-5",
|
||||
group: "main",
|
||||
},
|
||||
{
|
||||
@@ -61,7 +61,7 @@ export const OMO_BUILTIN_AGENTS: OmoAgentDef[] = [
|
||||
display: "Oracle",
|
||||
descKey: "omo.agentDesc.oracle",
|
||||
tooltipKey: "omo.agentTooltip.oracle",
|
||||
recommended: "gpt-5.5",
|
||||
recommended: "gpt-5.6-sol",
|
||||
group: "sub",
|
||||
},
|
||||
{
|
||||
@@ -85,7 +85,7 @@ export const OMO_BUILTIN_AGENTS: OmoAgentDef[] = [
|
||||
display: "Multimodal-Looker",
|
||||
descKey: "omo.agentDesc.multimodalLooker",
|
||||
tooltipKey: "omo.agentTooltip.multimodalLooker",
|
||||
recommended: "gpt-5.5",
|
||||
recommended: "gpt-5.6-sol",
|
||||
group: "sub",
|
||||
},
|
||||
{
|
||||
@@ -101,7 +101,7 @@ export const OMO_BUILTIN_AGENTS: OmoAgentDef[] = [
|
||||
display: "Momus",
|
||||
descKey: "omo.agentDesc.momus",
|
||||
tooltipKey: "omo.agentTooltip.momus",
|
||||
recommended: "gpt-5.5",
|
||||
recommended: "gpt-5.6-sol",
|
||||
group: "sub",
|
||||
},
|
||||
{
|
||||
@@ -120,28 +120,28 @@ export const OMO_BUILTIN_CATEGORIES: OmoCategoryDef[] = [
|
||||
display: "Visual Engineering",
|
||||
descKey: "omo.categoryDesc.visualEngineering",
|
||||
tooltipKey: "omo.categoryTooltip.visualEngineering",
|
||||
recommended: "gemini-3.5-flash",
|
||||
recommended: "gemini-3.6-flash",
|
||||
},
|
||||
{
|
||||
key: "ultrabrain",
|
||||
display: "Ultrabrain",
|
||||
descKey: "omo.categoryDesc.ultrabrain",
|
||||
tooltipKey: "omo.categoryTooltip.ultrabrain",
|
||||
recommended: "gpt-5.5",
|
||||
recommended: "gpt-5.6-sol",
|
||||
},
|
||||
{
|
||||
key: "deep",
|
||||
display: "Deep",
|
||||
descKey: "omo.categoryDesc.deep",
|
||||
tooltipKey: "omo.categoryTooltip.deep",
|
||||
recommended: "gpt-5.5",
|
||||
recommended: "gpt-5.6-sol",
|
||||
},
|
||||
{
|
||||
key: "artistry",
|
||||
display: "Artistry",
|
||||
descKey: "omo.categoryDesc.artistry",
|
||||
tooltipKey: "omo.categoryTooltip.artistry",
|
||||
recommended: "gemini-3.5-flash",
|
||||
recommended: "gemini-3.6-flash",
|
||||
},
|
||||
{
|
||||
key: "quick",
|
||||
@@ -162,7 +162,7 @@ export const OMO_BUILTIN_CATEGORIES: OmoCategoryDef[] = [
|
||||
display: "Unspecified High",
|
||||
descKey: "omo.categoryDesc.unspecifiedHigh",
|
||||
tooltipKey: "omo.categoryTooltip.unspecifiedHigh",
|
||||
recommended: "claude-opus-4-8",
|
||||
recommended: "claude-opus-5",
|
||||
},
|
||||
{
|
||||
key: "writing",
|
||||
@@ -281,8 +281,8 @@ export const OMO_BACKGROUND_TASK_PLACEHOLDER = `{
|
||||
"google": 10
|
||||
},
|
||||
"modelConcurrency": {
|
||||
"anthropic/claude-opus-4-8": 2,
|
||||
"google/gemini-3.5-flash": 10
|
||||
"anthropic/claude-opus-5": 2,
|
||||
"google/gemini-3.6-flash": 10
|
||||
}
|
||||
}`;
|
||||
|
||||
@@ -320,7 +320,7 @@ export const OMO_SLIM_BUILTIN_AGENTS: OmoAgentDef[] = [
|
||||
display: "Orchestrator",
|
||||
descKey: "omo.slimAgentDesc.orchestrator",
|
||||
tooltipKey: "omo.slimAgentTooltip.orchestrator",
|
||||
recommended: "claude-opus-4-8",
|
||||
recommended: "claude-opus-5",
|
||||
group: "main",
|
||||
},
|
||||
{
|
||||
@@ -328,7 +328,7 @@ export const OMO_SLIM_BUILTIN_AGENTS: OmoAgentDef[] = [
|
||||
display: "Oracle",
|
||||
descKey: "omo.slimAgentDesc.oracle",
|
||||
tooltipKey: "omo.slimAgentTooltip.oracle",
|
||||
recommended: "gpt-5.5",
|
||||
recommended: "gpt-5.6-sol",
|
||||
group: "sub",
|
||||
},
|
||||
{
|
||||
@@ -336,7 +336,7 @@ export const OMO_SLIM_BUILTIN_AGENTS: OmoAgentDef[] = [
|
||||
display: "Librarian",
|
||||
descKey: "omo.slimAgentDesc.librarian",
|
||||
tooltipKey: "omo.slimAgentTooltip.librarian",
|
||||
recommended: "gemini-3.5-flash",
|
||||
recommended: "gemini-3.6-flash",
|
||||
group: "sub",
|
||||
},
|
||||
{
|
||||
@@ -352,7 +352,7 @@ export const OMO_SLIM_BUILTIN_AGENTS: OmoAgentDef[] = [
|
||||
display: "Designer",
|
||||
descKey: "omo.slimAgentDesc.designer",
|
||||
tooltipKey: "omo.slimAgentTooltip.designer",
|
||||
recommended: "gemini-3.5-flash",
|
||||
recommended: "gemini-3.6-flash",
|
||||
group: "sub",
|
||||
},
|
||||
{
|
||||
@@ -360,7 +360,7 @@ export const OMO_SLIM_BUILTIN_AGENTS: OmoAgentDef[] = [
|
||||
display: "Fixer",
|
||||
descKey: "omo.slimAgentDesc.fixer",
|
||||
tooltipKey: "omo.slimAgentTooltip.fixer",
|
||||
recommended: "gpt-5.5",
|
||||
recommended: "gpt-5.6-sol",
|
||||
group: "sub",
|
||||
},
|
||||
{
|
||||
|
||||
@@ -206,7 +206,7 @@ describe("ClaudeDesktopProviderForm", () => {
|
||||
model: "upstream-old",
|
||||
labelOverride: "upstream-old",
|
||||
},
|
||||
"claude-opus-4-8": { model: "upstream-old" },
|
||||
"claude-opus-5": { model: "upstream-old" },
|
||||
"claude-fable-5": { model: "upstream-old" },
|
||||
"claude-haiku-4-5": { model: "upstream-old" },
|
||||
});
|
||||
@@ -214,7 +214,7 @@ describe("ClaudeDesktopProviderForm", () => {
|
||||
[
|
||||
"claude-fable-5",
|
||||
"claude-haiku-4-5",
|
||||
"claude-opus-4-8",
|
||||
"claude-opus-5",
|
||||
"claude-sonnet-5",
|
||||
],
|
||||
);
|
||||
@@ -250,7 +250,7 @@ describe("ClaudeDesktopProviderForm", () => {
|
||||
model: "deepseek-v4-pro",
|
||||
supports1m: true,
|
||||
});
|
||||
expect(routes["claude-opus-4-8"]).toMatchObject({
|
||||
expect(routes["claude-opus-5"]).toMatchObject({
|
||||
model: "deepseek-v4-pro",
|
||||
supports1m: true,
|
||||
});
|
||||
|
||||
@@ -20,7 +20,7 @@ describe("AWS Bedrock OpenCode Provider Presets", () => {
|
||||
expect(variants.length).toBeGreaterThan(0);
|
||||
|
||||
const opusModel = variants.find((v) =>
|
||||
v.id.includes("anthropic.claude-opus-4-8"),
|
||||
v.id.includes("anthropic.claude-opus-5"),
|
||||
);
|
||||
expect(opusModel).toBeDefined();
|
||||
});
|
||||
|
||||
@@ -40,7 +40,7 @@ describe("SubRouter provider presets", () => {
|
||||
expect(preset?.endpointCandidates).toEqual(["https://subrouter.ai/v1"]);
|
||||
expect(preset?.auth).toEqual({ OPENAI_API_KEY: "" });
|
||||
expect(preset?.config).toContain('name = "subrouter"');
|
||||
expect(preset?.config).toContain('model = "gpt-5.5"');
|
||||
expect(preset?.config).toContain('model = "gpt-5.6-sol"');
|
||||
expect(preset?.config).toContain('base_url = "https://subrouter.ai/v1"');
|
||||
expect(preset?.config).toContain('wire_api = "responses"');
|
||||
});
|
||||
@@ -53,11 +53,11 @@ describe("SubRouter provider presets", () => {
|
||||
expect(preset).toBeDefined();
|
||||
expect(preset?.baseURL).toBe("https://subrouter.ai/v1beta");
|
||||
expect(preset?.endpointCandidates).toEqual(["https://subrouter.ai/v1beta"]);
|
||||
expect(preset?.model).toBe("gemini-3.5-flash");
|
||||
expect(preset?.model).toBe("gemini-3.6-flash");
|
||||
|
||||
const env = (preset?.settingsConfig as { env: Record<string, string> }).env;
|
||||
expect(env.GOOGLE_GEMINI_BASE_URL).toBe("https://subrouter.ai/v1beta");
|
||||
expect(env.GEMINI_MODEL).toBe("gemini-3.5-flash");
|
||||
expect(env.GEMINI_MODEL).toBe("gemini-3.6-flash");
|
||||
});
|
||||
|
||||
it("uses OpenAI-compatible config for OpenCode", () => {
|
||||
@@ -71,7 +71,7 @@ describe("SubRouter provider presets", () => {
|
||||
"https://subrouter.ai/v1",
|
||||
);
|
||||
expect(preset?.settingsConfig.options?.apiKey).toBe("");
|
||||
expect(preset?.settingsConfig.models).toHaveProperty("gpt-5.5");
|
||||
expect(preset?.settingsConfig.models).toHaveProperty("gpt-5.6-sol");
|
||||
});
|
||||
|
||||
it("uses OpenAI completions config for OpenClaw without hardcoded pricing", () => {
|
||||
@@ -84,13 +84,13 @@ describe("SubRouter provider presets", () => {
|
||||
expect(preset?.settingsConfig.baseUrl).toBe("https://subrouter.ai/v1");
|
||||
expect(preset?.settingsConfig.api).toBe("openai-completions");
|
||||
expect(model).toMatchObject({
|
||||
id: "gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
id: "gpt-5.6-sol",
|
||||
name: "GPT-5.6 Sol",
|
||||
contextWindow: 400000,
|
||||
});
|
||||
expect(model).not.toHaveProperty("cost");
|
||||
expect(preset?.suggestedDefaults?.model).toEqual({
|
||||
primary: "subrouter/gpt-5.5",
|
||||
primary: "subrouter/gpt-5.6-sol",
|
||||
});
|
||||
});
|
||||
|
||||
@@ -107,7 +107,7 @@ describe("SubRouter provider presets", () => {
|
||||
api_mode: "chat_completions",
|
||||
});
|
||||
expect(preset?.suggestedDefaults?.model).toEqual({
|
||||
default: "gpt-5.5",
|
||||
default: "gpt-5.6-sol",
|
||||
provider: "subrouter",
|
||||
});
|
||||
});
|
||||
|
||||
@@ -23,8 +23,8 @@ describe("TheRouter OpenCode and OpenClaw presets", () => {
|
||||
expect(preset?.settingsConfig.options?.setCacheKey).toBe(true);
|
||||
expect(models).toHaveProperty("openai/gpt-5.3-codex");
|
||||
expect(models).toHaveProperty("anthropic/claude-sonnet-5");
|
||||
expect(models).toHaveProperty("google/gemini-3.5-flash");
|
||||
expect(models["google/gemini-3.5-flash"]?.name).toBe("Gemini 3.5 Flash");
|
||||
expect(models).toHaveProperty("google/gemini-3.6-flash");
|
||||
expect(models["google/gemini-3.6-flash"]?.name).toBe("Gemini 3.6 Flash");
|
||||
});
|
||||
|
||||
it("uses OpenAI completions config for OpenClaw", () => {
|
||||
@@ -45,20 +45,20 @@ describe("TheRouter OpenCode and OpenClaw presets", () => {
|
||||
"anthropic/claude-sonnet-5",
|
||||
"openai/gpt-5.3-codex",
|
||||
"openai/gpt-5.2",
|
||||
"google/gemini-3.5-flash",
|
||||
"google/gemini-3.6-flash",
|
||||
]),
|
||||
);
|
||||
expect(
|
||||
openClawModels.find((model) => model.id === "google/gemini-3.5-flash"),
|
||||
openClawModels.find((model) => model.id === "google/gemini-3.6-flash"),
|
||||
).toMatchObject({
|
||||
name: "Gemini 3.5 Flash",
|
||||
name: "Gemini 3.6 Flash",
|
||||
cost: { input: 1.5, output: 9, cacheRead: 0.15 },
|
||||
});
|
||||
expect(preset?.suggestedDefaults?.model).toEqual({
|
||||
primary: "therouter/anthropic/claude-sonnet-5",
|
||||
fallbacks: [
|
||||
"therouter/openai/gpt-5.2",
|
||||
"therouter/google/gemini-3.5-flash",
|
||||
"therouter/google/gemini-3.6-flash",
|
||||
],
|
||||
});
|
||||
});
|
||||
@@ -67,13 +67,13 @@ describe("TheRouter OpenCode and OpenClaw presets", () => {
|
||||
const googleModels = OPENCODE_PRESET_MODEL_VARIANTS["@ai-sdk/google"];
|
||||
const ids = googleModels.map((model) => model.id);
|
||||
const geminiFlashModels = googleModels.filter(
|
||||
(model) => model.id === "gemini-3.5-flash",
|
||||
(model) => model.id === "gemini-3.6-flash",
|
||||
);
|
||||
|
||||
expect(new Set(ids).size).toBe(ids.length);
|
||||
expect(geminiFlashModels).toHaveLength(1);
|
||||
expect(geminiFlashModels[0]).toMatchObject({
|
||||
name: "Gemini 3.5 Flash",
|
||||
name: "Gemini 3.6 Flash",
|
||||
variants: {
|
||||
minimal: expect.any(Object),
|
||||
low: expect.any(Object),
|
||||
|
||||
@@ -24,7 +24,7 @@ describe("TheRouter provider presets", () => {
|
||||
expect(env.ANTHROPIC_DEFAULT_SONNET_MODEL).toBe(
|
||||
"anthropic/claude-sonnet-5",
|
||||
);
|
||||
expect(env.ANTHROPIC_DEFAULT_OPUS_MODEL).toBe("anthropic/claude-opus-4.8");
|
||||
expect(env.ANTHROPIC_DEFAULT_OPUS_MODEL).toBe("anthropic/claude-opus-5");
|
||||
});
|
||||
|
||||
it("uses the OpenAI-compatible v1 endpoint for Codex", () => {
|
||||
@@ -60,10 +60,10 @@ describe("TheRouter provider presets", () => {
|
||||
expect(preset?.category).toBe("aggregator");
|
||||
expect(preset?.endpointCandidates).toEqual(["https://api.therouter.ai"]);
|
||||
expect(preset?.baseURL).toBe("https://api.therouter.ai");
|
||||
expect(preset?.model).toBe("gemini-3.5-flash");
|
||||
expect(preset?.model).toBe("gemini-3.6-flash");
|
||||
|
||||
const env = (preset?.settingsConfig as { env: Record<string, string> }).env;
|
||||
expect(env.GOOGLE_GEMINI_BASE_URL).toBe("https://api.therouter.ai");
|
||||
expect(env.GEMINI_MODEL).toBe("gemini-3.5-flash");
|
||||
expect(env.GEMINI_MODEL).toBe("gemini-3.6-flash");
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user