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 協作流程的場景。