chore(presets): migrate AICodeMirror and AICoding sponsor domains

- AICodeMirror: full domain migration .com -> .ai (www./api. subdomains,
  gateway paths preserved); drop api.claudecode.net.cn backup endpoint
  from endpointCandidates in 5 presets
- AICoding: full domain migration .sh -> .inc (bare domain + api.
  subdomain, invite code unchanged); README brand copy now plain
  "AICoding" without TLD suffix

Covers 8 preset files and all 4 README languages. Icons, promotion
keys, i18n copy, and legacy migration ids unchanged.
This commit is contained in:
Jason
2026-07-27 23:03:36 +08:00
parent 2b2f2cfad9
commit ccda04bfa6
12 changed files with 72 additions and 83 deletions
+8 -11
View File
@@ -225,17 +225,14 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [
},
{
name: "AICodeMirror",
websiteUrl: "https://www.aicodemirror.com",
apiKeyUrl: "https://www.aicodemirror.com/register?invitecode=9915W3",
websiteUrl: "https://www.aicodemirror.ai",
apiKeyUrl: "https://www.aicodemirror.ai/register?invitecode=9915W3",
category: "third_party",
baseUrl: "https://api.aicodemirror.com/api/claudecode",
baseUrl: "https://api.aicodemirror.ai/api/claudecode",
mode: "direct",
apiFormat: "anthropic",
modelRoutes: passthroughRoutes(),
endpointCandidates: [
"https://api.aicodemirror.com/api/claudecode",
"https://api.claudecode.net.cn/api/claudecode",
],
endpointCandidates: ["https://api.aicodemirror.ai/api/claudecode"],
isPartner: true,
partnerPromotionKey: "aicodemirror",
icon: "aicodemirror",
@@ -329,14 +326,14 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [
},
{
name: "AICoding",
websiteUrl: "https://aicoding.sh",
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
websiteUrl: "https://aicoding.inc",
apiKeyUrl: "https://aicoding.inc/i/CCSWITCH",
category: "third_party",
baseUrl: "https://api.aicoding.sh",
baseUrl: "https://api.aicoding.inc",
mode: "direct",
apiFormat: "anthropic",
modelRoutes: passthroughRoutes(),
endpointCandidates: ["https://api.aicoding.sh"],
endpointCandidates: ["https://api.aicoding.inc"],
isPartner: true,
partnerPromotionKey: "aicoding",
icon: "aicoding",
+8 -11
View File
@@ -184,18 +184,15 @@ export const providerPresets: ProviderPreset[] = [
},
{
name: "AICodeMirror",
websiteUrl: "https://www.aicodemirror.com",
apiKeyUrl: "https://www.aicodemirror.com/register?invitecode=9915W3",
websiteUrl: "https://www.aicodemirror.ai",
apiKeyUrl: "https://www.aicodemirror.ai/register?invitecode=9915W3",
settingsConfig: {
env: {
ANTHROPIC_BASE_URL: "https://api.aicodemirror.com/api/claudecode",
ANTHROPIC_BASE_URL: "https://api.aicodemirror.ai/api/claudecode",
ANTHROPIC_AUTH_TOKEN: "",
},
},
endpointCandidates: [
"https://api.aicodemirror.com/api/claudecode",
"https://api.claudecode.net.cn/api/claudecode",
],
endpointCandidates: ["https://api.aicodemirror.ai/api/claudecode"],
category: "third_party",
isPartner: true, // 合作伙伴
partnerPromotionKey: "aicodemirror", // 促销信息 i18n key
@@ -304,15 +301,15 @@ export const providerPresets: ProviderPreset[] = [
},
{
name: "AICoding",
websiteUrl: "https://aicoding.sh",
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
websiteUrl: "https://aicoding.inc",
apiKeyUrl: "https://aicoding.inc/i/CCSWITCH",
settingsConfig: {
env: {
ANTHROPIC_BASE_URL: "https://api.aicoding.sh",
ANTHROPIC_BASE_URL: "https://api.aicoding.inc",
ANTHROPIC_AUTH_TOKEN: "",
},
},
endpointCandidates: ["https://api.aicoding.sh"],
endpointCandidates: ["https://api.aicoding.inc"],
category: "third_party",
isPartner: true, // 合作伙伴
partnerPromotionKey: "aicoding", // 促销信息 i18n key
+8 -9
View File
@@ -251,17 +251,16 @@ requires_openai_auth = true`,
},
{
name: "AICodeMirror",
websiteUrl: "https://www.aicodemirror.com",
apiKeyUrl: "https://www.aicodemirror.com/register?invitecode=9915W3",
websiteUrl: "https://www.aicodemirror.ai",
apiKeyUrl: "https://www.aicodemirror.ai/register?invitecode=9915W3",
auth: generateThirdPartyAuth(""),
config: generateThirdPartyConfig(
"aicodemirror",
"https://api.aicodemirror.com/api/codex/backend-api/codex",
"https://api.aicodemirror.ai/api/codex/backend-api/codex",
"gpt-5.6-sol",
),
endpointCandidates: [
"https://api.aicodemirror.com/api/codex/backend-api/codex",
"https://api.claudecode.net.cn/api/codex/backend-api/codex",
"https://api.aicodemirror.ai/api/codex/backend-api/codex",
],
isPartner: true,
partnerPromotionKey: "aicodemirror",
@@ -367,15 +366,15 @@ requires_openai_auth = true`,
},
{
name: "AICoding",
websiteUrl: "https://aicoding.sh",
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
websiteUrl: "https://aicoding.inc",
apiKeyUrl: "https://aicoding.inc/i/CCSWITCH",
auth: generateThirdPartyAuth(""),
config: generateThirdPartyConfig(
"aicoding",
"https://api.aicoding.sh",
"https://api.aicoding.inc",
"gpt-5.6-sol",
),
endpointCandidates: ["https://api.aicoding.sh"],
endpointCandidates: ["https://api.aicoding.inc"],
isPartner: true,
partnerPromotionKey: "aicoding",
icon: "aicoding",
+10 -13
View File
@@ -93,24 +93,21 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
},
{
name: "AICodeMirror",
websiteUrl: "https://www.aicodemirror.com",
apiKeyUrl: "https://www.aicodemirror.com/register?invitecode=9915W3",
websiteUrl: "https://www.aicodemirror.ai",
apiKeyUrl: "https://www.aicodemirror.ai/register?invitecode=9915W3",
settingsConfig: {
env: {
GOOGLE_GEMINI_BASE_URL: "https://api.aicodemirror.com/api/gemini",
GOOGLE_GEMINI_BASE_URL: "https://api.aicodemirror.ai/api/gemini",
GEMINI_MODEL: "gemini-3.6-flash",
},
},
baseURL: "https://api.aicodemirror.com/api/gemini",
baseURL: "https://api.aicodemirror.ai/api/gemini",
model: "gemini-3.6-flash",
description: "AICodeMirror",
category: "third_party",
isPartner: true,
partnerPromotionKey: "aicodemirror",
endpointCandidates: [
"https://api.aicodemirror.com/api/gemini",
"https://api.claudecode.net.cn/api/gemini",
],
endpointCandidates: ["https://api.aicodemirror.ai/api/gemini"],
icon: "aicodemirror",
iconColor: "#000000",
},
@@ -173,21 +170,21 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
},
{
name: "AICoding",
websiteUrl: "https://aicoding.sh",
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
websiteUrl: "https://aicoding.inc",
apiKeyUrl: "https://aicoding.inc/i/CCSWITCH",
settingsConfig: {
env: {
GOOGLE_GEMINI_BASE_URL: "https://api.aicoding.sh",
GOOGLE_GEMINI_BASE_URL: "https://api.aicoding.inc",
GEMINI_MODEL: "gemini-3.6-flash",
},
},
baseURL: "https://api.aicoding.sh",
baseURL: "https://api.aicoding.inc",
model: "gemini-3.6-flash",
description: "AICoding",
category: "third_party",
isPartner: true,
partnerPromotionKey: "aicoding",
endpointCandidates: ["https://api.aicoding.sh"],
endpointCandidates: ["https://api.aicoding.inc"],
icon: "aicoding",
iconColor: "#000000",
},
+4 -5
View File
@@ -117,16 +117,15 @@ export const grokBuildProviderPresets: GrokBuildProviderPreset[] = [
},
{
name: "AICodeMirror",
websiteUrl: "https://www.aicodemirror.com",
apiKeyUrl: "https://www.aicodemirror.com/register?invitecode=9915W3",
websiteUrl: "https://www.aicodemirror.ai",
apiKeyUrl: "https://www.aicodemirror.ai/register?invitecode=9915W3",
auth: grokAuth(),
config: grokPresetConfig(
"AICodeMirror",
"https://api.aicodemirror.com/api/codex/backend-api/codex",
"https://api.aicodemirror.ai/api/codex/backend-api/codex",
),
endpointCandidates: [
"https://api.aicodemirror.com/api/codex/backend-api/codex",
"https://api.claudecode.net.cn/api/codex/backend-api/codex",
"https://api.aicodemirror.ai/api/codex/backend-api/codex",
],
isPartner: true,
partnerPromotionKey: "aicodemirror",
+6 -6
View File
@@ -237,11 +237,11 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
},
{
name: "AICodeMirror",
websiteUrl: "https://www.aicodemirror.com",
apiKeyUrl: "https://www.aicodemirror.com/register?invitecode=9915W3",
websiteUrl: "https://www.aicodemirror.ai",
apiKeyUrl: "https://www.aicodemirror.ai/register?invitecode=9915W3",
settingsConfig: {
name: "aicodemirror",
base_url: "https://api.aicodemirror.com/api/claudecode",
base_url: "https://api.aicodemirror.ai/api/claudecode",
api_key: "",
api_mode: "anthropic_messages",
models: [
@@ -380,11 +380,11 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
},
{
name: "AICoding",
websiteUrl: "https://aicoding.sh",
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
websiteUrl: "https://aicoding.inc",
apiKeyUrl: "https://aicoding.inc/i/CCSWITCH",
settingsConfig: {
name: "aicoding",
base_url: "https://api.aicoding.sh",
base_url: "https://api.aicoding.inc",
api_key: "",
api_mode: "anthropic_messages",
models: [
+6 -6
View File
@@ -300,10 +300,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
},
{
name: "AICodeMirror",
websiteUrl: "https://www.aicodemirror.com",
apiKeyUrl: "https://www.aicodemirror.com/register?invitecode=9915W3",
websiteUrl: "https://www.aicodemirror.ai",
apiKeyUrl: "https://www.aicodemirror.ai/register?invitecode=9915W3",
settingsConfig: {
baseUrl: "https://api.aicodemirror.com/api/claudecode",
baseUrl: "https://api.aicodemirror.ai/api/claudecode",
apiKey: "",
api: "anthropic-messages",
models: [
@@ -560,10 +560,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
},
{
name: "AICoding",
websiteUrl: "https://aicoding.sh",
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
websiteUrl: "https://aicoding.inc",
apiKeyUrl: "https://aicoding.inc/i/CCSWITCH",
settingsConfig: {
baseUrl: "https://api.aicoding.sh",
baseUrl: "https://api.aicoding.inc",
apiKey: "",
api: "anthropic-messages",
models: [
+6 -6
View File
@@ -444,13 +444,13 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
},
{
name: "AICodeMirror",
websiteUrl: "https://www.aicodemirror.com",
apiKeyUrl: "https://www.aicodemirror.com/register?invitecode=9915W3",
websiteUrl: "https://www.aicodemirror.ai",
apiKeyUrl: "https://www.aicodemirror.ai/register?invitecode=9915W3",
settingsConfig: {
npm: "@ai-sdk/anthropic",
name: "AICodeMirror",
options: {
baseURL: "https://api.aicodemirror.com/api/claudecode",
baseURL: "https://api.aicodemirror.ai/api/claudecode",
apiKey: "",
setCacheKey: true,
},
@@ -621,13 +621,13 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
},
{
name: "AICoding",
websiteUrl: "https://aicoding.sh",
apiKeyUrl: "https://aicoding.sh/i/CCSWITCH",
websiteUrl: "https://aicoding.inc",
apiKeyUrl: "https://aicoding.inc/i/CCSWITCH",
settingsConfig: {
npm: "@ai-sdk/anthropic",
name: "AICoding",
options: {
baseURL: "https://api.aicoding.sh",
baseURL: "https://api.aicoding.inc",
apiKey: "",
setCacheKey: true,
},