From de2da19a9e9b25c72791f24b269bc087de16cd62 Mon Sep 17 00:00:00 2001 From: decolua Date: Sun, 26 Jul 2026 10:03:10 +0700 Subject: [PATCH] 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 --- open-sse/providers/registry/api-airforce.js | 40 +++++++++ open-sse/providers/registry/baidu.js | 42 +++++++++ open-sse/providers/registry/bazaarlink.js | 56 ++++++++++++ open-sse/providers/registry/bluesminds.js | 45 ++++++++++ open-sse/providers/registry/index.js | 20 +++++ open-sse/providers/registry/kilo-gateway.js | 34 +++++++ open-sse/providers/registry/llm7.js | 34 +++++++ open-sse/providers/registry/morph.js | 29 ++++++ open-sse/providers/registry/sambanova.js | 30 +++++++ open-sse/providers/registry/tencent.js | 31 +++++++ public/providers/api-airforce.png | Bin 0 -> 4779 bytes public/providers/baidu.png | Bin 0 -> 4323 bytes public/providers/bazaarlink.png | Bin 0 -> 4783 bytes public/providers/bluesminds.png | Bin 0 -> 4692 bytes public/providers/kilo-gateway.png | Bin 0 -> 3124 bytes public/providers/llm7.png | Bin 0 -> 7699 bytes public/providers/morph.png | Bin 2584 -> 12207 bytes public/providers/sambanova.png | Bin 0 -> 10909 bytes public/providers/tencent.png | Bin 0 -> 1312 bytes tests/__baseline__/alias-baseline.json | 53 ++++++++++- tests/__baseline__/providers-baseline.json | 94 +++++++++++++++++++- tests/__baseline__/verify-alias.mjs | 3 + 22 files changed, 506 insertions(+), 5 deletions(-) create mode 100644 open-sse/providers/registry/api-airforce.js create mode 100644 open-sse/providers/registry/baidu.js create mode 100644 open-sse/providers/registry/bazaarlink.js create mode 100644 open-sse/providers/registry/bluesminds.js create mode 100644 open-sse/providers/registry/kilo-gateway.js create mode 100644 open-sse/providers/registry/llm7.js create mode 100644 open-sse/providers/registry/morph.js create mode 100644 open-sse/providers/registry/sambanova.js create mode 100644 open-sse/providers/registry/tencent.js create mode 100644 public/providers/api-airforce.png create mode 100644 public/providers/baidu.png create mode 100644 public/providers/bazaarlink.png create mode 100644 public/providers/bluesminds.png create mode 100644 public/providers/kilo-gateway.png create mode 100644 public/providers/llm7.png create mode 100644 public/providers/sambanova.png create mode 100644 public/providers/tencent.png diff --git a/open-sse/providers/registry/api-airforce.js b/open-sse/providers/registry/api-airforce.js new file mode 100644 index 00000000..ce1e070c --- /dev/null +++ b/open-sse/providers/registry/api-airforce.js @@ -0,0 +1,40 @@ +export default { + id: "api-airforce", + alias: "af", + aliases: [ + "airforce", + ], + uiAlias: "af", + display: { + name: "API.airforce", + icon: "flight", + color: "#0EA5E9", + textIcon: "AF", + website: "https://api.airforce", + notice: { + apiKeyUrl: "https://api.airforce", + }, + }, + category: "freeTier", + authType: "apikey", + authModes: [ + "apikey", + ], + transport: { + baseUrl: "https://api.airforce/v1/chat/completions", + validateUrl: "https://api.airforce/v1/models", + headers: { + "HTTP-Referer": "https://endpoint-proxy.local", + "X-Title": "Endpoint Proxy", + }, + }, + models: [ + { id: "x-ai/grok-3", name: "Grok-3 (Free)", contextLength: 131072 }, + { id: "x-ai/grok-2-1212", name: "Grok-2 1212 (Free)", contextLength: 131072 }, + { id: "anthropic/claude-3.7-sonnet", name: "Claude 3.7 Sonnet (Free)", contextLength: 200000 }, + { id: "qwen/qwen3-32b", name: "Qwen3 32B (Free)", contextLength: 128000 }, + { id: "moonshot/kimi-k2.6", name: "Kimi K2.6 (Free)", contextLength: 262144 }, + { id: "google/gemini-2.5-flash", name: "Gemini 2.5 Flash (Free)", contextLength: 1048576 }, + { id: "deepseek/deepseek-v3", name: "DeepSeek V3 (Free)", contextLength: 262144 }, + ], +}; diff --git a/open-sse/providers/registry/baidu.js b/open-sse/providers/registry/baidu.js new file mode 100644 index 00000000..efba77ca --- /dev/null +++ b/open-sse/providers/registry/baidu.js @@ -0,0 +1,42 @@ +export default { + id: "baidu", + alias: "qianfan", + aliases: ["qianfan", "ernie", "baidu-qianfan"], + uiAlias: "qianfan", + category: "apikey", + authType: "apikey", + authModes: ["apikey"], + display: { + name: "Baidu Qianfan", + icon: "search", + color: "#2932E1", + textIcon: "BD", + website: "https://cloud.baidu.com/product/qianfan.html", + notice: { + apiKeyUrl: + "https://console.bce.baidu.com/qianfan/ais/console/applicationConsole/application", + }, + }, + transport: { + baseUrl: "https://qianfan.baidubce.com/v2/chat/completions", + validateUrl: "https://qianfan.baidubce.com/v2/models", + }, + models: [ + { id: "ernie-5.1", name: "ERNIE 5.1" }, + { id: "ernie-5.0", name: "ERNIE 5.0" }, + { id: "ernie-x1.1", name: "ERNIE X1.1" }, + { id: "ernie-4.5-turbo-128k", name: "ERNIE 4.5 Turbo 128K" }, + { id: "ernie-4.5-turbo-32k", name: "ERNIE 4.5 Turbo 32K" }, + { id: "ernie-4.5-turbo-vl", name: "ERNIE 4.5 Turbo VL" }, + { id: "ernie-4.5-21b-a3b", name: "ERNIE 4.5 21B A3B" }, + { id: "ernie-4.5-0.3b", name: "ERNIE 4.5 0.3B" }, + { id: "ernie-4.0-8k", name: "ERNIE 4.0 8K" }, + { id: "ernie-4.0-turbo-128k", name: "ERNIE 4.0 Turbo 128K" }, + { id: "ernie-4.0-turbo-8k", name: "ERNIE 4.0 Turbo 8K" }, + { id: "ernie-3.5-8k", name: "ERNIE 3.5 8K" }, + { id: "ernie-speed-128k", name: "ERNIE Speed 128K" }, + { id: "ernie-speed-8k", name: "ERNIE Speed 8K" }, + { id: "ernie-lite-8k", name: "ERNIE Lite 8K" }, + { id: "ernie-tiny-8k", name: "ERNIE Tiny 8K" }, + ], +}; diff --git a/open-sse/providers/registry/bazaarlink.js b/open-sse/providers/registry/bazaarlink.js new file mode 100644 index 00000000..0127452f --- /dev/null +++ b/open-sse/providers/registry/bazaarlink.js @@ -0,0 +1,56 @@ +export default { + id: "bazaarlink", + alias: "bzl", + aliases: ["bazaar-link"], + uiAlias: "bzl", + category: "apikey", + authType: "apikey", + authModes: ["apikey"], + display: { + name: "Bazaarlink", + icon: "storefront", + color: "#DC2626", + textIcon: "BZ", + website: "https://bazaarlink.ai", + notice: { apiKeyUrl: "https://bazaarlink.ai" }, + }, + transport: { + baseUrl: "https://bazaarlink.ai/api/v1/chat/completions", + validateUrl: "https://bazaarlink.ai/api/v1/models", + }, + models: [ + { id: "auto:free", name: "Auto Free (Zero Cost)" }, + { id: "claude-opus-4.7", name: "Claude Opus 4.7" }, + { id: "claude-sonnet-4.6", name: "Claude Sonnet 4.6" }, + { id: "claude-haiku-4.5", name: "Claude Haiku 4.5" }, + { id: "gpt-5.5", name: "GPT-5.5" }, + { id: "gpt-5.4", name: "GPT-5.4" }, + { id: "gpt-5.4-mini", name: "GPT-5.4 Mini" }, + { id: "gpt-5.4-nano", name: "GPT-5.4 Nano" }, + { id: "grok-4.3", name: "Grok 4.3" }, + { id: "grok-4.20", name: "Grok 4.20" }, + { id: "gemini-3.1-pro-preview", name: "Gemini 3.1 Pro" }, + { id: "gemini-3-flash-preview", name: "Gemini 3 Flash" }, + { id: "gemini-3.1-flash-lite-preview", name: "Gemini 3.1 Flash Lite" }, + { id: "gemma-4-31b-it", name: "Gemma 4 31B" }, + { id: "gemma-4-26b-a4b-it", name: "Gemma 4 26B A4B" }, + { id: "deepseek-v3.2", name: "DeepSeek V3.2" }, + { id: "kimi-k2.6", name: "Kimi K2.6" }, + { id: "kimi-k2.5", name: "Kimi K2.5" }, + { id: "glm-5.1", name: "GLM 5.1" }, + { id: "glm-5", name: "GLM 5" }, + { id: "mimo-v2.5-pro", name: "MiMo-V2.5-Pro" }, + { id: "mimo-v2.5", name: "MiMo-V2.5" }, + { id: "minimax-m3", name: "MiniMax M3" }, + { id: "minimax-m2.7", name: "MiniMax M2.7" }, + { id: "minimax-m2.5", name: "MiniMax M2.5" }, + { id: "llama-4-maverick", name: "Llama 4 Maverick" }, + { id: "llama-4-scout", name: "Llama 4 Scout" }, + { id: "llama-3.3-70b-instruct", name: "Llama 3.3 70B" }, + { id: "qwen3.6-plus", name: "Qwen 3.6 Plus" }, + { id: "mistral-large-2512", name: "Mistral Large 3" }, + { id: "mistral-medium-3.1", name: "Mistral Medium 3.1" }, + { id: "mistral-small-2603", name: "Mistral Small 4" }, + { id: "nemotron-3-super-120b-a12b", name: "Nemotron 3 Super" }, + ], +}; diff --git a/open-sse/providers/registry/bluesminds.js b/open-sse/providers/registry/bluesminds.js new file mode 100644 index 00000000..298ffec8 --- /dev/null +++ b/open-sse/providers/registry/bluesminds.js @@ -0,0 +1,45 @@ +export default { + id: "bluesminds", + alias: "bm", + aliases: ["blue-sminds"], + uiAlias: "bm", + display: { + name: "BluesMinds", + icon: "psychology", + color: "#2563EB", + textIcon: "BM", + website: "https://bluesminds.com", + notice: { apiKeyUrl: "https://bluesminds.com" }, + }, + category: "apikey", + authType: "apikey", + authModes: ["apikey"], + transport: { + baseUrl: "https://api.bluesminds.com/v1/chat/completions", + validateUrl: "https://api.bluesminds.com/v1/models", + }, + models: [ + { id: "gpt-4o", name: "GPT-4o" }, + { id: "gpt-4o-mini", name: "GPT-4o Mini" }, + { id: "gpt-4.1", name: "GPT-4.1" }, + { id: "gpt-4.1-mini", name: "GPT-4.1 Mini" }, + { id: "gpt-4.1-nano", name: "GPT-4.1 Nano" }, + { id: "claude-sonnet-4-5", name: "Claude Sonnet 4.5" }, + { id: "claude-haiku-4-5", name: "Claude Haiku 4.5" }, + { id: "gemini-2.0-flash", name: "Gemini 2.0 Flash" }, + { id: "gemini-2.0-flash-exp", name: "Gemini 2.0 Flash (Exp)" }, + { id: "deepseek-reasoner", name: "DeepSeek Reasoner" }, + { id: "deepseek-chat", name: "DeepSeek Chat" }, + { id: "qwen-plus", name: "Qwen Plus" }, + { id: "qwen-turbo", name: "Qwen Turbo" }, + { id: "kimi-k2", name: "Kimi K2" }, + { id: "kimi-k2-thinking", name: "Kimi K2 Thinking" }, + { id: "glm-4.7", name: "GLM 4.7" }, + { id: "glm-4-flash", name: "GLM 4 Flash" }, + { id: "minimax-m2.5", name: "MiniMax M2.5" }, + { id: "claude-opus-4-5", name: "Claude Opus 4.5 (VIP)" }, + { id: "gemini-2.5-pro", name: "Gemini 2.5 Pro (VIP)" }, + { id: "grok-3", name: "Grok-3 (VIP)" }, + { id: "qwen-max", name: "Qwen Max (VIP)" }, + ], +}; diff --git a/open-sse/providers/registry/index.js b/open-sse/providers/registry/index.js index 7f3867e8..3afa797d 100644 --- a/open-sse/providers/registry/index.js +++ b/open-sse/providers/registry/index.js @@ -104,6 +104,16 @@ import p100 from "./codebuddy-intl.js"; // Re-enable by uncommenting both the import and the array entry below. // import p102 from "./trae.js"; import p103 from "./zed.js"; +import p105 from "./api-airforce.js"; +import p106 from "./baidu.js"; +import p107 from "./bazaarlink.js"; +import p108 from "./bluesminds.js"; +import p109 from "./kilo-gateway.js"; +import p110 from "./llm7.js"; +import p111 from "./sambanova.js"; +import p112 from "./tencent.js"; +import p113 from "./morph.js"; +import p114 from "./devin-cli.js"; // import p104 from "./windsurf.js"; export default [ @@ -210,5 +220,15 @@ export default [ p100, // p102, // trae — hidden, no tool calling p103, + p105, + p106, + p107, + p108, + p109, + p110, + p111, + p112, + p113, + p114, // p104, // windsurf — hidden, no tool calling ]; diff --git a/open-sse/providers/registry/kilo-gateway.js b/open-sse/providers/registry/kilo-gateway.js new file mode 100644 index 00000000..702c00af --- /dev/null +++ b/open-sse/providers/registry/kilo-gateway.js @@ -0,0 +1,34 @@ +export default { + id: "kilo-gateway", + alias: "kgw", + aliases: [ + "kilo-gateway", + "kilogateway", + ], + uiAlias: "kgw", + display: { + name: "Kilo Gateway", + icon: "login", + color: "#8B5CF6", + textIcon: "KG", + website: "https://kilo.ai", + notice: { + apiKeyUrl: "https://kilo.ai/dashboard?tab=apiKeys", + }, + }, + category: "apikey", + authType: "apikey", + authModes: ["apikey"], + transport: { + baseUrl: "https://api.kilo.ai/api/gateway/chat/completions", + validateUrl: "https://api.kilo.ai/api/gateway/models", + }, + models: [ + { id: "kilo-auto/frontier", name: "Kilo Auto Frontier" }, + { id: "kilo-auto/balanced", name: "Kilo Auto Balanced" }, + { id: "kilo-auto/free", name: "Kilo Auto Free" }, + { id: "nvidia/nemotron-3-super-120b-a12b:free", name: "Nemotron 3 Super 120B (Free)" }, + { id: "minimax/minimax-m2.5:free", name: "MiniMax M2.5 (Free)" }, + { id: "arcee-ai/trinity-large-preview:free", name: "Trinity Large Preview (Free)" }, + ], +}; diff --git a/open-sse/providers/registry/llm7.js b/open-sse/providers/registry/llm7.js new file mode 100644 index 00000000..be7d99bb --- /dev/null +++ b/open-sse/providers/registry/llm7.js @@ -0,0 +1,34 @@ +export default { + id: "llm7", + alias: "llm7", + aliases: [ + "llm-7", + ], + uiAlias: "llm7", + display: { + name: "LLM7", + icon: "pool", + color: "#7C3AED", + textIcon: "L7", + website: "https://llm7.io", + notice: { + apiKeyUrl: "https://llm7.io", + }, + }, + category: "freeTier", + authType: "apikey", + authModes: [ + "apikey", + ], + transport: { + baseUrl: "https://api.llm7.io/v1/chat/completions", + validateUrl: "https://api.llm7.io/v1/models", + }, + models: [ + { id: "gpt-4o-mini-2024-07-18", name: "GPT-4o mini (LLM7)" }, + { id: "gpt-4.1-nano-2025-04-14", name: "GPT-4.1 nano (LLM7)" }, + { id: "deepseek-r1-0528", name: "DeepSeek R1 (LLM7)" }, + { id: "qwen2.5-coder-32b-instruct", name: "Qwen2.5 Coder 32B (LLM7)" }, + ], + passthroughModels: true, +}; diff --git a/open-sse/providers/registry/morph.js b/open-sse/providers/registry/morph.js new file mode 100644 index 00000000..0652f835 --- /dev/null +++ b/open-sse/providers/registry/morph.js @@ -0,0 +1,29 @@ +export default { + id: "morph", + alias: "morph", + aliases: ["morphllm"], + uiAlias: "morph", + display: { + name: "Morph", + icon: "change_history", + color: "#14B8A6", + textIcon: "MP", + website: "https://morphllm.com", + notice: { apiKeyUrl: "https://morphllm.com" }, + }, + category: "apikey", + authType: "apikey", + authModes: ["apikey"], + transport: { + baseUrl: "https://api.morphllm.com/v1/chat/completions", + validateUrl: "https://api.morphllm.com/v1/models", + }, + models: [ + { id: "morph-v3-large", name: "Morph v3 Large" }, + { id: "morph-v3-fast", name: "Morph v3 Fast" }, + { id: "morph-qwen35-397b", name: "Qwen 3.5 397B (Morph)", contextLength: 262144 }, + { id: "morph-minimax27-230b", name: "MiniMax M2.7 (Morph)", contextLength: 200704 }, + { id: "morph-qwen36-27b", name: "Qwen 3.6 27B (Morph)", contextLength: 131072 }, + { id: "morph-dsv4flash", name: "DeepSeek V4 Flash (Morph)", contextLength: 1048576 }, + ], +}; diff --git a/open-sse/providers/registry/sambanova.js b/open-sse/providers/registry/sambanova.js new file mode 100644 index 00000000..a63d7b33 --- /dev/null +++ b/open-sse/providers/registry/sambanova.js @@ -0,0 +1,30 @@ +export default { + id: "sambanova", + alias: "samba", + aliases: ["sambanova-ai"], + uiAlias: "samba", + display: { + name: "SambaNova", + icon: "memory", + color: "#F97316", + textIcon: "SN", + website: "https://sambanova.ai", + notice: { + apiKeyUrl: "https://cloud.sambanova.ai/apis", + }, + }, + category: "apikey", + authType: "apikey", + authModes: ["apikey"], + transport: { + baseUrl: "https://api.sambanova.ai/v1/chat/completions", + validateUrl: "https://api.sambanova.ai/v1/models", + }, + models: [ + { id: "MiniMax-M2.7", name: "MiniMax M2.7" }, + { id: "DeepSeek-V3.2", name: "DeepSeek V3.2" }, + { id: "Llama-4-Maverick-17B-128E-Instruct", name: "Llama 4 Maverick 17B 128E" }, + { id: "Meta-Llama-3.3-70B-Instruct", name: "Meta Llama 3.3 70B" }, + { id: "gpt-oss-120b", name: "GPT-OSS 120B" }, + ], +}; diff --git a/open-sse/providers/registry/tencent.js b/open-sse/providers/registry/tencent.js new file mode 100644 index 00000000..e4ad637a --- /dev/null +++ b/open-sse/providers/registry/tencent.js @@ -0,0 +1,31 @@ +export default { + id: "tencent", + alias: "hunyuan", + aliases: ["hunyuan", "tencent-hunyuan"], + uiAlias: "hunyuan", + display: { + name: "Tencent Hunyuan", + icon: "cloud", + color: "#0052D9", + textIcon: "HY", + website: "https://cloud.tencent.com/product/hunyuan", + notice: { + apiKeyUrl: "https://console.cloud.tencent.com/hunyuan/api-key", + }, + }, + category: "apikey", + authType: "apikey", + authModes: ["apikey"], + transport: { + baseUrl: "https://api.hunyuan.cloud.tencent.com/v1/chat/completions", + validateUrl: "https://api.hunyuan.cloud.tencent.com/v1/models", + }, + models: [ + { id: "hunyuan-turbos-latest", name: "Hunyuan TurboS Latest" }, + { id: "hunyuan-t1-latest", name: "Hunyuan T1 Latest" }, + { id: "hunyuan-pro", name: "Hunyuan Pro" }, + { id: "hunyuan-vision", name: "Hunyuan Vision" }, + { id: "hunyuan-functioncall", name: "Hunyuan FunctionCall" }, + { id: "hunyuan-lite", name: "Hunyuan Lite" }, + ], +}; diff --git a/public/providers/api-airforce.png b/public/providers/api-airforce.png new file mode 100644 index 0000000000000000000000000000000000000000..9fa71e6a7d0bf5866bb82886b94c6771e3bc3d48 GIT binary patch literal 4779 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 literal 0 HcmV?d00001 diff --git a/public/providers/baidu.png b/public/providers/baidu.png new file mode 100644 index 0000000000000000000000000000000000000000..8ad826f29c5375d92af4392ceae6f30f46746913 GIT binary patch literal 4323 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 literal 0 HcmV?d00001 diff --git a/public/providers/bluesminds.png b/public/providers/bluesminds.png new file mode 100644 index 0000000000000000000000000000000000000000..1e5ef31e5a6a835ec914647ca807fb5b725ee105 GIT binary patch literal 4692 zcma)gXCqu))b?SJVGt!mv>~Fm=tLqyLUcEYG8t|35;dX(Gq}}==!`N*qJ`0-w;2he z2O%S)6GXWYUDRjtzCYl3KAgQjoVCxs&f3>n*V-%2*if5+j*|`m00y1M4^7B3>hA-l zA&+0w>;?dUg-hq*gC~KLn|VlYuJ3txoLABJ{@Po5iL5Wu`}*e8_Sn(s?CI8N4P}9`$Thks zjl%zB>ZhZzlti(;*zd^|<*Eb#GoddMmmcDu@SP@j-f**KSFISw;8G85$`xY^5@-&CB<+g(!@4k%a zM!`6v51`uc&3uH;zFkO0Tl+T#`|ca~MAOlRqe@+#YQY8fIJy+mux6sW>sC~I53f*J zUU$9kVZHLyO?HNBuW!)LATWU{r~mS)bF*{Lc(h5VbN&${P#YEv-ccd=*G3<$Ek? zNLnEI;I_G7yNqPe9d`~gO^Z_4NbpecvPZTR?0naG&Sjiu9FD_Pt_Q{4c4+tGWd{70 z2Y%5;L}DWkTkB`-{kzZRGEJOP;sc0JLVgnlI|{ALF2i6VQ|z`qWiC_Rdh4!~-t{JZ z&3s@+>x!Lo_;4uQ+G%|)3oNqMgW|6nJ5EXCP%!>Gu$G;-%}E+-gdIA{7A@wL&-}bp zX>h*nQZGRgQ3bj1=FOlHy?VKT0jx@gv|uUuHps1uL}1m*xS}Vgl;M|YY(`VP+}?X} zP19Oe`BRCHPzF>0g?oNy;061;5CC;75yT~vC?hcNsG6hnG5tN8L@i@QnvuJATKyX6 z?q_>TiIUJ3ybepla7uo2ZXOXQ4Po!5^eYa?*#y~^uA|fbA#nd^+O(X|_K6|$)qs;) z{#pM;1&N{QSPph@2EF8Vo8R8%MUN8BcGW;05d^9J`J_&A>t@V8{EHwHOYZMR6HzE& z%c68nDI);@e9=Q(X=_XNj=7M`<1ibS?cM{S^DdQ|X&@SAa@8-ct}*|rR5<%HiN8?F z_^eNJe0m5|^+M)iupzMT4aQD{Et|@o&9W_32B$jtgeaUTCmp-R?CbfEN>-W}%cJB? zq^_u5sF(5n{fg!+XTtqe;=s)%lNhP?$GXOOhPu7&^4zm%xt;AZ7Hsq~8le3Yg= zmO?tJkA8enzokhNlg1=LQQLgdBZ)CXv^g`x?PgADGJAP8taX3R#-D3sM9msCtKJ=WXRzIO{rA2@gDk1k7 z{dexnEH2*u4lGSp6~j@20sz3&w9JZ1_hWKv!o%fFtpyc0SWIWdk#&P$j>;EGw#tBd z9+Qrz!Y6p~7UVI>7FnE|8SWvNZ*0VFq-asVo3n zWs9icSqh+7Qd|y8{bSeK0lCub(SN0BTJ)N7U?ca-ow@@mfz+)xjeLA3A(RqJi8nku z!MS-(FG0l|>e|RbOSb6t-CuAcK(|PIOjvAQ+UZ>6PbqmfXpb9?x-9F^)uFklmt8#3 zTyJz6{gmC59@V)-_mHpjNhOh4{go__`EY^K;K@IAC}J?d{|)OZ3jFiZh1i4=rSUGL zn9z|J7a#76wl!K|^vw<#XoVD#)9TzP)Q{a4dp7`3{%2Phl#)HQ^f;n{x%Z|_H{d2T zA_e$U3rkL8IQ_ryK(Tr=#`?U@q2{wy|IsBGhy@xm~NXy$XmFu&A2{@xx1sGPf=WR7Zl_D83}GB@_@;`5~z#9mI7 zH?Gu!S~vVg7^;wFgvgqp{LAh&<_2zXkCEB-Bh4=xmy$>_asArZkx#8%mvUnyyH_md zxUMmqpO%>PuQj9=o2-;XFIcIMfj>1TZCLn-K8gA#lt0KpQeMcs0;8_fOHek~@f0Us z1pto4yEt*f>Sd!3fft`oDE+>L>Am+Vh&E{^X$VEBRh7$-RZvv;T^sY0XBAK&$#W-G ze(FjBt1k^|z#af{EixEorqc;-pQ%7e7A}J&aDxbh@1vU9y8OiB0J8Qxjk2qPpIYtg zzjvWa?rChhPQsBh9M*VSb-Y_OTGP(4GDY}yOzty)Y<_380Z-$)p zABGRosxLq*9h&!j*Cy}t;gr`kK$Yca_10;bI-9UtLv5Mgwts(pm-+>JOd_jqbQg>D z@U3xgVO)@=*vZY#h>MkHo)qlr^h&!j8?MRDH{amXe3Z>Jk~U)|BDz?>r+r$IuBs>Y zU*8goJWI)+<)EnSRF9wt>x)U+&R;``JuCjeGpU5JpQMfW$4uk>X_!&~@w%2Y&R;T2 zW{&saD5L!?H8si#BOC>s$dl&X{-EI*XIKpNegf#jSP2L~i6`={^XJg{kBj|cdh)f< z(TLwSU@2R3KKmJGiFY@1waH1ghRX)6mdC971#JH+A#HHEFRoA$ANPE#YwJ4V<6I4A z<6I33O7kI;Un+rGThiGt1d*f4yuN4z;Nz-7>OZEW8{fXhH&IV7Ym-yOx4CvV`6E4} zPmO=zXEM$`gX6nSBh7PO<>S+$F)e{t*rhTyA^fs3Z4g^Qjz?7Te*h8_57o5H_%Zrw z*2)C1`;|`W5Z%rf-E!P~GCPldZFQC!uyt5}Hgh@Yxx)1u8>`-0;SB)c0>XcUrpp?K z&07P=BJ@ll7l>Uz&40F+6Dc?EzVndkT_nmxM)qB#`j0EB6!R+gg8B)@WP%o6r?Ccc z{O}PA_V}XWRD*sQ3%C=|*OADW@>`}~Q`JuKZgzG*GDYtSeLjACE`W_zK>{o8%OEGhd= zl^2J_RCecz-M+VsZ|M2fcdxzltqEPLS(A!ox%Zb>$YvNdPTs?ZBjx>m!R%2VJL7?l z8!wDx7#GOQ{g=PK;s*o9fmNVC7*VNwFl^d9$#N~#W?$x>e2WpKLeDq2%5>KG`gs1eX27y97#Rz>~Vp=Q>@gi3n-BwE_=wIpm zgKXow4n;3imaKVYs%IAd{)aBA}VJ>m`VpSRWJy0PsIT$9|>O2*+Q0pp@|+ z+aPdN9l8TtHb)1ZSh4ub#l|N82Tz|LMHHG~@5_ z1qV=aE?NU|{y}cTX zQ$Or-X27`!!eNg-QMjamqj^sln!yF&m$i&zBl2jeXoV@9Z@x;--2>w2P|u1+4o!$H zw#7XqJx9;5XLS;eUEwx8xakmL@c>tb zJNYsLvrr;%uPc9@H7~6wl$xbTULwMfLr7NqcUYAsUSAsloiVsn(2vqQYQeNVrIX~+ zNo5nCSQ;$Qf8WKX{kjJBcyb=n-G&KGp>TfgziBUS`3G=xB466)>v2Kl*CsJWoj`MX z#hLY+*h~+fr-j38Vk_yrN8`1{HlXF=5R~i&Wm>}K4SL=^kHB%I$oSbS^Kmz0gTaCC z))xDFJXl@?fXJ}^8E8W4Fpa&*qT>tX-6h2GaOd;Rc`g66R_w2$w%{X|H*;n(J3rTN zd~p4(WmYL1F9qq}mV0|p3yTlC>XAMZTSo3Bz-ubb_7=yte93-6KW7~JP$aE9J_734E%KjS+ADa`CTKW1K+K3-U}LR?Tv)x;{KA+z1$rNav0v+w725~3^AFX zFHIODRf8>jXbNtT%bMOI7fIiz@)#bgqwWyG?d_XaJ>AY$-~P#7>Av74UD9$$9r=a1 zRXX404&!Y*RKjwPNvE+r2bwv^uo5bFn(ncVW)W8c$$>!g3!&PEAw*ibpKCntp}qKk zE)RIK$m$LRqe)72;%^r(QLJZuN6#_#?|2ASHi4cmzS0jAIAOaK4? literal 0 HcmV?d00001 diff --git a/public/providers/kilo-gateway.png b/public/providers/kilo-gateway.png new file mode 100644 index 0000000000000000000000000000000000000000..99ea60b00b83130e2ad9470f4e8ee12564098f02 GIT binary patch literal 3124 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 ZphR?W54ZBQ`O|LzFuZD}`x@g+{0D0mvLpZi literal 0 HcmV?d00001 diff --git a/public/providers/llm7.png b/public/providers/llm7.png new file mode 100644 index 0000000000000000000000000000000000000000..4f2a70a0a0780a4728a5afdf302ad628035050d9 GIT binary patch literal 7699 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 KnHnk6(EkAlDDw0G literal 0 HcmV?d00001 diff --git a/public/providers/morph.png b/public/providers/morph.png index 3034fa5ed9cb18c21bfd4e4a5d40a71ee34ff6c7..82f938f36f0ba8a7b7654ef1640aeb787483541e 100644 GIT binary patch literal 12207 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 UyYUkp@YpG!D5ol0Eo~b5e|r6rV*mgE literal 0 HcmV?d00001 diff --git a/public/providers/tencent.png b/public/providers/tencent.png new file mode 100644 index 0000000000000000000000000000000000000000..6293ff7dfa64dd2aa24c2b24430ad4ed4be6579e GIT binary patch literal 1312 zcmY*ZX;4#V6#ZTn$U;m^WK%04LnIieQxFi@9vVcXK|mo0NF%EbGU8T3BKlBUgS$wP ziV~`5C?F+N1SP_gO20?@gk@+H-nR<)g_D%o@uY&~vTO=>Xuc*@Ef*8mBkMGxh5?hLFGTV89Td26I zN9mLwX6bSD8_zdmNW~o9qyE|UjKmIqY*l+HiC`^SU3R!^lS(QeZM`e=Y%ru~_3q8L zKkO9gvxYS47ruQ8ZHO``nE`C&zos^!q;9!pobUE#wV__~8T|I*>Z-sskhK-D6 zq9;#2#o{Ld{^DE%bfoRNzXD9u3^H9QI^CrvZ-P-=n{_GOy@Ly9?X$}s{l*%l=G`>A zL+CqW$On6#%GfR)%TZ{Q)|gA=!aiLLcFH2LszrYm8Y$PKY3GHAIV*l2NquH9JB5V} zw?01&jeOhzC3rx~CT2geju7RUQhJGP@~pAwj|8MhLi0(yH&>_cowo0xRHp&S68jbM z7ldjpV+QkrH4bRLg*bM=OzuVC{o}1n0sSMcu*M!9er&v0Z<%S?>Wo_&Hh4Lzp3HC~ zXVgtT@+l?Ae~qWrkTPn?rCdkNYFNX8$AQixlt*){7;KVP^hM%Q)f#Am7c#Z9Fp~Iq zJu;>BR|-pgzcc*VK#Y43grz>~^q0|F_Y$MS-xv3+ls>dTovw)R4L0I?arma`OY(JA z8a8}u0d6R)z*FU$NK|z$w=_Js-=?j*<)Rjpbh_O4qdDhvbw;sBt&)%(F#(m&88t7} zcMH!IuD`Hfm16%U6RXr>M|&LL%6{gJ-tHrA7MyxM3j^zx8r%0Pd@E zAeONi^k*Xq?UN?a(K1}`fVs_yGF)^rz~{IDIS=hhg+lFjnSq5wUNjMTjUG4A1Ph=u z)&1rYD=%=Y5EuOcZxM@ImdisnqTY;f5VF=BVF-~t=)KGe>wqx|w!s;qL_wGr6a6Bn zkBAJLh#iqgvVT#dHu`z(l8c_1!}D#asvU zE7Q!hZe^l*iy*cMrflI8fN_;19wOw880q1JYF`U!VasgxO*sejk#%?Uf*58XlGu`V zod=y2EQEz@RxSs*i#Rd^K{~!jei+(FDP!scb5!wjf-6XJGF>sya&l5YjRi;`m1H9_ zEEbI82bK)s`k068umcinOg@zbTa~`SHJ-?XU<1%MH-G}ioKh;d-vs<^-Nd1*(lOB_AAXB_;)nW9I-{!L+K3cjqIS=*!M2(NR-sC8+b&Y!0SLd~ z@ " + }, + "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" } -} +} \ No newline at end of file diff --git a/tests/__baseline__/verify-alias.mjs b/tests/__baseline__/verify-alias.mjs index 56caca53..a3fc1f91 100644 --- a/tests/__baseline__/verify-alias.mjs +++ b/tests/__baseline__/verify-alias.mjs @@ -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)