From 3d0c8d8d4540318299db593b3081cfe32499f774 Mon Sep 17 00:00:00 2001 From: dtk <5903314+dtk1985@users.noreply.github.com> Date: Thu, 19 Mar 2026 05:48:23 +0100 Subject: [PATCH] feat: add alibaba cloud coding plan provider support (#465) Co-authored-by: dtk --- CHANGELOG.md | 6 ++++- open-sse/config/providerRegistry.ts | 40 ++++++++++++++++++++++++++++ public/providers/alicode-intl.png | Bin 0 -> 4859 bytes public/providers/alicode.png | Bin 0 -> 4859 bytes src/shared/constants/providers.ts | 19 +++++++++++++ 5 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 public/providers/alicode-intl.png create mode 100644 public/providers/alicode.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 15cc842195..f0524846b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ # Changelog -## [Unreleased] +## [Unreleased] - 2026-03-19 + +### ✨ Features + +- **feat(providers)**: Added Alibaba Cloud Coding Plan support with two OpenAI-compatible endpoints — `alicode` (China) and `alicode-intl` (International), each with 8 models. --- diff --git a/open-sse/config/providerRegistry.ts b/open-sse/config/providerRegistry.ts index 9a15c0eb11..cba697e545 100644 --- a/open-sse/config/providerRegistry.ts +++ b/open-sse/config/providerRegistry.ts @@ -699,6 +699,46 @@ export const REGISTRY: Record = { ], }, + alicode: { + id: "alicode", + alias: "alicode", + format: "openai", + executor: "default", + baseUrl: "https://coding.dashscope.aliyuncs.com/v1/chat/completions", + authType: "apikey", + authHeader: "bearer", + models: [ + { id: "qwen3.5-plus", name: "Qwen3.5 Plus" }, + { id: "kimi-k2.5", name: "Kimi K2.5" }, + { id: "glm-5", name: "GLM 5" }, + { id: "MiniMax-M2.5", name: "MiniMax M2.5" }, + { id: "qwen3-max-2026-01-23", name: "Qwen3 Max" }, + { id: "qwen3-coder-next", name: "Qwen3 Coder Next" }, + { id: "qwen3-coder-plus", name: "Qwen3 Coder Plus" }, + { id: "glm-4.7", name: "GLM 4.7" }, + ], + }, + + "alicode-intl": { + id: "alicode-intl", + alias: "alicode-intl", + format: "openai", + executor: "default", + baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions", + authType: "apikey", + authHeader: "bearer", + models: [ + { id: "qwen3.5-plus", name: "Qwen3.5 Plus" }, + { id: "kimi-k2.5", name: "Kimi K2.5" }, + { id: "glm-5", name: "GLM 5" }, + { id: "MiniMax-M2.5", name: "MiniMax M2.5" }, + { id: "qwen3-max-2026-01-23", name: "Qwen3 Max" }, + { id: "qwen3-coder-next", name: "Qwen3 Coder Next" }, + { id: "qwen3-coder-plus", name: "Qwen3 Coder Plus" }, + { id: "glm-4.7", name: "GLM 4.7" }, + ], + }, + deepseek: { id: "deepseek", alias: "ds", diff --git a/public/providers/alicode-intl.png b/public/providers/alicode-intl.png new file mode 100644 index 0000000000000000000000000000000000000000..21c3ef3df575a3dd0a19ef8d384dee023f8421d7 GIT binary patch literal 4859 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