dsh-plugin-gather:一鍵裝配 DSH Web 增強套件

前言

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 刪除命令(rmdelRemove-Item 等),並避免對 git rmnpm 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
羽毛球分组比赛记分
小程序二维码

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

小夜