Skip to content

[Grok/dsh 13] 命令行与纯文本自动化兼容 #145

Description

@Blackman99

Parent

#132

Ticket: 13

Status: ready-for-agent

User Stories: 57, 70(见父规格)

What to build

脚本可以通过 codsh 的兼容参数提交提示、选择模型/会话/工具并消费纯文本结果和退出码。

Acceptance criteria

  • 清单中的核心调用参数、帮助、补全、参数组合和错误按参考验证;后续功能的专用命令由对应任务补齐。
  • 输入来源、工作目录、会话新建/恢复差异、工具过滤和回合限制驱动真实 dsh 行为。
  • 纯文本 stdout 无界面污染,诊断与错误正确分流;SIGINT/SIGTERM 和普通错误退出码符合契约。
  • 管道、无 TTY、缺权限及无效参数均经安装产物测试,更新双语命令文档及 Changeset。

Blocked by

Delivery contract

用户于2026-09-20批准当前测试与任务拆分。按父规格的已安装产物/真实终端和公开协议测试验收;实际实现须带适用的文档、Changeset及必要检查。ready-for-agent表示任务已定义,不表示前置任务已完成,也不授权自动开始本轮实施、购买付费资源或发布软件版本。

Activity

  1. self-assigned this
    on Sep 23, 2026
  2. Blackman99 commented on Sep 23, 2026

    @Blackman99
    OwnerAuthor

    按用户2026-09-20的实施授权领取 Ticket13 / #145;本次只记录领取,未启动实施工作者,也不表示已实现。已重新读取 #132 及全部80票正文/评论和实际 blocked-by(native 177 边,无截断,无第二页)。#142/#150/#152/#153 已在 rewrite/grok-dsh-20260920 集成并关闭;当前独立就绪且无人领取的票为 #143、#145、#147、#151、#156、#158、#159、#163、#171。本波并行领取前四张(#143、#145、#147、#151),未领取任何被阻塞后继(含 #146/#155/#198),也未领取本波未选的其他就绪票(#156/#158/#159/#163/#171)。

    实施必须从独立集成树精确基线 065170b46c44491f53abd6f21ed8ac438ba9906a 开始。前置 #138、#140、#142 已关闭,同一提交已保留在 rewrite/grok-dsh-20260920;集成证据见 #138 (comment) 、#140 (comment) 与 #142 (comment) 。

    范围按原验收:清单中的核心调用参数、帮助、补全、参数组合和错误按参考验证,后续功能的专用命令由对应任务补齐;输入来源、工作目录、会话新建/恢复差异、工具过滤和回合限制驱动真实 dsh 行为;纯文本 stdout 无界面污染,诊断与错误正确分流,SIGINT/SIGTERM 和普通错误退出码符合契约;管道、无 TTY、缺权限及无效参数均经安装产物测试,更新双语命令文档及 Changeset。后续实施/审查子代理使用 My CPA - Grok 4.7 Fast(grk-4.7-build-fast,effort xhigh)。仅在实施、独立审查和集成验收通过后关闭。main、现有未跟踪文件及其他工作树不改动;不授权付费资源,#212仍须新的明确最终发布/默认切换批准。

  3. Blackman99 commented on Sep 23, 2026

    @Blackman99
    OwnerAuthor

    Ticket 13 / #145 没有可集成的实现。worker 01a0ce48-f379-71e2-98d3-f23525fa1628 的最终输出不是合法 JSON(structured output validation failed: expected value at line 1 column 1)。工作树 /Users/zhaodongsheng/.grok/worktrees/my-projects-codsh/subagent-01a0ce48-f379-71e2-98d3-f23525fa1628 的 HEAD 仍是基线 065170b46c44491f53abd6f21ed8ac438ba9906a,跟踪树没有源码改动,也没有 .scratch/rewrite-ticket-report.md。没有提交,没有验收证据,因此没有审查,也没有 cherry-pick。

    隔离集成树 rewrite/grok-dsh-20260920 仍是 065170b。未推送,未关闭。工作树保留。main 未改。#132 与 #212 不关闭。

    需要在该工作树从 065170b 重新实现本票验收:清单中的兼容参数、帮助和错误,真实 dsh 的输入来源、工作目录、会话新建/恢复、工具过滤和回合限制,无界面污染的纯文本 stdout 与 SIGINT/SIGTERM 退出码,以及安装产物测试、双语命令文档和 Changeset。完成后再提交并独立审查。

  4. Blackman99 commented on Sep 24, 2026

    @Blackman99
    OwnerAuthor

    Ticket 13 / #145 已合入 rewrite/grok-dsh-20260920 的 dcfa48c。

    -p、--prompt-file、--prompt-json 经发布的 dsh 跑一轮,答案只在 stdout。相对 --prompt-file 在进入 --cwd 之后打开。--verbatim 保持用户字节不变,规则与 --rules、--system-prompt-override 仍作为前置块送出。没有 180 秒回合上限。Agent 同时去掉 subagent 与 subagent_fork;Agent()、Agent(explore, plan)、agent(explore) 在请求发出前拒绝。继承的 CODSH_PLAIN_* 只作用于纯文本回合。--sandbox、--no-memory、--disable-web-search 在纯文本模式改变真实行为。SIGINT 为 130,SIGTERM 为 143。completions --leader-socket 出现在帮助中,并说明 dsh 拥有执行、该旗标不生效。

    验证:打包后的 scripts/rust-plain-pipe-test.py 在合并后的树上通过。fish、pwsh、elvish 未安装,补全脚本只核对了文本。裸 -r 仍退出 1,最近会话恢复属于 #159。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions