用 dsh-toolbox 給 DeepSeek Harness 裝上本地工具箱

前言

DeepSeek Harness(dsh)把模型、工具、沙箱、會話和界面都做成可替換的 Cordis 插件。開發者預覽階段裏,往 Profile 里加 Bundle 很方便,麻煩通常出在後面:證據散落在瀏覽器收藏和聊天記錄裏、不同任務搶同一份上下文、裝插件前不知道包裏有什麼、RC 升級後哪些 Bundle 會掛。改完 cordis.patch.yml 再回滾,也缺少一份可覈對的計劃。

社區目錄把這類能力歸在「工具與能力」。dsh-toolbox 的做法是把產品研究、上下文切換、插件預檢和兼容性監控做成四個本機 Bundle,再用一個跑在 Harness 進程外的控制檯去看 Profile、做健康檢查、預覽變更並回滾。本文按目錄頁、GitHub 倉庫 README、package.json 和 LICENSE 覈對後整理。

需要先說明兩件事。DeepSeek Harness 的官方倉庫是 deepseek-ai/deepseek-harness,核心理念是「一切皆插件」。社區插件目錄 deepseek-harness-plugin.com 是獨立站點,和 DeepSeek / 幻方沒有官方從屬關係,不能當成官方應用商店。dsh-toolbox 的 README 也寫明:項目獨立開發,與 DeepSeek 無隸屬或背書關係。

這是什麼

dsh-toolbox 是給單人本地工作流準備的 DeepSeek Harness 配套工具,由 HiWhaleW 維護,源碼在 HiWhaleW/dsh-toolbox。目錄頁分類爲「工具與能力」。截至 2026-08-17,目錄頁與 GitHub 倉庫星標均爲 26。倉庫版本爲 0.2.1,主要語言是 JavaScript。

它要解決的不是再做一個聊天皮膚,而是這幾件事:

  • 把公開網頁或粘貼文本收成可追溯的研究證據,並導出 Markdown / HTML 報告
  • 按任務路由到有邊界的運行時上下文,激活後可以回滾
  • 安裝前靜態檢查本地 Bundle 的包語義、能力信號、SBOM 和指紋
  • 對照目標運行時做兼容性快照,升級前先看差異
  • 在 Harness 進程外查看 Profile、規劃 Bundle 變更、備份並回滾

四個功能包作爲原生 DSH Profile Bundle 運行;第五項 DSH Switchboard 刻意放在當前 Harness 進程之外。README 的理由很直接:正在跑的插件不應該去改啓動它自己的那份配置。

0.2.1 及之後的源碼採用 PolyForm Noncommercial License 1.0.0,允許個人學習、研究、實驗、教育和許可文本定義的非營利用途,不允許商業使用。目錄頁和 GitHub 的 SPDX 字段顯示爲 NOASSERTION,是因爲這份許可證不在 GitHub 常見 SPDX 列表裏;以倉庫 LICENSE 原文爲準。更早已經按 MIT 分發的副本,仍受當時授權約束。

核心功能

倉庫把能力拆成五個包。前四項可獨立安裝,第五項是源碼分發的本地控制面,目前不是任何 DSH Profile 的 npm 依賴。

組件 日常用途 工具數
@dsh-toolbox/product-research-workbench 導入 URL / 文本證據,整理發現、評估機會、備份項目並生成報告 12
@dsh-toolbox/context-switchboard 把任務路由到有邊界的上下文,激活原生運行時上下文並支持回滾 10
@dsh-toolbox/plugin-preflight 安裝前檢查本地 Bundle 的包語義、能力、策略、SBOM 與指紋 2
@dsh-toolbox/compatibility-radar 發現 Bundle,對比目標運行時,保存 / 比較快照並生成升級報告 7
@dsh-toolbox/dsh-switchboard 發現 Profile、檢查 Bundle、規劃變更、驗證、備份、報告與回滾 CLI / 控制面

四個 Bundle 合計 31 個工具。SECURITY.md 的發版檢查清單也要求:在隔離的 DSH_HOME 裏裝入四個打包後的 Bundle,覈對 --dump-config、全部 31 個工具註冊,以及原生運行時上下文。

產品研究工作臺

product-research-workbench 把粘貼文本和公開網頁收成證據卡片、痛點聚類、機會評分和報告。抽取與聚類用的是本地確定性規則,不是再調一次模型。URL 導入只對未認證的公開 http(s) 頁面發 GET,默認攔截迴環、私網、鏈路本地、元數據等非公開地址。登錄爬取、瀏覽器 Cookie、驗證碼繞過和社交媒體抓取不在 MVP 範圍內。

默認數據目錄是 ~/.local/share/dsh-toolbox/product-research-workbench。報告可同時出 Markdown 和自包含 HTML,HTML 不加載遠端腳本。research_export 默認不帶原文;只有顯式打開 includeSourceContent=true 纔會把原始文本打進可恢復的 JSON 備份。

上下文切換

