mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-06-16 13:34:04 +08:00
d307df92e9
Remove the gold star badge and the partner promotion banner for MiniMax by deleting the isPartner flag from all 12 MiniMax presets (cn + en) across claude, claude-desktop, codex, opencode, openclaw, and hermes. Both the preset-selector star (gated on isPartner) and the API-key promotion banner (gated on isPartner && partnerPromotionKey) disappear as a result. The partnerPromotionKey and the minimax_cn/minimax_en i18n copy are kept dormant so the partnership can be re-enabled with a single line if needed. MiniMax stays as a regular cn_official provider, keeping its icon and theme.
1363 lines
39 KiB
TypeScript
1363 lines
39 KiB
TypeScript
/**
|
||
* Hermes Agent provider presets configuration
|
||
* Hermes uses custom_providers array in config.yaml
|
||
*/
|
||
import type { ProviderCategory } from "../types";
|
||
import type { PresetTheme, TemplateValueConfig } from "./claudeProviderPresets";
|
||
|
||
/**
|
||
* Marker field and source values that `hermes_config.rs::get_providers`
|
||
* injects onto each settings payload. Kept in sync with the Rust constants
|
||
* `PROVIDER_SOURCE_FIELD` / `PROVIDER_SOURCE_CUSTOM_LIST` / `PROVIDER_SOURCE_DICT`.
|
||
*/
|
||
export const HERMES_PROVIDER_SOURCE_FIELD = "_cc_source";
|
||
export const HERMES_PROVIDER_SOURCE_CUSTOM_LIST = "custom_providers";
|
||
export const HERMES_PROVIDER_SOURCE_DICT = "providers_dict";
|
||
|
||
/**
|
||
* True when the provider was sourced from Hermes' v12+ `providers:` dict —
|
||
* CC Switch renders those read-only and routes edits to Hermes Web UI.
|
||
*/
|
||
export function isHermesReadOnlyProvider(settingsConfig: unknown): boolean {
|
||
if (!settingsConfig || typeof settingsConfig !== "object") {
|
||
return false;
|
||
}
|
||
const marker = (settingsConfig as Record<string, unknown>)[
|
||
HERMES_PROVIDER_SOURCE_FIELD
|
||
];
|
||
return marker === HERMES_PROVIDER_SOURCE_DICT;
|
||
}
|
||
|
||
/**
|
||
* A model entry under a Hermes custom_provider.
|
||
*
|
||
* Serialized to YAML as a dict keyed by `id`:
|
||
*
|
||
* ```yaml
|
||
* models:
|
||
* anthropic/claude-opus-4-8:
|
||
* context_length: 200000
|
||
* ```
|
||
*
|
||
* Hermes' `_VALID_CUSTOM_PROVIDER_FIELDS` (hermes_cli/config.py) does not include
|
||
* `max_tokens` at the per-model level — writing it produces an "unknown field"
|
||
* warning on Hermes startup. Max tokens is a per-request parameter, not a
|
||
* provider-level config.
|
||
*/
|
||
export interface HermesModel {
|
||
/** Model ID — becomes the YAML key and the value written to top-level model.default. */
|
||
id: string;
|
||
/** Optional display label (UI only, not serialized to YAML). */
|
||
name?: string;
|
||
/** Override the auto-detected context window. */
|
||
context_length?: number;
|
||
}
|
||
|
||
/**
|
||
* Top-level `model:` defaults suggested by a preset.
|
||
*
|
||
* Written to the YAML `model:` section when the user switches to this provider.
|
||
* Per-model `context_length` lives on the individual `HermesModel` entries and
|
||
* flows through `custom_providers[].models`, not this object.
|
||
*/
|
||
export interface HermesSuggestedDefaults {
|
||
model: {
|
||
/** Model ID for `model.default`. Typically equals `models[0].id`. */
|
||
default: string;
|
||
/** Value for `model.provider`. Omit to use the custom_provider name. */
|
||
provider?: string;
|
||
};
|
||
}
|
||
|
||
/** Hermes custom_provider protocol mode. Always written explicitly. */
|
||
export type HermesApiMode =
|
||
| "chat_completions"
|
||
| "anthropic_messages"
|
||
| "codex_responses"
|
||
| "bedrock_converse";
|
||
|
||
/** Default mode used when a provider has no stored value yet. */
|
||
export const HERMES_DEFAULT_API_MODE: HermesApiMode = "chat_completions";
|
||
|
||
/** Dropdown options for the API Mode selector. `labelKey` is looked up in i18n. */
|
||
export const hermesApiModes: Array<{
|
||
value: HermesApiMode;
|
||
labelKey: string;
|
||
}> = [
|
||
{ value: "chat_completions", labelKey: "hermes.form.apiModeChatCompletions" },
|
||
{
|
||
value: "anthropic_messages",
|
||
labelKey: "hermes.form.apiModeAnthropicMessages",
|
||
},
|
||
{ value: "codex_responses", labelKey: "hermes.form.apiModeCodexResponses" },
|
||
{
|
||
value: "bedrock_converse",
|
||
labelKey: "hermes.form.apiModeBedrockConverse",
|
||
},
|
||
];
|
||
|
||
export interface HermesProviderPreset {
|
||
name: string;
|
||
nameKey?: string;
|
||
websiteUrl: string;
|
||
apiKeyUrl?: string;
|
||
settingsConfig: HermesProviderSettingsConfig;
|
||
isOfficial?: boolean;
|
||
isPartner?: boolean;
|
||
partnerPromotionKey?: string;
|
||
category?: ProviderCategory;
|
||
templateValues?: Record<string, TemplateValueConfig>;
|
||
theme?: PresetTheme;
|
||
icon?: string;
|
||
iconColor?: string;
|
||
isCustomTemplate?: boolean;
|
||
/** Optional top-level `model:` defaults written on switch. */
|
||
suggestedDefaults?: HermesSuggestedDefaults;
|
||
}
|
||
|
||
export interface HermesProviderSettingsConfig {
|
||
name: string;
|
||
base_url?: string;
|
||
api_key?: string;
|
||
api_mode?: HermesApiMode;
|
||
/** UI-side ordered list; serialized to YAML as a dict keyed by id. */
|
||
models?: HermesModel[];
|
||
/** Delay in seconds between consecutive requests to this provider. */
|
||
rate_limit_delay?: number;
|
||
[key: string]: unknown;
|
||
}
|
||
|
||
export const hermesProviderPresets: HermesProviderPreset[] = [
|
||
{
|
||
name: "Shengsuanyun",
|
||
nameKey: "providerForm.presets.shengsuanyun",
|
||
websiteUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||
apiKeyUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||
settingsConfig: {
|
||
name: "shengsuanyun",
|
||
base_url: "https://router.shengsuanyun.com/api/v1",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [{ id: "openai/gpt-5.5", name: "GPT-5.5" }],
|
||
},
|
||
category: "aggregator",
|
||
isPartner: true,
|
||
partnerPromotionKey: "shengsuanyun",
|
||
icon: "shengsuanyun",
|
||
suggestedDefaults: {
|
||
model: { default: "openai/gpt-5.5", provider: "shengsuanyun" },
|
||
},
|
||
},
|
||
{
|
||
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: {
|
||
name: "ark_agentplan",
|
||
base_url: "https://ark.cn-beijing.volces.com/api/coding",
|
||
api_key: "",
|
||
api_mode: "anthropic_messages",
|
||
models: [
|
||
{
|
||
id: "ark-code-latest",
|
||
name: "Ark Code Latest",
|
||
},
|
||
],
|
||
},
|
||
category: "cn_official",
|
||
isPartner: true,
|
||
partnerPromotionKey: "volcengine_agentplan",
|
||
icon: "huoshan",
|
||
iconColor: "#3370FF",
|
||
suggestedDefaults: {
|
||
model: {
|
||
default: "ark-code-latest",
|
||
provider: "ark_agentplan",
|
||
},
|
||
},
|
||
},
|
||
{
|
||
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: {
|
||
name: "byteplus",
|
||
base_url: "https://ark.ap-southeast.bytepluses.com/api/coding",
|
||
api_key: "",
|
||
api_mode: "anthropic_messages",
|
||
models: [
|
||
{
|
||
id: "ark-code-latest",
|
||
name: "Ark Code Latest",
|
||
},
|
||
],
|
||
},
|
||
category: "cn_official",
|
||
isPartner: true,
|
||
partnerPromotionKey: "byteplus",
|
||
icon: "byteplus",
|
||
iconColor: "#3370FF",
|
||
suggestedDefaults: {
|
||
model: {
|
||
default: "ark-code-latest",
|
||
provider: "byteplus",
|
||
},
|
||
},
|
||
},
|
||
{
|
||
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: {
|
||
name: "doubao_seed",
|
||
base_url: "https://ark.cn-beijing.volces.com/api/compatible",
|
||
api_key: "",
|
||
api_mode: "anthropic_messages",
|
||
models: [
|
||
{
|
||
id: "doubao-seed-2-0-code-preview-latest",
|
||
name: "Doubao Seed 2.0 Code Preview",
|
||
},
|
||
],
|
||
},
|
||
category: "cn_official",
|
||
isPartner: true,
|
||
partnerPromotionKey: "doubaoseed",
|
||
icon: "doubao",
|
||
iconColor: "#3370FF",
|
||
suggestedDefaults: {
|
||
model: {
|
||
default: "doubao-seed-2-0-code-preview-latest",
|
||
provider: "doubao_seed",
|
||
},
|
||
},
|
||
},
|
||
{
|
||
name: "CCSub",
|
||
websiteUrl: "https://www.ccsub.net",
|
||
apiKeyUrl: "https://www.ccsub.net/register?ref=Y6Z8DXEA",
|
||
settingsConfig: {
|
||
name: "ccsub",
|
||
base_url: "https://www.ccsub.net/v1",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [
|
||
{
|
||
id: "gpt-5.5",
|
||
name: "GPT-5.5",
|
||
context_length: 400000,
|
||
},
|
||
],
|
||
},
|
||
category: "aggregator",
|
||
isPartner: true,
|
||
partnerPromotionKey: "ccsub",
|
||
icon: "ccsub",
|
||
suggestedDefaults: {
|
||
model: { default: "gpt-5.5", provider: "ccsub" },
|
||
},
|
||
},
|
||
{
|
||
name: "Unity2.ai",
|
||
websiteUrl: "https://unity2.ai",
|
||
apiKeyUrl: "https://unity2.ai/register?source=ccs",
|
||
settingsConfig: {
|
||
name: "unity2",
|
||
base_url: "https://api.unity2.ai/v1",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [
|
||
{
|
||
id: "gpt-5.5",
|
||
name: "GPT-5.5",
|
||
context_length: 400000,
|
||
},
|
||
],
|
||
},
|
||
category: "aggregator",
|
||
isPartner: true,
|
||
partnerPromotionKey: "unity2",
|
||
icon: "unity2",
|
||
suggestedDefaults: {
|
||
model: { default: "gpt-5.5", provider: "unity2" },
|
||
},
|
||
},
|
||
{
|
||
name: "OpenRouter",
|
||
nameKey: "providerForm.presets.openrouter",
|
||
websiteUrl: "https://openrouter.ai",
|
||
apiKeyUrl: "https://openrouter.ai/keys",
|
||
settingsConfig: {
|
||
name: "openrouter",
|
||
base_url: "https://openrouter.ai/api/v1",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [
|
||
{
|
||
id: "anthropic/claude-opus-4-8",
|
||
name: "Claude Opus 4.8",
|
||
context_length: 1000000,
|
||
},
|
||
{
|
||
id: "anthropic/claude-sonnet-4-6",
|
||
name: "Claude Sonnet 4.6",
|
||
context_length: 1000000,
|
||
},
|
||
{
|
||
id: "anthropic/claude-haiku-4-5",
|
||
name: "Claude Haiku 4.5",
|
||
context_length: 200000,
|
||
},
|
||
{
|
||
id: "openai/gpt-5.5",
|
||
name: "GPT-5.5",
|
||
context_length: 400000,
|
||
},
|
||
{
|
||
id: "google/gemini-3.5-flash",
|
||
name: "Gemini 3.5 Flash",
|
||
context_length: 1000000,
|
||
},
|
||
],
|
||
},
|
||
category: "aggregator",
|
||
icon: "openrouter",
|
||
iconColor: "#6366F1",
|
||
suggestedDefaults: {
|
||
model: { default: "anthropic/claude-opus-4-8", provider: "openrouter" },
|
||
},
|
||
},
|
||
{
|
||
name: "DeepSeek",
|
||
nameKey: "providerForm.presets.deepseek",
|
||
websiteUrl: "https://platform.deepseek.com",
|
||
apiKeyUrl: "https://platform.deepseek.com/api_keys",
|
||
settingsConfig: {
|
||
name: "deepseek",
|
||
base_url: "https://api.deepseek.com",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [
|
||
{
|
||
id: "deepseek-v4-pro",
|
||
name: "DeepSeek V4 Pro",
|
||
context_length: 1000000,
|
||
},
|
||
{
|
||
id: "deepseek-v4-flash",
|
||
name: "DeepSeek V4 Flash",
|
||
context_length: 1000000,
|
||
},
|
||
],
|
||
},
|
||
category: "cn_official",
|
||
icon: "deepseek",
|
||
iconColor: "#4D6BFE",
|
||
suggestedDefaults: {
|
||
model: { default: "deepseek-v4-flash", provider: "deepseek" },
|
||
},
|
||
},
|
||
{
|
||
name: "Together AI",
|
||
nameKey: "providerForm.presets.together",
|
||
websiteUrl: "https://together.ai",
|
||
apiKeyUrl: "https://api.together.ai/settings/api-keys",
|
||
settingsConfig: {
|
||
name: "together",
|
||
base_url: "https://api.together.xyz/v1",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [
|
||
{
|
||
id: "Qwen/Qwen3-Coder-480B-A35B-Instruct",
|
||
name: "Qwen3 Coder 480B",
|
||
context_length: 262144,
|
||
},
|
||
{
|
||
id: "deepseek-ai/DeepSeek-V3.2",
|
||
name: "DeepSeek V3.2",
|
||
context_length: 64000,
|
||
},
|
||
{
|
||
id: "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",
|
||
name: "Llama 4 Maverick",
|
||
context_length: 131072,
|
||
},
|
||
],
|
||
},
|
||
category: "aggregator",
|
||
icon: "together",
|
||
iconColor: "#0F6FFF",
|
||
suggestedDefaults: {
|
||
model: {
|
||
default: "Qwen/Qwen3-Coder-480B-A35B-Instruct",
|
||
provider: "together",
|
||
},
|
||
},
|
||
},
|
||
{
|
||
name: "Nous Research",
|
||
websiteUrl: "https://nousresearch.com",
|
||
apiKeyUrl: "https://portal.nousresearch.com/",
|
||
settingsConfig: {
|
||
name: "nous",
|
||
base_url: "https://inference-api.nousresearch.com/v1",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [
|
||
{
|
||
id: "Hermes-4-405B",
|
||
name: "Hermes 4 405B",
|
||
context_length: 131072,
|
||
},
|
||
{
|
||
id: "Hermes-4-70B",
|
||
name: "Hermes 4 70B",
|
||
context_length: 131072,
|
||
},
|
||
],
|
||
},
|
||
isOfficial: true,
|
||
category: "official",
|
||
icon: "hermes",
|
||
iconColor: "#7C3AED",
|
||
suggestedDefaults: {
|
||
model: { default: "Hermes-4-405B", provider: "nous" },
|
||
},
|
||
},
|
||
|
||
// ===== 以下为从 Claude 应用预设同步而来的供应商 =====
|
||
// 字段映射:env.ANTHROPIC_BASE_URL → base_url;env.ANTHROPIC_AUTH_TOKEN → api_key;
|
||
// apiFormat "anthropic"(默认) → api_mode "anthropic_messages";
|
||
// apiFormat "openai_chat" → api_mode "chat_completions";
|
||
// ANTHROPIC_MODEL / DEFAULT_HAIKU / SONNET / OPUS_MODEL 去重后塞进 models[]。
|
||
{
|
||
name: "Zhipu GLM",
|
||
websiteUrl: "https://open.bigmodel.cn",
|
||
apiKeyUrl: "https://www.bigmodel.cn/claude-code?ic=RRVJPB5SII",
|
||
settingsConfig: {
|
||
name: "zhipu_glm",
|
||
base_url: "https://open.bigmodel.cn/api/coding/paas/v4",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [{ id: "glm-5.1", name: "GLM-5.1" }],
|
||
},
|
||
category: "cn_official",
|
||
icon: "zhipu",
|
||
iconColor: "#0F62FE",
|
||
suggestedDefaults: {
|
||
model: { default: "glm-5.1", provider: "zhipu_glm" },
|
||
},
|
||
},
|
||
{
|
||
name: "Zhipu GLM en",
|
||
websiteUrl: "https://z.ai",
|
||
apiKeyUrl: "https://z.ai/subscribe?ic=8JVLJQFSKB",
|
||
settingsConfig: {
|
||
name: "zhipu_glm_en",
|
||
base_url: "https://api.z.ai/api/coding/paas/v4",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [{ id: "glm-5.1", name: "GLM-5.1" }],
|
||
},
|
||
category: "cn_official",
|
||
icon: "zhipu",
|
||
iconColor: "#0F62FE",
|
||
suggestedDefaults: {
|
||
model: { default: "glm-5.1", provider: "zhipu_glm_en" },
|
||
},
|
||
},
|
||
{
|
||
name: "Bailian",
|
||
websiteUrl: "https://bailian.console.aliyun.com",
|
||
settingsConfig: {
|
||
name: "bailian",
|
||
base_url: "https://dashscope.aliyuncs.com/compatible-mode/v1",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [
|
||
{ id: "qwen3-coder-plus", name: "Qwen3 Coder Plus" },
|
||
{ id: "qwen3-max", name: "Qwen3 Max" },
|
||
],
|
||
},
|
||
category: "cn_official",
|
||
icon: "bailian",
|
||
iconColor: "#624AFF",
|
||
suggestedDefaults: {
|
||
model: { default: "qwen3-coder-plus", provider: "bailian" },
|
||
},
|
||
},
|
||
{
|
||
name: "Bailian For Coding",
|
||
websiteUrl: "https://bailian.console.aliyun.com",
|
||
settingsConfig: {
|
||
name: "bailian_coding",
|
||
base_url: "https://coding.dashscope.aliyuncs.com/apps/anthropic",
|
||
api_key: "",
|
||
api_mode: "anthropic_messages",
|
||
models: [
|
||
{ id: "qwen3-coder-plus", name: "Qwen3 Coder Plus" },
|
||
{ id: "qwen3-max", name: "Qwen3 Max" },
|
||
],
|
||
},
|
||
category: "cn_official",
|
||
icon: "bailian",
|
||
iconColor: "#624AFF",
|
||
suggestedDefaults: {
|
||
model: { default: "qwen3-coder-plus", provider: "bailian_coding" },
|
||
},
|
||
},
|
||
{
|
||
name: "Kimi",
|
||
websiteUrl: "https://platform.moonshot.cn/console?aff=cc-switch",
|
||
settingsConfig: {
|
||
name: "kimi",
|
||
base_url: "https://api.moonshot.cn/v1",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [{ id: "kimi-k2.7-code", name: "Kimi K2.7 Code" }],
|
||
},
|
||
category: "cn_official",
|
||
icon: "kimi",
|
||
iconColor: "#6366F1",
|
||
suggestedDefaults: {
|
||
model: { default: "kimi-k2.7-code", provider: "kimi" },
|
||
},
|
||
},
|
||
{
|
||
name: "Kimi For Coding",
|
||
websiteUrl: "https://www.kimi.com/code/docs/?aff=cc-switch",
|
||
settingsConfig: {
|
||
name: "kimi_coding",
|
||
base_url: "https://api.kimi.com/coding/",
|
||
api_key: "",
|
||
api_mode: "anthropic_messages",
|
||
models: [{ id: "kimi-for-coding", name: "Kimi For Coding" }],
|
||
},
|
||
category: "cn_official",
|
||
icon: "kimi",
|
||
iconColor: "#6366F1",
|
||
suggestedDefaults: {
|
||
model: { default: "kimi-for-coding", provider: "kimi_coding" },
|
||
},
|
||
},
|
||
{
|
||
name: "StepFun",
|
||
websiteUrl: "https://platform.stepfun.ai",
|
||
apiKeyUrl: "https://platform.stepfun.ai/interface-key",
|
||
settingsConfig: {
|
||
name: "stepfun",
|
||
base_url: "https://api.stepfun.ai/v1",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [{ id: "step-3.5-flash", name: "Step 3.5 Flash" }],
|
||
},
|
||
category: "cn_official",
|
||
icon: "stepfun",
|
||
iconColor: "#005AFF",
|
||
suggestedDefaults: {
|
||
model: { default: "step-3.5-flash", provider: "stepfun" },
|
||
},
|
||
},
|
||
{
|
||
name: "ModelScope",
|
||
websiteUrl: "https://modelscope.cn",
|
||
settingsConfig: {
|
||
name: "modelscope",
|
||
base_url: "https://api-inference.modelscope.cn/v1",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [{ id: "ZhipuAI/GLM-5.1", name: "ZhipuAI / GLM-5.1" }],
|
||
},
|
||
category: "aggregator",
|
||
icon: "modelscope",
|
||
iconColor: "#624AFF",
|
||
suggestedDefaults: {
|
||
model: { default: "ZhipuAI/GLM-5.1", provider: "modelscope" },
|
||
},
|
||
},
|
||
{
|
||
name: "KAT-Coder",
|
||
websiteUrl: "https://console.streamlake.ai",
|
||
apiKeyUrl: "https://console.streamlake.ai/console/api-key",
|
||
settingsConfig: {
|
||
name: "kat_coder",
|
||
base_url:
|
||
"https://vanchin.streamlake.ai/api/gateway/v1/endpoints/${ENDPOINT_ID}/claude-code-proxy",
|
||
api_key: "",
|
||
api_mode: "anthropic_messages",
|
||
models: [
|
||
{ id: "KAT-Coder-Pro V1", name: "KAT-Coder Pro V1" },
|
||
{ id: "KAT-Coder-Air V1", name: "KAT-Coder Air V1" },
|
||
],
|
||
},
|
||
category: "cn_official",
|
||
templateValues: {
|
||
ENDPOINT_ID: {
|
||
label: "Vanchin Endpoint ID",
|
||
placeholder: "ep-xxx-xxx",
|
||
defaultValue: "",
|
||
editorValue: "",
|
||
},
|
||
},
|
||
icon: "catcoder",
|
||
suggestedDefaults: {
|
||
model: { default: "KAT-Coder-Pro V1", provider: "kat_coder" },
|
||
},
|
||
},
|
||
{
|
||
name: "Longcat",
|
||
websiteUrl: "https://longcat.chat/platform",
|
||
apiKeyUrl: "https://longcat.chat/platform/api_keys",
|
||
settingsConfig: {
|
||
name: "longcat",
|
||
base_url: "https://api.longcat.chat/openai/v1",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [{ id: "LongCat-Flash-Chat", name: "LongCat Flash Chat" }],
|
||
},
|
||
category: "cn_official",
|
||
icon: "longcat",
|
||
iconColor: "#29E154",
|
||
suggestedDefaults: {
|
||
model: { default: "LongCat-Flash-Chat", provider: "longcat" },
|
||
},
|
||
},
|
||
{
|
||
name: "MiniMax",
|
||
websiteUrl: "https://platform.minimaxi.com",
|
||
apiKeyUrl: "https://platform.minimaxi.com/subscribe/coding-plan",
|
||
settingsConfig: {
|
||
name: "minimax",
|
||
base_url: "https://api.minimaxi.com/v1",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [{ id: "MiniMax-M2.7", name: "MiniMax M2.7" }],
|
||
},
|
||
category: "cn_official",
|
||
partnerPromotionKey: "minimax_cn",
|
||
theme: { backgroundColor: "#f64551", textColor: "#FFFFFF" },
|
||
icon: "minimax",
|
||
iconColor: "#FF6B6B",
|
||
suggestedDefaults: {
|
||
model: { default: "MiniMax-M2.7", provider: "minimax" },
|
||
},
|
||
},
|
||
{
|
||
name: "MiniMax en",
|
||
websiteUrl: "https://platform.minimax.io",
|
||
apiKeyUrl: "https://platform.minimax.io/subscribe/coding-plan",
|
||
settingsConfig: {
|
||
name: "minimax_en",
|
||
base_url: "https://api.minimax.io/v1",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [{ id: "MiniMax-M2.7", name: "MiniMax M2.7" }],
|
||
},
|
||
category: "cn_official",
|
||
partnerPromotionKey: "minimax_en",
|
||
theme: { backgroundColor: "#f64551", textColor: "#FFFFFF" },
|
||
icon: "minimax",
|
||
iconColor: "#FF6B6B",
|
||
suggestedDefaults: {
|
||
model: { default: "MiniMax-M2.7", provider: "minimax_en" },
|
||
},
|
||
},
|
||
{
|
||
name: "BaiLing",
|
||
websiteUrl: "https://alipaytbox.yuque.com/sxs0ba/ling/get_started",
|
||
settingsConfig: {
|
||
name: "bailing",
|
||
base_url: "https://api.tbox.cn/api/anthropic",
|
||
api_key: "",
|
||
api_mode: "anthropic_messages",
|
||
models: [{ id: "Ling-2.5-1T", name: "Ling 2.5 1T" }],
|
||
},
|
||
category: "cn_official",
|
||
suggestedDefaults: {
|
||
model: { default: "Ling-2.5-1T", provider: "bailing" },
|
||
},
|
||
},
|
||
{
|
||
name: "AiHubMix",
|
||
websiteUrl: "https://aihubmix.com",
|
||
apiKeyUrl: "https://aihubmix.com",
|
||
settingsConfig: {
|
||
name: "aihubmix",
|
||
base_url: "https://aihubmix.com/v1",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [{ id: "gpt-5.5", name: "GPT-5.5" }],
|
||
},
|
||
category: "aggregator",
|
||
icon: "aihubmix",
|
||
iconColor: "#006FFB",
|
||
suggestedDefaults: {
|
||
model: { default: "gpt-5.5", provider: "aihubmix" },
|
||
},
|
||
},
|
||
{
|
||
name: "CherryIN",
|
||
websiteUrl: "https://open.cherryin.ai",
|
||
apiKeyUrl: "https://open.cherryin.ai/console/token",
|
||
settingsConfig: {
|
||
name: "cherryin",
|
||
base_url: "https://open.cherryin.net",
|
||
api_key: "",
|
||
api_mode: "anthropic_messages",
|
||
models: [
|
||
{ id: "anthropic/claude-opus-4.8", name: "Claude Opus 4.8" },
|
||
{ id: "anthropic/claude-sonnet-4.6", name: "Claude Sonnet 4.6" },
|
||
],
|
||
},
|
||
category: "aggregator",
|
||
icon: "cherryin",
|
||
suggestedDefaults: {
|
||
model: { default: "anthropic/claude-opus-4.8", provider: "cherryin" },
|
||
},
|
||
},
|
||
{
|
||
name: "SiliconFlow",
|
||
websiteUrl: "https://siliconflow.cn",
|
||
apiKeyUrl: "https://cloud.siliconflow.cn/i/drGuwc9k",
|
||
settingsConfig: {
|
||
name: "siliconflow",
|
||
base_url: "https://api.siliconflow.cn/v1",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [
|
||
{
|
||
id: "Pro/MiniMaxAI/MiniMax-M2.7",
|
||
name: "Pro / MiniMax M2.7",
|
||
},
|
||
],
|
||
},
|
||
category: "aggregator",
|
||
isPartner: true,
|
||
partnerPromotionKey: "siliconflow",
|
||
icon: "siliconflow",
|
||
iconColor: "#6E29F6",
|
||
suggestedDefaults: {
|
||
model: {
|
||
default: "Pro/MiniMaxAI/MiniMax-M2.7",
|
||
provider: "siliconflow",
|
||
},
|
||
},
|
||
},
|
||
{
|
||
name: "SiliconFlow en",
|
||
websiteUrl: "https://siliconflow.com",
|
||
apiKeyUrl: "https://cloud.siliconflow.cn/i/drGuwc9k",
|
||
settingsConfig: {
|
||
name: "siliconflow_en",
|
||
base_url: "https://api.siliconflow.com/v1",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [{ id: "MiniMaxAI/MiniMax-M2.7", name: "MiniMax M2.7" }],
|
||
},
|
||
category: "aggregator",
|
||
isPartner: true,
|
||
partnerPromotionKey: "siliconflow",
|
||
icon: "siliconflow",
|
||
iconColor: "#000000",
|
||
suggestedDefaults: {
|
||
model: {
|
||
default: "MiniMaxAI/MiniMax-M2.7",
|
||
provider: "siliconflow_en",
|
||
},
|
||
},
|
||
},
|
||
{
|
||
name: "DMXAPI",
|
||
websiteUrl: "https://www.dmxapi.cn",
|
||
apiKeyUrl: "https://www.dmxapi.cn",
|
||
settingsConfig: {
|
||
name: "dmxapi",
|
||
base_url: "https://www.dmxapi.cn/v1",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [{ id: "gpt-5.5", name: "GPT-5.5" }],
|
||
},
|
||
category: "aggregator",
|
||
isPartner: true,
|
||
partnerPromotionKey: "dmxapi",
|
||
suggestedDefaults: {
|
||
model: { default: "gpt-5.5", provider: "dmxapi" },
|
||
},
|
||
},
|
||
{
|
||
name: "PackyCode",
|
||
websiteUrl: "https://www.packyapi.com",
|
||
apiKeyUrl: "https://www.packyapi.com/register?aff=cc-switch",
|
||
settingsConfig: {
|
||
name: "packycode",
|
||
base_url: "https://www.packyapi.com",
|
||
api_key: "",
|
||
api_mode: "anthropic_messages",
|
||
models: [
|
||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||
{ id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6" },
|
||
{ id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" },
|
||
],
|
||
},
|
||
category: "third_party",
|
||
isPartner: true,
|
||
partnerPromotionKey: "packycode",
|
||
icon: "packycode",
|
||
suggestedDefaults: {
|
||
model: { default: "claude-opus-4-8", provider: "packycode" },
|
||
},
|
||
},
|
||
{
|
||
name: "APIKEY.FUN",
|
||
websiteUrl: "https://apikey.fun",
|
||
apiKeyUrl: "https://apikey.fun/register?aff=CCSwitch",
|
||
settingsConfig: {
|
||
name: "apikeyfun",
|
||
base_url: "https://api.apikey.fun",
|
||
api_key: "",
|
||
api_mode: "anthropic_messages",
|
||
models: [
|
||
{
|
||
id: "claude-opus-4-8",
|
||
name: "Claude Opus 4.8",
|
||
context_length: 1000000,
|
||
},
|
||
{
|
||
id: "claude-sonnet-4-6",
|
||
name: "Claude Sonnet 4.6",
|
||
context_length: 1000000,
|
||
},
|
||
{
|
||
id: "claude-haiku-4-5",
|
||
name: "Claude Haiku 4.5",
|
||
context_length: 200000,
|
||
},
|
||
],
|
||
},
|
||
category: "third_party",
|
||
isPartner: true,
|
||
partnerPromotionKey: "apikeyfun",
|
||
icon: "apikeyfun",
|
||
suggestedDefaults: {
|
||
model: { default: "claude-opus-4-8", provider: "apikeyfun" },
|
||
},
|
||
},
|
||
{
|
||
name: "APINebula",
|
||
websiteUrl: "https://apinebula.com",
|
||
apiKeyUrl: "https://apinebula.com/02rw5X",
|
||
settingsConfig: {
|
||
name: "apinebula",
|
||
base_url: "https://apinebula.com/v1",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [
|
||
{
|
||
id: "gpt-5.5",
|
||
name: "GPT-5.5",
|
||
},
|
||
],
|
||
},
|
||
category: "third_party",
|
||
isPartner: true,
|
||
partnerPromotionKey: "apinebula",
|
||
icon: "apinebula",
|
||
suggestedDefaults: {
|
||
model: { default: "gpt-5.5", provider: "apinebula" },
|
||
},
|
||
},
|
||
{
|
||
name: "AtlasCloud",
|
||
websiteUrl: "https://www.atlascloud.ai/console/coding-plan",
|
||
apiKeyUrl: "https://www.atlascloud.ai/console/coding-plan",
|
||
settingsConfig: {
|
||
name: "atlascloud",
|
||
base_url: "https://api.atlascloud.ai/v1",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [
|
||
{
|
||
id: "zai-org/glm-5.1",
|
||
name: "GLM 5.1",
|
||
},
|
||
],
|
||
},
|
||
category: "aggregator",
|
||
isPartner: true,
|
||
partnerPromotionKey: "atlascloud",
|
||
icon: "atlascloud",
|
||
suggestedDefaults: {
|
||
model: { default: "zai-org/glm-5.1", provider: "atlascloud" },
|
||
},
|
||
},
|
||
{
|
||
name: "SudoCode",
|
||
websiteUrl: "https://sudocode.us",
|
||
apiKeyUrl: "https://sudocode.us",
|
||
settingsConfig: {
|
||
name: "sudocode",
|
||
base_url: "https://sudocode.us/v1",
|
||
api_key: "",
|
||
api_mode: "codex_responses",
|
||
models: [
|
||
{
|
||
id: "gpt-5.5",
|
||
name: "GPT-5.5",
|
||
},
|
||
],
|
||
},
|
||
category: "third_party",
|
||
icon: "sudocode",
|
||
suggestedDefaults: {
|
||
model: { default: "gpt-5.5", provider: "sudocode" },
|
||
},
|
||
},
|
||
{
|
||
name: "Cubence",
|
||
websiteUrl: "https://cubence.com",
|
||
apiKeyUrl: "https://cubence.com/signup?code=CCSWITCH&source=ccs",
|
||
settingsConfig: {
|
||
name: "cubence",
|
||
base_url: "https://api.cubence.com",
|
||
api_key: "",
|
||
api_mode: "anthropic_messages",
|
||
models: [
|
||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||
{ id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6" },
|
||
{ id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" },
|
||
],
|
||
},
|
||
category: "third_party",
|
||
isPartner: true,
|
||
partnerPromotionKey: "cubence",
|
||
icon: "cubence",
|
||
iconColor: "#000000",
|
||
suggestedDefaults: {
|
||
model: { default: "claude-opus-4-8", provider: "cubence" },
|
||
},
|
||
},
|
||
{
|
||
name: "ClaudeCN",
|
||
websiteUrl: "https://claudecn.top",
|
||
apiKeyUrl: "https://claudecn.top/register?aff=ccswitch",
|
||
settingsConfig: {
|
||
name: "claudecn",
|
||
base_url: "https://claudecn.top",
|
||
api_key: "",
|
||
api_mode: "anthropic_messages",
|
||
models: [
|
||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||
{ id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6" },
|
||
{ id: "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: "",
|
||
},
|
||
},
|
||
suggestedDefaults: {
|
||
model: { default: "claude-sonnet-4-6", provider: "claudecn" },
|
||
},
|
||
},
|
||
{
|
||
name: "RunAPI",
|
||
websiteUrl: "https://runapi.co",
|
||
apiKeyUrl: "https://runapi.co",
|
||
settingsConfig: {
|
||
name: "runapi",
|
||
base_url: "https://runapi.co",
|
||
api_key: "",
|
||
api_mode: "anthropic_messages",
|
||
models: [
|
||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||
{ id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6" },
|
||
{ id: "claude-haiku-4-5", name: "Claude Haiku 4.5" },
|
||
],
|
||
},
|
||
category: "aggregator",
|
||
isPartner: true,
|
||
partnerPromotionKey: "runapi",
|
||
icon: "runapi",
|
||
templateValues: {
|
||
apiKey: {
|
||
label: "API Key",
|
||
placeholder: "",
|
||
editorValue: "",
|
||
},
|
||
},
|
||
suggestedDefaults: {
|
||
model: { default: "claude-sonnet-4-6", provider: "runapi" },
|
||
},
|
||
},
|
||
{
|
||
name: "AIGoCode",
|
||
websiteUrl: "https://aigocode.com",
|
||
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-4-6", name: "Claude Sonnet 4.6" },
|
||
{ 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" },
|
||
},
|
||
},
|
||
{
|
||
name: "RightCode",
|
||
websiteUrl: "https://www.right.codes",
|
||
apiKeyUrl: "https://www.right.codes/register?aff=CCSWITCH",
|
||
settingsConfig: {
|
||
name: "rightcode",
|
||
base_url: "https://www.right.codes/claude",
|
||
api_key: "",
|
||
api_mode: "anthropic_messages",
|
||
models: [
|
||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||
{ id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6" },
|
||
{ id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" },
|
||
],
|
||
},
|
||
category: "third_party",
|
||
isPartner: true,
|
||
partnerPromotionKey: "rightcode",
|
||
icon: "rc",
|
||
iconColor: "#E96B2C",
|
||
suggestedDefaults: {
|
||
model: { default: "claude-opus-4-8", provider: "rightcode" },
|
||
},
|
||
},
|
||
{
|
||
name: "AICodeMirror",
|
||
websiteUrl: "https://www.aicodemirror.com",
|
||
apiKeyUrl: "https://www.aicodemirror.com/register?invitecode=9915W3",
|
||
settingsConfig: {
|
||
name: "aicodemirror",
|
||
base_url: "https://api.aicodemirror.com/api/claudecode",
|
||
api_key: "",
|
||
api_mode: "anthropic_messages",
|
||
models: [
|
||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||
{ id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6" },
|
||
{ id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" },
|
||
],
|
||
},
|
||
category: "third_party",
|
||
isPartner: true,
|
||
partnerPromotionKey: "aicodemirror",
|
||
icon: "aicodemirror",
|
||
iconColor: "#000000",
|
||
suggestedDefaults: {
|
||
model: { default: "claude-opus-4-8", provider: "aicodemirror" },
|
||
},
|
||
},
|
||
{
|
||
name: "CrazyRouter",
|
||
websiteUrl: "https://www.crazyrouter.com",
|
||
apiKeyUrl: "https://www.crazyrouter.com/register?aff=OZcm&ref=cc-switch",
|
||
settingsConfig: {
|
||
name: "crazyrouter",
|
||
base_url: "https://cn.crazyrouter.com",
|
||
api_key: "",
|
||
api_mode: "anthropic_messages",
|
||
models: [
|
||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||
{ id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6" },
|
||
{ id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" },
|
||
],
|
||
},
|
||
category: "third_party",
|
||
isPartner: true,
|
||
partnerPromotionKey: "crazyrouter",
|
||
icon: "crazyrouter",
|
||
iconColor: "#000000",
|
||
suggestedDefaults: {
|
||
model: { default: "claude-opus-4-8", provider: "crazyrouter" },
|
||
},
|
||
},
|
||
{
|
||
name: "SSSAiCode",
|
||
websiteUrl: "https://sssaicodeapi.com",
|
||
apiKeyUrl: "https://sssaicodeapi.com/register?ref=DCP0SM",
|
||
settingsConfig: {
|
||
name: "sssaicode",
|
||
base_url: "https://node-hk.sssaicodeapi.com/api",
|
||
api_key: "",
|
||
api_mode: "anthropic_messages",
|
||
models: [
|
||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||
{ id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6" },
|
||
{ id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" },
|
||
],
|
||
},
|
||
category: "third_party",
|
||
isPartner: true,
|
||
partnerPromotionKey: "sssaicode",
|
||
icon: "sssaicode",
|
||
iconColor: "#000000",
|
||
suggestedDefaults: {
|
||
model: { default: "claude-opus-4-8", provider: "sssaicode" },
|
||
},
|
||
},
|
||
{
|
||
name: "Compshare",
|
||
nameKey: "providerForm.presets.ucloud",
|
||
websiteUrl: "https://www.compshare.cn",
|
||
apiKeyUrl:
|
||
"https://www.compshare.cn/coding-plan?ytag=GPU_YY_YX_git_cc-switch",
|
||
settingsConfig: {
|
||
name: "compshare",
|
||
base_url: "https://api.modelverse.cn/v1",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [{ id: "gpt-5.5", name: "GPT-5.5" }],
|
||
},
|
||
category: "aggregator",
|
||
isPartner: true,
|
||
partnerPromotionKey: "ucloud",
|
||
icon: "ucloud",
|
||
iconColor: "#000000",
|
||
suggestedDefaults: {
|
||
model: { default: "gpt-5.5", provider: "compshare" },
|
||
},
|
||
},
|
||
{
|
||
name: "Compshare Coding Plan",
|
||
nameKey: "providerForm.presets.ucloudCoding",
|
||
websiteUrl: "https://www.compshare.cn",
|
||
apiKeyUrl:
|
||
"https://www.compshare.cn/coding-plan?ytag=GPU_YY_YX_git_cc-switch",
|
||
settingsConfig: {
|
||
name: "compshare_coding",
|
||
base_url: "https://cp.compshare.cn/v1",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [{ id: "gpt-5.5", name: "GPT-5.5" }],
|
||
},
|
||
category: "aggregator",
|
||
isPartner: true,
|
||
partnerPromotionKey: "ucloud",
|
||
icon: "ucloud",
|
||
iconColor: "#000000",
|
||
suggestedDefaults: {
|
||
model: { default: "gpt-5.5", provider: "compshare_coding" },
|
||
},
|
||
},
|
||
{
|
||
name: "Micu",
|
||
websiteUrl: "https://www.micuapi.ai",
|
||
apiKeyUrl: "https://www.micuapi.ai/register?aff=aOYQ",
|
||
settingsConfig: {
|
||
name: "micu",
|
||
base_url: "https://www.micuapi.ai",
|
||
api_key: "",
|
||
api_mode: "anthropic_messages",
|
||
models: [
|
||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||
{ id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6" },
|
||
{ id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" },
|
||
],
|
||
},
|
||
category: "third_party",
|
||
isPartner: true,
|
||
partnerPromotionKey: "micu",
|
||
icon: "micu",
|
||
iconColor: "#000000",
|
||
suggestedDefaults: {
|
||
model: { default: "claude-opus-4-8", provider: "micu" },
|
||
},
|
||
},
|
||
{
|
||
name: "CTok.ai",
|
||
websiteUrl: "https://ctok.ai",
|
||
apiKeyUrl: "https://ctok.ai",
|
||
settingsConfig: {
|
||
name: "ctok",
|
||
base_url: "https://api.ctok.ai",
|
||
api_key: "",
|
||
api_mode: "anthropic_messages",
|
||
models: [
|
||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||
{ id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6" },
|
||
{ id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" },
|
||
],
|
||
},
|
||
category: "third_party",
|
||
isPartner: true,
|
||
partnerPromotionKey: "ctok",
|
||
icon: "ctok",
|
||
iconColor: "#000000",
|
||
suggestedDefaults: {
|
||
model: { default: "claude-opus-4-8", provider: "ctok" },
|
||
},
|
||
},
|
||
{
|
||
name: "E-FlowCode",
|
||
websiteUrl: "https://e-flowcode.cc",
|
||
apiKeyUrl: "https://e-flowcode.cc",
|
||
settingsConfig: {
|
||
name: "eflowcode",
|
||
base_url: "https://e-flowcode.cc",
|
||
api_key: "",
|
||
api_mode: "anthropic_messages",
|
||
models: [
|
||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||
{ id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6" },
|
||
{ id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" },
|
||
],
|
||
},
|
||
category: "third_party",
|
||
icon: "eflowcode",
|
||
iconColor: "#000000",
|
||
suggestedDefaults: {
|
||
model: { default: "claude-opus-4-8", provider: "eflowcode" },
|
||
},
|
||
},
|
||
{
|
||
name: "TheRouter",
|
||
websiteUrl: "https://therouter.ai",
|
||
apiKeyUrl: "https://dashboard.therouter.ai",
|
||
settingsConfig: {
|
||
name: "therouter",
|
||
base_url: "https://api.therouter.ai/v1",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [
|
||
{ id: "openai/gpt-5.5", name: "GPT-5.5" },
|
||
{ id: "openai/gpt-5.4-mini", name: "GPT-5.4 mini" },
|
||
{ id: "openai/gpt-5.4-nano", name: "GPT-5.4 nano" },
|
||
],
|
||
},
|
||
category: "aggregator",
|
||
suggestedDefaults: {
|
||
model: {
|
||
default: "openai/gpt-5.5",
|
||
provider: "therouter",
|
||
},
|
||
},
|
||
},
|
||
{
|
||
name: "Novita AI",
|
||
websiteUrl: "https://novita.ai",
|
||
apiKeyUrl: "https://novita.ai",
|
||
settingsConfig: {
|
||
name: "novita",
|
||
base_url: "https://api.novita.ai/v3/openai",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [{ id: "zai-org/glm-5.1", name: "Zai-Org / GLM-5.1" }],
|
||
},
|
||
category: "aggregator",
|
||
icon: "novita",
|
||
iconColor: "#000000",
|
||
suggestedDefaults: {
|
||
model: { default: "zai-org/glm-5.1", provider: "novita" },
|
||
},
|
||
},
|
||
{
|
||
name: "Nvidia",
|
||
websiteUrl: "https://build.nvidia.com",
|
||
apiKeyUrl: "https://build.nvidia.com/settings/api-keys",
|
||
settingsConfig: {
|
||
name: "nvidia",
|
||
base_url: "https://integrate.api.nvidia.com",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [{ id: "moonshotai/kimi-k2.5", name: "Moonshot Kimi K2.5" }],
|
||
},
|
||
category: "aggregator",
|
||
icon: "nvidia",
|
||
iconColor: "#000000",
|
||
suggestedDefaults: {
|
||
model: { default: "moonshotai/kimi-k2.5", provider: "nvidia" },
|
||
},
|
||
},
|
||
{
|
||
name: "PIPELLM",
|
||
websiteUrl: "https://code.pipellm.ai",
|
||
apiKeyUrl: "https://code.pipellm.ai/login?ref=uvw650za",
|
||
settingsConfig: {
|
||
name: "pipellm",
|
||
base_url: "https://cc-api.pipellm.ai",
|
||
api_key: "",
|
||
api_mode: "anthropic_messages",
|
||
models: [
|
||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||
{ id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6" },
|
||
{
|
||
id: "claude-haiku-4-5-20251001",
|
||
name: "Claude Haiku 4.5",
|
||
},
|
||
],
|
||
},
|
||
category: "aggregator",
|
||
icon: "pipellm",
|
||
suggestedDefaults: {
|
||
model: { default: "claude-opus-4-8", provider: "pipellm" },
|
||
},
|
||
},
|
||
{
|
||
name: "Xiaomi MiMo",
|
||
websiteUrl: "https://platform.xiaomimimo.com",
|
||
apiKeyUrl: "https://platform.xiaomimimo.com/#/console/api-keys",
|
||
settingsConfig: {
|
||
name: "xiaomi_mimo",
|
||
base_url: "https://api.xiaomimimo.com/v1",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [{ id: "mimo-v2.5-pro", name: "MiMo v2.5 Pro" }],
|
||
},
|
||
category: "cn_official",
|
||
icon: "xiaomimimo",
|
||
iconColor: "#000000",
|
||
suggestedDefaults: {
|
||
model: { default: "mimo-v2.5-pro", provider: "xiaomi_mimo" },
|
||
},
|
||
},
|
||
{
|
||
name: "Xiaomi MiMo Token Plan (China)",
|
||
websiteUrl: "https://platform.xiaomimimo.com/#/token-plan",
|
||
apiKeyUrl: "https://platform.xiaomimimo.com/#/console/plan-manage",
|
||
settingsConfig: {
|
||
name: "xiaomi_mimo_token_plan",
|
||
base_url: "https://token-plan-cn.xiaomimimo.com/v1",
|
||
api_key: "",
|
||
api_mode: "chat_completions",
|
||
models: [
|
||
{ id: "mimo-v2.5-pro", name: "MiMo v2.5 Pro" },
|
||
{ id: "mimo-v2.5", name: "MiMo v2.5" },
|
||
],
|
||
},
|
||
category: "cn_official",
|
||
icon: "xiaomimimo",
|
||
iconColor: "#000000",
|
||
suggestedDefaults: {
|
||
model: { default: "mimo-v2.5-pro", provider: "xiaomi_mimo_token_plan" },
|
||
},
|
||
},
|
||
];
|