Repository navigation
v0.9.0 — 静态表不是目录
修复
1. cline-free/gemini-3.8-flash 调用必失败(HTTP 502)
上游已结束该模型的免费推广(实测 2026-10-02):
| 检查项 | 结果 |
|---|---|
recommended-models 的 free 数组 |
4 条,不含 gemini |
GET /api/v1/models(464 条) |
cline-free/gemini-3.8-flash 零命中 |
| 直连 chat/completions | 404 {"error":"model not found"} |
CPA /v1/models |
仍发布 Gemini-3.8-Flash ← 故障 |
插件的静态回退表(元数据快照)被当成了目录使用。现在静态条目只有在仍被某个在线来源背书时才发布:
- 免费家族以
recommended-models为唯一权威(/api/v1/models永远不含cline-free/*); - 该端点必须真的返回内容才算权威;任一来源不可用时整表照旧发布(列表为空比列表略旧更糟);
- 被撤下的条目不再发布并记 warn。
上游恢复推广时会自动恢复发布,静态表的 65536 输出上限一并生效,无需改代码。
2. 日志字段白名单导致告警失效
CPA 控制台格式化器只打印 logFieldOrder 白名单内的字段(v8.0.4),自定义 key 不报错、直接消失。{"models": ...} 落盘后只剩 provider=cline,模型名丢失;v0.8.0 引入的 codearts 剥图告警里 images 计数同样从未显示过。两者改为拼进 message:
[warn] cline 静态目录表条目已下线,不再发布:cline-free/gemini-3.8-flash provider=cline
[warn] CodeArts 剥离了请求中的图片(模型为纯文本),共 4 处 model=deepseek-v4.1-flash
3. 发布流水线:五平台产物首次全部构建成功
此前每一次 tag 推送都失败,release 里始终只有 linux/amd64。三个独立原因:
| 现象 | 根因 |
|---|---|
| darwin 任务首行退出 | macOS 用 bash 3.2,declare -A 报 invalid option 直接终止 |
| darwin/amd64 排队 24h 未跑 | macos-13/macos-14 已退役,改用 macos-15-intel/macos-15 |
| windows 15/15 链接失败 | Go < 1.27 把输出名不加引号写进 .def,GNU ld 把 0.1.0 当浮点数解析 |
最后一项的触发条件是点分版本号,不是横杠(LIBRARY a-b-c.dll 正常,x0.1.dll 失败)。改法:Windows 先链接到不含点的 <id>.dll,再改名为 <id>-v<version>.dll;CPA 按文件名推导插件 id,与 .def 内的 LIBRARY 名无关。
本次 release 首次包含全部 5 平台 × 15 插件 = 75 个 zip(此前仅 15 个 linux/amd64)。
验证
- 发布产物部署后
/v1/models不再含Gemini-3.8-Flash,调用返回400 model_not_found(而非 502) MiMo-V2.6-Flash等仍在线的免费模型正常 200- 带图请求全部 200,
not multimodal计数保持 0,剥图告警正确显示数量 - cline 新增 3 个回归测试并做反向验证(禁用背书判断后立刻转红)
- 本地用 CI 同款 go1.26.0 构建 windows/amd64 15/15 成功;linux 回归 15/15
- CI 运行 37026777370 五个构建任务 + publish 全绿
部署提示
config.yaml 里指向该模型的 oauth-model-alias 条目需一并删除(文档 §3.4 已更新)。若上游恢复推广,再加回即可。