前言¶
DeepSeek Harness(DSH)中,創造模式(agent-presets)的運行時檢查與動態插件能力由官方預設提供。但官方實現依賴進程級單例註冊表 cordisInspect,導致該預設無法被複制使用——複製品無法掛載,因爲會觸發“provider 已註冊”的錯誤。本插件將這套能力重構爲宿主層的普通工具集,不向 cordisInspect 註冊 provider,從而允許創造模式預設被複制並在任意會話中複用。
核心功能¶
本插件提供以下工具:
| 工具 | 作用 |
|---|---|
cordis_inspect_list |
列出檢查面:四個宿主 provider(Service / Event / Builtin / Tool),加上從瀏覽器頁面鏡像來的客戶端 provider |
cordis_inspect_query |
只讀查詢。宿主查詢本地執行;客戶端查詢轉發給已連接的頁面,頁面應答才返回 |
cordis_inspect_self |
看本會話擁有的動態插件、包版本、運行診斷與源碼 |
cordis_define |
記錄一個不可變的 Package(宿主半邊 / 客戶端半邊)。只記錄源碼,不執行、不改變運行版本 |
cordis_run |
激活一個 Package:首次運行用 run,換版本用 update,回滾也用 run |
cordis_stop |
停掉當前運行,保留定義、版本與授權,之後可以直接再跑 |
cordis_undefine |
永久刪除插件及其全部版本 |
安裝與啓用¶
在 DSH 的 profile 目錄(默認 ~/.dsh/profiles/web)裏執行:
pnpm add 'github:leolee9086/dsh-tool-cordis-local#v0.1.0'
安裝後,通過補丁層或bundle方式掛載(二選一):
方式一:profile 補丁層加一行
在 ~/.dsh/profiles/web/cordis.patch.yml 中插入:
- insert:
- id: tool-cordis-local
name: dsh-tool-cordis-local
方式二:作爲 bundle 掛載
在 ~/.dsh/profiles/web/package.json 的 dsh.profile.bundles 中添加 "dsh-tool-cordis-local"。
安全與邊界¶
本插件的核心價值在於它能讓模型定義並運行任意 JavaScript(宿主半邊在 Harness 進程內執行),因此必須謹慎對待:
- 權限風險:把掛着它的會話當作 shell 權限來對待。不要在不信任的會話裏開放它。
- 代碼執行:
cordis_define與cordis_run是唯一會真正執行代碼的入口,執行發生在 Harness 進程內部,不經過沙箱。 - 會話要求:所有工具都要求
exec.agent,脫離會話調用會明確報錯。 - 生命週期:動態插件是進程內的臨時產物,重啓進程後定義消失(與官方 runner 的行爲一致)。
- 只讀與執行:
cordis_inspect_query是隻讀的,不能調用業務服務方法或改運行時;cordis_define僅記錄源碼,不執行。
總結¶
dsh-tool-cordis-local 解決了 DSH 創造模式預設無法複製的問題。它通過不註冊進程級 provider 的方式,將運行時檢查和動態插件生命週期封裝爲宿主層工具。安裝前請務必通讀源碼,確認安全性。
- GitHub 倉庫:https://github.com/leolee9086/dsh-tool-cordis-local
- 社區目錄:https://www.skillhub.cn/plugins/leolee9086/dsh-tool-cordis-local