mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-07-24 12:44:18 +08:00
refactor(presets): align CCSub to end of partner block across apps
Move the CCSub preset to sit right after DouBaoSeed, at the end of the partner block and before the first non-partner provider, so its position is consistent across all six apps: - Codex / OpenCode: moved up from the 2nd slot (between Shengsuanyun and the next partner) to the block tail - OpenClaw / Hermes: moved up from the aggregator section to the block tail - Claude / Claude Desktop: already at the block tail Also add the missing CHANGELOG entry for the CCSub preset, and drop the provider preset order test that enforced a now-unneeded ordering invariant.
This commit is contained in:
@@ -167,19 +167,6 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
},
|
||||
{
|
||||
name: "CCSub",
|
||||
websiteUrl: "https://www.ccsub.net",
|
||||
apiKeyUrl: "https://www.ccsub.net/register?ref=Y6Z8DXEA",
|
||||
category: "aggregator",
|
||||
baseUrl: "https://www.ccsub.net",
|
||||
mode: "direct",
|
||||
apiFormat: "anthropic",
|
||||
modelRoutes: passthroughRoutes(true),
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "ccsub",
|
||||
icon: "ccsub",
|
||||
},
|
||||
{
|
||||
name: "PatewayAI",
|
||||
websiteUrl: "https://pateway.ai",
|
||||
@@ -253,6 +240,19 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [
|
||||
icon: "doubao",
|
||||
iconColor: "#3370FF",
|
||||
},
|
||||
{
|
||||
name: "CCSub",
|
||||
websiteUrl: "https://www.ccsub.net",
|
||||
apiKeyUrl: "https://www.ccsub.net/register?ref=Y6Z8DXEA",
|
||||
category: "aggregator",
|
||||
baseUrl: "https://www.ccsub.net",
|
||||
mode: "direct",
|
||||
apiFormat: "anthropic",
|
||||
modelRoutes: passthroughRoutes(true),
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "ccsub",
|
||||
icon: "ccsub",
|
||||
},
|
||||
{
|
||||
name: "Gemini Native",
|
||||
websiteUrl: "https://ai.google.dev/gemini-api",
|
||||
|
||||
@@ -109,21 +109,6 @@ export const providerPresets: ProviderPreset[] = [
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
},
|
||||
{
|
||||
name: "CCSub",
|
||||
websiteUrl: "https://www.ccsub.net",
|
||||
apiKeyUrl: "https://www.ccsub.net/register?ref=Y6Z8DXEA",
|
||||
settingsConfig: {
|
||||
env: {
|
||||
ANTHROPIC_BASE_URL: "https://www.ccsub.net",
|
||||
ANTHROPIC_AUTH_TOKEN: "",
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "ccsub",
|
||||
icon: "ccsub",
|
||||
},
|
||||
{
|
||||
name: "PatewayAI",
|
||||
websiteUrl: "https://pateway.ai",
|
||||
@@ -208,6 +193,21 @@ export const providerPresets: ProviderPreset[] = [
|
||||
icon: "doubao",
|
||||
iconColor: "#3370FF",
|
||||
},
|
||||
{
|
||||
name: "CCSub",
|
||||
websiteUrl: "https://www.ccsub.net",
|
||||
apiKeyUrl: "https://www.ccsub.net/register?ref=Y6Z8DXEA",
|
||||
settingsConfig: {
|
||||
env: {
|
||||
ANTHROPIC_BASE_URL: "https://www.ccsub.net",
|
||||
ANTHROPIC_AUTH_TOKEN: "",
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "ccsub",
|
||||
icon: "ccsub",
|
||||
},
|
||||
{
|
||||
name: "Gemini Native",
|
||||
websiteUrl: "https://ai.google.dev/gemini-api",
|
||||
|
||||
@@ -116,22 +116,6 @@ export const codexProviderPresets: CodexProviderPreset[] = [
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
},
|
||||
{
|
||||
name: "CCSub",
|
||||
websiteUrl: "https://www.ccsub.net",
|
||||
apiKeyUrl: "https://www.ccsub.net/register?ref=Y6Z8DXEA",
|
||||
category: "aggregator",
|
||||
auth: generateThirdPartyAuth(""),
|
||||
config: generateThirdPartyConfig(
|
||||
"ccsub",
|
||||
"https://www.ccsub.net/v1",
|
||||
"gpt-5.5",
|
||||
),
|
||||
endpointCandidates: ["https://www.ccsub.net/v1"],
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "ccsub",
|
||||
icon: "ccsub",
|
||||
},
|
||||
{
|
||||
name: "PatewayAI",
|
||||
websiteUrl: "https://pateway.ai",
|
||||
@@ -231,6 +215,22 @@ export const codexProviderPresets: CodexProviderPreset[] = [
|
||||
icon: "doubao",
|
||||
iconColor: "#3370FF",
|
||||
},
|
||||
{
|
||||
name: "CCSub",
|
||||
websiteUrl: "https://www.ccsub.net",
|
||||
apiKeyUrl: "https://www.ccsub.net/register?ref=Y6Z8DXEA",
|
||||
category: "aggregator",
|
||||
auth: generateThirdPartyAuth(""),
|
||||
config: generateThirdPartyConfig(
|
||||
"ccsub",
|
||||
"https://www.ccsub.net/v1",
|
||||
"gpt-5.5",
|
||||
),
|
||||
endpointCandidates: ["https://www.ccsub.net/v1"],
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "ccsub",
|
||||
icon: "ccsub",
|
||||
},
|
||||
{
|
||||
name: "Azure OpenAI",
|
||||
websiteUrl:
|
||||
|
||||
@@ -238,6 +238,56 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
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: "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: "gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
context_length: 400000,
|
||||
},
|
||||
{
|
||||
id: "o3",
|
||||
name: "o3",
|
||||
context_length: 200000,
|
||||
},
|
||||
{
|
||||
id: "gemini-3.1-pro",
|
||||
name: "Gemini 3.1 Pro",
|
||||
context_length: 1000000,
|
||||
},
|
||||
{
|
||||
id: "deepseek-v4-flash",
|
||||
name: "DeepSeek V4 Flash",
|
||||
context_length: 1000000,
|
||||
},
|
||||
],
|
||||
},
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "ccsub",
|
||||
icon: "ccsub",
|
||||
suggestedDefaults: {
|
||||
model: { default: "claude-opus-4-8", provider: "ccsub" },
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "OpenRouter",
|
||||
nameKey: "providerForm.presets.openrouter",
|
||||
@@ -351,56 +401,6 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
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: "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: "gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
context_length: 400000,
|
||||
},
|
||||
{
|
||||
id: "o3",
|
||||
name: "o3",
|
||||
context_length: 200000,
|
||||
},
|
||||
{
|
||||
id: "gemini-3.1-pro",
|
||||
name: "Gemini 3.1 Pro",
|
||||
context_length: 1000000,
|
||||
},
|
||||
{
|
||||
id: "deepseek-v4-flash",
|
||||
name: "DeepSeek V4 Flash",
|
||||
context_length: 1000000,
|
||||
},
|
||||
],
|
||||
},
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "ccsub",
|
||||
icon: "ccsub",
|
||||
suggestedDefaults: {
|
||||
model: { default: "claude-opus-4-8", provider: "ccsub" },
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "Nous Research",
|
||||
websiteUrl: "https://nousresearch.com",
|
||||
|
||||
@@ -256,6 +256,75 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "CCSub",
|
||||
websiteUrl: "https://www.ccsub.net",
|
||||
apiKeyUrl: "https://www.ccsub.net/register?ref=Y6Z8DXEA",
|
||||
settingsConfig: {
|
||||
baseUrl: "https://www.ccsub.net/v1",
|
||||
apiKey: "",
|
||||
api: "openai-completions",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-8",
|
||||
name: "Claude Opus 4.8",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
{
|
||||
id: "claude-sonnet-4-6",
|
||||
name: "Claude Sonnet 4.6",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 3, output: 15 },
|
||||
},
|
||||
{
|
||||
id: "gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
contextWindow: 400000,
|
||||
cost: { input: 5, output: 15 },
|
||||
},
|
||||
{
|
||||
id: "o3",
|
||||
name: "o3",
|
||||
contextWindow: 200000,
|
||||
cost: { input: 10, output: 40 },
|
||||
},
|
||||
{
|
||||
id: "gemini-3.1-pro",
|
||||
name: "Gemini 3.1 Pro",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 1.25, output: 10 },
|
||||
},
|
||||
{
|
||||
id: "deepseek-v4-flash",
|
||||
name: "DeepSeek V4 Flash",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 0.14, output: 0.28 },
|
||||
},
|
||||
],
|
||||
},
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "ccsub",
|
||||
icon: "ccsub",
|
||||
templateValues: {
|
||||
apiKey: {
|
||||
label: "API Key",
|
||||
placeholder: "",
|
||||
editorValue: "",
|
||||
},
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "ccsub/claude-opus-4-8",
|
||||
fallbacks: ["ccsub/claude-sonnet-4-6"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"ccsub/claude-opus-4-8": { alias: "Opus" },
|
||||
"ccsub/claude-sonnet-4-6": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
},
|
||||
// ========== Chinese Officials ==========
|
||||
{
|
||||
name: "DeepSeek",
|
||||
@@ -900,75 +969,6 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "CCSub",
|
||||
websiteUrl: "https://www.ccsub.net",
|
||||
apiKeyUrl: "https://www.ccsub.net/register?ref=Y6Z8DXEA",
|
||||
settingsConfig: {
|
||||
baseUrl: "https://www.ccsub.net/v1",
|
||||
apiKey: "",
|
||||
api: "openai-completions",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-8",
|
||||
name: "Claude Opus 4.8",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
{
|
||||
id: "claude-sonnet-4-6",
|
||||
name: "Claude Sonnet 4.6",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 3, output: 15 },
|
||||
},
|
||||
{
|
||||
id: "gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
contextWindow: 400000,
|
||||
cost: { input: 5, output: 15 },
|
||||
},
|
||||
{
|
||||
id: "o3",
|
||||
name: "o3",
|
||||
contextWindow: 200000,
|
||||
cost: { input: 10, output: 40 },
|
||||
},
|
||||
{
|
||||
id: "gemini-3.1-pro",
|
||||
name: "Gemini 3.1 Pro",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 1.25, output: 10 },
|
||||
},
|
||||
{
|
||||
id: "deepseek-v4-flash",
|
||||
name: "DeepSeek V4 Flash",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 0.14, output: 0.28 },
|
||||
},
|
||||
],
|
||||
},
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "ccsub",
|
||||
icon: "ccsub",
|
||||
templateValues: {
|
||||
apiKey: {
|
||||
label: "API Key",
|
||||
placeholder: "",
|
||||
editorValue: "",
|
||||
},
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "ccsub/claude-opus-4-8",
|
||||
fallbacks: ["ccsub/claude-sonnet-4-6"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"ccsub/claude-opus-4-8": { alias: "Opus" },
|
||||
"ccsub/claude-sonnet-4-6": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "CherryIN",
|
||||
websiteUrl: "https://open.cherryin.ai",
|
||||
|
||||
@@ -308,39 +308,6 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
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: {
|
||||
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
||||
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
|
||||
"gpt-5.5": { name: "GPT-5.5" },
|
||||
o3: { name: "o3" },
|
||||
"gemini-3.1-pro": { name: "Gemini 3.1 Pro" },
|
||||
"deepseek-v4-flash": { name: "DeepSeek V4 Flash" },
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "ccsub",
|
||||
icon: "ccsub",
|
||||
templateValues: {
|
||||
apiKey: {
|
||||
label: "API Key",
|
||||
placeholder: "",
|
||||
editorValue: "",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "火山Agentplan",
|
||||
websiteUrl:
|
||||
@@ -440,6 +407,39 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
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: {
|
||||
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
||||
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
|
||||
"gpt-5.5": { name: "GPT-5.5" },
|
||||
o3: { name: "o3" },
|
||||
"gemini-3.1-pro": { name: "Gemini 3.1 Pro" },
|
||||
"deepseek-v4-flash": { name: "DeepSeek V4 Flash" },
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "ccsub",
|
||||
icon: "ccsub",
|
||||
templateValues: {
|
||||
apiKey: {
|
||||
label: "API Key",
|
||||
placeholder: "",
|
||||
editorValue: "",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "DeepSeek",
|
||||
websiteUrl: "https://platform.deepseek.com",
|
||||
|
||||
Reference in New Issue
Block a user