dsh-agent-plugins-market 0.7.1 → 0.7.2

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.
Files changed (61) hide show
  1. package/README.md +29 -24
  2. package/README.zh.md +29 -24
  3. package/client/client.js +1172 -159
  4. package/client/client.js.map +1 -1
  5. package/lib/application/catalog.js +14 -2
  6. package/lib/application/install-store.js +1 -1
  7. package/lib/application/mcp-service.js +185 -30
  8. package/lib/catalog/archive.js +15 -0
  9. package/lib/catalog/manifests.js +124 -13
  10. package/lib/catalog/scan-resolvers.js +117 -12
  11. package/lib/catalog/surfaces.js +73 -27
  12. package/lib/catalog/validate.js +205 -54
  13. package/lib/contracts/market.js +2 -0
  14. package/lib/index.js +6 -2
  15. package/lib/model/layouts.js +34 -0
  16. package/lib/model/preset-source.js +8 -0
  17. package/lib/routes.js +31 -2
  18. package/lib/runtime/agent-role-router.js +176 -51
  19. package/lib/runtime/host-locale.js +6 -12
  20. package/lib/runtime/mcp-client/connection.js +3 -2
  21. package/lib/runtime/mcp-client/oauth.js +82 -14
  22. package/lib/runtime/mcp-client/tools.js +2 -1
  23. package/lib/runtime/mcp-config.js +178 -34
  24. package/lib/runtime/mcp-direct-config.js +49 -6
  25. package/lib/runtime/mcp-mounts.js +15 -3
  26. package/lib/runtime/mcp-overrides.js +131 -1
  27. package/lib/runtime/mcp-redaction.js +8 -0
  28. package/lib/runtime/mcp-status.js +21 -5
  29. package/lib/runtime/server-config.js +49 -8
  30. package/lib/runtime/subagent-catalog.js +62 -22
  31. package/lib/runtime/tool-registry-observer.js +8 -4
  32. package/lib/types/application/catalog.d.ts +10 -1
  33. package/lib/types/application/install-store.d.ts +1 -1
  34. package/lib/types/application/mcp-service.d.ts +32 -3
  35. package/lib/types/application/queries.d.ts +6 -1
  36. package/lib/types/catalog/manifests.d.ts +6 -2
  37. package/lib/types/catalog/surfaces.d.ts +14 -4
  38. package/lib/types/catalog/validate.d.ts +72 -11
  39. package/lib/types/contracts/market.d.ts +67 -0
  40. package/lib/types/contracts/mcp-status.d.ts +11 -0
  41. package/lib/types/model/layouts.d.ts +20 -0
  42. package/lib/types/model/preset-source.d.ts +18 -0
  43. package/lib/types/model/types.d.ts +37 -1
  44. package/lib/types/runtime/agent-role-router.d.ts +90 -16
  45. package/lib/types/runtime/host-locale.d.ts +1 -1
  46. package/lib/types/runtime/mcp-client/oauth.d.ts +4 -0
  47. package/lib/types/runtime/mcp-config.d.ts +75 -13
  48. package/lib/types/runtime/mcp-direct-config.d.ts +22 -0
  49. package/lib/types/runtime/mcp-overrides.d.ts +44 -0
  50. package/lib/types/runtime/mcp-redaction.d.ts +6 -0
  51. package/lib/types/runtime/server-config.d.ts +26 -1
  52. package/lib/types/runtime/subagent-catalog.d.ts +14 -2
  53. package/lib/types/runtime/tool-registry-observer.d.ts +5 -3
  54. package/package.json +8 -8
  55. package/schemas/1.0.0/mcp.schema.json +0 -22
  56. package/schemas/1.1.0/mcp.schema.json +120 -0
  57. package/schemas/1.1.0/plugin.schema.json +65 -0
  58. package/schemas/README.md +25 -19
  59. package/schemas/agent-plugins/spec.md +23 -9
  60. package/schemas/com.deepseek.harness/namespace.schema.json +42 -0
  61. package/schemas/com.deepseek.harness/spec.md +52 -0