context-switchboard 保存帶關鍵詞、指引、資源指針和 token 預算的上下文配置,按任務做確定性路由,再通過 DSH 原生的 systemPrompt.context() 註冊表注入一份有邊界的運行時上下文快照。當前完整包會物化成會話裏的快照,並替換上一份,而不是越積越厚。它不替換部署人設、沙箱策略或審批策略。資源指針只是標籤,插件不會自動打開這些路徑。

建議流程是:context_profile_savecontext_routecontext_activatecontext_current / context_historycontext_rollback

插件預檢與兼容性雷達

plugin-preflight 是隻讀靜態掃描。plugin_preflight_scan 檢查包清單、Profile Bundle 的 patch 語義、打包文件、許可證聲明、生命週期腳本、依賴名、符號鏈接、文件大小,以及 JS/TS 裏的能力信號,並給出結構化發現、打包內容的 SHA-256 指紋、依賴 SBOM 和 Markdown。plugin_preflight_report 再寫成私有 Markdown / HTML 回執。它不執行腳本、不裝依賴、不跟隨符號鏈接、不訪問註冊表。掃描通過不是安全保證。

compatibility-radar 讀取允許範圍內的本地 package.json,對照目標運行時做矩陣,可保存快照並用 compatibility_diff / compatibility_report 看升級風險。它理解當前 DSH 插件裏常見的精確版本、比較符、caret、tilde、通配和 || 範圍。雷達不會自動升級軟件,也不在後臺查註冊表。預發佈 semver 仍要靠一次真實安裝冒煙。

Switchboard:進程外的本地控制檯

DSH Switchboard 發現 $DSH_HOME/profiles 下的 Profile,解釋有序的 Bundle 層,調用 Preflight 和 Radar,生成可審閱的變更計劃,用官方 dsh --profile <name> --dump-config 做運行時校驗,並在 SQLite 裏留下備份和回滾回執。只讀檢查不要求 dshPATH 上;寫入或回滾默認需要 CLI,因爲一次成功的 dump-config 是安全門。

圖形界面從倉庫檢出後啓動:

pnpm install --frozen-lockfile
pnpm switchboard:gui

然後打開 http://127.0.0.1:4173/。服務只監聽本機迴環地址,讀取 $DSH_HOME/profiles,不展示 API 憑據,寫入前必須經過審閱。界面左側導航四個工作視圖:DSH Profiles、Plugins、Activity、Settings;右側固定最近活動。

倉庫 README 還提供在線交互演示:https://dsh-toolbox.lisongyang0130.chatgpt.site 。在線版只在當前瀏覽器內存裏模擬健康檢查、Bundle 開關、變更計劃、活動和回滾,刷新即復原。它不會連接訪客電腦,也不會讀取 DSH Profile、API 憑據或 SQLite。裝上本地版之後纔會接通真實 DSH 鏈路。

安裝與啓用

目錄頁給出的安裝命令是:

dsh plugin add github:HiWhaleW/dsh-toolbox

如需可復現安裝,目錄頁建議固定 commit:

dsh plugin add github:HiWhaleW/dsh-toolbox#commit

#commit 換成實際哈希。插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。安裝前應檢查源碼倉庫和許可證。

根倉庫的 package.json 標記爲 private workspace,SECURITY.md 寫明尚未發佈 npm 包或 GitHub Release。README 把已經驗證過的便攜流程寫成:先 npm pack 四個工作區包,再分別加入同一個 Profile。打包本身不執行插件代碼,也不要求先裝倉庫依賴。

