<!-- codsh-publication:grok-cli-dsh-rewrite:ticket-32 --> ## Parent https://github.com/Blackman99/codsh/issues/132 **Ticket:** 32 **Status:** ready-for-agent **User Stories:** 25, 38(见父规格) ## What to build 用户原有兼容 Hook 在对应 dsh 生命周期运行,按公开退出码与输入输出契约允许、阻断或反馈操作。 ## Acceptance criteria - [ ] 覆盖固定版本公开的 Hook 事件、输入字段、退出语义和来源优先级,实际接入对应执行阶段。 - [ ] 阻断时真实操作不执行;允许 Hook 不能跳过后续权限检查,自动审批不能绕过阻断。 - [ ] 超时、取消、异常输出、重复通知和未信任来源安全终止且不挂起会话。 - [ ] 用临时可执行脚本从 Prompt 到工具结果验证顺序、副作用和界面反馈,不只单测解析器。 ## Blocked by - #142 — Ticket 10: 权限模式与持久规则 - #144 — Ticket 12: 进程、网络与环境保护 ## Delivery contract 用户于2026-09-20批准当前测试与任务拆分。按父规格的已安装产物/真实终端和公开协议测试验收;实际实现须带适用的文档、Changeset及必要检查。ready-for-agent表示任务已定义,不表示前置任务已完成,也不授权自动开始本轮实施、购买付费资源或发布软件版本。
Activity
Blackman99 commentedon Sep 24, 2026
Ticket 32 / #164 已合入
rewrite/grok-dsh-20260920的ec9d6ae。已发布的 dsh 不运行 Grok 命令 Hook,所以由本客户端在 SessionStart、UserPromptSubmit、PreToolUse、PostToolUse、Stop、SessionEnd 运行。阻断会停掉真实操作:
--always-approve下仍然显示Denied by hook,bash 不执行。允许不会跳过随后的权限检查。退出码 7 显示为失败并忽略,工具继续。未信任项目的 Hook 不运行。超时、取消和异常输出会结束,不挂起会话。HTTP Hook、
updatedInput改写输入,以及完整的 Stop 续写循环没有做。updatedInput改为阻断。子代理、压缩和通知事件只解析,不接入。文档只声称上面六个事件。验证:合并后的
scripts/rust-hook-pty-test.py通过,阻断为 true。