前言¶
在 DSH(DeepSeek Harness)裏,能力往往以獨立 npm 插件的形式存在:每個包自帶 dsh.bundle.patch,掛進 profile 後才真正進 loader。當你想同時用上產物路徑聯動、側欄瀏覽器、Todo 懸浮球、模型面板等一整套增強時,逐個查包名、寫 dependencies、再維護十幾條 bundles 列表,工作流會變得零碎且容易漏配。
下面介紹維護者 loyalchiiina 發佈的 dsh-loyalchiiina-plugin-pack:一個插件聚合 bundle,用一條依賴安裝把 14 個已發佈子包一起掛上;形態上參考官方 @deepseek-ai/dsh-experimental-agent-team-profile(bundle = patch + dependencies,入口 lib/index.js 僅 export {})。本包在 SkillHub 目錄歸類爲工作流;適配 DSH 內核 0.2.2-rc.1。npm 上聚合包版本以 package.json 爲準(資料中爲 0.1.1),許可證 MIT。
這是什麼¶
dsh-loyalchiiina-plugin-pack 自身不含任何運行時行爲:lib/index.js 只有 export {},不註冊服務、工具、路由或 UI。全部能力來自 cordis.patch.yml(在 package.json 裏聲明爲 dsh.bundle.patch)中 insert: 的 14 條 entry,每條指向一個獨立 npm 子包。
因此它的價值不是「又一個功能插件」,而是把 14 個可選插件收成一份可複製的 profile 依賴方案;你也可以完全跳過聚合包,只單獨安裝其中任一子包。
包含的 14 個組件¶
版本口徑以本包 package.json 的 dependencies 爲準(caret 範圍,均爲 npm 已發佈版本,無 link: / file:)。聚合層 entry id 統一爲 suite-<短名>,與子包自身的 entry id(包名)不衝突。
| # | 包名 | 作用(簡述) | 聚合 entry id |
|---|---|---|---|
| 1 | dsh-artifact-linker |
產物路徑聯動:常駐「產物路徑鐵律」+ 正文文件名渲染爲可點芯片 | suite-artifact-linker |
| 2 | dsh-browser-hub |
側欄瀏覽器:搜索引擎、書籤、多級文件夾、360/Chrome 書籤導入 | suite-browser-hub |
| 3 | dsh-chat-image-lightbox |
對話圖片燈箱:縮放/平移/下載/翻頁、TIFF·HEIC 轉碼等 | suite-chat-image-lightbox |
| 4 | dsh-console-sentinel |
控制台哨兵(Windows):預覽後清理任務欄控制台窗口,白名單與求解器硬保護 | suite-console-sentinel |
| 5 | dsh-deepseek-web-free |
非官方 DeepSeek 網頁端提供方 + 內嵌網頁面板 | suite-deepseek-web-free |
| 6 | dsh-font-enhancer |
分區字體/顏色/字號/行高 DIY,方案與皮膚 | suite-font-enhancer |
| 7 | dsh-lit-fetch |
文獻檢索與 PDF 獲取:Crossref/OpenAlex、Sci-Hub 鏡像與 Unpaywall 兜底 | suite-lit-fetch |
| 8 | dsh-skill-browser |
技能庫瀏覽、檢索、治理與 MCP 相關能力 | suite-skill-browser |
| 9 | dsh-agent-team-auto-orchestrator |
智能體團隊自動編排:鐵律注入 + 工具層硬門 | suite-agent-team-auto-orchestrator |
| 10 | dsh-todo-float-ball |
當前會話 Todo 進度環與清單懸浮球 | suite-todo-float-ball |
| 11 | dsh-voice-alert |
回合結束語音提醒,內置音效,可克隆音色 | suite-voice-alert |
| 12 | dsh-archive-favorites-forge |
會話收藏與歸檔:路徑複製、守衛刪除、批量歸檔與導出 | suite-archive-favorites-forge |
| 13 | dsh-model-fold |
三級級聯模型面板:來源/模型/強度、識圖與思考開關 | suite-model-fold |
| 14 | dsh-schedule-calendar |
側欄日程、天氣、節假日與待辦提醒 | suite-schedule-calendar |
本包不寫任何 config: 覆蓋,14 個組件默認跑各自子包配置。需要改參數時,在 profile 層按 entry id 追加 config:,字段名見各子包 README 或 cordis.patch.yml。
安裝與啓用¶
方式 A:裝整包(14 個一起)¶
先用 pnpm 把聚合包裝進 profile 工程(只做依賴安裝,尚不會自動合併 patch):
pnpm add dsh-loyalchiiina-plugin-pack
要讓 DSH 合併本包的 dsh.bundle.patch,還需把包名列入 profile 的 dsh.profile.bundles:
// ~/.dsh/profiles/<profile>/package.json
"dsh": {
"profile": {
"bundles": ["dsh-loyalchiiina-plugin-pack"]
}
}
桌面端 desktop profile 由 Electron 獨佔管理:CLI 會拒絕 dsh plugin --profile desktop,需手改 profiles/desktop/package.json 後再用 pnpm 安裝。
方式 B:只裝其中一個¶
聚合包不是必經中間層。例如只要 Todo 懸浮球:
pnpm add dsh-todo-float-ball
把子包自己的包名(不是 suite-* id)寫進 dsh.profile.bundles;每個子包自帶 dsh.bundle.patch,可獨立啓用。
不要重複掛載¶
同一 profile 裏不要同時把 dsh-loyalchiiina-plugin-pack 與其已包含的某個子包都列進 bundles。那樣同一插件會被兩個 bundle 各掛一次,造成重複註冊(即便 entry id 加了 suite- 前綴不會報 duplicate loader entry id,行爲仍然錯誤)。
改完後如何生效¶
| 改動位置 | 生效方式 |
|---|---|
package.json / cordis.patch.yml / profile 的 bundles 與 node_modules |
完全退出 DSH 客戶端再啓動(無熱重載) |
子包 lib/client.js(客戶端 bundle) |
安裝後 Ctrl+Shift+R 硬刷新 |
關掉單個組件(可選)¶
補丁層順序爲 bundle:* → user-patch → home-patch,後層按 id last-wins。推薦在 profile 的 cordis.patch.yml 裏按 entry id 關閉(可逆、不進包):
- id: suite-voice-alert
disabled: true
也可在本包 cordis.patch.yml 對應條目加 disabled: true,等價於默認關閉該組件。
適用場景與注意¶
適合希望一次性對齊 loyalchiiina 這套 14 插件組合、又不想手工維護長 bundles 列表的 DSH 用戶;也適合先裝整包試用,再按需改爲只保留部分子包單獨安裝。
安裝前請注意:
- 插件在當前 DSH 進程權限下運行,涉及瀏覽器、文件、控制台、文獻抓取等能力的子包會觸達本機資源,安裝前應閱讀各子包源碼與 MIT 許可(聚合包亦爲 MIT)。
- 要求 Node
^22.19.0 || >=24.0.0(見package.jsonengines),與內核 0.2.2-rc.1 對齊後再裝。 - SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係;星標等目錄元數據以站點展示爲準(當前線索爲 0 star)。
- 子包版本由 caret 範圍管理,修 bug 可對 profile 執行
pnpm update,不必等聚合包發版;子包 breaking change 時聚合包會升 minor 並在 CHANGELOG 說明(見 README 版本策略)。
結尾¶
dsh-loyalchiiina-plugin-pack 把 14 個獨立 DSH 插件收成一份 bundle patch + dependencies:裝依賴、寫 bundles、重啓客戶端即可整套啓用,也可隨時拆成單包或按 entry id 關閉單項。