mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-07-24 12:44:18 +08:00
feat(presets): restore SudoCode.us to coexist with SudoCode.chat sponsor
The legacy sudocode.us provider was replaced in place by the sudocode.chat
sponsor (618723b4) because the two unrelated companies share the SudoCode
name. Bring the legacy provider back and distinguish the two by their
domain suffix.
- Rename the sponsor preset to "SudoCode.chat" across its six clients;
partner status, promotion copy (key "sudocode"), and icon unchanged
- Re-add "SudoCode.us" across all seven clients (including the previously
removed Gemini entry) with its pre-replacement config: gpt-5.5,
sudocode.us endpoints, sudocode.run fallback candidates
- Mark SudoCode.us as partner (isPartner) without a partnerPromotionKey:
promo copy is pending, and the promo box only renders when a key exists
- Give the SudoCode.us Hermes entry a distinct slug (sudocode_us) so both
providers can coexist in the additive ~/.hermes/config.yaml
- Restore the legacy logo from git history as sudocode-us.png and register
it in the hand-maintained icon index and metadata
This commit is contained in:
@@ -766,7 +766,7 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [
|
||||
icon: "atlascloud",
|
||||
},
|
||||
{
|
||||
name: "SudoCode",
|
||||
name: "SudoCode.chat",
|
||||
websiteUrl: "https://sudocode.chat",
|
||||
apiKeyUrl:
|
||||
"https://sudocode.chat/register?utm_source=ccswitch&utm_medium=partner",
|
||||
@@ -780,6 +780,19 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [
|
||||
partnerPromotionKey: "sudocode",
|
||||
icon: "sudocode",
|
||||
},
|
||||
{
|
||||
name: "SudoCode.us",
|
||||
websiteUrl: "https://sudocode.us",
|
||||
apiKeyUrl: "https://sudocode.us",
|
||||
category: "third_party",
|
||||
baseUrl: "https://sudocode.us",
|
||||
mode: "direct",
|
||||
apiFormat: "anthropic",
|
||||
modelRoutes: passthroughRoutes(),
|
||||
endpointCandidates: ["https://sudocode.us", "https://sudocode.run"],
|
||||
isPartner: true,
|
||||
icon: "sudocode-us",
|
||||
},
|
||||
{
|
||||
name: "ClaudeAPI",
|
||||
websiteUrl: "https://claudeapi.com",
|
||||
|
||||
@@ -837,7 +837,7 @@ export const providerPresets: ProviderPreset[] = [
|
||||
icon: "atlascloud",
|
||||
},
|
||||
{
|
||||
name: "SudoCode",
|
||||
name: "SudoCode.chat",
|
||||
websiteUrl: "https://sudocode.chat",
|
||||
apiKeyUrl:
|
||||
"https://sudocode.chat/register?utm_source=ccswitch&utm_medium=partner",
|
||||
@@ -854,6 +854,22 @@ export const providerPresets: ProviderPreset[] = [
|
||||
partnerPromotionKey: "sudocode",
|
||||
icon: "sudocode",
|
||||
},
|
||||
{
|
||||
name: "SudoCode.us",
|
||||
websiteUrl: "https://sudocode.us",
|
||||
apiKeyUrl: "https://sudocode.us",
|
||||
settingsConfig: {
|
||||
env: {
|
||||
ANTHROPIC_BASE_URL: "https://sudocode.us",
|
||||
ANTHROPIC_AUTH_TOKEN: "",
|
||||
API_TIMEOUT_MS: "300000",
|
||||
},
|
||||
},
|
||||
endpointCandidates: ["https://sudocode.us", "https://sudocode.run"],
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
icon: "sudocode-us",
|
||||
},
|
||||
{
|
||||
name: "ClaudeAPI",
|
||||
websiteUrl: "https://claudeapi.com",
|
||||
|
||||
@@ -1197,7 +1197,7 @@ requires_openai_auth = true`,
|
||||
icon: "atlascloud",
|
||||
},
|
||||
{
|
||||
name: "SudoCode",
|
||||
name: "SudoCode.chat",
|
||||
websiteUrl: "https://sudocode.chat",
|
||||
apiKeyUrl:
|
||||
"https://sudocode.chat/register?utm_source=ccswitch&utm_medium=partner",
|
||||
@@ -1220,6 +1220,29 @@ requires_openai_auth = true`,
|
||||
partnerPromotionKey: "sudocode",
|
||||
icon: "sudocode",
|
||||
},
|
||||
{
|
||||
name: "SudoCode.us",
|
||||
websiteUrl: "https://sudocode.us",
|
||||
apiKeyUrl: "https://sudocode.us",
|
||||
category: "third_party",
|
||||
auth: generateThirdPartyAuth(""),
|
||||
config: `model_provider = "custom"
|
||||
model = "gpt-5.5"
|
||||
review_model = "gpt-5.5"
|
||||
model_reasoning_effort = "high"
|
||||
disable_response_storage = true
|
||||
model_verbosity = "high"
|
||||
|
||||
[model_providers.custom]
|
||||
name = "sudocode"
|
||||
base_url = "https://sudocode.us/v1"
|
||||
wire_api = "responses"
|
||||
requires_openai_auth = true`,
|
||||
endpointCandidates: ["https://sudocode.us/v1", "https://sudocode.run/v1"],
|
||||
apiFormat: "openai_responses",
|
||||
isPartner: true,
|
||||
icon: "sudocode-us",
|
||||
},
|
||||
{
|
||||
name: "ClaudeCN",
|
||||
websiteUrl: "https://claudecn.top",
|
||||
|
||||
@@ -210,6 +210,25 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
|
||||
endpointCandidates: ["https://apinebula.com"],
|
||||
icon: "apinebula",
|
||||
},
|
||||
{
|
||||
name: "SudoCode.us",
|
||||
websiteUrl: "https://sudocode.us",
|
||||
apiKeyUrl: "https://sudocode.us",
|
||||
settingsConfig: {
|
||||
env: {
|
||||
GOOGLE_GEMINI_BASE_URL: "https://sudocode.us",
|
||||
GEMINI_API_KEY: "",
|
||||
GEMINI_MODEL: "gemini-3.1-flash-lite",
|
||||
},
|
||||
},
|
||||
baseURL: "https://sudocode.us",
|
||||
model: "gemini-3.1-flash-lite",
|
||||
description: "SudoCode.us",
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
endpointCandidates: ["https://sudocode.us", "https://sudocode.run"],
|
||||
icon: "sudocode-us",
|
||||
},
|
||||
{
|
||||
name: "Cubence",
|
||||
websiteUrl: "https://cubence.com",
|
||||
|
||||
@@ -1060,7 +1060,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "SudoCode",
|
||||
name: "SudoCode.chat",
|
||||
websiteUrl: "https://sudocode.chat",
|
||||
apiKeyUrl:
|
||||
"https://sudocode.chat/register?utm_source=ccswitch&utm_medium=partner",
|
||||
@@ -1084,6 +1084,29 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
model: { default: "gpt-5.6-sol", provider: "sudocode" },
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "SudoCode.us",
|
||||
websiteUrl: "https://sudocode.us",
|
||||
apiKeyUrl: "https://sudocode.us",
|
||||
settingsConfig: {
|
||||
name: "sudocode_us",
|
||||
base_url: "https://sudocode.us/v1",
|
||||
api_key: "",
|
||||
api_mode: "codex_responses",
|
||||
models: [
|
||||
{
|
||||
id: "gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
},
|
||||
],
|
||||
},
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
icon: "sudocode-us",
|
||||
suggestedDefaults: {
|
||||
model: { default: "gpt-5.5", provider: "sudocode_us" },
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "Cubence",
|
||||
websiteUrl: "https://cubence.com",
|
||||
|
||||
@@ -1946,7 +1946,7 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "SudoCode",
|
||||
name: "SudoCode.chat",
|
||||
websiteUrl: "https://sudocode.chat",
|
||||
apiKeyUrl:
|
||||
"https://sudocode.chat/register?utm_source=ccswitch&utm_medium=partner",
|
||||
@@ -1978,6 +1978,37 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "SudoCode.us",
|
||||
websiteUrl: "https://sudocode.us",
|
||||
apiKeyUrl: "https://sudocode.us",
|
||||
settingsConfig: {
|
||||
baseUrl: "https://sudocode.us/v1",
|
||||
apiKey: "",
|
||||
api: "openai-responses",
|
||||
models: [
|
||||
{
|
||||
id: "gpt-5.5",
|
||||
name: "GPT-5.5",
|
||||
},
|
||||
],
|
||||
},
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
icon: "sudocode-us",
|
||||
templateValues: {
|
||||
apiKey: {
|
||||
label: "API Key",
|
||||
placeholder: "",
|
||||
editorValue: "",
|
||||
},
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "sudocode-us/gpt-5.5",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "Cubence",
|
||||
websiteUrl: "https://cubence.com",
|
||||
|
||||
@@ -1619,13 +1619,13 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "SudoCode",
|
||||
name: "SudoCode.chat",
|
||||
websiteUrl: "https://sudocode.chat",
|
||||
apiKeyUrl:
|
||||
"https://sudocode.chat/register?utm_source=ccswitch&utm_medium=partner",
|
||||
settingsConfig: {
|
||||
npm: "@ai-sdk/openai",
|
||||
name: "SudoCode",
|
||||
name: "SudoCode.chat",
|
||||
options: {
|
||||
baseURL: "https://api.sudocode.chat/v1",
|
||||
apiKey: "",
|
||||
@@ -1647,6 +1647,33 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "SudoCode.us",
|
||||
websiteUrl: "https://sudocode.us",
|
||||
apiKeyUrl: "https://sudocode.us",
|
||||
settingsConfig: {
|
||||
npm: "@ai-sdk/openai",
|
||||
name: "SudoCode.us",
|
||||
options: {
|
||||
baseURL: "https://sudocode.us/v1",
|
||||
apiKey: "",
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"gpt-5.5": { name: "GPT-5.5" },
|
||||
},
|
||||
},
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
icon: "sudocode-us",
|
||||
templateValues: {
|
||||
apiKey: {
|
||||
label: "API Key",
|
||||
placeholder: "",
|
||||
editorValue: "",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "Cubence",
|
||||
websiteUrl: "https://cubence.com",
|
||||
|
||||
@@ -24,6 +24,7 @@ import _runapi from "./runapi.jpg";
|
||||
import _shengsuanyun from "./shengsuanyun.svg?url";
|
||||
import _subrouter from "./subrouter.svg?url";
|
||||
import _sudocode from "./sudocode.png";
|
||||
import _sudocodeUs from "./sudocode-us.png";
|
||||
import _teamorouter from "./TeamoRouter-icon-dark.png";
|
||||
import _unity2 from "./unity2.png";
|
||||
import _zetaapi from "./zetaapi-icon.png";
|
||||
@@ -125,6 +126,7 @@ export const iconUrls: Record<string, string> = {
|
||||
shengsuanyun: _shengsuanyun,
|
||||
subrouter: _subrouter,
|
||||
sudocode: _sudocode,
|
||||
"sudocode-us": _sudocodeUs,
|
||||
teamorouter: _teamorouter,
|
||||
unity2: _unity2,
|
||||
zetaapi: _zetaapi,
|
||||
|
||||
@@ -56,11 +56,29 @@ export const iconMetadata: Record<string, IconMetadata> = {
|
||||
},
|
||||
sudocode: {
|
||||
name: "sudocode",
|
||||
displayName: "SudoCode",
|
||||
displayName: "SudoCode.chat",
|
||||
category: "ai-provider",
|
||||
keywords: [
|
||||
"sudocode",
|
||||
"sudo code",
|
||||
"chat",
|
||||
"gateway",
|
||||
"relay",
|
||||
"claude",
|
||||
"codex",
|
||||
"gemini",
|
||||
"openclaw",
|
||||
],
|
||||
defaultColor: "#111111",
|
||||
},
|
||||
"sudocode-us": {
|
||||
name: "sudocode-us",
|
||||
displayName: "SudoCode.us",
|
||||
category: "ai-provider",
|
||||
keywords: [
|
||||
"sudocode",
|
||||
"sudo code",
|
||||
"us",
|
||||
"gateway",
|
||||
"relay",
|
||||
"claude",
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 36 KiB |
Reference in New Issue
Block a user