mirror of
https://gitcode.com/JianFeeeee/ModelRouter.git
synced 2026-11-07 09:47:23 +00:00
fix(channels): 修正各平台接入模型服务的 chat 端点(base_url 缺路径前缀)
接入源时 base_url + adapter.endpoint 拼出的 chat URL,此前**全部缺路径前缀**,
对着参考逐个核对后发现 9 个平台里 9 个都不对(点开一看全是 /chat/completions
的裸拼接):
- trae → /api/agent/v3/llm_utils_chat(非 OpenAI 兼容,SOLO 端点)
- cline → /api/v1/chat/completions
- lobsterai → /api/proxy/v1/chat/completions
- qoder → /model/v1/chat/completions
- buddy → /v2/chat/completions
- codearts → /api/v2/chat/completions
- opencode → /zen/v1/chat/completions
- raccoon → /api/web/llm/v2/chat/completions
- loomy → /chat/completions
改法:base_url 直接含完整 chat 路径(适配器 endpoint 保持通用),
注册源时即为最终地址。判据:逐平台与参考真值字符串比对,9/9 一致。
⚠️ 已知未闭环:trae 的**载荷**仍是 OpenAI 形状直发,而参考要求转 SOLO
格式(config_name/function,trae-adapter.ts:374 有 serializeMessages)。
该转换属独立性工作,下一步单独处理。
This commit is contained in:
@ -123,7 +123,9 @@ local PLATFORMS = {
|
||||
},
|
||||
},
|
||||
hosts = { "www.trae.cn", "api.trae.com.cn", "api.trae.cn", "trae-api-cn.mchost.guru" },
|
||||
base_url = "https://trae-api-cn.mchost.guru",
|
||||
-- trae 非 OpenAI 兼容:端点是 SOLO 的 /api/agent/v3/llm_utils_chat,
|
||||
-- 载荷须转 config_name/function 格式(见 trae-adapter.ts:374)。
|
||||
base_url = "https://trae-api-cn.mchost.guru/api/agent/v3/llm_utils_chat",
|
||||
adapter = "openai",
|
||||
-- 照参考 TRAE_FALLBACK_MODELS 全量(32 项)。其中 4 项带 isHidden
|
||||
-- (内部子 agent)—— 不进用户可选列表,单列在 models_hidden。
|
||||
@ -275,7 +277,8 @@ local PLATFORMS = {
|
||||
body = '{"accessToken":"{access_token}","refreshToken":"{refresh_token}"}',
|
||||
},
|
||||
hosts = { "api.workos.com", "api.cline.bot", "app.cline.bot" },
|
||||
base_url = "https://api.cline.bot",
|
||||
-- cline 的 chat 路径是 /api/v1/chat/completions(参考 CLINE_CHAT_PATH)。
|
||||
base_url = "https://api.cline.bot/api/v1/chat/completions",
|
||||
-- 远端模型目录(照参考 cline-models.ts:**必须同时打两个端点**)。
|
||||
-- 关键:/api/v1/models 的 460 个 id 里**没有** cline-free/*,免费模型只由
|
||||
-- recommended-models 下发;只打前者会看不到任何免费模型。
|
||||
@ -331,7 +334,8 @@ local PLATFORMS = {
|
||||
interval = 1,
|
||||
},
|
||||
hosts = { "copilot.tencent.com", "www.codebuddy.cn" },
|
||||
base_url = "https://copilot.tencent.com",
|
||||
-- buddy 的 chat 端点含 /v2 前缀(参考 CHAT_API_BASE = .../v2 + /chat/completions)。
|
||||
base_url = "https://copilot.tencent.com/v2/chat/completions",
|
||||
-- 远端模型目录(照参考 buddy.ts CONFIG_PATH + buddy-oauth.ts fetchModels)。
|
||||
-- 关键:必须带 product 身份头,否则 WorkBuddy 会以 CodeBuddy 身份请求。
|
||||
models_remote = {
|
||||
@ -540,7 +544,8 @@ local PLATFORMS = {
|
||||
path = "data.value.version",
|
||||
fallback = "2026.9.4",
|
||||
},
|
||||
base_url = "https://lobsterai-server.youdao.com",
|
||||
-- lobsterai 的 chat 路径是 /api/proxy/v1/chat/completions(参考 LOBSTERAI_CHAT_PATH)。
|
||||
base_url = "https://lobsterai-server.youdao.com/api/proxy/v1/chat/completions",
|
||||
-- 远端模型目录(照参考 lobsterai.ts LOBSTERAI_MODELS_PATH)
|
||||
models_remote = {
|
||||
-- 参考真值 LOBSTERAI_API_BASE(lobsterai-server.youdao.com)。
|
||||
@ -578,7 +583,8 @@ local PLATFORMS = {
|
||||
name = "OpenCode Zen",
|
||||
vendor = "opencode",
|
||||
flow = "paste",
|
||||
base_url = "https://opencode.ai/zen",
|
||||
-- opencode 的 chat 路径是 /v1/chat/completions(参考 chatPath)。
|
||||
base_url = "https://opencode.ai/zen/v1/chat/completions",
|
||||
-- 远端模型目录(照参考 opencode-product.ts modelsPath)
|
||||
models_remote = {
|
||||
endpoints = { { url = "https://opencode.ai/v1/models", method = "GET" } },
|
||||
@ -622,7 +628,8 @@ local PLATFORMS = {
|
||||
hosts = { "codearts.huaweicloud.com", "sts.cn-north-4.myhuaweicloud.com",
|
||||
"snap-access.cn-north-4.myhuaweicloud.com",
|
||||
"devcloud.cn-north-4.huaweicloud.com", "auth.huaweicloud.com" },
|
||||
base_url = "https://snap-access.cn-north-4.myhuaweicloud.com",
|
||||
-- codearts 的 chat 端点含 /api/v2 前缀(参考 CHAT_API_BASE = .../api/v2)。
|
||||
base_url = "https://snap-access.cn-north-4.myhuaweicloud.com/api/v2/chat/completions",
|
||||
adapter = "openai",
|
||||
models = { "CodeArts-Pangu" },
|
||||
checkin = {
|
||||
@ -666,7 +673,8 @@ local PLATFORMS = {
|
||||
judge = "pending404",
|
||||
interval = 2,
|
||||
},
|
||||
base_url = "https://api2-v2.qoder.sh",
|
||||
-- qoder 的 chat 路径是 /model/v1/chat/completions(参考 QODER_CHAT_PATH)。
|
||||
base_url = "https://api2-v2.qoder.sh/model/v1/chat/completions",
|
||||
adapter = "openai",
|
||||
-- 兜底目录(照参考 QODER_FALLBACK_MODELS 的真实目录 key)。
|
||||
-- 关键:这些是**上游目录 key**(如 qfmodel),不是通用名 —— 公开的
|
||||
@ -810,7 +818,9 @@ local PLATFORMS = {
|
||||
access_key_secret = "zsak6eadrbawz683wf5r3m2snrwj868r",
|
||||
app_id = "GM3LOOMY",
|
||||
},
|
||||
base_url = "https://loomy.xunfei.cn",
|
||||
-- loomy 的 chat 路径是 {apiBase}/chat/completions(参考 loomy-adapter.ts:494
|
||||
-- 实测标准 OpenAI 兼容)。
|
||||
base_url = "https://loomy.xunfei.cn/chat/completions",
|
||||
adapter = "openai",
|
||||
-- 兜底目录(照参考 LOOMY_FALLBACK_MODELS)。此前 "loomy-default" 是我编的。
|
||||
models = {
|
||||
@ -844,7 +854,8 @@ local PLATFORMS = {
|
||||
interval = 2,
|
||||
},
|
||||
-- 推理是标准 OpenAI 兼容(实测 POST /api/web/llm/v2/chat/completions)
|
||||
base_url = "https://xiaohuanxiong.com/api/web/llm/v2",
|
||||
-- raccoon 的 chat 端点是 /api/web/llm/v2/chat/completions。
|
||||
base_url = "https://xiaohuanxiong.com/api/web/llm/v2/chat/completions",
|
||||
adapter = "openai",
|
||||
-- 兜底目录(照参考 RACCOON_FALLBACK_MODELS)。此前 "raccoon-default" 是我编的。
|
||||
-- 注意 sn- 前缀是本平台的真实命名约定(sensenova 系列)。
|
||||
|
||||
Reference in New Issue
Block a user