前言¶
DeepSeek Harness(DSH)可以同時跑多個會話、後臺任務和子智能體。默認 Web 界面裏,這些信息分散在不同入口,要判斷「誰在等審批、誰在跑、token 用了多少」,往往要在多個頁面之間切換。
dsh-dashboard 是社區維護的客戶端插件,把會話列表、任務進度、等待狀態、後臺作業和 token/KPI 指標收進同一面板,直接注入 Harness 的 Web GUI,不需要單獨起服務或打開額外頁面。下文介紹它的定位、能力與安裝用法。
這是什麼¶
- 包名:
@jinhun-tqtteam/dsh-dashboard(npm 當前版本 0.1.0) - 維護:GitHub 組織 jinhun-tqtteam,作者 Tran Quang Tien
- 分類:客戶端(僅提供 Web 客戶端 bundle)
- 許可:MIT
README 明確說明:這是非官方第三方插件,與 DeepSeek AI 無隸屬、贊助或背書關係。插件目錄頁在 SkillHub;源碼與文檔在 GitHub。
核心功能¶
插件在側邊欄底部提供 Dashboard 入口(側邊欄收起時爲圖標 rail + tooltip),打開後不遮擋側邊欄的全屏面板,主要能力包括:
- KPI 與篩選:18 塊 KPI 磁貼,按運行中(藍)/ 已完成(綠)/ 等待(琥珀)/ 錯誤(紅)配色;磁貼可點擊作爲篩選器。另有搜索框和狀態 chip(All / Running / Approval / Needs input / Errors / Completed / Idle)。
- 會話表:帶狀態 pill、工作區分組;支持鍵盤(Enter 打開會話,D 打開詳情);表頭 sticky;等待用戶審批或輸入的會話有 attention 動效。
- 活動與層級:實時 job 活動流、子智能體層級樹。
- 詳情抽屜(slide-over):待辦進度、live jobs、會話統計、token 用量構成與圖例、context 壓力 gauge。
- 浮動 live summary:可 Sticky 固定,跨頁面跟隨;最小化時顯示等待計數 pill。
- 通知:頁內 toast、提示音、系統原生橫幅(完成 / 錯誤 / 等待);通過 requestAnimationFrame 橋接,標籤頁未聚焦時仍可觸發。
狀態模型會把 approval / question / plan-review 從 pendingInteraction 中拆開;錯誤來自崩潰的 producer job。樣式使用 DSH 設計 token(--dsw-*),隨明暗主題切換,並尊重 prefers-reduced-motion。
安裝與啓用¶
前提:已有帶 Web GUI 的 DeepSeek Harness 安裝;從源碼構建時需要 Node.js >= 18。插件變更後需重啓 Harness;僅 bundle 變更時瀏覽器刷新即可。
推薦:CLI 一鍵安裝¶
包聲明瞭 dsh.bundle.patch,CLI 會將其作爲 profile bundle 安裝並自動疊加 patch,無需手改 cordis.patch.yml。
從 GitHub 安裝(pnpm git 拉取預構建的 lib/):
dsh plugin --profile web add github:jinhun-tqtteam/dsh-dashboard
npm 發佈後可用:
dsh plugin --profile web add @jinhun-tqtteam/dsh-dashboard
本地 checkout 目錄內執行:
dsh plugin --profile web add .
或使用絕對路徑:
dsh plugin --profile web add /path/to/dsh-dashboard
上述命令會把包加入 profile 依賴、寫入 dsh.profile.bundles,並由 bundle 內的 patch 註冊 loader 入口。
手動安裝(無 CLI)¶
將含預構建 lib/ 的包目錄複製到 profile 插件目錄,例如:
<profile>/web/node_modules/@jinhun-tqtteam/dsh-dashboard
在 <profile>/web/cordis.patch.yml 中追加:
- insert:
- id: dsh-dashboard
name: "@jinhun-tqtteam/dsh-dashboard"
name 必須與包註冊 id(包名)完全一致,否則客戶端模塊圖會拒絕該 bundle。完成後重啓 Harness。
典型用法¶
| 操作 | 方式 |
|---|---|
| 打開面板 | 側邊欄底部 Dashboard,或收起時的 rail 圖標 |
| 固定 live summary | Sticky 按鈕 |
| 打開會話 | 單擊表格行 |
| 會話詳情 | 雙擊行、按 D,或在 sticky 中單次點擊 |
| 篩選 | 點擊 KPI 磁貼或狀態 chip |
| 關閉 | Esc(先關詳情抽屜,再關面板) |
| 通知開關 | 面板或 sticky 頭部的鈴鐺(綠點=已授權橫幅,琥珀=被攔截) |
首次點鈴鐺會預熱音頻上下文、請求瀏覽器通知權限並啓動 keep-alive,避免後臺標籤靜音。若鈴鐺仍爲琥珀色:在地址欄爲 Harness 源站允許通知,並檢查操作系統裏對該瀏覽器的通知設置。
工作原理(簡要)¶
包註冊一個 host 側插件(空 apply,僅出現在 Loader)和一個客戶端 bundle,路徑爲 /plugins/@jinhun-tqtteam/dsh-dashboard/client.js。bundle 通過 window.__ModuleLoader__.load 以 DSH 期望的 lazy-CJS 形態自注冊,掛載三個 shell.overlay(面板、sticky、通知)和一個 sidebar.footer.action(觸發器),並通過標準 inject 接收 openSession 描述符。倉庫中 src/ 爲源碼,lib/ 已提交,便於無構建步驟的手動複製安裝。
適用場景與注意¶
適合:經常在 Harness Web GUI 裏並行多個會話、需要一眼看到等待審批/輸入、後臺 job 與 token KPI 的開發者或運維。
注意:
- 插件以當前 DSH 進程與瀏覽器上下文運行;安裝前請自行審閱 源碼與 LICENSE。
- SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬,勿當作官方應用商店。
- 面板爲空時,需等 host 發佈會話數據,且至少應存在一個會話。
- 日誌若出現
bundle ... loaded without registering "<id>",說明 loadername與包名不一致。 - 側邊欄無觸發按鈕時,檢查
cordis.patch.yml是否已生效並重啓 Harness。
結尾¶
dsh-dashboard 把「所有會話、進度、等待態、後臺作業與 token KPI」收斂到 Harness 內置 Web 界面的一頁裏,適合作爲 DSH「一切皆插件」生態下的客戶端觀測補充。進一步瞭解可訪問 SkillHub 目錄頁 與 GitHub 倉庫。