Skip to content

[Grok/dsh 38] Shell 与交互终端执行 #170

Description

@Blackman99

Parent

#132

Ticket: 38

Status: ready-for-agent

User Stories: 19, 23, 26(见父规格)

What to build

用户执行受管理 shell 命令或交互终端任务,能输入、读取输出、查看退出原因并停止进程树。

Acceptance criteria

  • 官方支持的 shell/终端交互经 dsh 对应能力执行,工作目录、环境、超时和退出码保真。
  • 输入、窗口缩放、长输出、非零退出、信号和 PTY 关闭有端到端行为,失败不能画成成功。
  • 取消/退出清理受管理进程及后代,不能旁路权限或沙箱。
  • 实测已交付平台并提供跨平台待验条目,后台化由对应任务接入同一执行入口。

Blocked by

Delivery contract

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

Activity

  1. Blackman99 commented on Sep 24, 2026

    @Blackman99
    OwnerAuthor

    Ticket 38 / #170 已合入 rewrite/grok-dsh-20260920 的 ec9d6ae。

    dsh 的 bash 工具显示 stdout、stderr 和退出码。退出码 7 不会画成成功。Ctrl+C 显示取消,不写出完成文件,sleep 30 被清掉。Hook 阻断不会创建副作用文件。

    [shell_environment_policy] 作用在 dsh 进程上,因此 bash 子进程也看得到:排除的非密钥名字不出现,set 的值会出现。策略必须写在隔离 Home 的 sandbox.toml。只放在 $HOME/.grok 不会生效。

    窗口缩放和持久交互终端没有做。dsh 的终端模式没有缩放字段,@deepseek-ai/dsh-tool-terminal 在 acp profile 里加载失败。文档写明不可用,没有伪造。Linux 与 Windows 未验证。

    验证:合并后的 scripts/rust-shell-pty-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