Repository navigation
feat: 适配 CLI 0.17.0 (App 3.16.2) — list 去键/模型 ID 折叠/generateText selection 映射 + 文档四处 - #58
Merged
Merged
Conversation
…ction 映射 + 文档四处
探测面: 核心链路 (create/subscribe/send/流式/list)、删除面 12 项、信封、
反向调用、headless CLI 与 0.16.9 逐项一致; 三处破坏修复:
1. session/list 去 includeArchived — 0.17.0 strict Zod 拒收致桥 -32603。
0.16.9 (npm 3.15.3-37 vendor 实测) {} 与 {includeArchived:false/true}
逐项等价, era 无关去键; 客户端传 true 不再透传 (archived 概念疑似
已移除), docstring 记取舍。
2. 模型 ID 大小写折叠 — 0.17.0 注册表身份改名 (builtin:zai-coding-plan/
GLM-5.3 → zai/glm-5.3, 精确大小写敏感) 且显式选模型强制
options.reasoningLevel。catalog 解析失败后按 casefold 第二轮匹配,
命中用 catalog 规范 ID (调用方原始串绝不下发); 旧习惯 'GLM-5.3'
在 0.17.0 自动解析到 'glm-5.3', 0.16 后端精确轮先命中不受影响。
不做 providerId 前缀映射魔法 (无法从 catalog 泛化推导, 危险)。
3. workspace/generateText modelRef→selection 键映射 — 首发 selection
(0.17.0), -32602 且键级拒收特征 (modelRef/selection+unrecognized)
时一次性重发 modelRef 形态 (0.16 回退); 不双发不发明默认值。
maxOutputTokens 之谜实证: 服务端 selection 构建不再提供默认值
(同号 0.16.9 构建已分叉, 同号漂移再添实锤), 可通组合 = 显式
maxOutputTokens ∈ [1024, catalog max] + reasoningLevel 取 defaultLevel。
文档: recheck-3.16.2.md (新, 含最小环境引导验证: #57 原配方在 0.17.0
失效, 两条替代路径已记录)/README 兼容表+模型面+setModel 注记/agent-help
version→0.17.0+旗标面+口径/SKILL 版本表。
测试: +15 (606 passed + 58 subtests); 真机 E2E: session/new('GLM-5.3')
折叠生效、session/list 恢复 (50 会话在列映射正确)。
P2: 重试判定收紧为键名精确匹配 (嵌套键拒收如 selection: Unrecognized key "variant" 不再误触发, M7k 9 子测试钉死); includeArchived 丢弃加 log (裁定不加回退——0.17 已删 archived 概念); casefold 折叠歧义显式 报错并建议对象形态 (静默绑定任意 provider 危险); recheck 漂移证据链 修正 (/expert 与 --mode guarded 非漂移证据, 'App 3.15.3' 实为 zcode-app-cli 包装器版本——全仓误标清零, 结论降级为 vendor vs 官方 参数面差异); 「0.16.5 仍收 modelRef」如实标推断; toolAllowlist/ toolDenylist 0.17 真机探测补记 (字符串数组通含 * 通配, 桥 #53 本就 只发字符串——双代兼容零改动)。 P3: 折叠措辞四处 (0.16 既有大写调用方不变/新增小写解析)/README maxOutputTokens 必填+temperature 拒收+下限 1024/最小环境标题双版本/ 指引文案'当前构建'/折叠与重试各加 log/agent-help guarded 注记归位 --mode 条目/0.17 mock 拟真度 (嵌套 sessionId)/返回键变化 README 提醒 (裁定不做 alias)。 精简: 折叠轮单趟合并 -12 行/includeArchived 日志压 2 行/测试措辞 ×2/recheck 测试数字实测核实。 608 passed + 67 subtests; ruff 0 告警。
Owner
Author
R1 审查 + 精简轮记录 (7f3ea19)R1: 0×P0 + 0×P1 + 7×P2 + 8×P3 → 全修 P2 要点:
四处仲裁:maxOutputTokens 维持显式失败+指引(注入默认会静默截断,fail-loud);includeArchived 只 log 不加回退(垂死能力);generateText 返回键只提醒不做 alias(alias 掩盖后端变化);折叠措辞改「0.16 既有大写调用方行为不变;新增小写解析」。 simplifier(-13 行 + 3 口径修正):折叠轮单趟合并、日志压 2 行、测试措辞同步、recheck 测试数字实测核实(608+67)。 验证:608 passed + 67 subtests(基线 591+56);ruff 0 告警。 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
背景
业主更新官方 App 至 3.16.2(内嵌 CLI 0.17.0)——0.16.x 后第一个 minor 跳版。全链路活体探测结论:核心对话链路/删除面/信封/反向调用/headless CLI 与 0.16.9 逐项一致,三处破坏性变更,本 PR 修复并同步文档。
三处修复
① session/list 去
includeArchived:0.17.0 strict Zod 拒收该键(桥原无条件携带 → -32603,真机复现)。0.16.9(npm 3.15.3-37 vendor 实测)上{}与{includeArchived:false/true}逐项等价 → era 无关去键;客户端传true不再透传(archived 概念疑似已从 0.17 移除),取舍入 docstring。② 模型 ID 大小写折叠:0.17.0 注册表身份改名
builtin:zai-coding-plan/GLM-5.3→zai/glm-5.3(小写、精确大小写敏感),且显式选模型强制options.reasoningLevel。桥 catalog 解析失败后按 casefold 第二轮匹配、命中用 catalog 规范 ID(调用方原始串绝不下发)——旧习惯"GLM-5.3"在 0.17.0 自动解析(真机 E2E 验证),0.16 后端精确轮先命中不受影响。不做 providerId 前缀映射魔法(无法从 catalog 泛化推导)。③ generateText
modelRef→selection键映射:首发 selection 形态(0.17.0),-32602且键级拒收特征时一次性重发 modelRef 形态(0.16 回退);不双发(strict Zod 拒未知键)、不发明默认值。maxOutputTokens 之谜实证:服务端 selection 构建不再提供默认值(同号 0.16.9 构建已分叉——同号漂移再添实锤),可通组合 = 显式maxOutputTokens ∈ [1024, catalog max]+reasoningLevel取 defaultLevel。文档四处
验证
session/new(model:"GLM-5.3")折叠生效 ✓、session/list恢复可用(50 会话在列、映射正确)✓已知边界(非本 PR 范围)
--mode guarded两代 help 在列但未实测(文档标勿盲用)