DSH(DeepSeek Harness)的 TUI 模式是开发者调试和交互智能体系统的核心入口。在处理多 Agent 协作或复杂任务拆解时,子 Agent 的内部思考链、工具调用过程往往隐藏在底层日志中,难以在交互层面直接观测与干预。dsh-tui-subagents 插件为 DSH TUI 增加了子 Agent 会话视图,将原本不可见的执行轨迹转化为可视化的流式界面,并提供针对“可续”子 Agent 的实时交互能力。
插件定位与功能¶
这是一个针对 DeepSeek Harness TUI 的子 Agent 会话视图插件。它通过监听 DSH 内部的 session/event 事件流,将子 Agent 的思考流、工具调用(tool/call/tool/result)以及回复内容实时渲染到终端。
核心能力包括:
- 实时轨迹视图:通过
/subagents进入全屏视图,实时跟随子 Agent 的思考过程滚动。流式渲染采用 50ms 帧对齐节流,保证视觉流畅性。 - 交互控制:对于标记为“可续”的子 Agent,可以直接发送消息(
i键)进行纠偏,或中断当前轮次(x键,需 3 秒内两次确认)。一次性(one-shot)子 Agent 保持只读,与官方 Web 端行为一致。 - 视图切换:支持在列表视图(展示当前会话所有子 Agent)与全屏轨迹视图之间切换,可展开或收起思考内容。
- 架构透明:插件运行在机制层零改动的基础上,全部复用 DSH 本体既有宿主服务(in-process cordis),不会拖垮 TUI 界面。
安装¶
该插件尚未发布到 npm,需从源码打包安装。执行以下命令将插件添加到指定 profile:
git clone https://github.com/FUSU123fusu/dsh-tui-subagents.git
cd dsh-tui-subagents
npm pack
dsh plugin --profile <你的profile> add file:dsh-tui-subagents-0.1.0.tgz
使用方法¶
列出与进入子 Agent¶
在 DSH TUI 中输入以下命令:
/subagents # 列出当前会话的所有子 Agent
/subagents a1b2 # 直接按 ID 前缀进入指定子 Agent 的轨迹视图
轨迹视图操作¶
进入轨迹视图后,可通过以下快捷键操作:
- Enter / Esc:进入视图 / 返回列表(在列表页按 Esc 退出)。
- ↑ / ↓:滚动查看(退出实时跟随模式)。
- e:展开或收起子 Agent 的思考过程。
- i:给“可续”子 Agent 发送消息,排入其下一个 turn。
- x:中断运行中子 Agent 的当前轮(3 秒内需按两次确认)。
- G:跳到末尾并恢复实时跟随模式。
- ← / →:在兄弟子 Agent 之间循环切换。
- r:在列表视图中刷新列表。
原理与兼容性¶
该插件通过监听 session/event 事件树获取子 Agent 数据。对于存活的子 Agent,读取 live session 快照;对于已归档的子 Agent,使用 sessionPersistence.inspect() 进行非破坏性读取。
在 UI 层面,它通过 TUI 的 tuiScenes 接口注册全屏场景。如果宿主环境不支持 scene(如某些 headless 场景),界面会自动退化为与内置 /agents 一致的文本列表。
注意事项¶
- 安装方式:目前仅支持本地打包安装,暂无 npm 包。
- 权限隔离:插件以当前 DSH 进程的权限运行,安装前建议检查源码与许可证。
- 机制依赖:核心功能依赖 DSH 本体的
ctx.subagents.followup和ctx.subagents.interrupt接口。
总结¶
dsh-tui-subagents 为 DSH TUI 补全了子 Agent 的观测与交互闭环。开发者无需退出 TUI 或查看日志文件,即可在终端内实时掌握子 Agent 的运行状态并介入控制,适合需要精细调试多 Agent 协作流程的场景。