feat: 对齐 ZCode 3.2.0 (CLI 0.15.0) app-server 新协议方法#4
Merged
Conversation
version_described → 0.15.0 (App 3.2.0)
APP_SERVER.key_methods 新增 12 个方法:
- session 级 (0.15.0+): setThoughtLevel/updateRuntimeModelConfig/
rewindCascade/setMode, 补齐 setModel/cancelBackgroundTask 描述
- workspace 级 (0.15.0+): readState/generateText/setDefault{Model,Mode,ThoughtLevel}/
upsertModelProvider/removeModelProvider/updateProviderRegistry
acp_methods_implemented 同步补全
实测确认: GLM-5.2 thoughtLevel 可选值为 max/high/nothink
新增 12 个扩展方法的 handler + dispatch 注册:
session 级 (0.15.0+, 纯透传, 与 fork/rewind/goal 同模板):
- session/setThoughtLevel ⭐ 思考强度 (动态值, 不做 enum 硬校验)
- session/updateRuntimeModelConfig (运行时模型配置)
- session/cancelBackgroundTask (取消后台 Bash 任务)
- session/rewindCascade (级联回退, 与 rewind 同 schema)
- session/setModel / session/setMode (补齐 0.14.8 旧方法)
workspace 级 (0.15.0+, 按 {workspacePath,workspaceKey} 选择器定位):
- _resolve_workspace helper: workspace dict / workspacePath / cwd / 默认 四级
- workspace/readState + workspace/generateText (一次性生成, timeout 60s)
- workspace/setDefault{Model,Mode,ThoughtLevel} (乐观锁透传)
- workspace/upsert/remove/updateProviderRegistry (apiKey 仅透传不打印明文)
新增 tests/test_app_server_methods.py (FakeBackend, 46 测试):
- 路由 / params 转换 / 错误分支 / 复杂对象透传保真 / workspace helper 边界
- apiKey 日志脱敏验证
- 顺带补齐 fork/rewind/goal/compact/steer 旧 handler 的测试盲区
- 套件 33 → 79 测试
README: - 扩展方法表按 session 级 / workspace 级分组, 标注引入版本 - 新增 workspace/* 子表 + workspace 参数三种传入方式说明 - 版本兼容性矩阵新增 0.15.0+ 行 - 限制清单新增第 8 条: Provider 管理 apiKey 透传安全提醒 SKILL.md (version 1.0.0 → 1.1.0): - 扩展方法表同步分组, 新增 setThoughtLevel 思考强度控制任务模板 - 版本兼容表新增 0.15.0+ 行 - 兼容范围描述更新至 0.15.0+
Codex deep review 发现: upsertModelProvider / updateProviderRegistry 的 后端 error.message 原样回显, 若 zcode 把入参片段 (含 apiKey) 回显在 错误里, 会泄漏到 ACP client。此前仅 success log 脱敏, error 路径是盲区。 修复: - 新增 _redact_secret(): 对 sk-* 前缀、"value":"..."、apiKey 值做正则遮蔽 - upsertModelProvider / updateProviderRegistry 的 error 分支套用脱敏 - removeModelProvider 入参无 apiKey, 保留原 error 利于排查 补测 (套件 79 → 82): - test_m9_upsert_provider_error_no_apikey: error 回显不含 sk- 明文 - test_m9_update_registry_error_no_apikey: registry error 脱敏 - test_m9_remove_provider_error_not_redacted: remove error 不脱敏 (对照) 顺手修 (Codex P2): - _resolve_workspace msg_id 参数加 docstring 说明保留原因 - 测试注释 '12 个新方法' → '14 个' (session 6 + workspace 8)
上一个 P1 修复 commit 编辑文件后未重置 exec bit, 被 git 记为 100644, 导致 CI perms job 失败。
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.
对齐 ZCode 3.2.0 (CLI 0.15.0) 新增 app-server 协议方法,纯增量、完全向后兼容。
变更
真实冒烟已验证
session/setThoughtLevel、workspace/readState、workspace/generateText(模型真回复)、session/setMode 全通。实测 GLM-5.2 thoughtLevel 值: max/high/nothink。
质量门
ruff 全绿 / 79 测试 / exec bit 100755。待 Codex deep review。
排除: /expert(无RPC)、session/stop(已由cancel覆盖)、events/subscribe(PR#2已有)。
后续用 drive-codex 调度 Codex 深度 review。