前言¶
DeepSeek Harness(DSH)採用「一切皆插件」的架構:能力靠插件掛載,界面與工具鏈也靠插件拼裝。對日常在 Web 端跑智能體的開發者來說,常見做法是逐個搜索、安裝 dsh-at-file、右側邊欄、任務看板、皮膚等插件,再自行處理依賴與掛載順序。步驟多、版本容易不一致,也缺少賬戶餘額、Checkpoint、全局指令這類橫切能力。
下面介紹 lilwhich/dsh-plugin-gather(npm 包名 my_better-dsh,當前 v0.9.6,MIT 許可證)。它把一組精選插件與 7 項自研增強打包成 bundle,一條安裝命令即可掛載,面向「想快速把 DSH Web 用起來、又不想逐個挑插件」的場景。維護者爲 lilwhich;SkillHub 目錄頁將其歸類爲「聯網工具」,GitHub 星標 10。
這是什麼¶
dsh-plugin-gather 是一個 DSH Web 插件聚合包。完整安裝後,相當於在原生 DSH Web 之上疊加:
- 7 項本包內置能力:VSCode 風格左側欄、賬戶狀態欄、刪除確認(安全模式)、對話遷徙(Context Handoff)、Checkpoint 快照、Diff Review、全局設定(編輯
~/.dsh/AGENTS.md)。 - 6 項隨包依賴的精選插件:
dsh-at-file(@引用文件)、dsh-better-sidebar(右側邊欄)、以及dsh-web-ui精選的右側面板、任務看板、即時吞吐、全家桶設置頁、皮膚中心(10 款主題)。
UI 支持中英雙語,跟隨系統語言切換。本包不包含寵物、移動端遠程、Git 圖譜、SSH 運維等偏門插件;需要時可自行 dsh plugin --profile web add <包名> 追加。
核心功能¶
賬戶狀態與運行統計¶
輸入框下方有兩行狀態欄。第一行展示 DSH 官方運行統計:輪數/步數、LLM 時間、工具調用時間、首 token 平均、TPS、緩存命中、輸入/輸出 token。第二行展示本包賬戶信息:
- API 餘額(¥),數據來自
api.deepseek.com/user/balance,host 側用DEEPSEEK_API_KEY調用,密鑰不出主機。 - 本次已消耗(餘額差值)。
- 當前時段(高峯/空閒)及距下次切換的倒計時。峯谷定價規則:高峯爲北京時間 9:00–12:00、14:00–18:00,空閒爲其餘時段(空閒半價;README 註明 2026-08-17 起生效)。
- 當前對話剩餘上下文窗口(如
剩 384K/1M),顏色隨剩餘比例變化。
餘額每 60 秒刷新一次。輸入框內也會在特定時機浮動顯示剩餘上下文窗口。
VSCode 風格左側欄與對話大綱¶
左側欄分爲「文件 / 會話 / 大綱」三欄:
- 文件:懶加載當前工作區文件樹,點擊文件在右側邊欄打開。
- 會話:保留原會話列表與運行/完成狀態,支持置頂、複製路徑、刪除等菜單操作。
- 大綱:掃描當前會話的用戶消息生成導航目錄,點擊節點滾動定位並高亮;滾動聊天時自動標記當前閱讀段;頂部搜索可過濾節點。
Checkpoint 快照¶
Agent 每次開始運行、準備修改項目文件前,會自動創建 Checkpoint。右側邊欄有 CHECKPOINTS 標籤頁,可查看快照列表、變更文件與 diff,恢復需兩次確認。
- Git 項目:用
git add -A+commit作快照,diff 用git show,恢復用git reset --hard <commit>。工作區無變化時跳過。 - 非 Git 項目:不初始化 Git,將文件複製到
~/.dsh/checkpoints/(排除 node_modules、.git、dist、build 等),快照間 diff 用git diff --no-index。恢復會覆蓋快照中的文件,不刪除快照後新增的文件(README 標註爲已知限制)。
快照索引存於 ~/.dsh/checkpoints/<工作區哈希>/index.json。
Diff Review¶
右側邊欄 Diff Review 標籤頁在 Agent 通過 read/write/edit/str_replace_editor 等工具改文件時,於工具執行前捕獲原狀態,執行後計算行級 LCS diff 並即時展示。保留最新 6 條記錄,客戶端每 1.5s 輪詢 /my-better-dsh/api/diff-review,每個工作區首次出現改動時自動打開面板。
安全模式(刪除確認)¶
默認模式爲 full-access-except-delete:讀取、創建、修改、終端、網絡、Git 等操作自動放行,僅在刪除文件/目錄時掛起工具並彈出確認框。識別範圍覆蓋常見 shell 刪除命令(rm、del、Remove-Item 等),並避免對 git rm、npm rm 等誤判。模式可通過 GET/POST /my-better-dsh/api/security/mode 切換爲 full-access,狀態持久化。左側欄底部有「刪除時確認」開關。
對話遷徙(Context Handoff)¶
左側欄底部「對話遷徙」按鈕:確認後,複用 DSH 自身 Agent/LLM Runtime(不新增外部 API)在後臺創建臨時分析會話,對當前對話做本地預處理與摘要,生成 Context Handoff,再創建新對話並注入壓縮後的上下文。原對話保持不變;失敗時可重試。UI 會顯示預處理後的 token 估算。
全局設定¶
編輯用戶級指令文件 ~/.dsh/AGENTS.md(類似 Claude Code 的 CLAUDE.md),規則對所有會話生效;項目目錄下的 AGENTS.md / CLAUDE.md 優先級更高。左側欄底部「全局」按鈕或右側邊欄「全局設定」標籤頁均可編輯,支持 Markdown 編輯、原子保存、恢復模板、未保存內容本地暫存。
隨包精選插件¶
| 插件 | 作用 | 版本(package.json) |
|---|---|---|
| dsh-at-file | 輸入框 @ 搜索並引用工作區文件/目錄 |
v0.6.0 |
| dsh-better-sidebar | VSCode 風格右側邊欄(資源管理器 / 編輯器 / 終端 / Git 等) | ^0.12.2 |
| @linxin666/dsh-client-ui-aionui-panel | 右側面板:文件樹 / 預覽 / Git 變更 | ^0.1.16 |
| @linxin666/dsh-client-ui-task-board | 任務看板:多列 + cron 定時 | ^0.1.16 |
| @linxin666/dsh-live-stats | 即時吞吐 / Token 統計 | ^0.1.16 |
| @linxin666/dsh-client-ui-web-ui-settings | 全家桶設置頁 | ^0.1.16 |
| @linxin666/dsh-skins + dsh-client-ui-skin-center | 皮膚中心(10 款主題) | ^0.1.16 |
安裝與啓用¶
SkillHub 與 GitHub README 給出的完整安裝命令如下。安裝前建議瀏覽倉庫源碼並確認 MIT 許可證;插件以當前 DSH 進程權限運行,安裝即授予其相應能力。
dsh plugin --profile web add https://github.com/lilwhich/dsh-plugin-gather --config.block-exotic-subdeps=false --config.strict-dep-builds=false --config.minimum-release-age=0 --config.auto-install-peers=false
若只需部分插件,可逐個安裝,例如:
dsh plugin --profile web add dsh-better-sidebar --config.strict-dep-builds=false --config.minimum-release-age=0 --config.auto-install-peers=false
dsh plugin --profile web add dsh-at-file --config.strict-dep-builds=false --config.minimum-release-age=0 --config.auto-install-peers=false
注意:本包內置的 7 項能力(賬戶狀態欄、Checkpoint、全局設定、Diff Review、對話大綱、左側欄文件/會話、安全模式等)僅隨完整安裝提供,單獨裝上述插件不會包含它們。
經過上面的步驟後,重啓 dsh web 並硬刷新瀏覽器(Ctrl+Shift+R),新界面與 API 路由纔會生效。
典型用法¶
1. 日常開發:邊欄 + 快照 + Diff¶
完整安裝後,左側欄瀏覽工作區文件,右側邊欄查看 Git 變更與文件預覽。Agent 開始改代碼前會自動打 Checkpoint;改動過程中打開 Diff Review 審查行級 diff。若誤改,在 CHECKPOINTS 中經兩次確認恢復。
2. 長對話續作:對話遷徙¶
對話上下文接近上限或歷史過長時,點擊左側欄「對話遷徙」。確認後等待預處理與分析完成,系統會打開新對話並注入 Handoff 摘要,原對話保留不動。狀態欄會顯示「已從上一對話遷徙」標記。
3. 跨項目統一規則:全局設定¶
在「全局設定」中編輯 ~/.dsh/AGENTS.md,寫入對所有會話生效的編碼規範、回覆風格或工具使用約束。保存後新會話立即生效,當前會話下一輪自動刷新。
4. 引用文件:@ 路徑¶
安裝包內含 dsh-at-file。在輸入框輸入 @ 可搜索並引用工作區文件或目錄,減少手動粘貼路徑。
5. 刪除前確認¶
保持默認「刪除時確認」開啓。Agent 執行刪除操作時,確認框會列出路徑與批量數量;拒絕後工具返回「用戶拒絕了該刪除操作。」,任務不中斷。
適用場景與注意¶
適合誰
- 剛接觸 DSH Web、希望一條命令獲得較完整界面與工具鏈的開發者。
- 需要賬戶餘額/峯谷時段感知、Checkpoint 回滾、長對話 Handoff 的日常智能體使用者。
- 不想手動挑選並維護多個 UI 插件版本的用戶。
注意事項
- 插件以 DSH 進程權限運行,完整安裝會拉取多個 npm 依賴與 GitHub tarball;安裝前請檢查源碼與許可證(MIT)。
- Checkpoint 在非 Git 項目下恢復不會刪除快照後新增文件,使用前需瞭解該限制。
- 賬戶餘額接口依賴 host 配置
DEEPSEEK_API_KEY;未配置時相關展示可能不可用。 - SkillHub(https://www.skillhub.cn)是社區插件目錄,與 DeepSeek / 幻方無官方從屬關係;版本與星標以各頁面當時信息爲準(當前 GitHub 10 stars,v0.9.6)。
結尾¶
dsh-plugin-gather 把 DSH Web 常用的界面插件與賬戶、快照、Handoff、全局指令等橫切能力收成一條安裝命令,減少逐個掛載與版本對齊的成本。若你正在搭建 DSH Web 日常環境,可先完整安裝,再按需追加其它插件。
- SkillHub 目錄頁:https://www.skillhub.cn/plugins/lilwhich/dsh-plugin-gather
- GitHub 倉庫:https://github.com/lilwhich/dsh-plugin-gather