把任意 Claude Code / Codex / Cursor / Kimi / agent-plugins.org 的 git 市场仓库加为源,套件的技能、MCP 服务器、hooks 与斜杠命令在运行时注入 DSH 会话,并自带 Web 市场页。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-agent-plugins-market
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:Sivan757/dsh-agent-plugins-market
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
dsh-agent-plugins-market
在 DeepSeek Harness(DSH) 之内,一站式管理 skills、subagent、MCP、LSP,兼容 Claude Code、Codex、Cursor、Kimi 等 agent plugins 体系。
复用 Claude Code、Codex、Cursor、Kimi 等已识别布局中支持的内容,在 DSH Web 界面管理自己的技能、命令、代理角色、MCP 服务和 LSP 服务。
如果这个插件帮到了你,欢迎在 GitHub 点个 Star ⭐。
页面
你可以用它做什么
- 十种套件布局。 Claude Code、Codex、Cursor、Kimi Code、ZCode、Qoder CLI、GitHub Copilot CLI、Universal
.plugin/、agent-plugins 与无清单技能集合。 - 来源。 添加 Git 仓库、本地目录或压缩包(
.zip/.tar.gz/.tgz/.tar);收编自己克隆的目录;按需刷新;删除来源时可一并删除受管目录。 - 第一方来源。 插件预置一条指向自身套件集合的仓库源记录,所以首次运行市场里就列出该仓库,不需要粘贴任何地址。此后它就是普通 Git 来源——刷新以拉取,再像其他来源一样安装与启停其中的套件。
- 适合你网络的下载方式。 下载区域设置(默认
auto跟随界面语言,也可显式选择全球或中国大陆)决定github.com克隆走的镜像前缀;代理与单次调用调优在宿主配置里。 - 运行时能力。 启用套件会注入会话:技能进入目录与斜杠菜单,命令以
/名称调用,代理角色进入子代理目录,MCP 工具以mcp__前缀注册,hooks 挂到宿主生命周期事件,语言服务器通过lsp工具使用。 - MCP。 内置桥接无需宿主 MCP 客户端,支持 stdio、带 OAuth 的 Streamable HTTP 和旧式 SSE。
${VAR}引用从宿主凭据服务或启动环境解析;按服务覆盖可禁用或修补声明,不必修改源文件,可设置工具调用超时与启动超时,也可逐个关闭工具;新建服务表单只问名称、传输方式与该传输方式必需的字段,其余设置都以 JSON 写入;还可选用宿主客户端兼容模式。套件的工具名为mcp__<套件>__<服务>__<工具>;你在~/.agents/mcp.json自建的服务以自己的键挂载,即mcp__<服务>__<工具>。 - LSP。 随插件自带:安装插件即完成全部设置,
lsp工具只在确有语言服务器需求时挂载;语言服务器可执行文件本身需在PATH中。从「需要你自己在 profile 里暴露 LSP」的版本升级上来时,若 profile 里还留着那层手工配置,会报接缝冲突;LSP 面板会指出该文件并代为移除这一层,且保留备份。 - 代理角色与委派。 角色卡片保存精确的供应商、模型与思考强度;角色出现在会话目录中,通过
subagent_role运行,立即返回可继续的后台子代理 ID。 - 项目维度。 项目自身的技能、代理、命令、MCP 服务与 hooks 无需安装即被发现。
- 自建资源。 技能、命令和代理角色以 Markdown 保存在
~/.agents/下,可随时编辑或禁用而不删除文件。 - 后台自动更新来源。 可选:按定时器刷新全部已配置来源;默认关闭。
- Web 工作区。 六个页签——插件市场、技能、命令、代理角色、MCP 服务、LSP 服务——每个页签都有搜索、过滤与网格/列表切换,并提供带诊断的状态面板、凭据编辑,以及可在启用可执行第三方内容前提示风险的安装确认。
- 双语界面与反馈。 工作区文案与注入提示跟随宿主语言;启用反馈后,模型可通过
gh命令或 GitHub token 提交report_market_issue报告;两者都没有时,会打开预填好的 GitHub 新建 issue 页面并把完整 issue 文本交给你。
快速开始
将 <name> 替换为你的 profile 名称后安装:
dsh plugin --profile <name> add dsh-agent-plugins-market
- 重启 DSH,打开 设置 → Agent Plugins 市场。
- 市场里已经列出第一方来源;点刷新即可拉取其中的套件。想补充更多内容时再添加来源,例如
https://github.com/anthropics/claude-plugins-official。 - 打开套件查看内容,确认后安装,并确保套件已启用。
- 如果套件提供技能,先在技能页签查看,再在聊天中输入
/查找允许手动调用的技能。如果提供 MCP,前往 MCP 服务检查状态,处理凭据或连接提示后再使用工具。
环境要求、profile 配置与其他安装方式见使用指南。
日常使用
工作区包含六个页签:
| 页签 | 可以做什么 |
|---|---|
| 插件市场 | 添加来源、预览套件、安装 / 卸载、启用 / 禁用和刷新。 |
| 技能 | 浏览技能,创建或编辑自己的可复用指令。 |
| 命令 | 管理通过 /名称 调用的提示词模板。 |
| 代理角色 | 管理角色指令并为每个角色保存精确的供应商、模型与思考强度;通过 subagent_role 在后台委派。 |
| MCP 服务 | 自行新增服务或配置已安装的服务及其凭据与授权,查看连接状态并重试失败的服务。 |
| LSP 服务 | 新增并配置语言服务器,查看运行状态。 |
**来源(source)**表示内容来自哪里,**套件(suite)**是从中发现的可安装单元。添加来源用于发现套件;安装并启用套件决定其运行时能力是否生效。
你自己创作的内容都放在共用的 Agent 布局根目录:技能、命令和角色是 ~/.agents/ 下的 Markdown 文件,命令 hooks 放在 ~/.agents/hooks.json(或 ~/.agents/hooks/hooks.json),工作区里新增的 MCP 与 LSP 服务分别保存在 ~/.agents/mcp.json 与 ~/.agents/lsp.json。命令与角色按任意子目录深度读取,因此其它工具写在 ~/.agents/commands/git/commit.md 的文件可用 /git-commit 调用。项目原生资源继续保留在项目中。路径和优先级见存储与发现。
六个页签共用持久化的卡片/列表偏好。新增、刷新统一位于页头;资源状态条为绿色时表示生效中。
兼容性与运行边界
支持的**布局方言(layout dialect)**描述文件如何组织。统一优先级表并列列出套件清单与 Marketplace 目录索引。schemas/ 中十种布局契约均有独立读取测试;布局审计把它们对应到固定提交号的仓库快照。
支持的**运行时能力(runtime surface)**描述 DSH 能使用什么:
| 能力 | 支持情况与条件 |
|---|---|
| 技能 | 接入宿主技能目录,允许手动调用的技能出现在斜杠菜单;展开支持的根路径占位符。 |
| 命令 | 通过宿主命令服务注册斜杠命令。 |
| 代理 | 动态子代理目录与 subagent_role;需要宿主 agents、tools、LLM、subagents 与会话持久化服务。 |
| MCP | 默认使用内置桥接,支持 stdio、带 OAuth 的 Streamable HTTP 和旧式 SSE;也可切换宿主客户端兼容模式,该模式执行工具调用超时,但不执行工具过滤与启动超时。 |
| Hooks | 运行 dsh-hooks-claude-code 桥接映射支持的 command-hook 子集。 |
| LSP | 随插件自带:安装插件即安装 LSP 支持包,lsp 工具只在确有语言服务器需求时挂载;语言服务器可执行文件本身需在 PATH 中。 |
代理角色显示在会话目录中,并通过 subagent_role(agent, prompt) 执行。角色可以保存精确的 provider + model 与 reasoning_effort;其余声明一律忽略,子代理改为继承父会话路由。tools 与 disallowedTools 会保留在文件中但不会生效。frontmatter 字段与边界见代理角色。
布局识别优先级
同一个套件目录同时存在多个清单时,按下表顺序选择第一个存在的文件来确定布局:
| 优先级 | 布局 | 套件清单 | Marketplace 目录索引 |
|---|---|---|---|
| 1 | agent-plugins / 根兼容清单 | plugin.json |
无专属索引 |
| 2 | Universal 兼容布局 | .plugin/plugin.json |
.plugin/marketplace.json |
| 3 | Claude Code | .claude-plugin/plugin.json |
.claude-plugin/marketplace.json |
| 4 | Cursor | .cursor-plugin/plugin.json |
.cursor-plugin/marketplace.json |
| 5 | Kimi Code | kimi.plugin.json,其次 .kimi-plugin/plugin.json |
.kimi-plugin/marketplace.json |
| 6 | Codex | .codex-plugin/plugin.json |
.agents/plugins/marketplace.json,其次 .agents/plugins/api_marketplace.json |
| 7 | ZCode | .zcode-plugin/plugin.json |
无专属索引 |
| 8 | Qoder CLI | .qoder-plugin/plugin.json |
.qoder-plugin/marketplace.json |
| 9 | GitHub Copilot CLI | .github/plugin/plugin.json |
.github/plugin/marketplace.json |
| 回退 | 技能集合 / 共享索引 | 无已知清单时按技能集合约定发现 | 根 marketplace.json |
- 清单按顺序尝试: 读不出或校验不通过的清单会给出诊断,然后尝试下一优先级,直到回退项;全部失败时给出诊断,不会加载半个套件。
- 组件补充: 根
plugin.json未声明受识别的 agent-plugins$schema时,缺失的组件声明可以从.claude-plugin/plugin.json补齐;根清单中的显式声明优先,marketplace 条目声明补充剩余缺项。 - Marketplace 索引遵循同一顺序:第一个能产出套件的索引胜出,无效或空索引允许继续尝试后续候选。
顺序定义见 src/model/layouts.ts,选择与根清单补充逻辑见 src/catalog/manifests.ts。
布局支持矩阵
表中说明本插件是否读取该布局的对应能力。支持表示读取该布局自己的文件并注入;部分表示只理解其中一部分格式,或上游布局本身没有对应定义——具体见下表说明。依据见兼容性报告与布局审计。
| 布局 | 技能 | 代理 | 命令 | MCP | Hooks | LSP |
|---|---|---|---|---|---|---|
| Claude Code | 支持 | 支持 | 支持 | 支持 | 部分 | 支持 |
| Codex | 支持 | 支持 | 支持 | 部分 | 部分 | 支持 |
| Cursor | 支持 | 部分 | 部分 | 部分 | 不支持 | 支持 |
| Kimi Code | 支持 | 支持 | 支持 | 支持 | 部分 | 部分 |
ZCode .zcode-plugin/ |
支持 | 支持 | 支持 | 支持 | 部分 | 部分 |
Qoder CLI .qoder-plugin/ |
支持 | 支持 | 支持 | 部分 | 部分 | 部分 |
| GitHub Copilot CLI | 支持 | 支持 | 支持 | 支持 | 部分 | 支持 |
Universal 兼容布局 .plugin/ |
支持 | 支持 | 支持 | 支持 | 部分 | 支持 |
| agent-plugins | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 无清单技能集合 | 支持 | 支持 | 支持 | 支持 | 部分 | 部分 |
| 项目原生目录 | 支持 | 支持 | 支持 | 支持 | 部分 | 不支持 |
- 技能读取清单声明的路径与约定的
skills/目录,也支持平铺的<name>.md文件。自带SKILL.md的路径就是一个技能:与它并列的文档属于该技能,不作为技能读取。合规的 agent-plugins 套件是例外:技能只来自skills/一层子目录,与其规范一致。 - 代理与命令按 Markdown 读取(
agents/*.md、commands/*.md)。Cursor 插件命令接受.md、.mdc、.markdown、.txt;Codex 与 Kimi 的原生代理/命令格式(TOML、YAML)尚未适配。 - MCP 支持声明的文件、内联表与数组。Cursor 的无 schema
mcp.json与 agent-plugins 的严格mcp.json都能读取;Kimi Code 只读内联声明。Codex 的 app 连接器不在适配范围内。 - Hooks 只映射 DSH 有对应点的命令类事件;没有对应点的事件(例如
afterFileEdit)给出诊断而不伪造执行。Cursor 的原生事件不读取。 - LSP 支持声明的文件、数组、内联表,以及约定的
.lsp.json/lsp.json位置。项目内的 LSP 声明只给诊断、不挂载:宿主 LSP 注册表是全局的。部分布局只提供目录预览。 - agent-plugins 套件按规范读取可移植核心(
skills/、mcp.json),另通过本插件的com.deepseek.harness扩展命名空间承载命令、代理、hooks、LSP 与逐服务器 MCP 策略(OAuth、工具清单、超时)。该布局下根目录的commands/、agents/、hooks/与.mcp.json属于其它布局,给出「未读取」诊断;清单内联组件键按 §5.2 报告后忽略。两个受支持的版本(1.0.0、1.1.0)各自按内置 schema 校验。 - Universal 是本插件使用的兼容布局名称:OpenHands SDK文档同样使用
.plugin/plugin.json,Vercel 仓库也在使用,但不存在跨厂商规范。
能读取一种布局,并不保证复现原平台的全部行为。无效声明会被诊断并跳过。
项目布局开关
插件设置卡提供扫描项目 Agent 布局(dsh-agent-plugins-market.scanProjectLayouts,默认关闭)。它只控制一件事:当前项目是否把自己目录(.claude、.agents、.codex、.cursor、.kimi、.zcode、.qoder、.github)里的技能、命令、代理角色、MCP 服务与 hooks 贡献到会话里。开启后纳入这些候选,关闭后在下一轮发现时移除。卡片在你保存时生效,设置带着你自己填的值时也提供「恢复默认」。配置源与已安装套件不受影响。
每种布局读取哪些目录与文件、如何挂载,见项目布局。
抽样验证
README 中的仓库在 tests/fixtures/real-layouts/ 保留了离线快照(含提交号、哈希与许可证),且每种布局都有独立的读取测试。兼容性报告记录抽样仓库、schema 结论与扫描器输出,布局审计记录独立的资源核验。这些是文档、源码与抽样核验,并非每个平台的端到端兼容认证。
启用第三方套件前请检查其内容:启用的服务和 hooks 可以执行程序。详见运行时与安全边界。
常见问题
安装后为什么找不到技能或工具?
检查套件及对应能力是否启用。技能可能限制手动调用;MCP / LSP 面板显示用户服务故障。项目资源还需要开启项目扫描;不支持的原生字段与项目 LSP 声明进入扫描诊断。
在哪里配置 MCP token?
在 MCP 服务中打开对应服务。缺失环境变量引用时显示 needs-credentials。宿主管理的凭据只写不读;启动环境中的凭据需要修改环境后重启 DSH。
套件没有声明的服务怎么添加?
在 MCP 服务或 LSP 服务中点击新增并填入声明。声明会先校验,保存到 ~/.agents/mcp.json 或 ~/.agents/lsp.json,并与套件服务走同一套挂载生命周期。从宿主配置观察到的服务保持只读。
来源会自动更新吗?
只有开启后台自动更新来源后才会:开启后每 6 小时刷新一次全部已配置来源,第一次刷新在开启满一个周期之后。该开关默认关闭,刷新按钮始终可用。
没有添加任何来源,市场里的套件是从哪来的?
插件预置一条指向自身套件集合的仓库源记录,所以首次运行市场里就列出该仓库;点刷新即可拉取其中的套件。此后它与其他来源完全一致——包括删除:和通过配置预置的来源一样,下次激活会重新登记。
来源下载失败怎么办?
可以使用本地目录、收编手动克隆的仓库,或配置代理与镜像,见配置市场源。
本地修改什么时候生效?
没有文件监听。本地来源的发现结果最多缓存 30 秒,刷新来源可立即使缓存失效。项目发现有独立的五秒缓存。已经打开的页面不会自动刷新。
删除来源会删除文件吗?
只有勾选确认框里的「同时删除市场目录」才会删除。它删除该源在 ~/.dsh/agent-plugins/.sources/<id> 下的目录——包括你手动克隆后被收编的目录。指向 .sources/ 之外的本地目录源永不删除。
更多文档
- 使用指南:安装、来源配置、存储、宿主要求、项目布局、MCP / LSP 和反馈设置。
- 插件规范:各布局的参考 schema 与依据、内置的 agent-plugins 契约(1.0.0、1.1.0),以及
com.deepseek.harness命名空间契约。 - 兼容性报告:每个 schema 一个真实仓库,含提交号、schema 结论与扫描器输出。
- 贡献指南:开发环境、检查命令和 PR 流程。
- 安全政策 · 版本记录 · MIT 许可。
- 领域词汇 · 架构设计。
- 代理角色与存储:已安装资源切换、角色模型路由与目录迁移。
交流群
扫描下方二维码加入 dsh-agent-plugins-market 微信群,提问与提需求都可以在群里说。
链接
同类插件
zhu1090093659/dsh-web#packages/dsh-plugin-manager★ 8334
设置 → 插件 分区里的插件管理 Tab:从 npm/git 安装带进度、下次启动生效的启停开关、安装冲突对账可撤销、失败一键转交修复会话。
dsh-market/dsh-market★ 5449
在 DeepSeek Harness 设置页内浏览、搜索并安装社区插件,支持分类筛选、一键更新与停用,以及主题切换与配置备份。
kingOfSoySauce/dsh-skin-market★ 181
原生皮肤市场与生命周期管理器,发现社区皮肤、展示预览与兼容状态,并提供已验证的一键安装或手动安装入口。
bradeGithub/DSH-Plugins-Marketplace★ 169
面向 GitHub dsh-plugin 话题的插件与技能市场:设置页内逛自动收录的全量索引(CI 每 2 小时刷新),一键安装带类型识别、安装脚本与宿主依赖遮蔽安全检查、环境变量密钥管理,并附 STANDARD.md 识别层规范。
awesome-dsh-plugin/dsh-find-plugin★ 166
会话内直接找插件:按关键词/分类搜索本精选 registry,返回描述与可直接执行的安装命令。
Sanqi-normal/dsh-webui-market-plugin★ 104
dsh Web GUI 内的社区插件市场:浏览 awesome-dsh-plugin.com 目录,从 设置 → 插件 → 插件市场 安装/卸载插件到 profile。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。