v0.5.3 — AtomCode 支持补充服务端目录已撤下的模型
新增配置项 extra_models:把网关能调用、但服务端 models-v2 目录已不下发的模型 id 加到实时目录之上。
为什么需要它
网关和权益目录确实不一致。2026-10-01 在同一个 CodingPlan Lite 账号上实测(用本插件自己的身份):
| 模型 id | 结果 | 在 models-v2 里 |
|---|---|---|
deepseek-flash |
200,正常内容 | 否 |
Qwen/Qwen3-32B |
200,正常内容 | 否 |
Qwen/Qwen2-VL-72B |
200,正常内容 | 否 |
Qwen/Qwen3-4B-Instruct-2507 |
200,但内容是「三方请求失败: 502 …」 | 否 |
no-such-model-xyz |
200,但内容是「参数错误」 | 否 |
所以:「能调用」不等于「已下发」,更不等于「可用」——上表里就有一个返回 200 却在网关内部失败的。这也是它做成配置项而不是内置列表的原因:只有持有账号的人能判断某个未下发模型值不值得暴露;插件不该替用户猜。插件只对抓到过服务端原始元数据的 id 附带窗口/思考级别,其余一律不带任何声明(猜出来的上下文窗口会被客户端当真)。
用法
atomcode:
extra_models:
- deepseek-flash三种写法都接受:单个字符串、逗号分隔、YAML 列表。补充模型加在实时目录之上(不是替代),去重;在模型列表和状态页的「可用模型」卡片里都标注为「补充模型」,与套餐权益区分开。
顺带修复
多识别一种静默失败:上游故障被当成模型回答返回(HTTP 200 + 正文「三方请求失败: 502 …」)。此前它会被原样当成模型的回答——在 agent 循环里更会成为模型的下一轮输入。现在会转成可重试的上游错误。
新增测试:合并接线、三种配置写法、未知 id 不得凭空声明元数据、新的失败形态;每一项都做了反向验证。