前言¶
DeepSeek Harness(簡稱 dsh)是 DeepSeek AI 開源的智能體運行時,官方倉庫把它概括成一句話:Everything is a Plugin(一切皆插件)。框架本身還在 developer preview,文檔寫明會有破壞性變更;日常使用時,會話、工具、子 Agent、模型路由,大多也是靠插件拼出來的。
長任務一跑起來,真正折磨人的往往不是「Agent 夠不夠聰明」,而是更樸素的幾件事:它還在跑嗎?這一輪走的是哪個模型、哪個 Provider?上下文還剩多少?時間花在模型推理上,還是花在工具調用上?後臺還有幾個 Job、幾個子 Agent?Claude Code 用 /statusline、/context、/usage、/tasks 回答這些問題;Codex 也強調長任務和多 Agent 協同時,不必離開當前會話就能掌握運行狀態。DeepSeek Harness 的 Web UI 裏,這些數據其實已經在 session snapshot 和 projection 裏了,只是默認不會一直攤在眼前。
dsh-hud 做的就是把這層運行態可見性接到會話標題欄。本文依據社區插件目錄頁、GitHub 倉庫 README、package.json 與客戶端源碼交叉覈實,介紹它是什麼、裝完能看到什麼、以及使用時要注意的邊界。社區插件目錄(https://deepseek-harness-plugin.com)是獨立站點,與 DeepSeek / 幻方沒有官方從屬關係,不要把它當成官方應用商店。
這是什麼¶
dsh-hud 是一個面向 DeepSeek Harness Web UI 的只讀 Agent 運行態觀測插件,由 GitHub 用戶 zexuanw958-svg 維護,倉庫地址是 https://github.com/zexuanw958-svg/dsh-hud 。社區目錄把它歸在「會話與消息」分類,許可證爲 MIT,主要語言是 TypeScript,當前版本號爲 0.1.0。本文寫作時 GitHub 倉庫星標爲 12。
它解決的不是「讓 Agent 更聰明」,而是長任務裏那組操作問題:不用離開當前會話,就能知道 Agent 做到哪了、消耗了什麼、上下文還能撐多久。實現方式是向官方 slot conversation.session.header.actions 注入一條緊湊狀態條:默認顯示最近一次 Assistant 請求使用的模型、上下文壓力百分比和累計步數;點擊後展開 Token、耗時、Jobs、子 Agent、Provider、工作區名稱和 Session ID。
數據直接消費 Harness 已有的 snapshot / projection,沒有定時輪詢,也不會額外請求 Host、額外調用模型,更不會把統計信息寫進提示詞。倉庫 README 寫得很明確:它不是 Codex / Claude Code 的 1:1 復刻,也不是控制檯——不會切換模型、不會停止任務、也不會估算美元費用。
GitHub 上還有另一個同名倉庫 a903067276-rgb/dsh-hud,做的是輸入欄按鈕加浮動側欄(Git / MCP / Skills 等),和本文介紹的頂欄 HUD 不是同一個項目。安裝時請覈對維護者爲 zexuanw958-svg,命令裏的倉庫路徑也必須是 github:zexuanw958-svg/dsh-hud。
核心功能¶
根據 README 與 src/client/index.tsx 對照,當前版本會把下面這些信息留在會話頂欄。
- 運行狀態。會話
snapshot.running爲真時顯示動態狀態點,空閒時歸靜;展開面板時,運行中會帶Live標記。屏幕閱讀器用的 ARIA 文案是Agent running/Agent idle。 - 模型路由。Host 側把已有的
request/context事件摺疊成只讀 projectiondshHudModelRoute(見src/projection.ts),展示最近一次主會話請求使用的 Model 和 Provider。尚未發生模型調用時,緊湊條顯示No model yet。 - 上下文壓力。讀取 Harness 的
contextPressureprojection,優先用projectedTokens,否則退回pressureTokens,再除以contextWindow得到佔用百分比,並用進度條顯示「已用 Token / 窗口大小」。百分比會夾在 0–100 之間,只用於展示,不參與策略判斷。 - Token 統計。展開後顯示 Input 與 Output。其中 Input 按倉庫實現把未緩存輸入、緩存讀、緩存寫三類加在一起(
uncachedInputTokens + cacheReadTokens + cacheWriteTokens),對應 README 所說的「含緩存讀寫的輸入 Token」。 - 會話進度與耗時。
sessionStats提供 Turns / Steps,以及模型耗時(llmMs)和工具耗時(toolMs)。緊湊條上的步數來自stats.steps。 - 並行任務。Jobs 統計當前會話裏狀態爲
running或stopping的後臺任務數;Agents 統計掛在該父會話下的子 Agent 數量。 - 會話定位。詳情區給出 Workspace(從會話
cwd取最後一段路徑名)和完整 Session ID。 - 原生觀感與無障礙。樣式複用 Harness 主題變量,README 說明支持明暗主題、窄屏和減少動態效果偏好;詳情面板可用鼠標點擊外部關閉,也可用
Esc關閉並把焦點還回觸發按鈕。
工作原理可以概括成兩條線:Host 插件(src/index.ts)只註冊一條只讀 projection,不攔截、不改寫 Agent 流程;Client 插件訂閱 session snapshot 以及 dshHudModelRoute、contextPressure、tokenUsage、sessionStats 等已有投影,數據變化由 Harness 推送觸發渲染。
安裝與啓用¶
社區目錄頁給出的安裝命令原文如下,在 DeepSeek Harness 終端中運行即可:
dsh plugin add github:zexuanw958-svg/dsh-hud
如需可復現安裝,目錄頁建議固定 commit 哈希:
dsh plugin add github:zexuanw958-svg/dsh-hud#commit
把上面的 commit 換成倉庫裏實際的提交哈希。目錄頁同時提醒:插件以當前 dsh 進程的權限運行,安裝時可能執行代碼,安裝前請檢查源代碼倉庫和許可證。
這個插件在 package.json 裏把客戶端平臺標成 web,README 推薦的安裝方式因此更具體——釘到已驗證的 Harness 版本,並顯式寫入 web profile:
環境要求(來自 README):
- DeepSeek Harness 0.1.0-rc.6
- Node.js 22.19+ 或 24+
- pnpm 11.x
一行安裝:
npx --yes @deepseek-ai/dsh@0.1.0-rc.6 plugin --profile web add github:zexuanw958-svg/dsh-hud
從源碼安裝(適合要改代碼或本地調試時):
git clone https://github.com/zexuanw958-svg/dsh-hud.git
cd dsh-hud
pnpm install
pnpm build
npx --yes @deepseek-ai/dsh@0.1.0-rc.6 plugin --profile web add "$(pwd)"
然後重啓 Web UI:
npx --yes @deepseek-ai/dsh@0.1.0-rc.6 web
Harness 官方倉庫的默認啓動命令是 npx @deepseek-ai/dsh web,本地默認地址爲 http://127.0.0.1:3080。插件 README 使用帶版本號的 npx,是爲了和當前已驗證的 0.1.0-rc.6 對齊。
源碼安裝走的是本地 link: 方式。README 說明:移動或刪除倉庫目錄會讓鏈接失效;卸載命令爲:
npx --yes @deepseek-ai/dsh@0.1.0-rc.6 plugin --profile web remove dsh-hud
兼容性表目前只有一行:dsh-hud 0.1.x 對 DeepSeek Harness 0.1.0-rc.6 標記爲已驗證。Harness 仍處於 RC / developer preview,官方 slot 或 projection API 變化時,這個插件也可能需要跟隨升級。
典型用法¶
安裝並重啓 Web UI 之後,按 README 的步驟即可看到 HUD。
- 打開或新建一個會話。HUD 掛在會話標題欄的
conversation.session.header.actions槽位上,首頁沒有會話時不會出現。 - 看緊湊狀態條。從左到右大致是:運行/空閒狀態點、最近一次模型名、
ctx N%(尚無數據時爲ctx —)、以及N steps。 - 點擊狀態條展開詳情。面板標題爲
DeepSeek Harness Session HUD,上方是上下文壓力進度條,中間是六格指標:
- Input / Output
- Turns / steps
- Model time / Tool time
- Jobs / agents
下方四行明細:Model、Provider、Workspace、Session。 - 再點一次,或點擊面板外部,或按
Esc,即可收起。 - 新會話在第一次模型調用之前,模型名、上下文和 Token 都可能是空的。這是預期行爲:還沒有可摺疊的
request/context事件,也沒有 token meter 數據。發送第一條消息後會自動更新。
倉庫提供 pnpm check,會依次跑嚴格類型檢查、Host/Client 構建和 Vitest。README 徽章寫測試爲 8 passing,tests/ 目錄裏目前能看到 format.test.ts、projection.test.ts 和 artifact.test.ts,分別覆蓋 Token/耗時格式化、模型路由 projection 以及構建產物契約。日常使用不需要跑這些命令。
適用場景與注意事項¶
比較適合下面這些情況:
- 在 DeepSeek Harness Web UI 裏跑長任務,需要隨時確認 Agent 是否還在跑、上下文是否接近窗口上限。
- 同時開了後臺 Job 或子 Agent,想在當前會話裏看到並行數量,而不是去翻別的面板。
- 關心這一輪時間花在模型還是工具上,以及輸入(含緩存讀寫)和輸出 Token 的累計。
- 需要快速覈對「當前到底走了哪個模型 / Provider」,以及自己身在哪個 Workspace、哪條 Session。
使用前建議把這幾條限制看清楚:
- 只讀、只管展示。它不能改模型、不能停任務、不能估費用,也不能當調試控制檯。
- 當前只承諾 Web profile。
package.json的dsh.client.platform爲web,README 寫明其他平臺尚未承諾兼容性。 - 不增加模型開銷。沒有額外模型調用,統計也不會寫入提示詞上下文;代價是它完全依賴 Harness 已有投影,Host 側若還沒產出對應事件,界面就只能顯示佔位。
- 權限與供應鏈。插件以當前 dsh 進程權限運行,安裝時可能執行構建腳本。安裝前請閱讀倉庫源碼和 MIT 許可證;生產或可復現環境請固定 commit,而不是始終追蹤默認分支。
- 同名倉庫。不要把
github:a903067276-rgb/dsh-hud當成本文這個插件。 - 版本綁定。當前公開驗證範圍是 DeepSeek Harness 0.1.0-rc.6。官方倉庫仍在快速迭代,升級 Harness 後如果頂欄空白或投影對不上,應先覈對該插件是否已跟進。
README 的 Roadmap 裏還列了可配置 segment、Git/CI 狀態、上下文閾值告警、第三方 segment 協議等,那些是規劃項,不是當前版本已交付的能力。
小結¶
dsh-hud 把 Codex / Claude Code 裏那類「Agent 還在做什麼、還剩多少上下文」的運行態,接到了 DeepSeek Harness 的會話標題欄。它不改 Agent 行爲,只把 Harness 已經維護的 snapshot 和 projection 持續露出來:模型路由、上下文壓力、Token、耗時、後臺任務和子 Agent,點一下就能看全。
目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-hud/
GitHub:https://github.com/zexuanw958-svg/dsh-hud