feat(providers): add api-airforce, baidu, bazaarlink, bluesminds, kilo-gateway, llm7, morph, sambanova, tencent

Register 9 new upstream providers with logos and update the auto-generated
registry index. Refresh providers/alias baselines and extend the alias
token allowlist so verify-alias stays green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
decolua
2026-07-26 10:03:10 +07:00
co-authored by Claude Fable 5
parent aa0448f7e2
commit de2da19a9e
22 changed files with 506 additions and 5 deletions
+50 -3
View File
@@ -93,7 +93,30 @@
"polly": "aws-polly",
"aws-polly": "aws-polly",
"bb": "blackbox",
"blackbox": "blackbox"
"blackbox": "blackbox",
"af": "api-airforce",
"airforce": "api-airforce",
"api-airforce": "api-airforce",
"llm7": "llm7",
"llm-7": "llm7",
"samba": "sambanova",
"sambanova": "sambanova",
"bm": "bluesminds",
"bluesminds": "bluesminds",
"bzl": "bazaarlink",
"bazaarlink": "bazaarlink",
"kgw": "kilo-gateway",
"kilo-gateway": "kilo-gateway",
"hunyuan": "tencent",
"tencent": "tencent",
"qianfan": "baidu",
"baidu": "baidu",
"ernie": "baidu",
"dv": "devin-cli",
"devin": "devin-cli",
"devin-cli": "devin-cli",
"morph": "morph",
"morphllm": "morph"
},
"idToAlias": {
"alicode": "alicode",
@@ -101,9 +124,13 @@
"alims-intl": "alims-intl",
"anthropic": "anthropic",
"antigravity": "ag",
"api-airforce": "af",
"assemblyai": "assemblyai",
"azure": "azure",
"baidu": "qianfan",
"bazaarlink": "bzl",
"blackbox": "blackbox",
"bluesminds": "bm",
"byteplus": "byteplus",
"cerebras": "cerebras",
"chutes": "chutes",
@@ -112,12 +139,14 @@
"clinepass": "clinepass",
"cloudflare-ai": "cloudflare-ai",
"codebuddy-cn": "cbcn",
"codebuddy-intl": "cbai",
"codex": "cx",
"cohere": "cohere",
"commandcode": "commandcode",
"cursor": "cu",
"deepgram": "deepgram",
"deepseek": "deepseek",
"devin-cli": "dv",
"featherless": "featherless",
"fireworks": "fireworks",
"gemini": "gemini",
@@ -131,15 +160,18 @@
"groq": "groq",
"hyperbolic": "hyperbolic",
"iflow": "if",
"kilo-gateway": "kgw",
"kilocode": "kc",
"kimchi": "kimchi",
"kimi": "kimi",
"kiro": "kr",
"llm7": "llm7",
"mimo-free": "mmf",
"minimax": "minimax",
"minimax-cn": "minimax-cn",
"mistral": "mistral",
"mmf": "mmf",
"morph": "morph",
"nanobanana": "nanobanana",
"nebius": "nebius",
"nvidia": "nvidia",
@@ -154,7 +186,9 @@
"perplexity-web": "perplexity-web",
"qoder": "qd",
"qwen": "qw",
"sambanova": "samba",
"siliconflow": "siliconflow",
"tencent": "hunyuan",
"together": "together",
"venice": "venice",
"vercel-ai-gateway": "vercel-ai-gateway",
@@ -163,9 +197,11 @@
"volcengine-ark": "volcengine-ark",
"xai": "xai",
"xiaomi-mimo": "xiaomi-mimo",
"xiaomi-tokenplan": "xiaomi-tokenplan"
"xiaomi-tokenplan": "xiaomi-tokenplan",
"zed": "zd"
},
"modelKeys": [
"af",
"ag",
"alicode",
"alicode-intl",
@@ -174,7 +210,10 @@
"assemblyai",
"black-forest-labs",
"blackbox",
"bm",
"byteplus",
"bzl",
"cbai",
"cbcn",
"cc",
"cerebras",
@@ -188,6 +227,7 @@
"cx",
"deepgram",
"deepseek",
"dv",
"edge-tts",
"elevenlabs-tts-models",
"fal-ai",
@@ -205,17 +245,21 @@
"grok-web",
"groq",
"huggingface",
"hunyuan",
"hyperbolic",
"if",
"kc",
"kgw",
"kimchi",
"kimi",
"kr",
"llm7",
"local-device",
"minimax",
"minimax-cn",
"mistral",
"mmf",
"morph",
"nanobanana",
"nebius",
"nvidia",
@@ -232,9 +276,11 @@
"perplexity-agent",
"perplexity-web",
"qd",
"qianfan",
"qw",
"recraft",
"runwayml",
"samba",
"sdwebui",
"siliconflow",
"stability-ai",
@@ -246,6 +292,7 @@
"voyage-ai",
"xai",
"xiaomi-mimo",
"xiaomi-tokenplan"
"xiaomi-tokenplan",
"zd"
]
}
+92 -2
View File
@@ -1,6 +1,6 @@
{
"alicode-intl": {
"baseUrl": "https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions",
"baseUrl": "https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",
"headers": {},
"quirks": {
"preserveCacheControl": true
@@ -880,5 +880,95 @@
"preserveCacheControl": true
},
"format": "openai"
},
"codebuddy-intl": {
"baseUrl": "https://www.codebuddy.ai/v2/chat/completions",
"forceStream": true,
"thinkingFormat": "openai",
"headers": {
"User-Agent": "IDE/2.108.1 CodeBuddy/2.108.1",
"X-Product": "SaaS",
"X-IDE-Type": "IDE",
"X-IDE-Name": "IDE",
"x-requested-with": "XMLHttpRequest",
"x-codebuddy-request": "1"
},
"auth": {
"combined": true,
"header": "Authorization",
"scheme": "bearer"
},
"format": "openai",
"tokenUrl": "https://www.codebuddy.ai/v2/plugin/auth/token"
},
"zed": {
"baseUrl": "https://cloud.zed.dev/completions",
"format": "openai",
"forceStream": true,
"headers": {
"content-type": "application/json"
},
"auth": {
"combined": true,
"header": "Authorization",
"scheme": "<user_id> <access_token>"
},
"usage": {
"url": "https://cloud.zed.dev/client/users/me"
},
"modelsUrl": "https://cloud.zed.dev/models"
},
"api-airforce": {
"baseUrl": "https://api.airforce/v1/chat/completions",
"validateUrl": "https://api.airforce/v1/models",
"headers": {
"HTTP-Referer": "https://endpoint-proxy.local",
"X-Title": "Endpoint Proxy"
},
"format": "openai"
},
"baidu": {
"baseUrl": "https://qianfan.baidubce.com/v2/chat/completions",
"validateUrl": "https://qianfan.baidubce.com/v2/models",
"format": "openai"
},
"bazaarlink": {
"baseUrl": "https://bazaarlink.ai/api/v1/chat/completions",
"validateUrl": "https://bazaarlink.ai/api/v1/models",
"format": "openai"
},
"bluesminds": {
"baseUrl": "https://api.bluesminds.com/v1/chat/completions",
"validateUrl": "https://api.bluesminds.com/v1/models",
"format": "openai"
},
"kilo-gateway": {
"baseUrl": "https://api.kilo.ai/api/gateway/chat/completions",
"validateUrl": "https://api.kilo.ai/api/gateway/models",
"format": "openai"
},
"llm7": {
"baseUrl": "https://api.llm7.io/v1/chat/completions",
"validateUrl": "https://api.llm7.io/v1/models",
"format": "openai"
},
"sambanova": {
"baseUrl": "https://api.sambanova.ai/v1/chat/completions",
"validateUrl": "https://api.sambanova.ai/v1/models",
"format": "openai"
},
"tencent": {
"baseUrl": "https://api.hunyuan.cloud.tencent.com/v1/chat/completions",
"validateUrl": "https://api.hunyuan.cloud.tencent.com/v1/models",
"format": "openai"
},
"morph": {
"baseUrl": "https://api.morphllm.com/v1/chat/completions",
"validateUrl": "https://api.morphllm.com/v1/models",
"format": "openai"
},
"devin-cli": {
"baseUrl": "devin://acp/stdio",
"format": "openai"
}
}
}
+3
View File
@@ -20,6 +20,9 @@ const ALIAS_TOKENS = [
"xmtp","xiaomi-tokenplan","cf",
"cloudflare-ai","fal","fal-ai","stability","stability-ai","bfl","black-forest-labs","recraft",
"topaz","runway","runwayml","jina","jina-ai","polly","aws-polly","bb","blackbox",
"af","airforce","api-airforce","llm7","llm-7","samba","sambanova","bm","bluesminds",
"bzl","bazaarlink","kgw","kilo-gateway","hunyuan","tencent","qianfan","baidu","ernie",
"dv","devin","devin-cli","morph","morphllm",
];
// Sort idToAlias by key — runtime accesses by key, order is irrelevant (content-based)