dsh-agent-plugins-market 0.6.2 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +117 -111
- package/README.zh.md +112 -98
- package/client/client.js +28533 -1511
- package/client/client.js.map +1 -1
- package/lib/application/catalog-context.js +188 -0
- package/lib/application/catalog.js +229 -1109
- package/lib/application/details.js +19 -8
- package/lib/application/install-store.js +95 -0
- package/lib/application/lsp-service.js +97 -0
- package/lib/application/mcp-service.js +263 -0
- package/lib/application/panel-resources.js +43 -14
- package/lib/application/ports.js +21 -0
- package/lib/application/project-agent-roles.js +8 -2
- package/lib/application/snapshot-cache.js +160 -0
- package/lib/application/source-store.js +521 -0
- package/lib/catalog/archive.js +35 -30
- package/lib/catalog/component-files.js +14 -6
- package/lib/catalog/fs-probes.js +43 -0
- package/lib/catalog/manifests.js +53 -92
- package/lib/catalog/native-project.js +2 -2
- package/lib/catalog/paths.js +74 -55
- package/lib/catalog/plugin-variables.js +38 -0
- package/lib/catalog/project-config.js +2 -1
- package/lib/catalog/project-hooks.js +23 -2
- package/lib/catalog/scan-resolvers.js +29 -45
- package/lib/catalog/skills-parse.js +61 -10
- package/lib/catalog/source-catalog.js +10 -4
- package/lib/catalog/suite-components.js +7 -7
- package/lib/catalog/suite-scanner.js +3 -1
- package/lib/catalog/surfaces.js +5 -26
- package/lib/catalog/validate.js +7 -11
- package/lib/contracts/market.js +2 -0
- package/lib/contracts/settings.js +63 -0
- package/lib/index.js +115 -217
- package/lib/model/layouts.js +10 -1
- package/lib/model/types.js +26 -3
- package/lib/routes.js +57 -15
- package/lib/runtime/agent-role-names.js +70 -0
- package/lib/runtime/agent-role-router.js +142 -106
- package/lib/runtime/commands-mounts.js +55 -11
- package/lib/runtime/deadline.js +54 -0
- package/lib/runtime/dynamic-context.js +140 -0
- package/lib/runtime/feedback-tool.js +101 -46
- package/lib/runtime/hooks-mounts.js +9 -11
- package/lib/runtime/host-locale.js +49 -24
- package/lib/runtime/lsp-direct-config.js +19 -19
- package/lib/runtime/lsp-mounts.js +182 -70
- package/lib/runtime/lsp-server-state.js +4 -4
- package/lib/runtime/lsp-status.js +1 -1
- package/lib/runtime/mcp-auth-record.js +42 -0
- package/lib/runtime/mcp-backend.js +14 -14
- package/lib/runtime/mcp-client/config.js +8 -1
- package/lib/runtime/mcp-client/connection.js +38 -43
- package/lib/runtime/mcp-client/host-contract.js +10 -0
- package/lib/runtime/mcp-client/host-seams.js +8 -88
- package/lib/runtime/mcp-client/oauth.js +5 -7
- package/lib/runtime/mcp-client/plugin-identity.js +28 -0
- package/lib/runtime/mcp-client/projection.js +202 -0
- package/lib/runtime/mcp-client/tools.js +4 -189
- package/lib/runtime/mcp-config.js +36 -14
- package/lib/runtime/mcp-direct-config.js +33 -16
- package/lib/runtime/mcp-mounts.js +35 -75
- package/lib/runtime/mcp-overrides.js +5 -5
- package/lib/runtime/mcp-redaction.js +3 -2
- package/lib/runtime/mcp-status.js +7 -8
- package/lib/runtime/mount-lifecycle.js +73 -0
- package/lib/runtime/profile-seam.js +321 -0
- package/lib/runtime/project-runtime.js +34 -17
- package/lib/runtime/reconcile-scheduler.js +97 -0
- package/lib/runtime/reconciler.js +6 -1
- package/lib/runtime/regions.js +0 -19
- package/lib/runtime/server-config.js +6 -4
- package/lib/runtime/settings-namespace.js +144 -0
- package/lib/runtime/skills-provider.js +38 -14
- package/lib/runtime/source-auto-update.js +66 -0
- package/lib/{model/state.js → runtime/state-store.js} +9 -11
- package/lib/runtime/storage-migration.js +35 -18
- package/lib/runtime/subagent-catalog.js +5 -4
- package/lib/runtime/timer-seat.js +80 -0
- package/lib/runtime/tool-registry-observer.js +20 -20
- package/lib/runtime/user-commands.js +7 -3
- package/lib/runtime/user-panels.js +125 -46
- package/lib/runtime/user-store.js +124 -69
- package/lib/types/application/catalog-context.d.ts +124 -0
- package/lib/types/application/catalog.d.ts +108 -304
- package/lib/types/application/install-store.d.ts +21 -0
- package/lib/types/application/lsp-service.d.ts +36 -0
- package/lib/types/application/mcp-service.d.ts +77 -0
- package/lib/types/application/panel-resources.d.ts +8 -0
- package/lib/types/application/ports.d.ts +72 -0
- package/lib/types/application/queries.d.ts +15 -26
- package/lib/types/application/snapshot-cache.d.ts +51 -0
- package/lib/types/application/source-store.d.ts +100 -0
- package/lib/types/catalog/archive.d.ts +3 -11
- package/lib/types/catalog/component-files.d.ts +4 -0
- package/lib/types/catalog/fs-probes.d.ts +10 -0
- package/lib/types/catalog/manifests.d.ts +17 -16
- package/lib/types/catalog/native-project.d.ts +2 -2
- package/lib/types/catalog/paths.d.ts +53 -15
- package/lib/types/catalog/plugin-variables.d.ts +16 -0
- package/lib/types/catalog/scan-pipeline.d.ts +3 -3
- package/lib/types/catalog/scan-resolvers.d.ts +3 -9
- package/lib/types/catalog/skills-parse.d.ts +13 -7
- package/lib/types/catalog/source-catalog.d.ts +10 -5
- package/lib/types/catalog/suite-scanner.d.ts +8 -6
- package/lib/types/catalog/validate.d.ts +0 -2
- package/lib/types/contracts/lsp-status.d.ts +35 -0
- package/lib/types/contracts/market.d.ts +13 -2
- package/lib/types/contracts/mcp-status.d.ts +4 -0
- package/lib/types/contracts/settings.d.ts +59 -0
- package/lib/types/model/layouts.d.ts +10 -0
- package/lib/types/model/types.d.ts +29 -5
- package/lib/types/runtime/agent-role-names.d.ts +6 -0
- package/lib/types/runtime/agent-role-router.d.ts +59 -52
- package/lib/types/runtime/commands-mounts.d.ts +15 -7
- package/lib/types/runtime/deadline.d.ts +17 -0
- package/lib/types/runtime/dynamic-context.d.ts +81 -0
- package/lib/types/runtime/feedback-tool.d.ts +33 -11
- package/lib/types/runtime/hooks-mounts.d.ts +1 -1
- package/lib/types/runtime/host-locale.d.ts +20 -2
- package/lib/types/runtime/lsp-direct-config.d.ts +3 -3
- package/lib/types/runtime/lsp-mounts.d.ts +69 -19
- package/lib/types/runtime/lsp-status.d.ts +2 -1
- package/lib/types/runtime/mcp-auth-record.d.ts +29 -0
- package/lib/types/runtime/mcp-backend.d.ts +10 -14
- package/lib/types/runtime/mcp-client/config.d.ts +8 -2
- package/lib/types/runtime/mcp-client/host-contract.d.ts +78 -0
- package/lib/types/runtime/mcp-client/host-seams.d.ts +20 -64
- package/lib/types/runtime/mcp-client/oauth.d.ts +1 -1
- package/lib/types/runtime/mcp-client/plugin-identity.d.ts +16 -0
- package/lib/types/runtime/mcp-client/projection.d.ts +45 -0
- package/lib/types/runtime/mcp-client/tools.d.ts +5 -72
- package/lib/types/runtime/mcp-config.d.ts +25 -4
- package/lib/types/runtime/mcp-direct-config.d.ts +18 -4
- package/lib/types/runtime/mcp-mounts.d.ts +10 -15
- package/lib/types/runtime/mcp-overrides.d.ts +1 -1
- package/lib/types/runtime/mcp-status.d.ts +1 -1
- package/lib/types/runtime/mount-lifecycle.d.ts +53 -0
- package/lib/types/runtime/profile-seam.d.ts +64 -0
- package/lib/types/runtime/project-runtime.d.ts +10 -3
- package/lib/types/runtime/reconcile-scheduler.d.ts +45 -0
- package/lib/types/runtime/reconciler.d.ts +2 -0
- package/lib/types/runtime/regions.d.ts +1 -4
- package/lib/types/runtime/settings-namespace.d.ts +76 -0
- package/lib/types/runtime/skills-provider.d.ts +11 -2
- package/lib/types/runtime/source-auto-update.d.ts +32 -0
- package/lib/types/{model/state.d.ts → runtime/state-store.d.ts} +2 -2
- package/lib/types/runtime/storage-migration.d.ts +5 -3
- package/lib/types/runtime/subagent-catalog.d.ts +2 -0
- package/lib/types/runtime/timer-seat.d.ts +51 -0
- package/lib/types/runtime/tool-registry-observer.d.ts +12 -6
- package/lib/types/runtime/user-panels.d.ts +69 -19
- package/lib/types/runtime/user-store.d.ts +67 -20
- package/package.json +68 -24
- package/schemas/README.md +1 -1
package/README.zh.md
CHANGED
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
**[DeepSeek Harness(DSH)](https://github.com/deepseek-ai/deepseek-harness)的插件市场与 Agent 能力管理工作区。**
|
|
6
6
|
|
|
7
|
-
复用 Claude Code、Codex、Cursor、Kimi
|
|
7
|
+
复用 Claude Code、Codex、Cursor、Kimi 等已识别布局中支持的内容,在 DSH Web 界面管理自己的技能、命令、代理角色、MCP 服务和 LSP 服务。
|
|
8
|
+
|
|
9
|
+
如果这个插件帮到了你,欢迎在 [GitHub](https://github.com/Sivan757/dsh-agent-plugins-market) 点个 Star ⭐。
|
|
8
10
|
|
|
9
11
|
[English](README.md) | 简体中文 | [文档站](https://sivan757.github.io/dsh-agent-plugins-market/) | [npm](https://www.npmjs.com/package/dsh-agent-plugins-market)
|
|
10
12
|
|
|
@@ -12,69 +14,104 @@
|
|
|
12
14
|
|
|
13
15
|
[快速开始](#快速开始) · [日常使用](#日常使用) · [兼容性](#兼容性与运行边界) · [常见问题](#常见问题)
|
|
14
16
|
|
|
15
|
-
|
|
17
|
+
## 页面
|
|
18
|
+
|
|
19
|
+
<table>
|
|
20
|
+
<tr>
|
|
21
|
+
<td align="center" width="33%">
|
|
22
|
+
<img src="docs/screenshots/market.png" alt="插件市场" width="100%" /><br />
|
|
23
|
+
<b>插件市场</b><br />添加来源、预览并安装套件。
|
|
24
|
+
</td>
|
|
25
|
+
<td align="center" width="33%">
|
|
26
|
+
<img src="docs/screenshots/skills.png" alt="技能" width="100%" /><br />
|
|
27
|
+
<b>技能</b><br />浏览技能,编写自建技能。
|
|
28
|
+
</td>
|
|
29
|
+
<td align="center" width="33%">
|
|
30
|
+
<img src="docs/screenshots/commands.png" alt="命令" width="100%" /><br />
|
|
31
|
+
<b>命令</b><br />管理以 /名称 调用的提示词模板。
|
|
32
|
+
</td>
|
|
33
|
+
</tr>
|
|
34
|
+
<tr>
|
|
35
|
+
<td align="center" width="33%">
|
|
36
|
+
<img src="docs/screenshots/personas.png" alt="代理角色" width="100%" /><br />
|
|
37
|
+
<b>代理角色</b><br />角色与精确的供应商、模型和思考强度。
|
|
38
|
+
</td>
|
|
39
|
+
<td align="center" width="33%">
|
|
40
|
+
<img src="docs/screenshots/mcp.png" alt="MCP 服务" width="100%" /><br />
|
|
41
|
+
<b>MCP 服务</b><br />凭据、授权与连接状态。
|
|
42
|
+
</td>
|
|
43
|
+
<td align="center" width="33%">
|
|
44
|
+
<img src="docs/screenshots/lsp.png" alt="LSP 服务" width="100%" /><br />
|
|
45
|
+
<b>LSP 服务</b><br />语言服务器配置与运行状态。
|
|
46
|
+
</td>
|
|
47
|
+
</tr>
|
|
48
|
+
</table>
|
|
16
49
|
|
|
17
50
|
## 你可以用它做什么
|
|
18
51
|
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
52
|
+
- **十种套件布局。** Claude Code、Codex、Cursor、Kimi Code、ZCode、Qoder CLI、GitHub Copilot CLI、Universal `.plugin/`、[agent-plugins](https://agent-plugins.org) 与无清单技能集合。
|
|
53
|
+
- **来源。** 添加 Git 仓库、本地目录或压缩包(`.zip` / `.tar.gz` / `.tgz` / `.tar`);收编自己克隆的目录;按需刷新;删除来源时可一并删除受管目录。
|
|
54
|
+
- **适合你网络的下载方式。** 下载区域设置(默认 `auto` 跟随界面语言,也可显式选择全球或中国大陆)决定 `github.com` 克隆走的镜像前缀;代理与单次调用调优在宿主配置里。
|
|
55
|
+
- **运行时能力。** 启用套件会注入会话:技能进入目录与斜杠菜单,命令以 `/名称` 调用,代理角色进入子代理目录,MCP 工具以 `mcp__` 前缀注册,hooks 挂到宿主生命周期事件,语言服务器通过 `lsp` 工具使用。
|
|
56
|
+
- **MCP。** 内置桥接无需宿主 MCP 客户端,支持 stdio、带 OAuth 的 Streamable HTTP 和旧式 SSE。`${VAR}` 引用从宿主凭据服务或启动环境解析;按服务覆盖可禁用或修补声明,不必修改源文件;也可选用宿主客户端兼容模式。工具名为 `mcp__<套件>__<服务>__<工具>`。
|
|
57
|
+
- **LSP。** 随插件自带:安装插件即完成全部设置,`lsp` 工具只在确有语言服务器需求时挂载;语言服务器可执行文件本身需在 `PATH` 中。从「需要你自己在 profile 里暴露 LSP」的版本升级上来时,若 profile 里还留着那层手工配置,会报接缝冲突;LSP 面板会指出该文件并代为移除这一层,且保留备份。
|
|
58
|
+
- **代理角色与委派。** 角色卡片保存精确的供应商、模型与思考强度;角色出现在会话目录中,通过 `subagent_run` 运行,立即返回可继续的后台子代理 ID。
|
|
59
|
+
- **项目维度。** 项目自身的技能、代理、命令、MCP 服务与 hooks 无需安装即被发现。
|
|
60
|
+
- **自建资源。** 技能、命令和代理角色以 Markdown 保存在 `~/.agents/` 下,可随时编辑或禁用而不删除文件。
|
|
61
|
+
- **后台自动更新来源。** 可选:按定时器刷新全部已配置来源;默认关闭。
|
|
62
|
+
- **Web 工作区。** 六个页签——插件市场、技能、命令、代理角色、MCP 服务、LSP 服务——每个页签都有搜索、过滤与网格/列表切换,并提供带诊断的状态面板、凭据编辑,以及可在启用可执行第三方内容前提示风险的安装确认。
|
|
63
|
+
- **双语界面与反馈。** 工作区文案与注入提示跟随宿主语言;启用反馈后,模型可通过 `gh` 命令或 GitHub token 提交 `report_market_issue` 报告;两者都没有时,会打开预填好的 GitHub 新建 issue 页面并把完整 issue 文本交给你。
|
|
23
64
|
|
|
24
65
|
## 快速开始
|
|
25
66
|
|
|
26
|
-
需要 Node.js 22+、启用了技能服务的 DSH Web profile;使用 Git 来源还需要 Git。当前仓库声明的 DSH peer 包版本范围为 `^0.1.2-rc.1`,各项能力还取决于 profile 提供的宿主服务,详见[宿主要求](docs/guides/usage.zh.md#宿主要求)。
|
|
27
|
-
|
|
28
67
|
将 `<name>` 替换为你的 profile 名称后安装:
|
|
29
68
|
|
|
30
69
|
```sh
|
|
31
70
|
dsh plugin --profile <name> add dsh-agent-plugins-market
|
|
32
71
|
```
|
|
33
72
|
|
|
34
|
-
1. 重启 DSH,打开 **设置 → Agent Plugins
|
|
73
|
+
1. 重启 DSH,打开 **设置 → Agent Plugins 市场**。
|
|
35
74
|
2. 在**插件市场**添加来源,例如 `https://github.com/anthropics/claude-plugins-official`。插件不预置来源。
|
|
36
75
|
3. 打开套件查看内容,确认后安装,并确保套件已启用。
|
|
37
76
|
4. 如果套件提供技能,先在**技能**页签查看,再在聊天中输入 `/` 查找允许手动调用的技能。如果提供 MCP,前往 **MCP 服务**检查状态,处理凭据或连接提示后再使用工具。
|
|
38
77
|
|
|
39
|
-
|
|
78
|
+
环境要求、profile 配置与其他安装方式见[使用指南](docs/user/usage.zh.md#其他安装方式)。
|
|
40
79
|
|
|
41
80
|
## 日常使用
|
|
42
81
|
|
|
43
|
-
MCP 详情将保留凭据的“重试连接”与需要确认的“重新授权”分开,详情内不再显示启用开关。
|
|
44
|
-
|
|
45
82
|
工作区包含六个页签:
|
|
46
83
|
|
|
47
84
|
| 页签 | 可以做什么 |
|
|
48
85
|
| -------- | ------------------------------------------------------------------------------------------ |
|
|
49
86
|
| 插件市场 | 添加来源、预览套件、安装 / 卸载、启用 / 禁用和刷新。 |
|
|
50
87
|
| 技能 | 浏览技能,创建或编辑自己的可复用指令。 |
|
|
51
|
-
| 命令 | 管理通过 `/名称`
|
|
52
|
-
| 代理角色 |
|
|
88
|
+
| 命令 | 管理通过 `/名称` 调用的提示词模板。 |
|
|
89
|
+
| 代理角色 | 管理角色指令并为每个角色保存精确的供应商、模型与思考强度;通过 `subagent_run` 在后台委派。 |
|
|
53
90
|
| MCP 服务 | 自行新增服务或配置已安装的服务及其凭据与授权,查看连接状态并重试失败的服务。 |
|
|
54
91
|
| LSP 服务 | 新增并配置语言服务器,查看运行状态。 |
|
|
55
92
|
|
|
56
|
-
**来源(source)**表示内容来自哪里,**套件(suite
|
|
93
|
+
**来源(source)**表示内容来自哪里,**套件(suite)**是从中发现的可安装单元。添加来源用于发现套件;安装并启用套件决定其运行时能力是否生效。
|
|
57
94
|
|
|
58
|
-
|
|
95
|
+
你自己创作的内容都放在共用的 Agent 布局根目录:技能、命令和角色是 `~/.agents/` 下的 Markdown 文件,工作区里新增的 MCP 与 LSP 服务分别保存在 `~/.agents/mcp.json` 与 `~/.agents/lsp.json`。项目原生资源继续保留在项目中。路径和优先级见[存储与发现](docs/user/usage.zh.md#存储与发现)。
|
|
59
96
|
|
|
60
|
-
|
|
97
|
+
六个页签共用持久化的卡片/列表偏好。新增、刷新统一位于页头;资源状态条为绿色时表示生效中。
|
|
61
98
|
|
|
62
|
-
|
|
99
|
+
## 兼容性与运行边界
|
|
63
100
|
|
|
64
|
-
[`schemas/`](schemas/README.md)
|
|
101
|
+
支持的**布局方言(layout dialect)**描述文件如何组织。[统一优先级表](#布局识别优先级)并列列出套件清单与 Marketplace 目录索引。[`schemas/`](schemas/README.md) 中十种布局契约均有独立读取测试;[布局审计](docs/user/layout-coverage.zh.md)把它们对应到固定提交号的仓库快照。
|
|
65
102
|
|
|
66
103
|
支持的**运行时能力(runtime surface)**描述 DSH 能使用什么:
|
|
67
104
|
|
|
68
|
-
| 能力 | 支持情况与条件
|
|
69
|
-
| ----- |
|
|
70
|
-
| 技能 | 接入宿主技能目录,允许手动调用的技能出现在斜杠菜单;展开支持的根路径占位符。
|
|
71
|
-
| 命令 | 通过宿主命令服务注册斜杠命令。
|
|
72
|
-
| 代理 | 动态子代理目录与 `
|
|
73
|
-
| MCP | 默认使用内置桥接,支持 stdio、带 OAuth 的 Streamable HTTP 和旧式 SSE;也可切换宿主客户端兼容模式。
|
|
74
|
-
| Hooks | 运行 `dsh-hooks-claude-code` 桥接映射支持的 command-hook 子集。
|
|
75
|
-
| LSP |
|
|
105
|
+
| 能力 | 支持情况与条件 |
|
|
106
|
+
| ----- | ----------------------------------------------------------------------------------------------------------------------- |
|
|
107
|
+
| 技能 | 接入宿主技能目录,允许手动调用的技能出现在斜杠菜单;展开支持的根路径占位符。 |
|
|
108
|
+
| 命令 | 通过宿主命令服务注册斜杠命令。 |
|
|
109
|
+
| 代理 | 动态子代理目录与 `subagent_run`;需要宿主 agents、tools、LLM、subagents 与会话持久化服务。 |
|
|
110
|
+
| MCP | 默认使用内置桥接,支持 stdio、带 OAuth 的 Streamable HTTP 和旧式 SSE;也可切换宿主客户端兼容模式。 |
|
|
111
|
+
| Hooks | 运行 `dsh-hooks-claude-code` 桥接映射支持的 command-hook 子集。 |
|
|
112
|
+
| LSP | 随插件自带:安装插件即安装 LSP 支持包,`lsp` 工具只在确有语言服务器需求时挂载;语言服务器可执行文件本身需在 `PATH` 中。 |
|
|
76
113
|
|
|
77
|
-
|
|
114
|
+
代理角色显示在会话目录中,并通过 `subagent_run(agent, prompt)` 执行。角色可以保存精确的 `provider` + `model` 与 `reasoning_effort`;其余声明一律忽略,子代理改为继承父会话路由。`tools` 与 `disallowedTools` 会保留在文件中但不会生效。frontmatter 字段与边界见[代理角色](docs/user/agent-roles.zh.md)。
|
|
78
115
|
|
|
79
116
|
### 布局识别优先级
|
|
80
117
|
|
|
@@ -82,7 +119,7 @@ MCP 详情将保留凭据的“重试连接”与需要确认的“重新授权
|
|
|
82
119
|
|
|
83
120
|
| 优先级 | 布局 | 套件清单 | Marketplace 目录索引 |
|
|
84
121
|
| --- | --- | --- | --- |
|
|
85
|
-
| 1 | agent-plugins.org
|
|
122
|
+
| 1 | [agent-plugins](https://agent-plugins.org) / 根兼容清单 | `plugin.json` | 无专属索引 |
|
|
86
123
|
| 2 | Universal 兼容布局 | `.plugin/plugin.json` | `.plugin/marketplace.json` |
|
|
87
124
|
| 3 | Claude Code | `.claude-plugin/plugin.json` | `.claude-plugin/marketplace.json` |
|
|
88
125
|
| 4 | Cursor | `.cursor-plugin/plugin.json` | `.cursor-plugin/marketplace.json` |
|
|
@@ -93,83 +130,57 @@ MCP 详情将保留凭据的“重试连接”与需要确认的“重新授权
|
|
|
93
130
|
| 9 | GitHub Copilot CLI | `.github/plugin/plugin.json` | `.github/plugin/marketplace.json` |
|
|
94
131
|
| 回退 | 技能集合 / 共享索引 | 无已知清单时按技能集合约定发现 | 根 `marketplace.json` |
|
|
95
132
|
|
|
96
|
-
-
|
|
97
|
-
-
|
|
98
|
-
-
|
|
99
|
-
|
|
100
|
-
**两列遵循同一布局优先级。** 索引查找跳过无专属索引的布局,同一布局的别名按表内顺序尝试。根 `marketplace.json` 是共享回退,既不是技能集合的清单,也不是 agent-plugins.org v1 的专属索引,不继承根 `plugin.json` 的优先级。
|
|
101
|
-
|
|
102
|
-
读取阶段收集所有存在的索引,套件扫描采用第一个能产出套件的索引,不会合并全部索引;无效或空索引允许继续尝试下一项。该优先级不意味着项目原生目录之间互斥。
|
|
133
|
+
- **清单按顺序尝试:** 读不出或校验不通过的清单会给出诊断,然后尝试下一优先级,直到回退项;全部失败时给出诊断,不会加载半个套件。
|
|
134
|
+
- **组件补充:** 根 `plugin.json` 未声明受识别的 agent-plugins `$schema` 时,缺失的组件声明可以从 `.claude-plugin/plugin.json` 补齐;根清单中的显式声明优先,marketplace 条目声明补充剩余缺项。
|
|
135
|
+
- Marketplace 索引遵循同一顺序:第一个能产出套件的索引胜出,无效或空索引允许继续尝试后续候选。
|
|
103
136
|
|
|
104
137
|
顺序定义见 [`src/model/layouts.ts`](src/model/layouts.ts),选择与根清单补充逻辑见 [`src/catalog/manifests.ts`](src/catalog/manifests.ts)。
|
|
105
138
|
|
|
106
|
-
###
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
| 布局
|
|
111
|
-
|
|
|
112
|
-
| [Claude Code](https://code.claude.com/docs/en/plugins-reference)
|
|
113
|
-
| [Codex](https://developers.openai.com/plugins/build/plugins)
|
|
114
|
-
| [Cursor](https://cursor.com/docs/reference/plugins)
|
|
115
|
-
| Kimi Code
|
|
116
|
-
| [ZCode](https://zcode.z.ai/en/docs/plugin) `.zcode-plugin/`
|
|
117
|
-
| [Qoder CLI](https://docs.qoder.com/cli/plugins-reference) `.qoder-plugin/`
|
|
118
|
-
| [GitHub Copilot CLI](https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-plugin-reference) |
|
|
119
|
-
| Universal 兼容布局 `.plugin/`
|
|
120
|
-
| [agent-plugins
|
|
121
|
-
| 无清单技能集合
|
|
122
|
-
|
|
|
123
|
-
|
|
124
|
-
-
|
|
125
|
-
-
|
|
126
|
-
- **MCP
|
|
127
|
-
- **Hooks
|
|
128
|
-
- **LSP
|
|
129
|
-
-
|
|
130
|
-
- **
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
- **GitHub Copilot CLI:**`.plugin/plugin.json` 保留 Universal 身份。两种路径均消费声明组件及默认 MCP/LSP 文件。隔离测试在嵌套套件根也去除竞争清单,防止 Claude 回退冒充 Copilot 测试通过。
|
|
134
|
-
- **项目目录:**[Claude 项目技能](https://code.claude.com/docs/en/skills)与 [Codex 的 `.agents/skills`](https://developers.openai.com/codex/skills)有官方依据;`.agents/agents`、`.agents/commands` 是本插件的通用发现约定。
|
|
139
|
+
### 布局支持矩阵
|
|
140
|
+
|
|
141
|
+
表中说明本插件是否读取该布局的对应能力。**支持**表示读取该布局自己的文件并注入;**部分**表示只理解其中一部分格式,或上游布局本身没有对应定义——具体见下表说明。依据见[兼容性报告](docs/reference/compat-report.md)与[布局审计](docs/user/layout-coverage.zh.md)。
|
|
142
|
+
|
|
143
|
+
| 布局 | 技能 | 代理 | 命令 | MCP | Hooks | LSP |
|
|
144
|
+
| ------------------------------------------------------------------------------------------------------------- | ---- | ---- | ---- | ---- | ------ | ------ |
|
|
145
|
+
| [Claude Code](https://code.claude.com/docs/en/plugins-reference) | 支持 | 支持 | 支持 | 支持 | 部分 | 支持 |
|
|
146
|
+
| [Codex](https://developers.openai.com/plugins/build/plugins) | 支持 | 支持 | 支持 | 部分 | 部分 | 支持 |
|
|
147
|
+
| [Cursor](https://cursor.com/docs/reference/plugins) | 支持 | 部分 | 部分 | 部分 | 不支持 | 支持 |
|
|
148
|
+
| Kimi Code | 支持 | 支持 | 支持 | 支持 | 部分 | 部分 |
|
|
149
|
+
| [ZCode](https://zcode.z.ai/en/docs/plugin) `.zcode-plugin/` | 支持 | 支持 | 支持 | 支持 | 部分 | 部分 |
|
|
150
|
+
| [Qoder CLI](https://docs.qoder.com/cli/plugins-reference) `.qoder-plugin/` | 支持 | 支持 | 支持 | 部分 | 部分 | 部分 |
|
|
151
|
+
| [GitHub Copilot CLI](https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-plugin-reference) | 支持 | 支持 | 支持 | 支持 | 部分 | 支持 |
|
|
152
|
+
| Universal 兼容布局 `.plugin/` | 支持 | 支持 | 支持 | 支持 | 部分 | 支持 |
|
|
153
|
+
| [agent-plugins](https://agent-plugins.org) | 支持 | 部分 | 部分 | 支持 | 部分 | 部分 |
|
|
154
|
+
| 无清单技能集合 | 支持 | 支持 | 支持 | 支持 | 部分 | 部分 |
|
|
155
|
+
| 项目原生目录 | 支持 | 支持 | 支持 | 支持 | 部分 | 不支持 |
|
|
156
|
+
|
|
157
|
+
- **技能**读取清单声明的路径与约定的 `skills/` 目录,也支持平铺的 `SKILL.md` 文件。
|
|
158
|
+
- **代理与命令**按 Markdown 读取(`agents/*.md`、`commands/*.md`)。Cursor 插件命令接受 `.md`、`.mdc`、`.markdown`、`.txt`;Codex 与 Kimi 的原生代理/命令格式(TOML、YAML)尚未适配。
|
|
159
|
+
- **MCP** 支持声明的文件、内联表与数组。Cursor 的无 schema `mcp.json` 与 agent-plugins 的严格 `mcp.json` 都能读取;Kimi Code 只读内联声明。Codex 的 app 连接器不在适配范围内。
|
|
160
|
+
- **Hooks** 只映射 DSH 有对应点的命令类事件;没有对应点的事件(例如 `afterFileEdit`)给出诊断而不伪造执行。Cursor 的原生事件不读取。
|
|
161
|
+
- **LSP** 支持声明的文件、数组、内联表,以及约定的 `.lsp.json` / `lsp.json` 位置。项目内的 LSP 声明只给诊断、不挂载:宿主 LSP 注册表是全局的。部分布局只提供目录预览。
|
|
162
|
+
- **agent-plugins** 规范只定义可移植的技能与 MCP;该布局的代理、命令与 hooks 按本插件的共用目录约定读取,不是规范能力。
|
|
163
|
+
- **Universal** 是本插件使用的兼容布局名称:[OpenHands SDK](https://docs.openhands.dev/sdk/guides/plugins)文档同样使用 `.plugin/plugin.json`,[Vercel 仓库](https://github.com/vercel/vercel-plugin/blob/main/.plugin/plugin.json)也在使用,但不存在跨厂商规范。
|
|
164
|
+
|
|
165
|
+
能读取一种布局,并不保证复现原平台的全部行为。无效声明会被诊断并跳过。
|
|
135
166
|
|
|
136
167
|
### 项目布局开关
|
|
137
168
|
|
|
138
|
-
插件设置卡提供**扫描项目 Agent 布局**(`dsh-agent-plugins-market.scanProjectLayouts
|
|
139
|
-
|
|
140
|
-
注册表读取 `.claude`、`.agents`、`.codex`、`.cursor`、`.kimi`、`.zcode`、`.qoder`、`.github` 下的技能。除 `.codex` 与 `.kimi` 外启用可移植 Markdown agents;两者的 TOML/YAML 格式需要独立适配器。角色执行按调用会话确定项目。项目 commands、受支持的 MCP 服务和已映射命令 hooks 注册在各 Agent 独立作用域,会话启动或目录变更通知时刷新,关闭总开关即撤销。
|
|
169
|
+
插件设置卡提供**扫描项目 Agent 布局**(`dsh-agent-plugins-market.scanProjectLayouts`,默认关闭)。它只控制一件事:当前项目是否把自己目录(`.claude`、`.agents`、`.codex`、`.cursor`、`.kimi`、`.zcode`、`.qoder`、`.github`)里的技能、命令、代理角色、MCP 服务与 hooks 贡献到会话里。开启后纳入这些候选,关闭后在下一轮发现时移除。卡片在你保存时生效,设置带着你自己填的值时也提供「恢复默认」。配置源与已安装套件不受影响。
|
|
141
170
|
|
|
142
|
-
|
|
171
|
+
每种布局读取哪些目录与文件、如何挂载,见[项目布局](docs/user/usage.zh.md#项目布局)。
|
|
143
172
|
|
|
144
173
|
### 抽样验证
|
|
145
174
|
|
|
146
|
-
|
|
175
|
+
README 中的仓库在 [`tests/fixtures/real-layouts/`](tests/fixtures/real-layouts/) 保留了离线快照(含提交号、哈希与许可证),且每种布局都有独立的读取测试。[兼容性报告](docs/reference/compat-report.md)记录抽样仓库、schema 结论与扫描器输出,[布局审计](docs/user/layout-coverage.zh.md)记录独立的资源核验。这些是文档、源码与抽样核验,并非每个平台的端到端兼容认证。
|
|
147
176
|
|
|
148
|
-
|
|
149
|
-
| --- | --- | --- | --- | --- |
|
|
150
|
-
| Claude Code | [grafana/mcp-grafana](https://github.com/grafana/mcp-grafana) | `.claude-plugin/plugin.json` | 通过 | 接入 |
|
|
151
|
-
| Codex | [saadeghi/daisyui](https://github.com/saadeghi/daisyui) | `.codex-plugin/plugin.json` | 通过 | 被遮蔽 |
|
|
152
|
-
| Cursor | [EveryInc/compound-engineering-plugin](https://github.com/EveryInc/compound-engineering-plugin) | `.cursor-plugin/plugin.json` + marketplace | 通过 | 被遮蔽 |
|
|
153
|
-
| Kimi | [obra/superpowers](https://github.com/obra/superpowers) | `.kimi-plugin/plugin.json` | 通过 | 被遮蔽 |
|
|
154
|
-
| Universal | [muratcankoylan/Agent-Skills-for-Context-Engineering](https://github.com/muratcankoylan/Agent-Skills-for-Context-Engineering) | `.plugin/plugin.json` | 通过 | 接入 |
|
|
155
|
-
| agent-plugins.org v1 | [saadeghi/daisyui](https://github.com/saadeghi/daisyui) | `plugin.json` | 通过 | 接入 |
|
|
156
|
-
| ZCode | [zenstory-ai/oh-story-claudecode](https://github.com/zenstory-ai/oh-story-claudecode) | `.zcode-plugin/plugin.json` + `marketplace.json` | 通过 | 被遮蔽 |
|
|
157
|
-
| Qoder CLI | [DietrichGebert/ponytail](https://github.com/DietrichGebert/ponytail) | `.qoder-plugin/plugin.json` | 通过 | 被遮蔽 |
|
|
158
|
-
| GitHub Copilot CLI | [headroomlabs-ai/headroom](https://github.com/headroomlabs-ai/headroom) | `.github/plugin/marketplace.json` | 通过 | 被遮蔽 |
|
|
159
|
-
|
|
160
|
-
**扫描器**列描述未修改的仓库:**接入**表示自身清单胜出,**被遮蔽**表示其它方言胜出,**未读取**表示无套件。它与单布局隔离测试分开判断。无清单集合使用真实 Universal 仓库技能、在测试中移除清单验证,补齐十种布局覆盖。快照位于 `tests/fixtures/real-layouts/`,保留提交号、文件哈希与许可证,详见[审计表](docs/layout-coverage.zh.md)。
|
|
161
|
-
|
|
162
|
-
核验依据包括 `src/catalog/manifests.ts`、`surfaces.ts`、`validate.ts`、`native-project.ts` 与 `src/runtime/hooks-mounts.ts`。[兼容性报告](docs/compat-report.md)补充「每个 schema 一个真实仓库」并由本插件扫描器实测。这是文档、源码与抽样核验,并非每个平台的端到端兼容认证。
|
|
163
|
-
|
|
164
|
-
能读取一种布局,并不保证复现原平台的全部行为。无效声明会被诊断并跳过。项目原生命令与受支持的 MCP 服务使用宿主的 Agent 作用域注册;项目 MCP 服务名包含会话身份,以避免应用级命名冲突。
|
|
165
|
-
|
|
166
|
-
启用第三方套件前请检查其内容:启用的服务和 hooks 可以执行程序。详见[运行时与安全边界](docs/guides/usage.zh.md#运行时与安全边界)。
|
|
177
|
+
启用第三方套件前请检查其内容:启用的服务和 hooks 可以执行程序。详见[运行时与安全边界](docs/user/usage.zh.md#运行时与安全边界)。
|
|
167
178
|
|
|
168
179
|
## 常见问题
|
|
169
180
|
|
|
170
181
|
**安装后为什么找不到技能或工具?**
|
|
171
182
|
|
|
172
|
-
检查套件及对应能力是否启用。技能可能限制手动调用;MCP / LSP 面板显示用户服务故障。项目资源还需要开启项目扫描;不支持的原生字段与项目 LSP
|
|
183
|
+
检查套件及对应能力是否启用。技能可能限制手动调用;MCP / LSP 面板显示用户服务故障。项目资源还需要开启项目扫描;不支持的原生字段与项目 LSP 声明进入扫描诊断。
|
|
173
184
|
|
|
174
185
|
**在哪里配置 MCP token?**
|
|
175
186
|
|
|
@@ -177,11 +188,15 @@ MCP 读取根 `.mcp.json`、`.cursor/mcp.json`,以及 `.qoder/settings.json`
|
|
|
177
188
|
|
|
178
189
|
**套件没有声明的服务怎么添加?**
|
|
179
190
|
|
|
180
|
-
在 **MCP 服务**或 **LSP 服务**中点击新增并填入声明。声明会先校验,保存到 `~/.
|
|
191
|
+
在 **MCP 服务**或 **LSP 服务**中点击新增并填入声明。声明会先校验,保存到 `~/.agents/mcp.json` 或 `~/.agents/lsp.json`,并与套件服务走同一套挂载生命周期。从宿主配置观察到的服务保持只读。
|
|
192
|
+
|
|
193
|
+
**来源会自动更新吗?**
|
|
194
|
+
|
|
195
|
+
只有开启**后台自动更新来源**后才会:开启后每 6 小时刷新一次全部已配置来源,第一次刷新在开启满一个周期之后。该开关默认关闭,刷新按钮始终可用。
|
|
181
196
|
|
|
182
197
|
**来源下载失败怎么办?**
|
|
183
198
|
|
|
184
|
-
可以使用本地目录、收编手动克隆的仓库,或配置代理与镜像,见[配置市场源](docs/
|
|
199
|
+
可以使用本地目录、收编手动克隆的仓库,或配置代理与镜像,见[配置市场源](docs/user/usage.zh.md#配置市场源)。
|
|
185
200
|
|
|
186
201
|
**本地修改什么时候生效?**
|
|
187
202
|
|
|
@@ -193,11 +208,10 @@ MCP 读取根 `.mcp.json`、`.cursor/mcp.json`,以及 `.qoder/settings.json`
|
|
|
193
208
|
|
|
194
209
|
## 更多文档
|
|
195
210
|
|
|
196
|
-
- [使用指南](docs/
|
|
197
|
-
- [插件规范](schemas/README.md):各布局的参考 schema 与依据,以及内置的 agent-plugins
|
|
198
|
-
- [兼容性报告](docs/compat-report.md):每个 schema 一个真实仓库,含提交号、schema 结论与扫描器输出。
|
|
211
|
+
- [使用指南](docs/user/usage.zh.md):安装、来源配置、存储、宿主要求、项目布局、MCP / LSP 和反馈设置。
|
|
212
|
+
- [插件规范](schemas/README.md):各布局的参考 schema 与依据,以及内置的 agent-plugins v1.0.0 契约。
|
|
213
|
+
- [兼容性报告](docs/reference/compat-report.md):每个 schema 一个真实仓库,含提交号、schema 结论与扫描器输出。
|
|
199
214
|
- [贡献指南](CONTRIBUTING.md):开发环境、检查命令和 PR 流程。
|
|
200
215
|
- [安全政策](SECURITY.md) · [版本记录](CHANGELOG.md) · [MIT 许可](LICENSE)。
|
|
201
|
-
- [领域词汇](CONTEXT.md) · [架构设计](docs/
|
|
202
|
-
|
|
203
|
-
已安装资源编辑、角色模型路由与目录迁移见[代理角色与存储](docs/guides/agent-roles.zh.md)。
|
|
216
|
+
- [领域词汇](CONTEXT.md) · [架构设计](docs/developer/decisions/0001-catalog-centered-modular-refactor.md)。
|
|
217
|
+
- [代理角色与存储](docs/user/agent-roles.zh.md):已安装资源编辑、角色模型路由与目录迁移。
|