環境要求來自 README:

  • Node.js ^22.19.0 || >=24.0.0(使用內置 node:sqlite
  • npm,用於打包本地 Bundle
  • @deepseek-ai/dsh@0.1.0-rc.6
  • 一個你有權修改的本地 DSH Profile

已驗證的組合是 DeepSeek Harness 0.1.0-rc.6、DSH Tools 0.1.0-rc.6、Cordis 4.0.1,以及 Node.js 24.x 和聲明的 22.19+ 範圍。若本機還沒有釘住的 CLI:

npm install --global @deepseek-ai/dsh@0.1.0-rc.6
dsh --version

五分鐘安裝(倉庫 README 原文流程,版本號對應 0.2.1):

git clone https://github.com/HiWhaleW/dsh-toolbox.git
cd dsh-toolbox

mkdir -p dist
npm pack --workspace @dsh-toolbox/product-research-workbench --pack-destination dist
npm pack --workspace @dsh-toolbox/context-switchboard --pack-destination dist
npm pack --workspace @dsh-toolbox/plugin-preflight --pack-destination dist
npm pack --workspace @dsh-toolbox/compatibility-radar --pack-destination dist

dsh plugin --profile toolbox add ./dist/dsh-toolbox-product-research-workbench-0.2.1.tgz
dsh plugin --profile toolbox add ./dist/dsh-toolbox-context-switchboard-0.2.1.tgz
dsh plugin --profile toolbox add ./dist/dsh-toolbox-plugin-preflight-0.2.1.tgz
dsh plugin --profile toolbox add ./dist/dsh-toolbox-compatibility-radar-0.2.1.tgz

dsh --profile toolbox --dump-config

最後一條應能看到四個 Bundle 層。之後用同一 Profile 啓動:

dsh --profile toolbox

可以只裝需要的 tarball。各包沒有 install lifecycle scripts。也可以在倉庫根目錄 npm install 後按檢出路徑安裝,但 tarball 更接近 npm 打包語義,也是文檔裏驗證過的便攜方式。

Switchboard 目前是源碼分發的技術預覽,從檢出目錄運行:

npm run switchboard -- detect
npm run switchboard -- profiles
npm run switchboard -- inspect toolbox
npm run switchboard -- health toolbox

變更命令是 plan-first:沒有 --apply 時只打印計劃、不寫盤。

npm run switchboard -- bundle disable toolbox @dsh-toolbox/context-switchboard
npm run switchboard -- bundle disable toolbox @dsh-toolbox/context-switchboard --apply
npm run switchboard -- history

它會保存 SHA-256 狀態指紋、原子寫入備份和 SQLite 回執;過期計劃會被拒絕,也不會在用戶後續手工改過 Profile 之後強行回滾。

典型用法

四個 Bundle 在 DSH 裏註冊工具,不是獨立的 shell 命令。可以對助手直接點名工具,也可以描述目標,讓 dsh 選擇。

產品研究的建議順序:

research_create → research_add_source → research_extract
→ research_evidence_add(可選的人工校正)
→ research_analyze → research_report

README 裏的示例請求:

Create a research project called "Local AI research workflows".
Import this pasted interview text, extract evidence, analyze the opportunities,
and generate both Markdown and HTML reports.

上下文切換的示例請求:

Save a context profile named "DSH plugin development" with the keywords
"dsh", "cordis", and "plugin"; use a 1,200-token budget. Route this task,
activate the best profile, and show me the activation receipt.

安裝前預檢:

Run plugin_preflight_scan on packages/context-switchboard and explain every
finding before I install it. Then create the Markdown and HTML audit report.

兼容性快照:

Discover DSH bundles under packages, check them against DSH Tools 0.1.0-rc.6,
Cordis 4.0.1, and my current Node version, then save a compatibility snapshot.

改 DSH 或 Cordis 版本前,再存一份快照,用 compatibility_diffcompatibility_report 看回歸。雷達不會替你升級。

默認數據目錄都在 ~/.local/share/dsh-toolbox/ 下,按組件分子目錄。運行數據庫、報告、導出、會話、環境文件和 Cookie 已被倉庫 .gitignore 排除,提交前仍應檢查暫存區。研究報告和導出可能含原文、引文、URL、本地路徑或個人信息,外發前要審一遍。

適用場景與注意事項

適合這些人和場景:

  • 本機跑 DeepSeek Harness,Profile Bundle 越裝越多,需要可視化檢查和可回滾變更
  • 做產品調研時希望證據、分析和報告留在本機 SQLite,而不是送到託管後端
  • 寫或審查社區插件,安裝前要看包語義、lifecycle scripts 和能力信號
  • 釘在 0.1.0-rc.6 這類 RC 上,升級前想先留兼容性快照

使用時注意下面幾條,均來自目錄頁或倉庫文檔:

  1. 插件以當前 dsh 進程權限運行。 安裝可能執行代碼。裝前檢查源碼和許可證;要可復現就固定 commit。
  2. 這是實驗性 MVP,僅限非商業用途。 DeepSeek Harness 仍處於 Developer Preview,版本升級可能影響 Profile Bundle 兼容性。商業產品、收費服務、商業諮詢交付物或內部業務用途,按許可文本均不允許。
  3. 在線演示不等於本機數據。 演示站只在瀏覽器內存裏模擬;真實 Profile、備份和 SQLite 只在本地完整版出現。
  4. 預檢通過不是安全保證。 靜態掃描可能漏掉傳遞依賴、混淆代碼、原生模塊或運行時行爲。SBOM 來自清單,不是已解析的依賴圖。
  5. 上下文包不會改沙箱和審批。 導入的上下文配置應按不可信配置審閱後再激活。
  6. Node 版本有硬門檻。 需要 ^22.19.0 || >=24.0.0。Switchboard GUI 綁在 127.0.0.1,不是多用戶授權邊界;同一操作系統用戶下的其他進程仍可能直接讀 Profile 或備份。
  7. 報告可能帶本地路徑。 截圖、診斷和 HTML 報告外發前應脫敏。完整邊界見倉庫 PRIVACY.mdSECURITY.md

小結

dsh-toolbox 把產品研究、上下文路由、插件預檢和兼容性監控收進四個本地 Bundle,再用進程外的 Switchboard 做 Profile 健康檢查、變更計劃和回滾。數據默認留在本機 SQLite,沒有賬號、託管後端和遙測。對正在本地折騰 DeepSeek Harness Profile 的人來說,它主要補的是「裝得進去、改得回去、升級前能先看一眼」。

相關地址:

  • 目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-toolbox/
  • GitHub:https://github.com/HiWhaleW/dsh-toolbox
  • 在線演示(僅瀏覽器內存模擬):https://dsh-toolbox.lisongyang0130.chatgpt.site
  • DeepSeek Harness 官方倉庫:https://github.com/deepseek-ai/deepseek-harness
羽毛球分组比赛记分
小程序二维码

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

小夜