Skip to content

[Grok/dsh 14] 无头 JSON 与流式事件兼容 #146

Closed

Description

@Blackman99

Parent

#132

Ticket: 14

Status: ready-for-agent

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

What to build

自动化消费者无需改写解析逻辑即可读取兼容 JSON 和流式输出,包含工具、错误、取消及可得用量。

Acceptance criteria

  • 对固定版本所有公开输出格式建立外部消费者测试,验证字段、事件顺序、部分消息选项和终止事件。
  • 工具参数/结果、推理、用量与费用缺失状态不被误转换;stdout 每条输出均合法且无日志混入。
  • 中断、截断、模型错误及无交互审批不会永久挂起或返回虚假成功。
  • 与纯文本入口相同操作产生一致 dsh 副作用和会话状态,适用文档/发布元数据同步。

Blocked by

Delivery contract

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

Activity

  1. Blackman99 commented on Sep 24, 2026

    @Blackman99
    OwnerAuthor

    Ticket 14 / #146 已合入 rewrite/grok-dsh-20260920 的 590f9bf。

    --output-format 接受 plain、json、streaming-json、streaming-messages-json。工具参数、结果和推理从 dsh 原样复制。dsh 没有送来用量时,终止对象写 usage_absent,不编造 token 或费用。部分消息在没有用量时也不写全零账单。dsh 没有广告工具时,init 的 tools 是空列表。

    截断和模型错误以退出码 1 结束,不报 end_turn。非交互审批被拒绝时,三种 JSON 都是错误对象,进程退出 1,文件保持不变。SIGINT 为 130。同一编辑走纯文本和 JSON 时,写入的文件和保存的会话一致。

    验证:合并后的 scripts/rust-plain-json-test.py 全部通过。

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions