mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-07-28 16:56:16 +08:00
feat(providers): rebrand CTok to ETok across presets, icons, and docs
The vendor renamed its domain, API endpoints, and trademark from CTok to ETok. Update all user-facing branding accordingly: - Presets (claude, claude-desktop, codex, gemini, hermes, openclaw, opencode): ctok.ai -> etok.ai, api.ctok.ai -> api.etok.ai, internal provider id ctok -> etok, display name CTok.ai -> ETok.ai - Icons: replace inline placeholder SVG with the new ETok brand PNG, moved from `icons` to `iconUrls`; key ctok -> etok; banner logo ctok.png -> etok.png - README (en/zh/ja/de) partner banner: new logo, links, and copy - i18n (en/ja/zh/zh-TW): partnerPromotion key ctok -> etok Keep "ctok" in the Codex history-migration whitelist as a legacy id and add "etok", so existing users' local session history stays correctly bucketed after the rename.
This commit is contained in:
@@ -900,17 +900,17 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [
|
||||
iconColor: "#000000",
|
||||
},
|
||||
{
|
||||
name: "CTok.ai",
|
||||
websiteUrl: "https://ctok.ai",
|
||||
apiKeyUrl: "https://ctok.ai",
|
||||
name: "ETok.ai",
|
||||
websiteUrl: "https://etok.ai",
|
||||
apiKeyUrl: "https://etok.ai",
|
||||
category: "third_party",
|
||||
baseUrl: "https://api.ctok.ai",
|
||||
baseUrl: "https://api.etok.ai",
|
||||
mode: "direct",
|
||||
apiFormat: "anthropic",
|
||||
modelRoutes: passthroughRoutes(),
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "ctok",
|
||||
icon: "ctok",
|
||||
partnerPromotionKey: "etok",
|
||||
icon: "etok",
|
||||
iconColor: "#000000",
|
||||
},
|
||||
{
|
||||
|
||||
@@ -974,19 +974,19 @@ export const providerPresets: ProviderPreset[] = [
|
||||
iconColor: "#000000",
|
||||
},
|
||||
{
|
||||
name: "CTok.ai",
|
||||
websiteUrl: "https://ctok.ai",
|
||||
apiKeyUrl: "https://ctok.ai",
|
||||
name: "ETok.ai",
|
||||
websiteUrl: "https://etok.ai",
|
||||
apiKeyUrl: "https://etok.ai",
|
||||
settingsConfig: {
|
||||
env: {
|
||||
ANTHROPIC_BASE_URL: "https://api.ctok.ai",
|
||||
ANTHROPIC_BASE_URL: "https://api.etok.ai",
|
||||
ANTHROPIC_AUTH_TOKEN: "",
|
||||
},
|
||||
},
|
||||
category: "third_party",
|
||||
isPartner: true, // 合作伙伴
|
||||
partnerPromotionKey: "ctok", // 促销信息 i18n key
|
||||
icon: "ctok",
|
||||
partnerPromotionKey: "etok", // 促销信息 i18n key
|
||||
icon: "etok",
|
||||
iconColor: "#000000",
|
||||
},
|
||||
{
|
||||
|
||||
@@ -1222,20 +1222,20 @@ requires_openai_auth = true`,
|
||||
iconColor: "#000000",
|
||||
},
|
||||
{
|
||||
name: "CTok.ai",
|
||||
websiteUrl: "https://ctok.ai",
|
||||
apiKeyUrl: "https://ctok.ai",
|
||||
name: "ETok.ai",
|
||||
websiteUrl: "https://etok.ai",
|
||||
apiKeyUrl: "https://etok.ai",
|
||||
auth: generateThirdPartyAuth(""),
|
||||
config: generateThirdPartyConfig(
|
||||
"ctok",
|
||||
"https://api.ctok.ai/v1",
|
||||
"etok",
|
||||
"https://api.etok.ai/v1",
|
||||
"gpt-5.5",
|
||||
),
|
||||
endpointCandidates: ["https://api.ctok.ai/v1"],
|
||||
endpointCandidates: ["https://api.etok.ai/v1"],
|
||||
category: "third_party",
|
||||
isPartner: true, // 合作伙伴
|
||||
partnerPromotionKey: "ctok", // 促销信息 i18n key
|
||||
icon: "ctok",
|
||||
partnerPromotionKey: "etok", // 促销信息 i18n key
|
||||
icon: "etok",
|
||||
iconColor: "#000000",
|
||||
},
|
||||
{
|
||||
|
||||
@@ -281,23 +281,23 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
|
||||
iconColor: "#000000",
|
||||
},
|
||||
{
|
||||
name: "CTok.ai",
|
||||
websiteUrl: "https://ctok.ai",
|
||||
apiKeyUrl: "https://ctok.ai",
|
||||
name: "ETok.ai",
|
||||
websiteUrl: "https://etok.ai",
|
||||
apiKeyUrl: "https://etok.ai",
|
||||
settingsConfig: {
|
||||
env: {
|
||||
GOOGLE_GEMINI_BASE_URL: "https://api.ctok.ai/v1beta",
|
||||
GOOGLE_GEMINI_BASE_URL: "https://api.etok.ai/v1beta",
|
||||
GEMINI_MODEL: "gemini-3.5-flash",
|
||||
},
|
||||
},
|
||||
baseURL: "https://api.ctok.ai/v1beta",
|
||||
baseURL: "https://api.etok.ai/v1beta",
|
||||
model: "gemini-3.5-flash",
|
||||
description: "CTok",
|
||||
description: "ETok",
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "ctok",
|
||||
endpointCandidates: ["https://api.ctok.ai/v1beta"],
|
||||
icon: "ctok",
|
||||
partnerPromotionKey: "etok",
|
||||
endpointCandidates: ["https://api.etok.ai/v1beta"],
|
||||
icon: "etok",
|
||||
iconColor: "#000000",
|
||||
},
|
||||
{
|
||||
|
||||
@@ -1195,12 +1195,12 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "CTok.ai",
|
||||
websiteUrl: "https://ctok.ai",
|
||||
apiKeyUrl: "https://ctok.ai",
|
||||
name: "ETok.ai",
|
||||
websiteUrl: "https://etok.ai",
|
||||
apiKeyUrl: "https://etok.ai",
|
||||
settingsConfig: {
|
||||
name: "ctok",
|
||||
base_url: "https://api.ctok.ai",
|
||||
name: "etok",
|
||||
base_url: "https://api.etok.ai",
|
||||
api_key: "",
|
||||
api_mode: "anthropic_messages",
|
||||
models: [
|
||||
@@ -1211,11 +1211,11 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
},
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "ctok",
|
||||
icon: "ctok",
|
||||
partnerPromotionKey: "etok",
|
||||
icon: "etok",
|
||||
iconColor: "#000000",
|
||||
suggestedDefaults: {
|
||||
model: { default: "claude-opus-4-8", provider: "ctok" },
|
||||
model: { default: "claude-opus-4-8", provider: "etok" },
|
||||
},
|
||||
},
|
||||
{
|
||||
|
||||
@@ -2077,11 +2077,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "CTok.ai",
|
||||
websiteUrl: "https://ctok.ai",
|
||||
apiKeyUrl: "https://ctok.ai",
|
||||
name: "ETok.ai",
|
||||
websiteUrl: "https://etok.ai",
|
||||
apiKeyUrl: "https://etok.ai",
|
||||
settingsConfig: {
|
||||
baseUrl: "https://api.ctok.ai",
|
||||
baseUrl: "https://api.etok.ai",
|
||||
apiKey: "",
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
@@ -2095,8 +2095,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "ctok",
|
||||
icon: "ctok",
|
||||
partnerPromotionKey: "etok",
|
||||
icon: "etok",
|
||||
iconColor: "#000000",
|
||||
templateValues: {
|
||||
apiKey: {
|
||||
@@ -2107,10 +2107,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "ctok/claude-opus-4-8",
|
||||
primary: "etok/claude-opus-4-8",
|
||||
},
|
||||
modelCatalog: {
|
||||
"ctok/claude-opus-4-8": { alias: "Opus" },
|
||||
"etok/claude-opus-4-8": { alias: "Opus" },
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
@@ -1654,14 +1654,14 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "CTok.ai",
|
||||
websiteUrl: "https://ctok.ai",
|
||||
apiKeyUrl: "https://ctok.ai",
|
||||
name: "ETok.ai",
|
||||
websiteUrl: "https://etok.ai",
|
||||
apiKeyUrl: "https://etok.ai",
|
||||
settingsConfig: {
|
||||
npm: "@ai-sdk/anthropic",
|
||||
name: "CTok",
|
||||
name: "ETok",
|
||||
options: {
|
||||
baseURL: "https://api.ctok.ai/v1",
|
||||
baseURL: "https://api.etok.ai/v1",
|
||||
apiKey: "",
|
||||
setCacheKey: true,
|
||||
},
|
||||
@@ -1672,8 +1672,8 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "ctok",
|
||||
icon: "ctok",
|
||||
partnerPromotionKey: "etok",
|
||||
icon: "etok",
|
||||
iconColor: "#000000",
|
||||
templateValues: {
|
||||
apiKey: {
|
||||
|
||||
Reference in New Issue
Block a user