前言¶
DeepSeek Harness (DSH) 的 Web 聊天界面目前缺乏類似終端中 statusline.py hook 的狀態反饋機制。在多任務協作場景下,開發者需要直觀地瞭解當前工作區正在進行的任務。dsh-plugin-trellis-statusline 插件在 Web 界面實現了這一功能,將終端中的任務狀態欄能力移植到了瀏覽器中。
插件介紹¶
dsh-plugin-trellis-statusline 是一個 DSH Web 客戶端插件,由 HenTaiCJN 維護。它的核心作用是在 dsh 網頁聊天界面中顯示當前工作區的活躍 Trellis 任務,包括父/子任務的角色標記以及可點擊的任務樹結構。
核心功能¶
- 會話頭部展示:在會話預設選擇器右側顯示持久性任務藥丸,始終可見。
- 新建會話視圖:在發送第一條消息前,藥丸出現在編輯器停靠線上方,與使用情況藥丸共享同一行。
- 任務格式化:藥丸內容格式爲
[priority] title · status。 - 任務角色標記:自動標記任務在樹結構中的角色,顯示“父任務”或“子任務”。
- 可點擊樹形結構:當任務屬於樹結構時,點擊藥丸會彈出下拉菜單,展示縮進的樹形結構,並高亮當前會話的任務。
- 只讀模式:插件不寫入 Trellis 數據,也不啓動、切換或歸檔任務。
- 工作區統計:當會話沒有自有任務但工作區有活躍任務時,顯示“工作區 N 個活動任務”。
安裝與啓用¶
插件安裝無需配置。執行以下命令即可添加插件:
dsh plugin --profile web add github:CJ-SH/dsh-plugin-trellis-statusline
安裝後需要重啓 dsh。插件在啓動時加載,重啓可以結束當前運行的代理進程,確保狀態正確刷新。
典型用法¶
插件根據任務狀態和角色展示不同的表現形式:
[P2] Add the importer · 進行中
[P1] Release 0.2 · 進行中 · 父任務
[P2] Wire the importer · 進行中 · 子任務
工作區 3 個活動任務
- 獨立任務:無角色標記,點擊無反應,不佔用 Tab 鍵焦點。
- 樹根任務:顯示“父任務”標記。
- 子任務:顯示“子任務”標記。
- 無自有任務:顯示工作區活躍任務數量,不顯示標題或角色。
適用場景與注意¶
- 環境要求:
- 需要使用 dsh 0.2.0-rc.1 或更高版本(0.2.x 系列)。
- 需要啓用 Web profile。
- 運行環境需要 Node.js ^22.19.0 或 >=24.0.0。
- 當前工作目錄必須包含
.trellis/文件夾(需先通過trellis init --dsh初始化)。
- 運行機制:
- 插件運行時不需要 Python 和 trellis CLI,僅讀取 Trellis 生成的 JSON 文件。
- 插件不存儲任何數據。
- 標題顯示會被截斷至 48 個字符。
- 安全提示:
- 插件爲只讀模式,不會對 Trellis 執行任何寫操作或任務管理操作。
總結¶
dsh-plugin-trellis-statusline 通過在 Web 界面引入狀態欄功能,解決了多任務協作中狀態可見性的問題。它利用 10 秒的輪詢機制和會話切換時的立即刷新,確保任務狀態(如 task.py start / task.py archive)能夠及時反映在界面中。