前言¶
在 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
目录页:未提供地址。