前言¶
在 DeepSeek Harness(DSH)中,插件是擴展功能的常見方式。隨着自行安裝、本地鏈接、GitHub 來源等插件增多,單一插件列表容易把官方插件和自行安裝插件混在一起。
dsh-plugin-diraud 解決的是這個問題:按來源分組展示當前加載的 DSH 插件,並把自行安裝插件的啓用、禁用、更新、卸載放到同一入口。它由 tttwh 維護,許可證爲 MIT。
定位與適用範圍¶
下面介紹這個插件的定位。
- 它是一個 DSH 插件,用於 Web 端側邊欄和 composer 的插件列表管理。
- 核心對象是當前加載插件,重點區分
official與self-installed。 - 提供
/plugin-audit命令和側邊欄底部的Plugin Catalog入口。 - 官方/內置插件以及本插件自身會被鎖定或拒絕卸載。
核心功能¶
按來源審計插件¶
/plugin-audit 命令會按官方/自行安裝分組列出當前加載插件,並支持 user、official 與關鍵字過濾。
常用命令如下:
/plugin-audit
/plugin-audit user
/plugin-audit official
/plugin-audit <keyword>
/plugin-audit 用於查看整體概覽;user 只看自行安裝插件;official 只看官方插件;<keyword> 用於按包名或 entry 關鍵字過濾。
自行安裝插件的啓用與禁用¶
自行安裝插件可以通過兩個入口啓用或禁用:
1、側邊欄底部 Plugin Catalog 入口中的按鈕;
2、composer 中的命令:
/plugin-audit disable <keyword>
/plugin-audit enable <keyword>
開關會持久化到 profile 的 cordis.patch.yml,可以恢復,並會調用 ctx.loader.update 即時生效。官方/內置插件會被鎖定,不能通過這類方式改變狀態。
Plugin Catalog 面板¶
Plugin Catalog 面板按來源分組顯示插件卡片。每張卡片會展示來源標識、已安裝版本、entry id 和描述。
面板支持以下能力:
- 按模塊名 /
entry id搜索; - 每個分組顯示即時計數;
- 列表加載失敗時提供重試按鈕;
- 描述優先使用內置模塊名到
zh/en的字典,回退到包自身的description; - 當包的
repository或homepage指向 GitHub 時,卡片會顯示 GitHub 按鈕,用於打開完整功能文檔。
自行安裝插件更新¶
自行安裝插件的更新會先檢查 npm registry。面板頂部會有更新欄,提供 Re-check 和 Update all;單個插件卡片也會有 Update 按鈕,並在執行時顯示進度。
npm 來源的更新使用:
pnpm add <pkg>@latest
如果環境需要,會回退到 corepack / npx。
GitHub 來源插件也支持更新,兼容 github:、git+、git://、git@ 等規格。更新時會比較本地 commit 與遠端 HEAD / tag,並重新執行 pnpm add 原始規格或新 tag。如果依賴固定到某個具體 commit,則會標記爲不可自動更新。
如果更新後舊包名失效,但新包名仍指向同一倉庫,面板會報告 repository renamed,並給出移除舊包的命令。
更新任務會在模塊級 store 中排隊執行:
- 連續點擊會被合併到下一批任務;
- 不會併發啓動兩個 pnpm 進程;
- 關閉面板後,任務仍會繼續並可以被觀察。
對於 link:、file:、workspace: 依賴,面板會使用源感知標籤,分別顯示爲桌面應用更新或本地插件,避免把這類依賴誤報爲普通 npm 更新。官方/內置插件和本插件自身會被鎖定。
自行安裝插件卸載¶
每張自行安裝插件卡片右側會有紅色 Uninstall 按鈕。
點擊後會執行:
1、確認卸載;
2、執行 pnpm remove;
3、刷新插件列表。
非自行安裝包和本插件自身會被拒絕卸載。
安裝與啓用¶
前置依賴:pnpm 和 dsh CLI。
推薦從 npm 安裝:
dsh plugin --profile web add dsh-plugin-diraud
也可以從 GitHub main 分支安裝:
dsh plugin --profile web add https://github.com/tttwh/dsh-plugin-diraud/archive/refs/heads/main.tar.gz
經過上面的步驟後,重啓 dsh web,然後可以:
- 在 composer 輸入
/plugin-audit; - 或點擊側邊欄底部的
Plugin Catalog。
典型用法¶
查看插件來源¶
/plugin-audit
/plugin-audit user
/plugin-audit official
/plugin-audit <keyword>
禁用或啓用自行安裝插件¶
/plugin-audit disable <keyword>
/plugin-audit enable <keyword>
這類操作會寫入 profile 的 cordis.patch.yml。如果之後想恢復默認狀態,刪除對應行即可。
卸載本插件¶
dsh plugin --profile web remove dsh-plugin-diraud
強制歸類爲自行安裝¶
默認情況下,插件來源會按包作用域判斷。遇到邊緣情況,例如第三方包發佈在 @deepseek-ai/ 下,可以通過 extraUserPackages 強制歸類爲自行安裝。
在 profile 的 cordis.patch.yml 中覆蓋 plugin-audit 的配置:
- id: plugin-audit
config:
extraUserPackages:
- '@deepseek-ai/dsh-my-fork'
適用場景與注意¶
適合這類使用者:
- 當前 DSH 環境中同時存在官方插件和自行安裝插件;
- 需要快速確認某個插件是官方、內置還是自行安裝;
- 希望集中啓用、禁用、更新或卸載自行安裝插件;
- 對 npm 和 GitHub 來源的插件都需要查看狀態。
使用前需要注意:
- 它是運行在 dsh 進程內的插件,安裝前應檢查源碼與許可證。
- 插件會以當前 dsh 進程權限運行,更新和卸載會實際執行包管理操作。
- 官方/內置插件以及本插件自身被鎖定或拒絕卸載。
- 啓用/禁用狀態寫入 profile 的
cordis.patch.yml,刪除對應行可恢復默認。 - 更新任務會排隊執行,不會併發啓動兩個 pnpm 進程;關閉面板後任務仍會繼續。
link:、file:、workspace:依賴會顯示爲桌面應用更新或本地插件,避免誤報。- 社區目錄頁是獨立站點,不應理解爲官方應用商店,也不代表與 DeepSeek / 幻方存在官方從屬關係。
小結¶
dsh-plugin-diraud 的價值在於把 DSH 插件列表按來源拆開:官方/內置插件和自行安裝插件不再混在一個視圖裏,自行安裝插件的啓用、禁用、更新、卸載也有統一入口。
- GitHub:https://github.com/tttwh/dsh-plugin-diraud
- 社區目錄頁(線索提供,訪問前請自行確認):https://www.skillhub.cn/plugins/tttwh/dsh-plugin-diraud