mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-08-04 03:32:25 +08:00
feat(presets): restore AICoding partner across seven app types
Bring back the AICoding (aicoding.sh) provider preset that was dropped
in 910ca3b4, covering claude, claudeDesktop, codex, gemini, hermes,
opencode and openclaw, along with the partnerPromotion.aicoding string
in zh/en/ja and the sponsor entry in the three READMEs.
Model ids follow the current baseline rather than the pre-removal
values: gpt-5.5 for Codex, gemini-3.5-flash for Gemini, and
claude-opus-4-8 / claude-sonnet-5 for the Anthropic-relay presets.
OpenClaw costs use standard list pricing, consistent with its peers.
The icon, the logo asset, the zh-TW string and the legacy id in
codex_history_migration.rs were never removed and are reused as-is.
This commit is contained in:
@@ -297,6 +297,36 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [
|
||||
partnerPromotionKey: "unity2",
|
||||
icon: "unity2",
|
||||
},
|
||||
{
|
||||
name: "AICoding",
|
||||
websiteUrl: "https://aicoding.sh",
|
||||
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
|
||||
category: "third_party",
|
||||
baseUrl: "https://api.aicoding.sh",
|
||||
mode: "direct",
|
||||
apiFormat: "anthropic",
|
||||
modelRoutes: passthroughRoutes(),
|
||||
endpointCandidates: ["https://api.aicoding.sh"],
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "aicoding",
|
||||
icon: "aicoding",
|
||||
iconColor: "#000000",
|
||||
},
|
||||
{
|
||||
name: "AIGoCode",
|
||||
websiteUrl: "https://aigocode.com",
|
||||
apiKeyUrl: "https://aigocode.com/invite/CC-SWITCH",
|
||||
category: "third_party",
|
||||
baseUrl: "https://api.aigocode.com",
|
||||
mode: "direct",
|
||||
apiFormat: "anthropic",
|
||||
modelRoutes: passthroughRoutes(),
|
||||
endpointCandidates: ["https://api.aigocode.com"],
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "aigocode",
|
||||
icon: "aigocode",
|
||||
iconColor: "#5B7FFF",
|
||||
},
|
||||
{
|
||||
name: "Shengsuanyun",
|
||||
nameKey: "providerForm.presets.shengsuanyun",
|
||||
@@ -315,21 +345,6 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
},
|
||||
{
|
||||
name: "AIGoCode",
|
||||
websiteUrl: "https://aigocode.com",
|
||||
apiKeyUrl: "https://aigocode.com/invite/CC-SWITCH",
|
||||
category: "third_party",
|
||||
baseUrl: "https://api.aigocode.com",
|
||||
mode: "direct",
|
||||
apiFormat: "anthropic",
|
||||
modelRoutes: passthroughRoutes(),
|
||||
endpointCandidates: ["https://api.aigocode.com"],
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "aigocode",
|
||||
icon: "aigocode",
|
||||
iconColor: "#5B7FFF",
|
||||
},
|
||||
{
|
||||
name: "SubRouter",
|
||||
websiteUrl: "https://subrouter.ai",
|
||||
|
||||
@@ -268,24 +268,21 @@ export const providerPresets: ProviderPreset[] = [
|
||||
icon: "unity2",
|
||||
},
|
||||
{
|
||||
name: "Shengsuanyun",
|
||||
nameKey: "providerForm.presets.shengsuanyun",
|
||||
websiteUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
apiKeyUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
name: "AICoding",
|
||||
websiteUrl: "https://aicoding.sh",
|
||||
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
|
||||
settingsConfig: {
|
||||
env: {
|
||||
ANTHROPIC_BASE_URL: "https://router.shengsuanyun.com/api",
|
||||
ANTHROPIC_BASE_URL: "https://api.aicoding.sh",
|
||||
ANTHROPIC_AUTH_TOKEN: "",
|
||||
ANTHROPIC_MODEL: "anthropic/claude-sonnet-5",
|
||||
ANTHROPIC_DEFAULT_HAIKU_MODEL: "anthropic/claude-haiku-4.5",
|
||||
ANTHROPIC_DEFAULT_SONNET_MODEL: "anthropic/claude-sonnet-5",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "anthropic/claude-opus-4.8",
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
endpointCandidates: ["https://api.aicoding.sh"],
|
||||
category: "third_party",
|
||||
isPartner: true, // 合作伙伴
|
||||
partnerPromotionKey: "aicoding", // 促销信息 i18n key
|
||||
icon: "aicoding",
|
||||
iconColor: "#000000",
|
||||
},
|
||||
{
|
||||
name: "AIGoCode",
|
||||
@@ -305,6 +302,26 @@ export const providerPresets: ProviderPreset[] = [
|
||||
icon: "aigocode",
|
||||
iconColor: "#5B7FFF",
|
||||
},
|
||||
{
|
||||
name: "Shengsuanyun",
|
||||
nameKey: "providerForm.presets.shengsuanyun",
|
||||
websiteUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
apiKeyUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
settingsConfig: {
|
||||
env: {
|
||||
ANTHROPIC_BASE_URL: "https://router.shengsuanyun.com/api",
|
||||
ANTHROPIC_AUTH_TOKEN: "",
|
||||
ANTHROPIC_MODEL: "anthropic/claude-sonnet-5",
|
||||
ANTHROPIC_DEFAULT_HAIKU_MODEL: "anthropic/claude-haiku-4.5",
|
||||
ANTHROPIC_DEFAULT_SONNET_MODEL: "anthropic/claude-sonnet-5",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "anthropic/claude-opus-4.8",
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
},
|
||||
{
|
||||
name: "SubRouter",
|
||||
websiteUrl: "https://subrouter.ai",
|
||||
|
||||
@@ -336,20 +336,20 @@ requires_openai_auth = true`,
|
||||
icon: "unity2",
|
||||
},
|
||||
{
|
||||
name: "Shengsuanyun",
|
||||
nameKey: "providerForm.presets.shengsuanyun",
|
||||
websiteUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
apiKeyUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
name: "AICoding",
|
||||
websiteUrl: "https://aicoding.sh",
|
||||
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
|
||||
auth: generateThirdPartyAuth(""),
|
||||
config: generateThirdPartyConfig(
|
||||
"shengsuanyun",
|
||||
"https://router.shengsuanyun.com/api/v1",
|
||||
"openai/gpt-5.5",
|
||||
"aicoding",
|
||||
"https://api.aicoding.sh",
|
||||
"gpt-5.5",
|
||||
),
|
||||
category: "aggregator",
|
||||
endpointCandidates: ["https://api.aicoding.sh"],
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
partnerPromotionKey: "aicoding",
|
||||
icon: "aicoding",
|
||||
iconColor: "#000000",
|
||||
},
|
||||
{
|
||||
name: "AIGoCode",
|
||||
@@ -368,6 +368,22 @@ requires_openai_auth = true`,
|
||||
icon: "aigocode",
|
||||
iconColor: "#5B7FFF",
|
||||
},
|
||||
{
|
||||
name: "Shengsuanyun",
|
||||
nameKey: "providerForm.presets.shengsuanyun",
|
||||
websiteUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
apiKeyUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
auth: generateThirdPartyAuth(""),
|
||||
config: generateThirdPartyConfig(
|
||||
"shengsuanyun",
|
||||
"https://router.shengsuanyun.com/api/v1",
|
||||
"openai/gpt-5.5",
|
||||
),
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
},
|
||||
{
|
||||
name: "SubRouter",
|
||||
websiteUrl: "https://subrouter.ai",
|
||||
|
||||
@@ -136,23 +136,24 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
|
||||
icon: "unity2",
|
||||
},
|
||||
{
|
||||
name: "Shengsuanyun",
|
||||
nameKey: "providerForm.presets.shengsuanyun",
|
||||
websiteUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
apiKeyUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
name: "AICoding",
|
||||
websiteUrl: "https://aicoding.sh",
|
||||
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
|
||||
settingsConfig: {
|
||||
env: {
|
||||
GOOGLE_GEMINI_BASE_URL: "https://router.shengsuanyun.com/api",
|
||||
GEMINI_MODEL: "google/gemini-3.5-flash",
|
||||
GOOGLE_GEMINI_BASE_URL: "https://api.aicoding.sh",
|
||||
GEMINI_MODEL: "gemini-3.5-flash",
|
||||
},
|
||||
},
|
||||
baseURL: "https://router.shengsuanyun.com/api",
|
||||
model: "google/gemini-3.5-flash",
|
||||
description: "Shengsuanyun",
|
||||
category: "aggregator",
|
||||
baseURL: "https://api.aicoding.sh",
|
||||
model: "gemini-3.5-flash",
|
||||
description: "AICoding",
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
partnerPromotionKey: "aicoding",
|
||||
endpointCandidates: ["https://api.aicoding.sh"],
|
||||
icon: "aicoding",
|
||||
iconColor: "#000000",
|
||||
},
|
||||
{
|
||||
name: "AIGoCode",
|
||||
@@ -174,6 +175,25 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
|
||||
icon: "aigocode",
|
||||
iconColor: "#5B7FFF",
|
||||
},
|
||||
{
|
||||
name: "Shengsuanyun",
|
||||
nameKey: "providerForm.presets.shengsuanyun",
|
||||
websiteUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
apiKeyUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
settingsConfig: {
|
||||
env: {
|
||||
GOOGLE_GEMINI_BASE_URL: "https://router.shengsuanyun.com/api",
|
||||
GEMINI_MODEL: "google/gemini-3.5-flash",
|
||||
},
|
||||
},
|
||||
baseURL: "https://router.shengsuanyun.com/api",
|
||||
model: "google/gemini-3.5-flash",
|
||||
description: "Shengsuanyun",
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
},
|
||||
{
|
||||
name: "SubRouter",
|
||||
websiteUrl: "https://subrouter.ai",
|
||||
|
||||
@@ -184,6 +184,19 @@ export const grokBuildProviderPresets: GrokBuildProviderPreset[] = [
|
||||
partnerPromotionKey: "unity2",
|
||||
icon: "unity2",
|
||||
},
|
||||
{
|
||||
name: "AIGoCode",
|
||||
websiteUrl: "https://aigocode.com",
|
||||
apiKeyUrl: "https://aigocode.com/invite/CC-SWITCH",
|
||||
auth: grokAuth(),
|
||||
config: grokPresetConfig("AIGoCode", "https://api.aigocode.com"),
|
||||
endpointCandidates: ["https://api.aigocode.com"],
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "aigocode",
|
||||
icon: "aigocode",
|
||||
iconColor: "#5B7FFF",
|
||||
},
|
||||
{
|
||||
name: "Shengsuanyun",
|
||||
nameKey: "providerForm.presets.shengsuanyun",
|
||||
@@ -200,19 +213,6 @@ export const grokBuildProviderPresets: GrokBuildProviderPreset[] = [
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
},
|
||||
{
|
||||
name: "AIGoCode",
|
||||
websiteUrl: "https://aigocode.com",
|
||||
apiKeyUrl: "https://aigocode.com/invite/CC-SWITCH",
|
||||
auth: grokAuth(),
|
||||
config: grokPresetConfig("AIGoCode", "https://api.aigocode.com"),
|
||||
endpointCandidates: ["https://api.aigocode.com"],
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "aigocode",
|
||||
icon: "aigocode",
|
||||
iconColor: "#5B7FFF",
|
||||
},
|
||||
{
|
||||
name: "SubRouter",
|
||||
websiteUrl: "https://subrouter.ai",
|
||||
|
||||
@@ -335,23 +335,27 @@ 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",
|
||||
name: "AICoding",
|
||||
websiteUrl: "https://aicoding.sh",
|
||||
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
|
||||
settingsConfig: {
|
||||
name: "shengsuanyun",
|
||||
base_url: "https://router.shengsuanyun.com/api/v1",
|
||||
name: "aicoding",
|
||||
base_url: "https://api.aicoding.sh",
|
||||
api_key: "",
|
||||
api_mode: "chat_completions",
|
||||
models: [{ id: "openai/gpt-5.5", name: "GPT-5.5" }],
|
||||
api_mode: "anthropic_messages",
|
||||
models: [
|
||||
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
||||
{ id: "claude-sonnet-5", name: "Claude Sonnet 5" },
|
||||
{ id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" },
|
||||
],
|
||||
},
|
||||
category: "aggregator",
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
partnerPromotionKey: "aicoding",
|
||||
icon: "aicoding",
|
||||
iconColor: "#000000",
|
||||
suggestedDefaults: {
|
||||
model: { default: "openai/gpt-5.5", provider: "shengsuanyun" },
|
||||
model: { default: "claude-opus-4-8", provider: "aicoding" },
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -378,6 +382,26 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
|
||||
model: { default: "claude-opus-4-8", provider: "aigocode" },
|
||||
},
|
||||
},
|
||||
{
|
||||
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: "SubRouter",
|
||||
websiteUrl: "https://subrouter.ai",
|
||||
|
||||
@@ -467,33 +467,33 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "Shengsuanyun",
|
||||
nameKey: "providerForm.presets.shengsuanyun",
|
||||
websiteUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
apiKeyUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
name: "AICoding",
|
||||
websiteUrl: "https://aicoding.sh",
|
||||
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
|
||||
settingsConfig: {
|
||||
baseUrl: "https://router.shengsuanyun.com/api",
|
||||
baseUrl: "https://api.aicoding.sh",
|
||||
apiKey: "",
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "anthropic/claude-opus-4.8",
|
||||
id: "claude-opus-4-8",
|
||||
name: "Claude Opus 4.8",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
{
|
||||
id: "anthropic/claude-sonnet-5",
|
||||
id: "claude-sonnet-5",
|
||||
name: "Claude Sonnet 5",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 3, output: 15 },
|
||||
},
|
||||
],
|
||||
},
|
||||
category: "aggregator",
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
partnerPromotionKey: "aicoding",
|
||||
icon: "aicoding",
|
||||
iconColor: "#000000",
|
||||
templateValues: {
|
||||
apiKey: {
|
||||
label: "API Key",
|
||||
@@ -503,12 +503,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "shengsuanyun/anthropic/claude-opus-4.8",
|
||||
fallbacks: ["shengsuanyun/anthropic/claude-sonnet-5"],
|
||||
primary: "aicoding/claude-opus-4-8",
|
||||
fallbacks: ["aicoding/claude-sonnet-5"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"shengsuanyun/anthropic/claude-opus-4.8": { alias: "Opus" },
|
||||
"shengsuanyun/anthropic/claude-sonnet-5": { alias: "Sonnet" },
|
||||
"aicoding/claude-opus-4-8": { alias: "Opus" },
|
||||
"aicoding/claude-sonnet-5": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -558,6 +558,52 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "Shengsuanyun",
|
||||
nameKey: "providerForm.presets.shengsuanyun",
|
||||
websiteUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
apiKeyUrl: "https://www.shengsuanyun.com/?from=CH_4HHXMRYF",
|
||||
settingsConfig: {
|
||||
baseUrl: "https://router.shengsuanyun.com/api",
|
||||
apiKey: "",
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "anthropic/claude-opus-4.8",
|
||||
name: "Claude Opus 4.8",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
{
|
||||
id: "anthropic/claude-sonnet-5",
|
||||
name: "Claude Sonnet 5",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 3, output: 15 },
|
||||
},
|
||||
],
|
||||
},
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
templateValues: {
|
||||
apiKey: {
|
||||
label: "API Key",
|
||||
placeholder: "",
|
||||
editorValue: "",
|
||||
},
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "shengsuanyun/anthropic/claude-opus-4.8",
|
||||
fallbacks: ["shengsuanyun/anthropic/claude-sonnet-5"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"shengsuanyun/anthropic/claude-opus-4.8": { alias: "Opus" },
|
||||
"shengsuanyun/anthropic/claude-sonnet-5": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "SubRouter",
|
||||
websiteUrl: "https://subrouter.ai",
|
||||
|
||||
@@ -560,27 +560,27 @@ 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",
|
||||
name: "AICoding",
|
||||
websiteUrl: "https://aicoding.sh",
|
||||
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
|
||||
settingsConfig: {
|
||||
npm: "@ai-sdk/anthropic",
|
||||
name: "Shengsuanyun",
|
||||
name: "AICoding",
|
||||
options: {
|
||||
baseURL: "https://router.shengsuanyun.com/api/v1",
|
||||
baseURL: "https://api.aicoding.sh",
|
||||
apiKey: "",
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"anthropic/claude-opus-4.8": { name: "Claude Opus 4.8" },
|
||||
"anthropic/claude-sonnet-5": { name: "Claude Sonnet 5" },
|
||||
"claude-sonnet-5": { name: "Claude Sonnet 5" },
|
||||
"claude-opus-4-8": { name: "Claude Opus 4.8" },
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
category: "third_party",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
partnerPromotionKey: "aicoding",
|
||||
icon: "aicoding",
|
||||
iconColor: "#000000",
|
||||
templateValues: {
|
||||
apiKey: {
|
||||
label: "API Key",
|
||||
@@ -619,6 +619,36 @@ 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-5": { name: "Claude Sonnet 5" },
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
isPartner: true,
|
||||
partnerPromotionKey: "shengsuanyun",
|
||||
icon: "shengsuanyun",
|
||||
templateValues: {
|
||||
apiKey: {
|
||||
label: "API Key",
|
||||
placeholder: "",
|
||||
editorValue: "",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "SubRouter",
|
||||
websiteUrl: "https://subrouter.ai",
|
||||
|
||||
Reference in New Issue
Block a user