前言¶
DSH 插件生態裏,終端前端需要同時處理流式文本、工具調用、會話恢復和權限審批。dsh-pi-tui 提供其中一個實現:界面交互基於 pi 的 TUI(@earendil-works/pi-tui),內核由 dsh 官方機制提供。
這是什麼¶
dsh-pi-tui 是 DSH 插件,倉庫路徑爲 lqhl/dsh-pi-tui,許可爲 MIT。它把 pi TUI 的終端觀感接到 dsh 官方機制上,適合作爲 DSH agent 的交互式終端前端。
核心功能¶
- 流式渲染
assistant/chunk增量 Markdown,並顯示 thinking 摺疊標籤。 - 工具調用卡片:運行、成功、失敗三態,附參數與結果預覽。
write/edit結果帶彩色 diff 高亮。read_image結果可在 kitty/iTerm2 終端內聯渲染圖片。- slash 命令自動補全與動態發現。
- 權限審批彈窗與
ask_user_question交互表單。 - 會話管理:創建、恢復、fork、子代理樹、選擇器。
- 轉錄搜索、
/retry重發失敗 turn、/copy複製 assistant/工具結果/錯誤/id/resume 命令。 - 長會話摺疊與
/expand-all展開。 - 狀態欄顯示 provider/model、preset、plan、goal、上下文壓力、會話 id、git 分支、token 統計、todo 進度、後臺任務計數。
- 啓動 banner 與官方
/permissionpreset 切換。
安裝與啓用¶
前置條件:官方 dsh CLI 與 pnpm。
先添加插件 profile,再啓動:
dsh plugin --profile pi-tui add dsh-pi-tui
dsh --profile pi-tui
dsh --profile pi-tui --resume <session-id>
dsh --profile pi-tui --preset <id>
第一條命令添加 dsh-pi-tui 並初始化 pi-tui profile;後三條分別用於新會話、恢復指定會話、選擇 agent preset。
典型用法¶
dsh --profile pi-tui
dsh --profile pi-tui --resume <session-id>
dsh --profile pi-tui --preset <id>
會話內常用操作:
- Enter 提交,Shift+Enter 換行。
- Ctrl+T 展開/摺疊 thinking 塊。
- Ctrl+F 在 transcript 內搜索。
- /model [query] 切換模型。
- /resume [query] 列出/恢復持久化會話。
- /permission [preset] 切換官方權限 preset。
- /retry 重發失敗 turn。
- /copy 複製 assistant、工具結果、錯誤、id 或 resume 命令。
- /expand-all 切換長會話摺疊。
適用場景與注意¶
適合已經使用 DSH、並希望在終端中處理流式輸出、工具卡片、會話管理和權限審批的開發者。安裝前建議檢查源碼與許可證;插件以當前 dsh 進程權限運行,切換 /permission [preset] 時應確認沙箱模式和審批策略是否符合預期。
版本支持以已測試範圍爲準:dsh 0.1.0-rc.6、node >= 22.19 測試通過,其他 rc 未驗證。許可爲 MIT;改編自 pi coding-agent interactive mode 的組件邏輯保留原作者版權。發佈由 GitHub Actions 經 npm Trusted Publishers(OIDC)發佈,帶 provenance 簽名,打 v* tag 即發佈,無任何 token。
鏈接¶
- GitHub: https://github.com/lqhl/dsh-pi-tui
- 目錄頁線索:https://www.skillhub.cn/plugins/lqhl/dsh-pi-tui(來自提供線索,未在已抓取資料中驗證)