mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-06-16 13:34:04 +08:00
1992d6be72
Add kimi-k2.7-code pricing seed (in $0.95 / out $4.00 / cache-read $0.19 per 1M tokens, 256K context) and point all six official Moonshot Kimi presets (Claude Code, Codex, Claude Desktop, Hermes, OpenCode, OpenClaw) at the new model. Rename the version-tagged OpenCode/OpenClaw presets to "Kimi K2.7 Code" and correct the OpenClaw context window to 262144. The seed is applied via the idempotent INSERT OR IGNORE path that runs on every startup, so existing users pick up the new pricing without a schema migration. Kimi For Coding and Nvidia presets are intentionally untouched.
1821 lines
46 KiB
TypeScript
1821 lines
46 KiB
TypeScript
import type { ProviderCategory, OpenCodeProviderConfig } from "../types";
|
|
import type { PresetTheme, TemplateValueConfig } from "./claudeProviderPresets";
|
|
|
|
export interface OpenCodeProviderPreset {
|
|
name: string;
|
|
nameKey?: string; // i18n key for localized display name
|
|
websiteUrl: string;
|
|
apiKeyUrl?: string;
|
|
settingsConfig: OpenCodeProviderConfig;
|
|
isOfficial?: boolean;
|
|
isPartner?: boolean;
|
|
partnerPromotionKey?: string;
|
|
category?: ProviderCategory;
|
|
templateValues?: Record<string, TemplateValueConfig>;
|
|
theme?: PresetTheme;
|
|
icon?: string;
|
|
iconColor?: string;
|
|
isCustomTemplate?: boolean;
|
|
}
|
|
|
|
export const opencodeNpmPackages = [
|
|
{ value: "@ai-sdk/openai", label: "OpenAI Responses" },
|
|
{ value: "@ai-sdk/openai-compatible", label: "OpenAI Compatible" },
|
|
{ value: "@ai-sdk/anthropic", label: "Anthropic" },
|
|
{ value: "@ai-sdk/amazon-bedrock", label: "Amazon Bedrock" },
|
|
{ value: "@ai-sdk/google", label: "Google (Gemini)" },
|
|
] as const;
|
|
|
|
export interface PresetModelVariant {
|
|
id: string;
|
|
name?: string;
|
|
contextLimit?: number;
|
|
outputLimit?: number;
|
|
modalities?: { input: string[]; output: string[] };
|
|
options?: Record<string, unknown>;
|
|
variants?: Record<string, Record<string, unknown>>;
|
|
}
|
|
|
|
export const OPENCODE_PRESET_MODEL_VARIANTS: Record<
|
|
string,
|
|
PresetModelVariant[]
|
|
> = {
|
|
"@ai-sdk/openai-compatible": [
|
|
{
|
|
id: "MiniMax-M2.7",
|
|
name: "MiniMax M2.7",
|
|
contextLimit: 204800,
|
|
outputLimit: 131072,
|
|
modalities: { input: ["text"], output: ["text"] },
|
|
},
|
|
{
|
|
id: "glm-5.1",
|
|
name: "GLM 5.1",
|
|
contextLimit: 204800,
|
|
outputLimit: 131072,
|
|
modalities: { input: ["text"], output: ["text"] },
|
|
},
|
|
{
|
|
id: "kimi-k2.6",
|
|
name: "Kimi K2.6",
|
|
contextLimit: 262144,
|
|
outputLimit: 262144,
|
|
modalities: { input: ["text", "image", "video"], output: ["text"] },
|
|
},
|
|
{
|
|
id: "step-3.5-flash-2603",
|
|
name: "Step 3.5 Flash 2603",
|
|
contextLimit: 262144,
|
|
},
|
|
{
|
|
id: "step-3.5-flash",
|
|
name: "Step 3.5 Flash",
|
|
contextLimit: 262144,
|
|
},
|
|
],
|
|
"@ai-sdk/google": [
|
|
{
|
|
id: "gemini-2.5-flash-lite",
|
|
name: "Gemini 2.5 Flash Lite",
|
|
contextLimit: 1048576,
|
|
outputLimit: 65536,
|
|
modalities: {
|
|
input: ["text", "image", "pdf", "video", "audio"],
|
|
output: ["text"],
|
|
},
|
|
variants: {
|
|
auto: {
|
|
thinkingConfig: { includeThoughts: true, thinkingBudget: -1 },
|
|
},
|
|
"no-thinking": { thinkingConfig: { thinkingBudget: 0 } },
|
|
},
|
|
},
|
|
{
|
|
id: "gemini-3.5-flash",
|
|
name: "Gemini 3.5 Flash",
|
|
contextLimit: 1048576,
|
|
outputLimit: 65536,
|
|
modalities: {
|
|
input: ["text", "image", "pdf", "video", "audio"],
|
|
output: ["text"],
|
|
},
|
|
variants: {
|
|
minimal: {
|
|
thinkingConfig: { includeThoughts: true, thinkingLevel: "minimal" },
|
|
},
|
|
low: {
|
|
thinkingConfig: { includeThoughts: true, thinkingLevel: "low" },
|
|
},
|
|
medium: {
|
|
thinkingConfig: { includeThoughts: true, thinkingLevel: "medium" },
|
|
},
|
|
high: {
|
|
thinkingConfig: { includeThoughts: true, thinkingLevel: "high" },
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"@ai-sdk/openai": [
|
|
{
|
|
id: "gpt-5.5",
|
|
name: "GPT-5.5",
|
|
contextLimit: 400000,
|
|
outputLimit: 128000,
|
|
modalities: { input: ["text", "image"], output: ["text"] },
|
|
variants: {
|
|
low: {
|
|
reasoningEffort: "low",
|
|
reasoningSummary: "auto",
|
|
textVerbosity: "medium",
|
|
},
|
|
medium: {
|
|
reasoningEffort: "medium",
|
|
reasoningSummary: "auto",
|
|
textVerbosity: "medium",
|
|
},
|
|
high: {
|
|
reasoningEffort: "high",
|
|
reasoningSummary: "auto",
|
|
textVerbosity: "medium",
|
|
},
|
|
xhigh: {
|
|
reasoningEffort: "xhigh",
|
|
reasoningSummary: "auto",
|
|
textVerbosity: "medium",
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"@ai-sdk/amazon-bedrock": [
|
|
{
|
|
id: "global.anthropic.claude-opus-4-8",
|
|
name: "Claude Opus 4.8",
|
|
contextLimit: 1000000,
|
|
outputLimit: 128000,
|
|
modalities: { input: ["text", "image", "pdf"], output: ["text"] },
|
|
},
|
|
{
|
|
id: "global.anthropic.claude-sonnet-4-6",
|
|
name: "Claude Sonnet 4.6",
|
|
contextLimit: 1000000,
|
|
outputLimit: 64000,
|
|
modalities: { input: ["text", "image", "pdf"], output: ["text"] },
|
|
},
|
|
{
|
|
id: "global.anthropic.claude-haiku-4-5-20251001-v1:0",
|
|
name: "Claude Haiku 4.5",
|
|
contextLimit: 200000,
|
|
outputLimit: 64000,
|
|
modalities: { input: ["text", "image", "pdf"], output: ["text"] },
|
|
},
|
|
{
|
|
id: "us.amazon.nova-pro-v1:0",
|
|
name: "Amazon Nova Pro",
|
|
contextLimit: 300000,
|
|
outputLimit: 5000,
|
|
modalities: { input: ["text", "image"], output: ["text"] },
|
|
},
|
|
{
|
|
id: "us.meta.llama4-maverick-17b-instruct-v1:0",
|
|
name: "Meta Llama 4 Maverick",
|
|
contextLimit: 131072,
|
|
outputLimit: 131072,
|
|
modalities: { input: ["text"], output: ["text"] },
|
|
},
|
|
{
|
|
id: "us.deepseek.r1-v1:0",
|
|
name: "DeepSeek R1",
|
|
contextLimit: 131072,
|
|
outputLimit: 131072,
|
|
modalities: { input: ["text"], output: ["text"] },
|
|
},
|
|
],
|
|
"@ai-sdk/anthropic": [
|
|
{
|
|
id: "claude-sonnet-4-5-20250929",
|
|
name: "Claude Sonnet 4.5",
|
|
contextLimit: 200000,
|
|
outputLimit: 64000,
|
|
modalities: { input: ["text", "image", "pdf"], output: ["text"] },
|
|
variants: {
|
|
low: { effort: "low" },
|
|
medium: { effort: "medium" },
|
|
high: { effort: "high" },
|
|
},
|
|
},
|
|
{
|
|
id: "claude-opus-4-5-20251101",
|
|
name: "Claude Opus 4.5",
|
|
contextLimit: 200000,
|
|
outputLimit: 64000,
|
|
modalities: { input: ["text", "image", "pdf"], output: ["text"] },
|
|
variants: {
|
|
low: { thinking: { budgetTokens: 5000, type: "enabled" } },
|
|
medium: { thinking: { budgetTokens: 13000, type: "enabled" } },
|
|
high: { thinking: { budgetTokens: 18000, type: "enabled" } },
|
|
},
|
|
},
|
|
{
|
|
id: "claude-opus-4-8",
|
|
name: "Claude Opus 4.8",
|
|
contextLimit: 1000000,
|
|
outputLimit: 128000,
|
|
modalities: { input: ["text", "image", "pdf"], output: ["text"] },
|
|
variants: {
|
|
low: { effort: "low" },
|
|
medium: { effort: "medium" },
|
|
high: { effort: "high" },
|
|
max: { effort: "max" },
|
|
},
|
|
},
|
|
{
|
|
id: "claude-haiku-4-5-20251001",
|
|
name: "Claude Haiku 4.5",
|
|
contextLimit: 200000,
|
|
outputLimit: 64000,
|
|
modalities: { input: ["text", "image", "pdf"], output: ["text"] },
|
|
},
|
|
{
|
|
id: "gemini-claude-opus-4-5-thinking",
|
|
name: "Antigravity - Claude Opus 4.5",
|
|
contextLimit: 200000,
|
|
outputLimit: 64000,
|
|
modalities: { input: ["text", "image", "pdf"], output: ["text"] },
|
|
variants: {
|
|
low: { effort: "low" },
|
|
medium: { effort: "medium" },
|
|
high: { effort: "high" },
|
|
},
|
|
},
|
|
{
|
|
id: "gemini-claude-sonnet-4-5-thinking",
|
|
name: "Antigravity - Claude Sonnet 4.5",
|
|
contextLimit: 200000,
|
|
outputLimit: 64000,
|
|
modalities: { input: ["text", "image", "pdf"], output: ["text"] },
|
|
variants: {
|
|
low: { thinking: { budgetTokens: 5000, type: "enabled" } },
|
|
medium: { thinking: { budgetTokens: 13000, type: "enabled" } },
|
|
high: { thinking: { budgetTokens: 18000, type: "enabled" } },
|
|
},
|
|
},
|
|
],
|
|
};
|
|
|
|
/**
|
|
* Look up preset metadata for a model by npm package and model ID.
|
|
* Returns enrichment fields (options, limit, modalities) that can be
|
|
* merged into a model definition when the user's config doesn't already
|
|
* provide them.
|
|
*/
|
|
export function getPresetModelDefaults(
|
|
npm: string,
|
|
modelId: string,
|
|
): PresetModelVariant | undefined {
|
|
const models = OPENCODE_PRESET_MODEL_VARIANTS[npm];
|
|
if (!models) return undefined;
|
|
return models.find((m) => m.id === modelId);
|
|
}
|
|
|
|
export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
|
{
|
|
name: "Shengsuanyun",
|
|
nameKey: "providerForm.presets.shengsuanyun",
|
|
websiteUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
|
apiKeyUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/anthropic",
|
|
name: "Shengsuanyun",
|
|
options: {
|
|
baseURL: "https://router.shengsuanyun.com/api/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"anthropic/claude-opus-4.8": { name: "Claude Opus 4.8" },
|
|
"anthropic/claude-sonnet-4.6": { name: "Claude Sonnet 4.6" },
|
|
},
|
|
},
|
|
category: "aggregator",
|
|
isPartner: true,
|
|
partnerPromotionKey: "shengsuanyun",
|
|
icon: "shengsuanyun",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "火山Agentplan",
|
|
websiteUrl:
|
|
"https://www.volcengine.com/activity/agentplan?utm_campaign=hw&utm_content=ccswitch&utm_medium=devrel_tool_web&utm_source=OWO&utm_term=ccswitch",
|
|
apiKeyUrl:
|
|
"https://www.volcengine.com/activity/agentplan?utm_campaign=hw&utm_content=ccswitch&utm_medium=devrel_tool_web&utm_source=OWO&utm_term=ccswitch",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
name: "火山Agentplan",
|
|
options: {
|
|
baseURL: "https://ark.cn-beijing.volces.com/api/coding/v3",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"ark-code-latest": {
|
|
name: "Ark Code Latest",
|
|
},
|
|
},
|
|
},
|
|
category: "cn_official",
|
|
isPartner: true,
|
|
partnerPromotionKey: "volcengine_agentplan",
|
|
icon: "huoshan",
|
|
iconColor: "#3370FF",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "BytePlus",
|
|
websiteUrl:
|
|
"https://www.byteplus.com/en/product/modelark?utm_campaign=hw&utm_content=ccswitch&utm_medium=devrel_tool_web&utm_source=OWO&utm_term=ccswitch",
|
|
apiKeyUrl:
|
|
"https://www.byteplus.com/en/product/modelark?utm_campaign=hw&utm_content=ccswitch&utm_medium=devrel_tool_web&utm_source=OWO&utm_term=ccswitch",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
name: "BytePlus",
|
|
options: {
|
|
baseURL: "https://ark.ap-southeast.bytepluses.com/api/coding/v3",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"ark-code-latest": {
|
|
name: "Ark Code Latest",
|
|
},
|
|
},
|
|
},
|
|
category: "cn_official",
|
|
isPartner: true,
|
|
partnerPromotionKey: "byteplus",
|
|
icon: "byteplus",
|
|
iconColor: "#3370FF",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "DouBaoSeed",
|
|
websiteUrl:
|
|
"https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D&utm_campaign=hw&utm_content=ccswitch&utm_medium=devrel_tool_web&utm_source=OWO&utm_term=ccswitch",
|
|
apiKeyUrl:
|
|
"https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D&utm_campaign=hw&utm_content=ccswitch&utm_medium=devrel_tool_web&utm_source=OWO&utm_term=ccswitch",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
name: "DouBaoSeed",
|
|
options: {
|
|
baseURL: "https://ark.cn-beijing.volces.com/api/v3",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"doubao-seed-2-0-code-preview-latest": {
|
|
name: "Doubao Seed Code Preview",
|
|
},
|
|
},
|
|
},
|
|
category: "cn_official",
|
|
isPartner: true,
|
|
partnerPromotionKey: "doubaoseed",
|
|
icon: "doubao",
|
|
iconColor: "#3370FF",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "CCSub",
|
|
websiteUrl: "https://www.ccsub.net",
|
|
apiKeyUrl: "https://www.ccsub.net/register?ref=Y6Z8DXEA",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
name: "CCSub",
|
|
options: {
|
|
baseURL: "https://www.ccsub.net/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"gpt-5.5": { name: "GPT-5.5" },
|
|
},
|
|
},
|
|
category: "aggregator",
|
|
isPartner: true,
|
|
partnerPromotionKey: "ccsub",
|
|
icon: "ccsub",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "Unity2.ai",
|
|
websiteUrl: "https://unity2.ai",
|
|
apiKeyUrl: "https://unity2.ai/register?source=ccs",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
name: "Unity2.ai",
|
|
options: {
|
|
baseURL: "https://api.unity2.ai/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"gpt-5.5": { name: "GPT-5.5" },
|
|
},
|
|
},
|
|
category: "aggregator",
|
|
isPartner: true,
|
|
partnerPromotionKey: "unity2",
|
|
icon: "unity2",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "DeepSeek",
|
|
websiteUrl: "https://platform.deepseek.com",
|
|
apiKeyUrl: "https://platform.deepseek.com/api_keys",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
options: {
|
|
baseURL: "https://api.deepseek.com/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"deepseek-v4-pro": { name: "DeepSeek V4 Pro" },
|
|
"deepseek-v4-flash": { name: "DeepSeek V4 Flash" },
|
|
},
|
|
},
|
|
category: "cn_official",
|
|
icon: "deepseek",
|
|
iconColor: "#1E88E5",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "sk-...",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "Zhipu GLM",
|
|
websiteUrl: "https://open.bigmodel.cn",
|
|
apiKeyUrl: "https://www.bigmodel.cn/claude-code?ic=RRVJPB5SII",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
name: "Zhipu GLM",
|
|
options: {
|
|
baseURL: "https://open.bigmodel.cn/api/coding/paas/v4",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"glm-5.1": { name: "GLM-5.1" },
|
|
},
|
|
},
|
|
category: "cn_official",
|
|
icon: "zhipu",
|
|
iconColor: "#0F62FE",
|
|
templateValues: {
|
|
baseURL: {
|
|
label: "Base URL",
|
|
placeholder: "https://open.bigmodel.cn/api/coding/paas/v4",
|
|
defaultValue: "https://open.bigmodel.cn/api/coding/paas/v4",
|
|
editorValue: "",
|
|
},
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "Zhipu GLM en",
|
|
websiteUrl: "https://z.ai",
|
|
apiKeyUrl: "https://z.ai/subscribe?ic=8JVLJQFSKB",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
name: "Zhipu GLM en",
|
|
options: {
|
|
baseURL: "https://api.z.ai/api/coding/paas/v4",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"glm-5.1": { name: "GLM-5.1" },
|
|
},
|
|
},
|
|
category: "cn_official",
|
|
icon: "zhipu",
|
|
iconColor: "#0F62FE",
|
|
templateValues: {
|
|
baseURL: {
|
|
label: "Base URL",
|
|
placeholder: "https://api.z.ai/api/coding/paas/v4",
|
|
defaultValue: "https://api.z.ai/api/coding/paas/v4",
|
|
editorValue: "",
|
|
},
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "Bailian",
|
|
websiteUrl: "https://bailian.console.aliyun.com",
|
|
apiKeyUrl: "https://bailian.console.aliyun.com/#/api-key",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
name: "Bailian",
|
|
options: {
|
|
baseURL: "https://dashscope.aliyuncs.com/compatible-mode/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {},
|
|
},
|
|
category: "cn_official",
|
|
icon: "bailian",
|
|
iconColor: "#624AFF",
|
|
templateValues: {
|
|
baseURL: {
|
|
label: "Base URL",
|
|
placeholder: "https://dashscope.aliyuncs.com/compatible-mode/v1",
|
|
defaultValue: "https://dashscope.aliyuncs.com/compatible-mode/v1",
|
|
editorValue: "",
|
|
},
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "sk-...",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "Kimi K2.7 Code",
|
|
websiteUrl: "https://platform.moonshot.cn/console?aff=cc-switch",
|
|
apiKeyUrl: "https://platform.moonshot.cn/console/api-keys?aff=cc-switch",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
name: "Kimi K2.7 Code",
|
|
options: {
|
|
baseURL: "https://api.moonshot.cn/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"kimi-k2.7-code": { name: "Kimi K2.7 Code" },
|
|
},
|
|
},
|
|
category: "cn_official",
|
|
icon: "kimi",
|
|
iconColor: "#6366F1",
|
|
templateValues: {
|
|
baseURL: {
|
|
label: "Base URL",
|
|
placeholder: "https://api.moonshot.cn/v1",
|
|
defaultValue: "https://api.moonshot.cn/v1",
|
|
editorValue: "",
|
|
},
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "sk-...",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "Kimi For Coding",
|
|
websiteUrl: "https://www.kimi.com/code/docs/?aff=cc-switch",
|
|
apiKeyUrl: "https://platform.moonshot.cn/console/api-keys?aff=cc-switch",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/anthropic",
|
|
name: "Kimi For Coding",
|
|
options: {
|
|
baseURL: "https://api.kimi.com/coding/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"kimi-for-coding": { name: "Kimi For Coding" },
|
|
},
|
|
},
|
|
category: "cn_official",
|
|
icon: "kimi",
|
|
iconColor: "#6366F1",
|
|
templateValues: {
|
|
baseURL: {
|
|
label: "Base URL",
|
|
placeholder: "https://api.kimi.com/coding/v1",
|
|
defaultValue: "https://api.kimi.com/coding/v1",
|
|
editorValue: "",
|
|
},
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "sk-...",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "StepFun",
|
|
websiteUrl: "https://platform.stepfun.com/step-plan",
|
|
apiKeyUrl: "https://platform.stepfun.com/interface-key",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
name: "StepFun",
|
|
options: {
|
|
baseURL: "https://api.stepfun.com/step_plan/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"step-3.5-flash-2603": { name: "Step 3.5 Flash 2603" },
|
|
"step-3.5-flash": { name: "Step 3.5 Flash" },
|
|
},
|
|
},
|
|
category: "cn_official",
|
|
icon: "stepfun",
|
|
iconColor: "#16D6D2",
|
|
templateValues: {
|
|
baseURL: {
|
|
label: "Base URL",
|
|
placeholder: "https://api.stepfun.com/step_plan/v1",
|
|
defaultValue: "https://api.stepfun.com/step_plan/v1",
|
|
editorValue: "",
|
|
},
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "step-...",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "StepFun en",
|
|
websiteUrl: "https://platform.stepfun.ai/step-plan",
|
|
apiKeyUrl: "https://platform.stepfun.ai/interface-key",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
name: "StepFun en",
|
|
options: {
|
|
baseURL: "https://api.stepfun.ai/step_plan/v1",
|
|
apiKey: "",
|
|
},
|
|
models: {
|
|
"step-3.5-flash-2603": { name: "Step 3.5 Flash 2603" },
|
|
"step-3.5-flash": { name: "Step 3.5 Flash" },
|
|
},
|
|
},
|
|
category: "cn_official",
|
|
icon: "stepfun",
|
|
iconColor: "#16D6D2",
|
|
templateValues: {
|
|
baseURL: {
|
|
label: "Base URL",
|
|
placeholder: "https://api.stepfun.ai/step_plan/v1",
|
|
defaultValue: "https://api.stepfun.ai/step_plan/v1",
|
|
editorValue: "",
|
|
},
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "step-...",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "StepFun Step Plan",
|
|
websiteUrl: "https://platform.stepfun.com/docs/zh/step-plan/overview",
|
|
apiKeyUrl: "https://platform.stepfun.com/interface-key",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
name: "StepFun Step Plan",
|
|
options: {
|
|
baseURL: "https://api.stepfun.com/step_plan/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"step-3.5-flash": { name: "Step 3.5 Flash" },
|
|
},
|
|
},
|
|
category: "cn_official",
|
|
icon: "stepfun",
|
|
iconColor: "#005AFF",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "step-...",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "ModelScope",
|
|
websiteUrl: "https://modelscope.cn",
|
|
apiKeyUrl: "https://modelscope.cn/my/myaccesstoken",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
name: "ModelScope",
|
|
options: {
|
|
baseURL: "https://api-inference.modelscope.cn/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"ZhipuAI/GLM-5.1": { name: "GLM-5.1" },
|
|
},
|
|
},
|
|
category: "aggregator",
|
|
icon: "modelscope",
|
|
iconColor: "#624AFF",
|
|
templateValues: {
|
|
baseURL: {
|
|
label: "Base URL",
|
|
placeholder: "https://api-inference.modelscope.cn/v1",
|
|
defaultValue: "https://api-inference.modelscope.cn/v1",
|
|
editorValue: "",
|
|
},
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "KAT-Coder",
|
|
websiteUrl: "https://console.streamlake.ai",
|
|
apiKeyUrl: "https://console.streamlake.ai/console/api-key",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
name: "KAT-Coder",
|
|
options: {
|
|
baseURL:
|
|
"https://vanchin.streamlake.ai/api/gateway/v1/endpoints/${ENDPOINT_ID}/openai",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"KAT-Coder-Pro": { name: "KAT-Coder Pro" },
|
|
},
|
|
},
|
|
category: "cn_official",
|
|
templateValues: {
|
|
baseURL: {
|
|
label: "Base URL",
|
|
placeholder:
|
|
"https://vanchin.streamlake.ai/api/gateway/v1/endpoints/${ENDPOINT_ID}/openai",
|
|
defaultValue:
|
|
"https://vanchin.streamlake.ai/api/gateway/v1/endpoints/${ENDPOINT_ID}/openai",
|
|
editorValue: "",
|
|
},
|
|
ENDPOINT_ID: {
|
|
label: "Vanchin Endpoint ID",
|
|
placeholder: "ep-xxx-xxx",
|
|
defaultValue: "",
|
|
editorValue: "",
|
|
},
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
icon: "catcoder",
|
|
},
|
|
{
|
|
name: "Longcat",
|
|
websiteUrl: "https://longcat.chat/platform",
|
|
apiKeyUrl: "https://longcat.chat/platform/api_keys",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
name: "Longcat",
|
|
options: {
|
|
baseURL: "https://api.longcat.chat/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"LongCat-Flash-Chat": { name: "LongCat Flash Chat" },
|
|
},
|
|
},
|
|
category: "cn_official",
|
|
icon: "longcat",
|
|
iconColor: "#29E154",
|
|
templateValues: {
|
|
baseURL: {
|
|
label: "Base URL",
|
|
placeholder: "https://api.longcat.chat/v1",
|
|
defaultValue: "https://api.longcat.chat/v1",
|
|
editorValue: "",
|
|
},
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "MiniMax",
|
|
websiteUrl: "https://platform.minimaxi.com",
|
|
apiKeyUrl: "https://platform.minimaxi.com/subscribe/coding-plan",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
name: "MiniMax",
|
|
options: {
|
|
baseURL: "https://api.minimaxi.com/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"MiniMax-M2.7": { name: "MiniMax M2.7" },
|
|
},
|
|
},
|
|
category: "cn_official",
|
|
isPartner: true,
|
|
partnerPromotionKey: "minimax_cn",
|
|
theme: {
|
|
backgroundColor: "#f64551",
|
|
textColor: "#FFFFFF",
|
|
},
|
|
icon: "minimax",
|
|
iconColor: "#FF6B6B",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "MiniMax en",
|
|
websiteUrl: "https://platform.minimax.io",
|
|
apiKeyUrl: "https://platform.minimax.io/subscribe/coding-plan",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
name: "MiniMax en",
|
|
options: {
|
|
baseURL: "https://api.minimax.io/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"MiniMax-M2.7": { name: "MiniMax M2.7" },
|
|
},
|
|
},
|
|
category: "cn_official",
|
|
isPartner: true,
|
|
partnerPromotionKey: "minimax_en",
|
|
theme: {
|
|
backgroundColor: "#f64551",
|
|
textColor: "#FFFFFF",
|
|
},
|
|
icon: "minimax",
|
|
iconColor: "#FF6B6B",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "BaiLing",
|
|
websiteUrl: "https://alipaytbox.yuque.com/sxs0ba/ling/get_started",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
name: "BaiLing",
|
|
options: {
|
|
baseURL: "https://api.tbox.cn/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"Ling-2.5-1T": { name: "Ling 2.5-1T" },
|
|
},
|
|
},
|
|
category: "cn_official",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "Xiaomi MiMo",
|
|
websiteUrl: "https://platform.xiaomimimo.com",
|
|
apiKeyUrl: "https://platform.xiaomimimo.com/#/console/api-keys",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
name: "Xiaomi MiMo",
|
|
options: {
|
|
baseURL: "https://api.xiaomimimo.com/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"mimo-v2.5-pro": {
|
|
name: "MiMo V2.5 Pro",
|
|
limit: { context: 1048576, output: 131072 },
|
|
modalities: { input: ["text"], output: ["text"] },
|
|
},
|
|
"mimo-v2.5": {
|
|
name: "MiMo V2.5",
|
|
limit: { context: 1048576, output: 131072 },
|
|
modalities: { input: ["text", "image"], output: ["text"] },
|
|
},
|
|
},
|
|
},
|
|
category: "cn_official",
|
|
icon: "xiaomimimo",
|
|
iconColor: "#000000",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "Xiaomi MiMo Token Plan (China)",
|
|
websiteUrl: "https://platform.xiaomimimo.com/#/token-plan",
|
|
apiKeyUrl: "https://platform.xiaomimimo.com/#/console/plan-manage",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
name: "Xiaomi MiMo Token Plan (China)",
|
|
options: {
|
|
baseURL: "https://token-plan-cn.xiaomimimo.com/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"mimo-v2.5-pro": {
|
|
name: "MiMo V2.5 Pro",
|
|
limit: { context: 1048576, output: 131072 },
|
|
modalities: { input: ["text"], output: ["text"] },
|
|
},
|
|
"mimo-v2.5": {
|
|
name: "MiMo V2.5",
|
|
limit: { context: 1048576, output: 131072 },
|
|
modalities: { input: ["text", "image"], output: ["text"] },
|
|
},
|
|
},
|
|
},
|
|
category: "cn_official",
|
|
icon: "xiaomimimo",
|
|
iconColor: "#000000",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "Token Plan API Key",
|
|
placeholder: "tp-...",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
|
|
{
|
|
name: "AiHubMix",
|
|
websiteUrl: "https://aihubmix.com",
|
|
apiKeyUrl: "https://aihubmix.com",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/anthropic",
|
|
name: "AiHubMix",
|
|
options: {
|
|
baseURL: "https://aihubmix.com/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
|
|
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
|
},
|
|
},
|
|
category: "aggregator",
|
|
icon: "aihubmix",
|
|
iconColor: "#006FFB",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "CherryIN",
|
|
websiteUrl: "https://open.cherryin.ai",
|
|
apiKeyUrl: "https://open.cherryin.ai/console/token",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/anthropic",
|
|
name: "CherryIN",
|
|
options: {
|
|
baseURL: "https://open.cherryin.net/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"anthropic/claude-sonnet-4.6": { name: "Claude Sonnet 4.6" },
|
|
"anthropic/claude-opus-4.8": { name: "Claude Opus 4.8" },
|
|
},
|
|
},
|
|
category: "aggregator",
|
|
icon: "cherryin",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "DMXAPI",
|
|
websiteUrl: "https://www.dmxapi.cn",
|
|
apiKeyUrl: "https://www.dmxapi.cn",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/anthropic",
|
|
name: "DMXAPI",
|
|
options: {
|
|
baseURL: "https://www.dmxapi.cn/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
|
|
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
|
},
|
|
},
|
|
category: "aggregator",
|
|
isPartner: true,
|
|
partnerPromotionKey: "dmxapi",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "OpenRouter",
|
|
websiteUrl: "https://openrouter.ai",
|
|
apiKeyUrl: "https://openrouter.ai/keys",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/anthropic",
|
|
name: "OpenRouter",
|
|
options: {
|
|
baseURL: "https://openrouter.ai/api/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"anthropic/claude-sonnet-4.6": { name: "Claude Sonnet 4.6" },
|
|
"anthropic/claude-opus-4.8": { name: "Claude Opus 4.8" },
|
|
},
|
|
},
|
|
category: "aggregator",
|
|
icon: "openrouter",
|
|
iconColor: "#6566F1",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "sk-or-...",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "TheRouter",
|
|
websiteUrl: "https://therouter.ai",
|
|
apiKeyUrl: "https://dashboard.therouter.ai",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
name: "TheRouter",
|
|
options: {
|
|
baseURL: "https://api.therouter.ai/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"anthropic/claude-sonnet-4.6": { name: "Claude Sonnet 4.6" },
|
|
"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",
|
|
},
|
|
"qwen/qwen3-coder-480b": { name: "Qwen3 Coder 480B" },
|
|
},
|
|
},
|
|
category: "aggregator",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "sk-...",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "Novita AI",
|
|
websiteUrl: "https://novita.ai",
|
|
apiKeyUrl: "https://novita.ai",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
name: "Novita AI",
|
|
options: {
|
|
baseURL: "https://api.novita.ai/openai",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"zai-org/glm-5.1": { name: "GLM-5.1" },
|
|
},
|
|
},
|
|
category: "aggregator",
|
|
icon: "novita",
|
|
iconColor: "#000000",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "Nvidia",
|
|
websiteUrl: "https://build.nvidia.com",
|
|
apiKeyUrl: "https://build.nvidia.com/settings/api-keys",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
name: "Nvidia",
|
|
options: {
|
|
baseURL: "https://integrate.api.nvidia.com/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"moonshotai/kimi-k2.5": { name: "Kimi K2.5" },
|
|
},
|
|
},
|
|
category: "aggregator",
|
|
icon: "nvidia",
|
|
iconColor: "#000000",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "PIPELLM",
|
|
websiteUrl: "https://code.pipellm.ai",
|
|
apiKeyUrl: "https://code.pipellm.ai/login?ref=uvw650za",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/anthropic",
|
|
name: "PIPELLM",
|
|
options: {
|
|
baseURL: "https://cc-api.pipellm.ai",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"claude-opus-4-8": { name: "claude-opus-4-8" },
|
|
"claude-sonnet-4-6": { name: "claude-sonnet-4-6" },
|
|
"claude-haiku-4-5-20251001": { name: "claude-haiku-4-5-20251001" },
|
|
},
|
|
},
|
|
category: "aggregator",
|
|
icon: "pipellm",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "pipe-...",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
|
|
{
|
|
name: "PackyCode",
|
|
websiteUrl: "https://www.packyapi.com",
|
|
apiKeyUrl: "https://www.packyapi.com/register?aff=cc-switch",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/anthropic",
|
|
name: "PackyCode",
|
|
options: {
|
|
baseURL: "https://www.packyapi.com/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
|
|
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
|
},
|
|
},
|
|
category: "third_party",
|
|
isPartner: true,
|
|
partnerPromotionKey: "packycode",
|
|
icon: "packycode",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "APIKEY.FUN",
|
|
websiteUrl: "https://apikey.fun",
|
|
apiKeyUrl: "https://apikey.fun/register?aff=CCSwitch",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/anthropic",
|
|
name: "APIKEY.FUN",
|
|
options: {
|
|
baseURL: "https://api.apikey.fun/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
|
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
|
|
"claude-haiku-4-5": { name: "Claude Haiku 4.5" },
|
|
},
|
|
},
|
|
category: "third_party",
|
|
isPartner: true,
|
|
partnerPromotionKey: "apikeyfun",
|
|
icon: "apikeyfun",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "APINebula",
|
|
websiteUrl: "https://apinebula.com",
|
|
apiKeyUrl: "https://apinebula.com/02rw5X",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
name: "APINebula",
|
|
options: {
|
|
baseURL: "https://apinebula.com/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"gpt-5.5": { name: "GPT-5.5" },
|
|
},
|
|
},
|
|
category: "third_party",
|
|
isPartner: true,
|
|
partnerPromotionKey: "apinebula",
|
|
icon: "apinebula",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "AtlasCloud",
|
|
websiteUrl: "https://www.atlascloud.ai/console/coding-plan",
|
|
apiKeyUrl: "https://www.atlascloud.ai/console/coding-plan",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
name: "AtlasCloud",
|
|
options: {
|
|
baseURL: "https://api.atlascloud.ai/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"zai-org/glm-5.1": { name: "GLM 5.1" },
|
|
},
|
|
},
|
|
category: "aggregator",
|
|
isPartner: true,
|
|
partnerPromotionKey: "atlascloud",
|
|
icon: "atlascloud",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "SudoCode",
|
|
websiteUrl: "https://sudocode.us",
|
|
apiKeyUrl: "https://sudocode.us",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai",
|
|
name: "SudoCode",
|
|
options: {
|
|
baseURL: "https://sudocode.us/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"gpt-5.5": { name: "GPT-5.5" },
|
|
},
|
|
},
|
|
category: "third_party",
|
|
icon: "sudocode",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "Cubence",
|
|
websiteUrl: "https://cubence.com",
|
|
apiKeyUrl: "https://cubence.com/signup?code=CCSWITCH&source=ccs",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/anthropic",
|
|
name: "Cubence",
|
|
options: {
|
|
baseURL: "https://api.cubence.com/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
|
|
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
|
},
|
|
},
|
|
category: "third_party",
|
|
isPartner: true,
|
|
partnerPromotionKey: "cubence",
|
|
icon: "cubence",
|
|
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-4-6": { name: "Claude Sonnet 4.6" },
|
|
"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: "RightCode",
|
|
websiteUrl: "https://www.right.codes",
|
|
apiKeyUrl: "https://www.right.codes/register?aff=CCSWITCH",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai",
|
|
name: "RightCode",
|
|
options: {
|
|
baseURL: "https://right.codes/codex/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"gpt-5.5": { name: "GPT-5.5" },
|
|
},
|
|
},
|
|
category: "third_party",
|
|
isPartner: true,
|
|
partnerPromotionKey: "rightcode",
|
|
icon: "rc",
|
|
iconColor: "#E96B2C",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "AICodeMirror",
|
|
websiteUrl: "https://www.aicodemirror.com",
|
|
apiKeyUrl: "https://www.aicodemirror.com/register?invitecode=9915W3",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/anthropic",
|
|
name: "AICodeMirror",
|
|
options: {
|
|
baseURL: "https://api.aicodemirror.com/api/claudecode",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"claude-sonnet-4.6": { name: "Claude Sonnet 4.6" },
|
|
"claude-opus-4.8": { name: "Claude Opus 4.8" },
|
|
},
|
|
},
|
|
category: "third_party",
|
|
isPartner: true,
|
|
partnerPromotionKey: "aicodemirror",
|
|
icon: "aicodemirror",
|
|
iconColor: "#000000",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "ClaudeCN",
|
|
websiteUrl: "https://claudecn.top",
|
|
apiKeyUrl: "https://claudecn.top/register?aff=ccswitch",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/anthropic",
|
|
name: "ClaudeCN",
|
|
options: {
|
|
baseURL: "https://claudecn.top",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
|
|
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
|
"claude-haiku-4-5": { name: "Claude Haiku 4.5" },
|
|
},
|
|
},
|
|
category: "third_party",
|
|
isPartner: true,
|
|
partnerPromotionKey: "claudecn",
|
|
icon: "claudecn",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "RunAPI",
|
|
websiteUrl: "https://runapi.co",
|
|
apiKeyUrl: "https://runapi.co",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/anthropic",
|
|
name: "RunAPI",
|
|
options: {
|
|
baseURL: "https://runapi.co",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
|
|
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
|
"claude-haiku-4-5": { name: "Claude Haiku 4.5" },
|
|
},
|
|
},
|
|
category: "aggregator",
|
|
isPartner: true,
|
|
partnerPromotionKey: "runapi",
|
|
icon: "runapi",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "CrazyRouter",
|
|
websiteUrl: "https://www.crazyrouter.com",
|
|
apiKeyUrl: "https://www.crazyrouter.com/register?aff=OZcm&ref=cc-switch",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/anthropic",
|
|
name: "CrazyRouter",
|
|
options: {
|
|
baseURL: "https://cn.crazyrouter.com",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
|
|
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
|
},
|
|
},
|
|
category: "third_party",
|
|
isPartner: true,
|
|
partnerPromotionKey: "crazyrouter",
|
|
icon: "crazyrouter",
|
|
iconColor: "#000000",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "SSSAiCode",
|
|
websiteUrl: "https://sssaicodeapi.com",
|
|
apiKeyUrl: "https://sssaicodeapi.com/register?ref=DCP0SM",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/anthropic",
|
|
name: "SSSAiCode",
|
|
options: {
|
|
baseURL: "https://node-hk.sssaicodeapi.com/api/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
|
|
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
|
},
|
|
},
|
|
category: "third_party",
|
|
isPartner: true,
|
|
partnerPromotionKey: "sssaicode",
|
|
icon: "sssaicode",
|
|
iconColor: "#000000",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "Micu",
|
|
websiteUrl: "https://www.micuapi.ai",
|
|
apiKeyUrl: "https://www.micuapi.ai/register?aff=aOYQ",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/anthropic",
|
|
name: "Micu",
|
|
options: {
|
|
baseURL: "https://www.micuapi.ai/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
|
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
|
|
},
|
|
},
|
|
category: "third_party",
|
|
isPartner: true,
|
|
partnerPromotionKey: "micu",
|
|
icon: "micu",
|
|
iconColor: "#000000",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "CTok.ai",
|
|
websiteUrl: "https://ctok.ai",
|
|
apiKeyUrl: "https://ctok.ai",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/anthropic",
|
|
name: "CTok",
|
|
options: {
|
|
baseURL: "https://api.ctok.ai/v1",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
|
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
|
|
},
|
|
},
|
|
category: "third_party",
|
|
isPartner: true,
|
|
partnerPromotionKey: "ctok",
|
|
icon: "ctok",
|
|
iconColor: "#000000",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "E-FlowCode",
|
|
websiteUrl: "https://e-flowcode.cc",
|
|
apiKeyUrl: "https://e-flowcode.cc",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai",
|
|
options: {
|
|
apiKey: "",
|
|
baseURL: "https://e-flowcode.cc/v1",
|
|
},
|
|
models: {
|
|
"gpt-5.2-codex": {
|
|
name: "gpt-5.2-codex",
|
|
},
|
|
"gpt-5.3-codex": {
|
|
name: "gpt-5.3-codex",
|
|
},
|
|
},
|
|
},
|
|
category: "third_party",
|
|
icon: "eflowcode",
|
|
iconColor: "#000000",
|
|
templateValues: {
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "sk-...",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "AWS Bedrock",
|
|
websiteUrl: "https://aws.amazon.com/bedrock/",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/amazon-bedrock",
|
|
name: "AWS Bedrock",
|
|
options: {
|
|
region: "${region}",
|
|
accessKeyId: "${accessKeyId}",
|
|
secretAccessKey: "${secretAccessKey}",
|
|
setCacheKey: true,
|
|
},
|
|
models: {
|
|
"global.anthropic.claude-opus-4-8": { name: "Claude Opus 4.8" },
|
|
"global.anthropic.claude-sonnet-4-6": {
|
|
name: "Claude Sonnet 4.6",
|
|
},
|
|
"global.anthropic.claude-haiku-4-5-20251001-v1:0": {
|
|
name: "Claude Haiku 4.5",
|
|
},
|
|
"us.amazon.nova-pro-v1:0": { name: "Amazon Nova Pro" },
|
|
"us.meta.llama4-maverick-17b-instruct-v1:0": {
|
|
name: "Meta Llama 4 Maverick",
|
|
},
|
|
"us.deepseek.r1-v1:0": { name: "DeepSeek R1" },
|
|
},
|
|
},
|
|
category: "cloud_provider",
|
|
icon: "aws",
|
|
iconColor: "#FF9900",
|
|
templateValues: {
|
|
region: {
|
|
label: "AWS Region",
|
|
placeholder: "us-west-2",
|
|
defaultValue: "us-west-2",
|
|
editorValue: "us-west-2",
|
|
},
|
|
accessKeyId: {
|
|
label: "Access Key ID",
|
|
placeholder: "AKIA...",
|
|
editorValue: "",
|
|
},
|
|
secretAccessKey: {
|
|
label: "Secret Access Key",
|
|
placeholder: "your-secret-key",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "OpenAI Compatible",
|
|
websiteUrl: "",
|
|
settingsConfig: {
|
|
npm: "@ai-sdk/openai-compatible",
|
|
options: {
|
|
baseURL: "",
|
|
apiKey: "",
|
|
setCacheKey: true,
|
|
},
|
|
models: {},
|
|
},
|
|
category: "custom",
|
|
isCustomTemplate: true,
|
|
icon: "generic",
|
|
iconColor: "#6B7280",
|
|
templateValues: {
|
|
baseURL: {
|
|
label: "Base URL",
|
|
placeholder: "https://api.example.com/v1",
|
|
editorValue: "",
|
|
},
|
|
apiKey: {
|
|
label: "API Key",
|
|
placeholder: "",
|
|
editorValue: "",
|
|
},
|
|
},
|
|
},
|
|
|
|
{
|
|
name: "Oh My OpenCode",
|
|
websiteUrl: "https://github.com/code-yeongyu/oh-my-openagent",
|
|
settingsConfig: {
|
|
npm: "",
|
|
options: {},
|
|
models: {},
|
|
},
|
|
category: "omo" as ProviderCategory,
|
|
icon: "opencode",
|
|
iconColor: "#8B5CF6",
|
|
isCustomTemplate: true,
|
|
},
|
|
{
|
|
name: "Oh My OpenCode Slim",
|
|
websiteUrl: "https://github.com/alvinunreal/oh-my-opencode-slim",
|
|
settingsConfig: {
|
|
npm: "",
|
|
options: {},
|
|
models: {},
|
|
},
|
|
category: "omo-slim" as ProviderCategory,
|
|
icon: "opencode",
|
|
iconColor: "#6366F1",
|
|
isCustomTemplate: true,
|
|
},
|
|
];
|