package/README.md CHANGED
@@ -51,11 +51,12 @@ English | [简体中文](README.zh.md) | [Documentation](https://sivan757.github
51
51
 
52
52
  - **Ten suite layouts.** Claude Code, Codex, Cursor, Kimi Code, ZCode, Qoder CLI, GitHub Copilot CLI, Universal `.plugin/`, [agent-plugins](https://agent-plugins.org) and manifest-less skill collections.
53
53
  - **Sources.** Add a Git repository, a local directory or an archive (`.zip` / `.tar.gz` / `.tgz` / `.tar`); adopt a checkout you cloned yourself; refresh on demand; delete a managed checkout when you remove its source.
54
+ - **First-party source.** The plugin presets one source record pointing at its own suite collection, so the market lists that repository on first run with no URL to paste. It is an ordinary Git source from there on — refresh it to fetch, then install and toggle its suites like any other.
54
55
  - **Downloads that fit your network.** Pick a download region — default `auto` follows the interface language, or choose global / China mainland — and the plugin routes `github.com` clones through the matching mirror. A proxy and per-invocation tuning live in the host config.
55
56
  - **Runtime surfaces.** Enabled suites inject into sessions: skills into the catalog and slash menu, commands as `/name`, agent personas into the subagent catalog, MCP tools with an `mcp__` prefix, hooks onto host lifecycle events, and language servers through the `lsp` tool.
56
- - **MCP.** A built-in bridge runs stdio, Streamable HTTP with OAuth and legacy SSE without a host MCP client. `${VAR}` references resolve from the host credential store or the launch environment; per-server overrides disable or patch a declaration without editing the source; an optional host-client compatibility mode is available. Tools register as `mcp__<suite>__<server>__<tool>`.
57
+ - **MCP.** A built-in bridge runs stdio, Streamable HTTP with OAuth and legacy SSE without a host MCP client. `${VAR}` references resolve from the host credential store or the launch environment; per-server overrides disable or patch a declaration without editing the source, set the tool-call and startup timeouts, and switch individual tools off; a new service starts from a template or a pasted definition whose entries each report their own outcome; an optional host-client compatibility mode is available. Tools register as `mcp__<suite>__<server>__<tool>`.
57
58
  - **LSP.** Self-provisioned: installing the plugin is the whole setup, and the `lsp` tool mounts only while a language server is wanted. The server executable itself must be on `PATH`. Upgrading from a release that asked you to expose LSP from your profile? A profile that still carries that hand-added layer reports a seam conflict; the LSP panel names the file and removes the layer for you, keeping a backup.
58
- - **Agent personas and delegation.** Role cards save an exact provider, model and reasoning effort; they appear in the session catalog and run through `subagent_run`, which starts a durable background child and returns its id immediately.
59
+ - **Agent personas and delegation.** Role cards save an exact provider, model and reasoning effort; they appear in the session catalog and run through `subagent_role`, which starts a durable background child and returns its id immediately.
59
60
  - **Project dimension.** Skills, agents, commands, MCP servers and hooks are read from the project's own directories with no install step.
60
61
  - **Your own resources.** Author skills, commands and agent personas as Markdown under `~/.agents/`, then edit them or disable them without deleting the files.
61
62
  - **Background source updates.** Optionally refresh every configured source on a timer; off by default.
@@ -71,7 +72,7 @@ dsh plugin --profile <name> add dsh-agent-plugins-market
71
72
  ```
72
73
 
73
74
  1. Restart DSH and open **Settings → Agent Plugins Market**.
74
- 2. In **Market**, add a source, for example `https://github.com/anthropics/claude-plugins-official`. No sources are preconfigured.
75
+ 2. The market already lists the first-party source; press **Refresh** to fetch its suites. To pull in more, add a source, for example `https://github.com/anthropics/claude-plugins-official`.
75
76
  3. Open a suite, review its contents, then install it and ensure it is enabled.
76
77
  4. For a suite with skills, check the **Skills** tab and type `/` in chat to find its user-invocable skills. For an MCP suite, check **MCP services** and resolve any credential or connection notice before using its tools.
77
78
 
@@ -81,14 +82,14 @@ Requirements, profile configuration and alternative installs: [usage guide](docs
81
82
 
82
83
  The workspace has six tabs:
83
84
 
84
- | Tab | Use it to |
85
- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
86
- | Market | Add sources, preview suites, install / uninstall, enable / disable and refresh. |
87
- | Skills | Browse skills and create or edit your own reusable instructions. |
88
- | Commands | Manage prompt templates invoked as `/name`. |
89
- | Agent personas | Manage role instructions and save an exact provider, model and reasoning effort per role; delegate in the background through `subagent_run`. |
90
- | MCP services | Add a service or configure an installed one, its credentials and authorization; inspect status and retry failures. |
91
- | LSP servers | Add and configure language servers and inspect their runtime status. |
85
+ | Tab | Use it to |
86
+ | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
87
+ | Market | Add sources, preview suites, install / uninstall, enable / disable and refresh. |
88
+ | Skills | Browse skills and create or edit your own reusable instructions. |
89
+ | Commands | Manage prompt templates invoked as `/name`. |
90
+ | Agent personas | Manage role instructions and save an exact provider, model and reasoning effort per role; delegate in the background through `subagent_role`. |
91
+ | MCP services | Add a service or configure an installed one, its credentials and authorization; inspect status and retry failures. |
92
+ | LSP servers | Add and configure language servers and inspect their runtime status. |
92
93
 
93
94
  A **source** is where content comes from; a **suite** is an installable unit discovered there. Adding a source discovers its suites. Installing and enabling a suite controls its runtime capabilities.
94
95
 
@@ -102,16 +103,16 @@ Supported **layout dialects** describe how files are organized. The [shared prio
102
103
 
103
104
  Supported **runtime surfaces** describe what DSH can use:
104
105
 
105
- | Surface | Runtime support and conditions |
106
- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
107
- | Skills | Host skill catalog and user-invocable slash entries; supported root placeholders are expanded. |
108
- | Commands | Slash commands through the host command service. |
109
- | Agents | Dynamic subagent catalog and `subagent_run`; requires host agents, tools, LLM, subagent and session-persistence services. |
110
- | MCP | Built-in bridge by default: stdio, Streamable HTTP with OAuth, and legacy SSE. Optional host-client compatibility mode is also available. |
111
- | Hooks | The command-hook subset mapped by `dsh-hooks-claude-code`. |
112
- | LSP | Self-provisioned: installing the plugin is the whole setup, and `lsp` mounts only while a language server is wanted; the server executable must be on `PATH`. |
106
+ | Surface | Runtime support and conditions |
107
+ | --- | --- |
108
+ | Skills | Host skill catalog and user-invocable slash entries; supported root placeholders are expanded. |
109
+ | Commands | Slash commands through the host command service. |
110
+ | Agents | Dynamic subagent catalog and `subagent_role`; requires host agents, tools, LLM, subagent and session-persistence services. |
111
+ | MCP | Built-in bridge by default: stdio, Streamable HTTP with OAuth, and legacy SSE. Optional host-client compatibility mode is also available; it enforces the tool-call timeout but not tool filters or a startup timeout. |
112
+ | Hooks | The command-hook subset mapped by `dsh-hooks-claude-code`. |
113
+ | LSP | Self-provisioned: installing the plugin is the whole setup, and `lsp` mounts only while a language server is wanted; the server executable must be on `PATH`. |
113
114
 
114
- Agent roles appear in the session catalog and run through `subagent_run(agent, prompt)`. A role may save an exact `provider` plus `model` pair and a `reasoning_effort`; every other declaration is ignored and the child inherits the parent route. `tools` and `disallowedTools` are preserved in the file but never applied. See [agent roles](docs/user/agent-roles.md) for the frontmatter fields and limits.
115
+ Agent roles appear in the session catalog and run through `subagent_role(agent, prompt)`. A role may save an exact `provider` plus `model` pair and a `reasoning_effort`; every other declaration is ignored and the child inherits the parent route. `tools` and `disallowedTools` are preserved in the file but never applied. See [agent roles](docs/user/agent-roles.md) for the frontmatter fields and limits.
115
116
 
116
117
  ### Layout detection precedence
117
118
 
@@ -150,16 +151,16 @@ The table says per layout whether this plugin reads a given surface at all. **Ye
150
151
  | [Qoder CLI](https://docs.qoder.com/cli/plugins-reference) `.qoder-plugin/` | Yes | Yes | Yes | Partial | Partial | Partial |
151
152
  | [GitHub Copilot CLI](https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-plugin-reference) | Yes | Yes | Yes | Yes | Partial | Yes |
152
153
  | Universal compatibility layout `.plugin/` | Yes | Yes | Yes | Yes | Partial | Yes |
153
- | [agent-plugins](https://agent-plugins.org) | Yes | Partial | Partial | Yes | Partial | Partial |
154
+ | [agent-plugins](https://agent-plugins.org) | Yes | Yes | Yes | Yes | Yes | Yes |
154
155
  | Manifest-less skill collection | Yes | Yes | Yes | Yes | Partial | Partial |
155
156
  | Project-native directories | Yes | Yes | Yes | Yes | Partial | No |
156
157
 
157
- - **Skills** are read from the paths a manifest declares and from the conventional `skills/` directory, including flat `SKILL.md` files.
158
+ - **Skills** are read from the paths a manifest declares and from the conventional `skills/` directory, including flat `SKILL.md` files. A conformant agent-plugins package is the exception: skills come from one level of `skills/` subdirectories, exactly as its specification requires.
158
159
  - **Agents and commands** are read as Markdown (`agents/*.md`, `commands/*.md`). Cursor plugin commands accept `.md`, `.mdc`, `.markdown` and `.txt`. Codex and Kimi native agent/command formats (TOML, YAML) have no adapter yet.
159
160
  - **MCP** covers declared files, inline tables and arrays. Cursor's schema-less `mcp.json` and agent-plugins' strict `mcp.json` both work; Kimi Code is inline-only. Codex app connectors stay outside this adapter.
160
161
  - **Hooks** map the command-style events DSH has an equivalent for; events without one (for example `afterFileEdit`) are reported instead of simulated. Cursor's native events are not read.
161
162
  - **LSP** accepts declared files, arrays and inline tables plus the conventional `.lsp.json` / `lsp.json` locations. Declarations inside a project are reported but not mounted: the host LSP registry is global. Some layouts only expose LSP directories for preview.
162
- - **agent-plugins** standardizes portable skills and MCP only. Agents, commands and hooks for that layout are read through this plugin's shared directory conventions, not through the specification.
163
+ - **agent-plugins** suites read the portable core (`skills/`, `mcp.json`) per the specification, plus this plugin's [`com.deepseek.harness`](schemas/com.deepseek.harness/spec.md) extension namespace for commands, agents, hooks, LSP and per-server MCP policy (OAuth, tool lists, timeouts). Root-level `commands/`, `agents/`, `hooks/` and `.mcp.json` files belong to other layouts and are reported as unread for this dialect; inline manifest component keys are reported and ignored per §5.2. Both recognized releases (1.0.0, 1.1.0) validate against their own vendored schemas.
163
164
  - **Universal** is a compatibility-layout label used by this plugin; the [OpenHands SDK](https://docs.openhands.dev/sdk/guides/plugins) documents the same `.plugin/plugin.json` location and a [Vercel repository](https://github.com/vercel/vercel-plugin/blob/main/.plugin/plugin.json) uses it, but no cross-vendor specification exists.
164
165
 
165
166
  Reading a layout does not guarantee every behavior of its original platform. Invalid declarations are diagnosed and skipped.
@@ -194,6 +195,10 @@ Use **Add** in **MCP services** or **LSP servers**. The declaration is validated
194
195
 
195
196
  Only when **Background source updates** is on: every configured source is then refreshed every 6 hours, starting one interval after you enable it. The switch is off by default, and the refresh button always works.
196
197
 
198
+ **Where do the suites that appear without adding a source come from?**
199
+
200
+ The plugin presets one source record pointing at its own suite collection, so the market lists that repository on first run; press **Refresh** to fetch its suites. From there it behaves like any other source — including removal, which the next activation undoes just as it does for a source seeded through configuration.
201
+
197
202
  **What if a source download fails?**
198
203
 
199
204
  Use a local directory, adopt a manual checkout, or configure a proxy / mirror. See [source configuration](docs/user/usage.md#configure-marketplace-sources).
@@ -209,7 +214,7 @@ Only when you tick **also delete the managed market directory** in the confirmat
209
214
  ## More documentation
210
215
 
211
216
  - [Usage guide](docs/user/usage.md): installation, source configuration, storage, host requirements, project layouts, MCP / LSP and feedback settings.
212
- - [Plugin specifications](schemas/README.md): per-dialect reference schemas and evidence, plus the vendored agent-plugins v1.0.0 contracts.
217
+ - [Plugin specifications](schemas/README.md): per-dialect reference schemas and evidence, the vendored agent-plugins v1 contracts (1.0.0, 1.1.0), and the [`com.deepseek.harness` namespace contract](schemas/com.deepseek.harness/spec.md).
213
218
  - [Compatibility report](docs/reference/compat-report.md): one real repository per schema, with commits, schema verdicts and scanner output.
214
219
  - [Contributing](CONTRIBUTING.md): development setup, checks and PR workflow.
215
220
  - [Security policy](SECURITY.md) · [Release history](CHANGELOG.md) · [MIT license](LICENSE).
package/README.zh.md CHANGED
@@ -51,11 +51,12 @@
51
51
 
52
52
  - **十种套件布局。** Claude Code、Codex、Cursor、Kimi Code、ZCode、Qoder CLI、GitHub Copilot CLI、Universal `.plugin/`、[agent-plugins](https://agent-plugins.org) 与无清单技能集合。
53
53
  - **来源。** 添加 Git 仓库、本地目录或压缩包(`.zip` / `.tar.gz` / `.tgz` / `.tar`);收编自己克隆的目录;按需刷新;删除来源时可一并删除受管目录。
54
+ - **第一方来源。** 插件预置一条指向自身套件集合的仓库源记录,所以首次运行市场里就列出该仓库,不需要粘贴任何地址。此后它就是普通 Git 来源——刷新以拉取,再像其他来源一样安装与启停其中的套件。
54
55
  - **适合你网络的下载方式。** 下载区域设置(默认 `auto` 跟随界面语言,也可显式选择全球或中国大陆)决定 `github.com` 克隆走的镜像前缀;代理与单次调用调优在宿主配置里。
55
56
  - **运行时能力。** 启用套件会注入会话:技能进入目录与斜杠菜单,命令以 `/名称` 调用,代理角色进入子代理目录,MCP 工具以 `mcp__` 前缀注册,hooks 挂到宿主生命周期事件,语言服务器通过 `lsp` 工具使用。
56
- - **MCP。** 内置桥接无需宿主 MCP 客户端,支持 stdio、带 OAuth 的 Streamable HTTP 和旧式 SSE。`${VAR}` 引用从宿主凭据服务或启动环境解析;按服务覆盖可禁用或修补声明,不必修改源文件;也可选用宿主客户端兼容模式。工具名为 `mcp__<套件>__<服务>__<工具>`。
57
+ - **MCP。** 内置桥接无需宿主 MCP 客户端,支持 stdio、带 OAuth 的 Streamable HTTP 和旧式 SSE。`${VAR}` 引用从宿主凭据服务或启动环境解析;按服务覆盖可禁用或修补声明,不必修改源文件,可设置工具调用超时与启动超时,也可逐个关闭工具;新建服务可以从模板或粘贴的定义开始,粘贴的每一条各自给出结果;还可选用宿主客户端兼容模式。工具名为 `mcp__<套件>__<服务>__<工具>`。
57
58
  - **LSP。** 随插件自带:安装插件即完成全部设置,`lsp` 工具只在确有语言服务器需求时挂载;语言服务器可执行文件本身需在 `PATH` 中。从「需要你自己在 profile 里暴露 LSP」的版本升级上来时,若 profile 里还留着那层手工配置,会报接缝冲突;LSP 面板会指出该文件并代为移除这一层,且保留备份。
58
- - **代理角色与委派。** 角色卡片保存精确的供应商、模型与思考强度;角色出现在会话目录中,通过 `subagent_run` 运行,立即返回可继续的后台子代理 ID。
59
+ - **代理角色与委派。** 角色卡片保存精确的供应商、模型与思考强度;角色出现在会话目录中,通过 `subagent_role` 运行,立即返回可继续的后台子代理 ID。
59
60
  - **项目维度。** 项目自身的技能、代理、命令、MCP 服务与 hooks 无需安装即被发现。
60
61
  - **自建资源。** 技能、命令和代理角色以 Markdown 保存在 `~/.agents/` 下,可随时编辑或禁用而不删除文件。
61
62
  - **后台自动更新来源。** 可选:按定时器刷新全部已配置来源;默认关闭。
@@ -71,7 +72,7 @@ dsh plugin --profile <name> add dsh-agent-plugins-market
71
72
  ```
72
73
 
73
74
  1. 重启 DSH,打开 **设置 → Agent Plugins 市场**。
74
- 2. 在**插件市场**添加来源,例如 `https://github.com/anthropics/claude-plugins-official`。插件不预置来源。
75
+ 2. 市场里已经列出第一方来源;点**刷新**即可拉取其中的套件。想补充更多内容时再添加来源,例如 `https://github.com/anthropics/claude-plugins-official`。
75
76
  3. 打开套件查看内容,确认后安装,并确保套件已启用。
76
77
  4. 如果套件提供技能,先在**技能**页签查看,再在聊天中输入 `/` 查找允许手动调用的技能。如果提供 MCP,前往 **MCP 服务**检查状态,处理凭据或连接提示后再使用工具。
77
78
 
@@ -81,14 +82,14 @@ dsh plugin --profile <name> add dsh-agent-plugins-market
81
82
 
82
83
  工作区包含六个页签:
83
84
 
84
- | 页签 | 可以做什么 |
85
- | -------- | ------------------------------------------------------------------------------------------ |
86
- | 插件市场 | 添加来源、预览套件、安装 / 卸载、启用 / 禁用和刷新。 |
87
- | 技能 | 浏览技能,创建或编辑自己的可复用指令。 |
88
- | 命令 | 管理通过 `/名称` 调用的提示词模板。 |
89
- | 代理角色 | 管理角色指令并为每个角色保存精确的供应商、模型与思考强度;通过 `subagent_run` 在后台委派。 |
90
- | MCP 服务 | 自行新增服务或配置已安装的服务及其凭据与授权,查看连接状态并重试失败的服务。 |
91
- | LSP 服务 | 新增并配置语言服务器,查看运行状态。 |
85
+ | 页签 | 可以做什么 |
86
+ | -------- | ------------------------------------------------------------------------------------------- |
87
+ | 插件市场 | 添加来源、预览套件、安装 / 卸载、启用 / 禁用和刷新。 |
88
+ | 技能 | 浏览技能,创建或编辑自己的可复用指令。 |
89
+ | 命令 | 管理通过 `/名称` 调用的提示词模板。 |
90
+ | 代理角色 | 管理角色指令并为每个角色保存精确的供应商、模型与思考强度;通过 `subagent_role` 在后台委派。 |
91
+ | MCP 服务 | 自行新增服务或配置已安装的服务及其凭据与授权,查看连接状态并重试失败的服务。 |
92
+ | LSP 服务 | 新增并配置语言服务器,查看运行状态。 |
92
93
 
93
94
  **来源(source)**表示内容来自哪里,**套件(suite)**是从中发现的可安装单元。添加来源用于发现套件;安装并启用套件决定其运行时能力是否生效。
94
95
 
@@ -102,16 +103,16 @@ dsh plugin --profile <name> add dsh-agent-plugins-market
102
103
 
103
104
  支持的**运行时能力(runtime surface)**描述 DSH 能使用什么:
104
105
 
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` 中。 |
106
+ | 能力 | 支持情况与条件 |
107
+ | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
108
+ | 技能 | 接入宿主技能目录,允许手动调用的技能出现在斜杠菜单;展开支持的根路径占位符。 |
109
+ | 命令 | 通过宿主命令服务注册斜杠命令。 |
110
+ | 代理 | 动态子代理目录与 `subagent_role`;需要宿主 agents、tools、LLM、subagents 与会话持久化服务。 |
111
+ | MCP | 默认使用内置桥接,支持 stdio、带 OAuth 的 Streamable HTTP 和旧式 SSE;也可切换宿主客户端兼容模式,该模式执行工具调用超时,但不执行工具过滤与启动超时。 |
112
+ | Hooks | 运行 `dsh-hooks-claude-code` 桥接映射支持的 command-hook 子集。 |
113
+ | LSP | 随插件自带:安装插件即安装 LSP 支持包,`lsp` 工具只在确有语言服务器需求时挂载;语言服务器可执行文件本身需在 `PATH` 中。 |
113
114
 
114
- 代理角色显示在会话目录中,并通过 `subagent_run(agent, prompt)` 执行。角色可以保存精确的 `provider` + `model` 与 `reasoning_effort`;其余声明一律忽略,子代理改为继承父会话路由。`tools` 与 `disallowedTools` 会保留在文件中但不会生效。frontmatter 字段与边界见[代理角色](docs/user/agent-roles.zh.md)。
115
+ 代理角色显示在会话目录中,并通过 `subagent_role(agent, prompt)` 执行。角色可以保存精确的 `provider` + `model` 与 `reasoning_effort`;其余声明一律忽略,子代理改为继承父会话路由。`tools` 与 `disallowedTools` 会保留在文件中但不会生效。frontmatter 字段与边界见[代理角色](docs/user/agent-roles.zh.md)。
115
116
 
116
117
  ### 布局识别优先级
117
118
 
@@ -150,16 +151,16 @@ dsh plugin --profile <name> add dsh-agent-plugins-market
150
151
  | [Qoder CLI](https://docs.qoder.com/cli/plugins-reference) `.qoder-plugin/` | 支持 | 支持 | 支持 | 部分 | 部分 | 部分 |
151
152
  | [GitHub Copilot CLI](https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-plugin-reference) | 支持 | 支持 | 支持 | 支持 | 部分 | 支持 |
152
153
  | Universal 兼容布局 `.plugin/` | 支持 | 支持 | 支持 | 支持 | 部分 | 支持 |
153
- | [agent-plugins](https://agent-plugins.org) | 支持 | 部分 | 部分 | 支持 | 部分 | 部分 |
154
+ | [agent-plugins](https://agent-plugins.org) | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
154
155
  | 无清单技能集合 | 支持 | 支持 | 支持 | 支持 | 部分 | 部分 |
155
156
  | 项目原生目录 | 支持 | 支持 | 支持 | 支持 | 部分 | 不支持 |
156
157
 
157
- - **技能**读取清单声明的路径与约定的 `skills/` 目录,也支持平铺的 `SKILL.md` 文件。
158
+ - **技能**读取清单声明的路径与约定的 `skills/` 目录,也支持平铺的 `SKILL.md` 文件。合规的 agent-plugins 套件是例外:技能只来自 `skills/` 一层子目录,与其规范一致。
158
159
  - **代理与命令**按 Markdown 读取(`agents/*.md`、`commands/*.md`)。Cursor 插件命令接受 `.md`、`.mdc`、`.markdown`、`.txt`;Codex 与 Kimi 的原生代理/命令格式(TOML、YAML)尚未适配。
159
160
  - **MCP** 支持声明的文件、内联表与数组。Cursor 的无 schema `mcp.json` 与 agent-plugins 的严格 `mcp.json` 都能读取;Kimi Code 只读内联声明。Codex 的 app 连接器不在适配范围内。
160
161
  - **Hooks** 只映射 DSH 有对应点的命令类事件;没有对应点的事件(例如 `afterFileEdit`)给出诊断而不伪造执行。Cursor 的原生事件不读取。
161
162
  - **LSP** 支持声明的文件、数组、内联表,以及约定的 `.lsp.json` / `lsp.json` 位置。项目内的 LSP 声明只给诊断、不挂载:宿主 LSP 注册表是全局的。部分布局只提供目录预览。
162
- - **agent-plugins** 规范只定义可移植的技能与 MCP;该布局的代理、命令与 hooks 按本插件的共用目录约定读取,不是规范能力。
163
+ - **agent-plugins** 套件按规范读取可移植核心(`skills/`、`mcp.json`),另通过本插件的 [`com.deepseek.harness`](schemas/com.deepseek.harness/spec.md) 扩展命名空间承载命令、代理、hooks、LSP 与逐服务器 MCP 策略(OAuth、工具清单、超时)。该布局下根目录的 `commands/`、`agents/`、`hooks/` 与 `.mcp.json` 属于其它布局,给出「未读取」诊断;清单内联组件键按 §5.2 报告后忽略。两个受支持的版本(1.0.0、1.1.0)各自按内置 schema 校验。
163
164
  - **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
 
165
166
  能读取一种布局,并不保证复现原平台的全部行为。无效声明会被诊断并跳过。
@@ -194,6 +195,10 @@ README 中的仓库在 [`tests/fixtures/real-layouts/`](tests/fixtures/real-layo
194
195
 
195
196
  只有开启**后台自动更新来源**后才会:开启后每 6 小时刷新一次全部已配置来源,第一次刷新在开启满一个周期之后。该开关默认关闭,刷新按钮始终可用。
196
197
 
198
+ **没有添加任何来源,市场里的套件是从哪来的?**
199
+
200
+ 插件预置一条指向自身套件集合的仓库源记录,所以首次运行市场里就列出该仓库;点**刷新**即可拉取其中的套件。此后它与其他来源完全一致——包括删除:和通过配置预置的来源一样,下次激活会重新登记。
201
+
197
202
  **来源下载失败怎么办?**
198
203
 
199
204
  可以使用本地目录、收编手动克隆的仓库,或配置代理与镜像,见[配置市场源](docs/user/usage.zh.md#配置市场源)。
@@ -209,7 +214,7 @@ README 中的仓库在 [`tests/fixtures/real-layouts/`](tests/fixtures/real-layo
209
214
  ## 更多文档
210
215
 
211
216
  - [使用指南](docs/user/usage.zh.md):安装、来源配置、存储、宿主要求、项目布局、MCP / LSP 和反馈设置。
212
- - [插件规范](schemas/README.md):各布局的参考 schema 与依据,以及内置的 agent-plugins v1.0.0 契约。
217
+ - [插件规范](schemas/README.md):各布局的参考 schema 与依据、内置的 agent-plugins 契约(1.0.0、1.1.0),以及 [`com.deepseek.harness` 命名空间契约](schemas/com.deepseek.harness/spec.md)。
213
218
  - [兼容性报告](docs/reference/compat-report.md):每个 schema 一个真实仓库,含提交号、schema 结论与扫描器输出。
214
219
  - [贡献指南](CONTRIBUTING.md):开发环境、检查命令和 PR 流程。
215
220
  - [安全政策](SECURITY.md) · [版本记录](CHANGELOG.md) · [MIT 许可](LICENSE)。