v0.1.4 — 谁在管,以及模型不止一个
两件事,都是「报告说没问题,其实没查」的同一类毛病。
cc-switch 那一节改答「谁在管」
之前只回答「cc-switch 选的和原生文件一致吗」,漂移时两头押宝「以谁为准」。现在有明确立场:原生配置优先,官方登录为正,cc-switch 是 fallback。
- 原生官方登录 → ✔「cc-switch 没接管;另存 N 个备用未启用」。官方能用时 cc-switch 空着、或存一份备用不启用,都是正常状态,不催你迁。
- 原生是官方、cc-switch 却记着旧网关 → ▲「记录过时了」。现在不影响使用,但提醒你别在 cc-switch 里随手再切一次,那会把官方登录盖掉。
- 原生网关能跑 → 说清是「原生自管」还是「cc-switch 接管」;漂移时明说原生优先,不用动。
- 原生探不通 / 没配置 → 这才轮到 cc-switch。而且推荐之前先探:把它库里存的候选逐个拉一次模型清单,通了才给
cc-switch use <id> --app <工具>;都不通就说「先看网关」,不让你从一个坏的换到另一个坏的。
「原生能不能跑」来自那件工具自己的体检结论(新增 harness.Posture),不再由 cc-switch 那节重读一遍原生文件去猜。单独跑 aivet check ccswitch 时会补一份只读配置的姿态,并明说「没探」。
一件工具不止一个模型槽
只验主模型就说「全部通过」,用户在工具里切一下就 404 —— 报告当时是绿的,而且没人会回来问。现在把配置里写着的其他模型也对着网关清单核对:
| 工具 | 之前没查的 |
|---|---|
| Codex | review_model(/review 真正发出去的那个) |
| Claude Code | sonnet / opus / haiku 三个别名 env 各自指到的模型 |
| Hermes、dsh | providers 里声明的那份模型菜单 |
| pi | enabledModels(Ctrl+P 能切到的那几个) |
出一条聚合的「其他模型」:
- 都在清单里 → ✔
- 有对不上的 → ▲ 列出是哪个、从哪个字段来的。是提醒不是故障:你未必用得上它,不该把整台机器判成有病,退出码仍是 0。
- 离线 / 没 key / 网关没有清单接口 → 报「没核对」,不替查不到的东西打包票。
只做清单核对不发真请求 —— 清单这时已经缓存,等于免费;逐个发请求会让一次体检从两秒变成一分钟。
上下文长度不再猜
aivet setup 以前给所有模型写死 128000 / 16384。现在照抄网关模型清单里的 context_length / max_completion_tokens,写完会告诉你这个数是哪来的。实测 charaboard/deepseek-v4-flash:128000/16384 → 1048576/65536,差了 8 倍。网关给不出才退回默认值,并且明说是退回来的。
安装
curl -fsSL https://raw.githubusercontent.com/shiftu/aivet/main/install.sh | bash
或从下面直接下对应平台的二进制(SHA256SUMS 可校验)。