前言¶
DeepSeek Harness(DSH)裏,插件裝得越多,每個對話能看到的工具清單就越長。工具定義會佔進請求前綴,模型在一長串名字裏也容易選錯。常見做法是少裝插件、或靠習慣手動剋制——但全局可見這一點本身沒有變。
裝備欄(dsh-loadout)把工具收成「套裝」:一個對話選一套,運行時只保留這套裏的內置工具與插件工具;其餘用遮罩藏起來,不刪插件本身。下面介紹它做什麼、怎麼裝、怎麼用,以及切換套裝和 token 估算時要注意的事。
這是什麼¶
dsh-loadout(裝備欄)是維護者 JungleYXu 發佈的 DSH 插件,npm 包名與插件 id 均爲 dsh-loadout,許可證 MIT。社區目錄頁:skillhub.cn/plugins/JungleYXu/dsh-loadout;源碼與文檔:github.com/JungleYXu/dsh-loadout。
同名說明:npm 上的 dsh-loadout 是本插件唯一發行包;GitHub 上另有 YongjianWan/dsh-loadout、JYDW-1/dsh-loadout 等同名獨立項目,作者與功能不同。用 dsh plugin add dsh-loadout 裝到的是本插件;從 GitHub 安裝時請認準 JungleYXu/dsh-loadout。
插件只控制「當前對話模型能看到哪些工具」。已啓用的插件仍在後臺運行;界面類插件(側邊欄、主題等)不受套裝裁剪影響。
核心功能¶
三檔底座¶
| 底座 | 含義 |
|---|---|
全部 |
不裁剪,默認行爲 |
僅內置 |
只保留 DSH 自帶工具 |
我的套裝 |
使用你保存的或預置的命名套裝 |
套裝管理¶
- 我的套裝:在「新建套裝」裏勾選內置工具與插件,存成帶名字的一套;卡片上可設爲默認、複製切換命令、編輯(覆蓋保存或另存爲新套)、加 20 字備註、刪除。
- 預置五套(只讀):僅聊天、編程用、查找資料、項目梳理、寫作;套用即可,改動會另存爲你的套裝。預置只列內置工具,插件工具需靠「加掛」或另存時勾選。
- 加掛:在當前底座或套裝之上臨時加開插件,不必爲一次性組合新建套裝。
- 每對話獨立:每個對話的選擇寫入
~/.dsh/loadout.json的assignments,重啓後照舊;改「新對話默認套裝」隻影響之後新建的對話。
預置套裝與 /kit 子命令¶
| 套裝 | 子命令 id | 內置工具(摘要) |
|---|---|---|
| 僅聊天 | chat |
ask_user_question、weather、web_search、web_fetch、read + 協作五件套 |
| 編程用 | coding |
pwsh、read、write、edit、glob、grep、todo_write + 協作五件套 |
| 查找資料 | research |
搜索/研究類工具 + read、write、glob、grep + 協作五件套 |
| 項目梳理 | plan |
問答、搜索、讀寫改查、todo_write + 協作五件套 |
| 寫作 | writing |
read、write、edit、glob、grep + 協作五件套 |
「協作五件套」指 send_message、list_agents、interrupt_agent、subagent、subagent_fork;每套預置都帶上,否則子代理切到該套後無法回話。
對話內可用 /kit <名字> 切換;模型側還保留 kit_list、kit_apply、kit_assign、kit_rename、kit_create 等管理工具,任意套裝下都不會被裁掉,避免鎖死。
token 賬本(估算)¶
菜單狀態行會顯示類似「省 ~1.9k tokens」;設置頁給出「保留 N 個工具 · 約 X tokens · 省多少」。算法把每個工具的定義序列化後按約 3.5 字符/token 估算,只算工具清單段,界面標明爲估算,不宜當精確賬單。
刷新¶
對話頁裝備欄菜單右上角 ⟳ 可重拉工具目錄並重新套用當前選擇(對已加載的宿主有效,不必爲此重啓)。
安裝與啓用¶
三種來源安裝的是同一個包;資料中的命令如下。
# 1) npm(已發佈,最短)
dsh plugin --profile desktop add dsh-loadout
# 2) GitHub(npm 不可達時用同一個包)
dsh plugin --profile desktop add github:JungleYXu/dsh-loadout
# 3) 本地目錄(開發用,鏈接安裝,不拷貝)
dsh plugin --profile desktop add link:<本目錄絕對路徑>
在 Harness 內也可讓插件管理器安裝本地目錄(等價於第 3 種):
plugin_manager action=install_bundle target=<本目錄絕對路徑>
裝完後需重啓應用:宿主插件沒有熱重載,僅刷新界面不夠。文檔建議優先鏈接安裝而非拷貝,避免 profile 內副本與源碼漂移;開發自檢可運行 node scripts/preflight.mjs。
插件以當前 DSH 進程的權限運行;安裝前請自行查看倉庫源碼與 MIT 許可證,確認符合你的環境策略。要求 Node >=20(見 package.json engines)。
典型用法¶
- 標題欄:點「裝備欄」切換底座、加掛插件、新建套裝。
- 設置 → 裝備欄:管理套裝、改備註、設「新對話默認套裝」(不切換當前已開對話)。
- 新對話:在發出第一條消息前,輸入區旁有「選擇對話套裝」膠囊;此處切換不產生緩存前綴代價,是文檔推薦的最省切換點。
- 命令行式切換:在對話裏發送
/kit coding等(名字對應套裝或預置 id)。
持久化示例(節選):
{ "assignments": { "session-abc": "coding", "session-def": null } }
null 表示「全部」。顯式切換(標題欄、/kit、kit_apply、kit_assign)纔會改綁定;子代理不單獨記綁定,跟隨父對話可見工具集。
卸載:
plugin_manager action=remove_bundle target=dsh-loadout
適用場景與注意¶
適合誰:經常同時裝多個 DSH 工具/插件、希望按任務(聊天、寫代碼、查資料、寫作)收窄工具面,並願意在新建對話時選好套裝的 Harness 用戶。
切換代價:請求前綴順序爲系統提示 → 工具定義 → 歷史 → 本輪輸入;工具定義一變,其後歷史在下一條請求可能按未命中價重算。文檔建議長對話儘量開場選好套裝;中途切換在上下文很大時成本明顯,空閒、剛壓縮或剛重啓後切換則影響較小。菜單底部會用宿主 token meter 投影給出「下一條未命中價」提示(按 ¥2 / ¥0.5 每百萬 token 估算,僅提示)。
邊界:
- 看不到「已下載但未啓動」插件的工具;工具需在插件
apply()之後才存在。 - 遮罩是減法:內置工具用 deny 規則,插件工具用
tools.restrict({ deny })。 - 新裝或刪掉
loadout.json後默認底座爲「全部」;覆蓋安裝會保留已選的默認套裝。
排查要點:界面無按鈕時先重啓;GET /dsh-loadout/state 返回 JSON 表示宿主在跑。若懷疑裝錯同名包,檢查 node_modules/dsh-loadout/package.json 的 repository.url 是否爲 github.com/JungleYXu/dsh-loadout。
結尾¶
裝備欄解決的是 DSH「工具全局可見、清單隨插件變長」的問題:用套裝做 per-conversation 裁剪,並配合設置頁、標題欄與新對話膠囊分工管理默認與當前對話。社區目錄與 GitHub 倉庫由社區維護,與 DeepSeek / 幻方無官方從屬關係。
- 目錄頁:https://www.skillhub.cn/plugins/JungleYXu/dsh-loadout
- GitHub:https://github.com/JungleYXu/dsh-loadout