dsh-plugin-trellis-statusline: 在 Web 界面顯示 Trellis 任務狀態

前言

DeepSeek Harness (DSH) 的 Web 聊天界面目前缺乏類似終端中 statusline.py hook 的狀態反饋機制。在多任務協作場景下,開發者需要直觀地瞭解當前工作區正在進行的任務。dsh-plugin-trellis-statusline 插件在 Web 界面實現了這一功能,將終端中的任務狀態欄能力移植到了瀏覽器中。

插件介紹

dsh-plugin-trellis-statusline 是一個 DSH Web 客戶端插件,由 HenTaiCJN 維護。它的核心作用是在 dsh 網頁聊天界面中顯示當前工作區的活躍 Trellis 任務,包括父/子任務的角色標記以及可點擊的任務樹結構。

核心功能

  1. 會話頭部展示:在會話預設選擇器右側顯示持久性任務藥丸,始終可見。
  2. 新建會話視圖:在發送第一條消息前,藥丸出現在編輯器停靠線上方,與使用情況藥丸共享同一行。
  3. 任務格式化:藥丸內容格式爲 [priority] title · status。
  4. 任務角色標記:自動標記任務在樹結構中的角色,顯示“父任務”或“子任務”。
  5. 可點擊樹形結構:當任務屬於樹結構時,點擊藥丸會彈出下拉菜單,展示縮進的樹形結構,並高亮當前會話的任務。
  6. 只讀模式:插件不寫入 Trellis 數據,也不啓動、切換或歸檔任務。
  7. 工作區統計:當會話沒有自有任務但工作區有活躍任務時,顯示“工作區 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 鍵焦點。
  • 樹根任務:顯示“父任務”標記。
  • 子任務:顯示“子任務”標記。
  • 無自有任務:顯示工作區活躍任務數量,不顯示標題或角色。

適用場景與注意

  1. 環境要求:
    • 需要使用 dsh 0.2.0-rc.1 或更高版本(0.2.x 系列)。
    • 需要啓用 Web profile。
    • 運行環境需要 Node.js ^22.19.0 或 >=24.0.0。
    • 當前工作目錄必須包含 .trellis/ 文件夾(需先通過 trellis init --dsh 初始化)。
  2. 運行機制:
    • 插件運行時不需要 Python 和 trellis CLI,僅讀取 Trellis 生成的 JSON 文件。
    • 插件不存儲任何數據。
    • 標題顯示會被截斷至 48 個字符。
  3. 安全提示:
    • 插件爲只讀模式,不會對 Trellis 執行任何寫操作或任務管理操作。

總結

dsh-plugin-trellis-statusline 通過在 Web 界面引入狀態欄功能,解決了多任務協作中狀態可見性的問題。它利用 10 秒的輪詢機制和會話切換時的立即刷新,確保任務狀態(如 task.py start / task.py archive)能夠及時反映在界面中。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