前言¶
在 DSH 中做智能體擴展時,技能、插件清單和可選 hooks 往往來自不同倉庫和不同目錄。需要在 DSH 中從 Git 倉庫加載 Codex / Claude 技能,並在設置頁統一管理市場、插件、技能和工作區覆蓋時,可以使用 DSH 插件 dsh-agent-plugin-market。
它由 Diluka 維護,許可證爲 MIT。下面介紹它的能力、安裝方式和典型用法。
這是什麼¶
dsh-agent-plugin-market 是一個 DSH 插件。它把 Git 倉庫作爲 agent 內容市場:克隆市場倉庫,識別市場清單和插件清單,加載有效技能,並在設置頁提供管理入口。
可以把它看作 DSH profile 中的一個市場插件。它會在當前 DSH 進程權限內訪問市場倉庫、技能目錄和本機配置,因此安裝前建議檢查源碼、許可證和倉庫來源。
插件基本信息如下:
name: dsh-agent-plugin-market
owner: Diluka
license: MIT
version: 0.5.1-dsh.0.1.1-rc.2
核心功能¶
先接入市場,再管理插件和技能。這個插件提供以下能力:
- 將 Git 倉庫作爲 agent 內容市場,克隆市場倉庫並發現技能。
- 識別市場清單,路徑包括:
.agents/plugins/marketplace.json
.claude-plugin/marketplace.json
.cursor-plugin/marketplace.json
.github/plugin/marketplace.json
marketplace.json
- 識別插件清單,路徑包括:
.codex-plugin/plugin.json
.claude-plugin/plugin.json
plugin.json
- 已安裝插件的有效技能默認啓用;根
skills/中未被插件引用的獨立技能默認關閉,可單獨或按市場啓用。 - 支持全局默認和工作區覆蓋。工作區保存稀疏啓用/禁用覆蓋值,缺少覆蓋時繼承全局配置。
- 安裝插件只保存安裝狀態,不復制市場文件;技能
resourceBase指向克隆後的技能目錄,實現原地加載。 - 註冊代理工具,用於查看狀態和寫入工作區覆蓋:
agent_market_info
agent_market_set_plugin
agent_market_set_skill
- 支持可選 Codex hooks。啓用需要已安裝插件、設置頁雙重確認、配置指紋審批,以及可用的
@deepseek-ai/dsh-hooks-codexbridge。 - 設置頁添加「技能與掛鉤」區段,提供市場、插件、技能和 hooks 的管理及目錄篩選。
- Host RPC 以 loopback authority 註冊;客戶端在非本機連接時拒絕顯示市場操作。
相關配置項如下:
source
resourceBase
source 用於市場清單中指向插件目錄;resourceBase 是技能加載時使用的資源基目錄。
安裝與啓用¶
先安裝插件包,再重啓 DeepSeek Harness:
dsh plugin --profile web add github:Diluka/dsh-agent-plugin-market
重啓後,進入設置 -> 技能與掛鉤,管理市場、插件和 skills。
依賴包如下:
@deepseek-ai/dsh-client-ui-primitives
@deepseek-ai/dsh-hooks-codex
其中 @deepseek-ai/dsh-client-ui-primitives 是運行時 peer dependency,由 DSH profile 提供;@deepseek-ai/dsh-hooks-codex 是 optional peer dependency。bridge 缺失時,設置頁顯示安裝命令並禁用 hooks 開關。
典型用法¶
下面按常見操作順序介紹。
添加市場¶
在設置頁輸入 SSH 或 HTTPS Git 倉庫地址,可選擇默認分支、分支、標籤或 commit。
添加後,插件會按已識別的清單和 skills/ 發現可用內容。
安裝插件¶
市場清單的每項插件由 source 指向市場內的插件目錄;未聲明 source 時使用倉庫根目錄。
更新市場¶
Host 啓動時會對默認分支和分支引用執行:
git pull --ff-only
標籤和 commit 是固定引用,更新會跳過。
管理技能¶
已安裝插件的有效技能默認啓用。根 skills/ 中未被插件引用的技能需要先顯式啓用,可逐項或整組切換。
工作區覆蓋¶
選擇工作區後,使用三態菜單:
繼承全局
僅此工作區啓用
在此工作區禁用
工作區保存稀疏覆蓋值;沒有某個覆蓋鍵時繼承全局配置。
管理 hooks¶
bridge 可用時,第一次點擊開關只顯示確認;第二次點擊才保存當前配置指紋並嘗試掛載。
具體支持哪些事件點以及非 command hook 的執行語義,由所安裝的 bridge 和協議版本決定,不在本插件中硬編碼。
代理工具¶
代理可調用:
agent_market_info
查看市場狀態。也可調用:
agent_market_set_plugin
agent_market_set_skill
寫入工作區三態覆蓋。
代理工具只暴露讀取和工作區覆蓋寫入,不執行市場添加、刪除、Git 更新、全局安裝/卸載或 hooks 授權。home 路徑會話會被 scoped restriction 隱藏這些工具;若運行時未能隱藏,執行時也會拒絕。
適用場景與注意¶
適合需要在 DSH 中從 Git 倉庫統一加載 agent 技能,並對不同工作區保留不同啓停狀態的開發者。
注意以下邊界:
- 插件以當前 DSH 進程權限運行;安裝前檢查源碼、許可證和倉庫來源。
- 插件路徑必須解析在市場根目錄內;
.dsh目錄和配置文件不能是符號鏈接;用戶 home 目錄不作爲工作區覆蓋根。 - 當前 hooks 配置審批仍爲全局配置。
- Host RPC 以 loopback authority 註冊;客戶端在非本機連接時拒絕顯示市場操作。
結尾¶
dsh-agent-plugin-market 將市場倉庫、技能加載、工作區覆蓋和可選 hooks 收斂到 DSH 設置頁中。倉庫地址如下:
https://github.com/Diluka/dsh-agent-plugin-market
目錄頁:未提供地址。