dsh-agent-plugins-market 0.9.1 → 0.10.0
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 +59 -161
- package/README.zh.md +71 -173
- package/client/client.js +116 -92
- package/client/client.js.map +1 -1
- package/lib/packages/market-bundle/src/session-extension.js +10 -3
- package/lib/packages/market-catalog/src/scanning/archive.js +31 -0
- package/lib/packages/market-catalog/src/scanning/validate.js +18 -1
- package/lib/packages/market-mcp/src/runtime/mcp/bridge/connection.js +42 -23
- package/lib/packages/market-mcp/src/runtime/mcp/bridge/oauth.js +29 -2
- package/lib/packages/market-mcp/src/runtime/mcp/bridge/transport.js +8 -5
- package/lib/packages/market-runtime/src/application/fs-probe.js +43 -0
- package/lib/packages/market-runtime/src/application/panel-resources.js +3 -2
- package/lib/packages/market-runtime/src/application/panels/user-store.js +52 -12
- package/lib/packages/market-runtime/src/application/project-agent-roles.js +5 -2
- package/lib/packages/market-runtime/src/runtime/agents/agent-role-router.js +19 -12
- package/lib/packages/market-runtime/src/runtime/agents/subagent-catalog.js +19 -3
- package/lib/packages/market-runtime/src/runtime/agents/subagent-seam.js +29 -0
- package/lib/packages/market-runtime/src/runtime/agents/teammate-role-runtime.js +8 -2
- package/lib/packages/market-runtime/src/runtime/agents/teammate-role-tool.js +13 -6
- package/lib/packages/market-runtime/src/runtime/host/scoped-contributors.js +4 -0
- package/lib/packages/market-runtime/src/runtime/surfaces/project-runtime.js +4 -1
- package/lib/types/packages/market-bundle/src/session-extension.d.ts +4 -1
- package/lib/types/packages/market-mcp/src/runtime/mcp/bridge/connection.d.ts +4 -1
- package/lib/types/packages/market-mcp/src/runtime/mcp/bridge/oauth.d.ts +14 -0
- package/lib/types/packages/market-mcp/src/runtime/mcp/bridge/transport.d.ts +5 -1
- package/lib/types/packages/market-runtime/src/application/fs-probe.d.ts +12 -0
- package/lib/types/packages/market-runtime/src/runtime/agents/agent-role-router.d.ts +20 -11
- package/lib/types/packages/market-runtime/src/runtime/agents/subagent-catalog.d.ts +23 -2
- package/lib/types/packages/market-runtime/src/runtime/agents/subagent-seam.d.ts +63 -0
- package/lib/types/packages/market-runtime/src/runtime/agents/teammate-role-tool.d.ts +2 -2
- package/package.json +67 -62
- package/schemas/1.0.0/mcp.schema.json +0 -120
- package/schemas/1.0.0/plugin.schema.json +0 -65
- package/schemas/1.1.0/mcp.schema.json +0 -120
- package/schemas/1.1.0/plugin.schema.json +0 -65
- package/schemas/README.md +0 -79
- package/schemas/agent-plugins/spec.md +0 -62
- package/schemas/claude-code/marketplace.schema.json +0 -143
- package/schemas/claude-code/plugin.schema.json +0 -105
- package/schemas/claude-code/spec.md +0 -108
- package/schemas/codex/marketplace.schema.json +0 -78
- package/schemas/codex/plugin.schema.json +0 -77
- package/schemas/codex/spec.md +0 -91
- package/schemas/com.deepseek.harness/namespace.schema.json +0 -42
- package/schemas/com.deepseek.harness/spec.md +0 -52
- package/schemas/cursor/marketplace.schema.json +0 -82
- package/schemas/cursor/plugin.schema.json +0 -58
- package/schemas/cursor/spec.md +0 -92
- package/schemas/github-copilot/marketplace.schema.json +0 -107
- package/schemas/github-copilot/plugin.schema.json +0 -89
- package/schemas/github-copilot/spec.md +0 -105
- package/schemas/kimi/marketplace.schema.json +0 -38
- package/schemas/kimi/plugin.schema.json +0 -84
- package/schemas/kimi/spec.md +0 -94
- package/schemas/qoder/marketplace.schema.json +0 -115
- package/schemas/qoder/plugin.schema.json +0 -127
- package/schemas/qoder/spec.md +0 -111
- package/schemas/skill-collection/spec.md +0 -37
- package/schemas/universal/marketplace.schema.json +0 -98
- package/schemas/universal/plugin.schema.json +0 -49
- package/schemas/universal/spec.md +0 -53
- package/schemas/zcode/marketplace.schema.json +0 -161
- package/schemas/zcode/plugin.schema.json +0 -89
- package/schemas/zcode/spec.md +0 -102
package/README.md
CHANGED
|
@@ -1,242 +1,140 @@
|
|
|
1
|
-
<img src="assets/dsh-agent-plugins.png" alt="Agent Plugins" width="64" height="64" />
|
|
1
|
+
<img src="https://raw.githubusercontent.com/Sivan757/dsh-agent-plugins-market/main/assets/dsh-agent-plugins.png" alt="Agent Plugins" width="64" height="64" />
|
|
2
2
|
|
|
3
3
|
# Agent Plugins
|
|
4
4
|
|
|
5
5
|
`dsh-agent-plugins-market`
|
|
6
6
|
|
|
7
|
-
**A one-stop skills, subagent, MCP and LSP manager inside [DeepSeek Harness (DSH)](https://github.com/deepseek-ai/deepseek-harness)
|
|
7
|
+
**A one-stop skills, subagent, MCP and LSP manager inside [DeepSeek Harness (DSH)](https://github.com/deepseek-ai/deepseek-harness).**
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Run Claude Code, Codex, Cursor, Kimi and agent-plugins suites inside DSH. The plugin reads each layout in place, so you convert no manifest and copy no file. Install it from the DSH Web GUI, then manage skills, commands, agent personas, MCP services and LSP servers in one workspace.
|
|
10
10
|
|
|
11
11
|
If this plugin is useful to you, a ⭐ on [GitHub](https://github.com/Sivan757/dsh-agent-plugins-market) is appreciated.
|
|
12
12
|
|
|
13
13
|
English | [简体中文](README.zh.md) | [Documentation](https://sivan757.github.io/dsh-agent-plugins-market/) | [npm](https://www.npmjs.com/package/dsh-agent-plugins-market)
|
|
14
14
|
|
|
15
|
-
[](https://www.npmjs.com/package/dsh-agent-plugins-market) [](LICENSE)
|
|
15
|
+
[](https://www.npmjs.com/package/dsh-agent-plugins-market) [](https://github.com/Sivan757/dsh-agent-plugins-market/blob/main/LICENSE)
|
|
16
16
|
|
|
17
|
-
[Quick start](#quick-start) · [Everyday use](#everyday-use) · [Compatibility](#compatibility
|
|
17
|
+
[Quick start](#quick-start) · [Highlights](#highlights) · [Everyday use](#everyday-use) · [Compatibility](#compatibility) · [FAQ](#faq)
|
|
18
18
|
|
|
19
19
|
## Pages
|
|
20
20
|
|
|
21
21
|
<table>
|
|
22
22
|
<tr>
|
|
23
23
|
<td align="center" width="33%">
|
|
24
|
-
<img src="docs/screenshots/market.png" alt="Market" width="100%" /><br />
|
|
24
|
+
<img src="https://raw.githubusercontent.com/Sivan757/dsh-agent-plugins-market/main/docs/screenshots/market.png" alt="Market" width="100%" /><br />
|
|
25
25
|
<b>Market</b><br />Add sources, preview suites, install and enable.
|
|
26
26
|
</td>
|
|
27
27
|
<td align="center" width="33%">
|
|
28
|
-
<img src="docs/screenshots/skills.png" alt="Skills" width="100%" /><br />
|
|
28
|
+
<img src="https://raw.githubusercontent.com/Sivan757/dsh-agent-plugins-market/main/docs/screenshots/skills.png" alt="Skills" width="100%" /><br />
|
|
29
29
|
<b>Skills</b><br />Browse skills and author your own.
|
|
30
30
|
</td>
|
|
31
31
|
<td align="center" width="33%">
|
|
32
|
-
<img src="docs/screenshots/commands.png" alt="Commands" width="100%" /><br />
|
|
32
|
+
<img src="https://raw.githubusercontent.com/Sivan757/dsh-agent-plugins-market/main/docs/screenshots/commands.png" alt="Commands" width="100%" /><br />
|
|
33
33
|
<b>Commands</b><br />Manage prompt templates invoked as /name.
|
|
34
34
|
</td>
|
|
35
35
|
</tr>
|
|
36
36
|
<tr>
|
|
37
37
|
<td align="center" width="33%">
|
|
38
|
-
<img src="docs/screenshots/personas.png" alt="Agent personas" width="100%" /><br />
|
|
38
|
+
<img src="https://raw.githubusercontent.com/Sivan757/dsh-agent-plugins-market/main/docs/screenshots/personas.png" alt="Agent personas" width="100%" /><br />
|
|
39
39
|
<b>Agent personas</b><br />Roles with an exact provider, model and effort.
|
|
40
40
|
</td>
|
|
41
41
|
<td align="center" width="33%">
|
|
42
|
-
<img src="docs/screenshots/mcp.png" alt="MCP services" width="100%" /><br />
|
|
42
|
+
<img src="https://raw.githubusercontent.com/Sivan757/dsh-agent-plugins-market/main/docs/screenshots/mcp.png" alt="MCP services" width="100%" /><br />
|
|
43
43
|
<b>MCP services</b><br />Credentials, authorization and connection status.
|
|
44
44
|
</td>
|
|
45
45
|
<td align="center" width="33%">
|
|
46
|
-
<img src="docs/screenshots/lsp.png" alt="LSP servers" width="100%" /><br />
|
|
46
|
+
<img src="https://raw.githubusercontent.com/Sivan757/dsh-agent-plugins-market/main/docs/screenshots/lsp.png" alt="LSP servers" width="100%" /><br />
|
|
47
47
|
<b>LSP servers</b><br />Language server configuration and runtime status.
|
|
48
48
|
</td>
|
|
49
49
|
</tr>
|
|
50
50
|
</table>
|
|
51
51
|
|
|
52
|
-
##
|
|
52
|
+
## Quick start
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
1. In the DSH Web GUI, open **Plugins** in the sidebar.
|
|
55
|
+
2. Press **Add plugin**, type `dsh-agent-plugins-market`, then install it. The same dialog accepts a repository URL or a local directory.
|
|
56
|
+
3. Restart DSH, then open **Settings → Agent Plugins**.
|
|
57
|
+
4. The market already lists one first-party source. Press **Refresh** to fetch its suites. To bring in more, add a source such as `https://github.com/anthropics/claude-plugins-official`.
|
|
58
|
+
5. Open a suite, review its contents, then install it and keep it enabled. Skills appear in the **Skills** tab and in the `/` menu. Answer any credential notice on **MCP services** before you use that suite's tools.
|
|
55
59
|
|
|
56
|
-
|
|
57
|
-
- **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.
|
|
58
|
-
- **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.
|
|
59
|
-
- **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.
|
|
60
|
-
- **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.
|
|
61
|
-
- **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; creation and editing share the same service form, including advanced timeout settings and a JSON view; an optional host-client compatibility mode is available. A suite's tools register as `mcp__<suite>__<server>__<tool>`; a server you declare yourself in `~/.agents/mcp.json` mounts under its own key, `mcp__<server>__<tool>`.
|
|
62
|
-
- **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.
|
|
63
|
-
- **Agent personas and delegation.** Role cards keep their instructions and exact provider/model/effort settings. Without Agent Teams, use `subagent_role`; with Agent Teams, use `spawn_teammate_role` to create a real Team member and manage it through native Team tools.
|
|
64
|
-
- **Project dimension.** Skills, agents, commands, MCP servers and hooks are read from the project's own directories with no install step.
|
|
65
|
-
- **Your own resources.** Author skills, commands and agent personas as Markdown under `~/.agents/`, then edit them or disable them without deleting the files.
|
|
66
|
-
- **Background source updates.** Optionally refresh every configured source on a timer; off by default.
|
|
67
|
-
- **Web workspace.** Seven tabs: Market, Skills, Commands, Agent personas, MCP services, LSP servers and Hooks, each with search, filters and a grid/list toggle, plus status panels with diagnostics, credential editing, and an install confirmation that warns before executable third-party content is enabled. The settings page is the canonical layout. Every surface shares one tab row of equal columns that never scrolls sideways, and a label that does not fit ellipsizes. Every surface also shares one card and detail anatomy, and the preset manager follows it.
|
|
68
|
-
- **Bilingual interface and feedback.** Workspace strings and injected prompts follow the host language. With feedback enabled, the model can file a `report_market_issue` report through the `gh` CLI or a GitHub token; with neither, it opens a prefilled GitHub issue page and hands you the complete issue text.
|
|
69
|
-
- **Translation.** Descriptions and expanded documents can follow the Chinese or English interface. Names stay unchanged. Chinese defaults to on and English to off, but your saved choice takes priority. Documents offer original, translated, and paragraph-by-paragraph bilingual views, with bilingual selected by default. Translation starts on demand, tries Google Translate, Microsoft Translator, then your default model, and keeps the original when none answers. Results stay cached locally until cleared. Turning translation off keeps that cache. See [translation](docs/user/usage.md#translation).
|
|
60
|
+
Terminal alternative: `dsh plugin --profile <name> add dsh-agent-plugins-market`. Requirements, profile configuration and other install options live in the [install guide](https://sivan757.github.io/dsh-agent-plugins-market/docs/install/#installation-options).
|
|
70
61
|
|
|
71
|
-
##
|
|
62
|
+
## Highlights
|
|
72
63
|
|
|
73
|
-
|
|
64
|
+
### Core
|
|
74
65
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
66
|
+
- **Any skill repository works.** Add a Git URL whose repository holds `skills/<name>/SKILL.md` and the market discovers it as a suite. No manifest, no conversion, no file copying.
|
|
67
|
+
- **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.
|
|
68
|
+
- **Sources and downloads.** Add a Git repository, a local directory or an archive, adopt a checkout you cloned yourself, and refresh on demand. Pick a global or China mainland mirror, and refresh every source on a 6-hour timer if you want.
|
|
69
|
+
- **Runtime injection.** Enabled suites add skills to the catalog and slash menu, commands as `/name`, agent personas to the subagent catalog, MCP tools as `mcp__*`, hooks to lifecycle events, and language servers to the `lsp` tool. Installing the plugin is the whole LSP setup.
|
|
70
|
+
- **One workspace.** Seven tabs cover the market, the resources you author, and the services that run. Every tab has search, filters and a grid or list view.
|
|
78
71
|
|
|
79
|
-
|
|
80
|
-
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`.
|
|
81
|
-
3. Open a suite, review its contents, then install it and ensure it is enabled.
|
|
82
|
-
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.
|
|
72
|
+
### Advanced
|
|
83
73
|
|
|
84
|
-
|
|
74
|
+
- **MCP OAuth with nothing to declare.** A remote MCP server that answers `401` starts RFC 9728 discovery, dynamic client registration and PKCE authorization in your browser, and the granted token persists. OAuth is on by default, so a suite needs no declaration for it.
|
|
75
|
+
- **Per-server MCP control.** Override a declaration without editing its source, switch one tool off, and set the tool-call and startup timeouts.
|
|
76
|
+
- **Project and personal resources.** Turn on **Scan project Agent layouts** to read skills, commands, roles, MCP servers and hooks from the project's own directories. Author your own under `~/.agents/` as Markdown, and disable a resource without deleting its file.
|
|
77
|
+
- **Per-workspace control.** Each workspace switches the six mounted surfaces off or on, keeps its own resource filters, and saves a resource-window setup as a favorite that works across projects.
|
|
78
|
+
- **Hooks you can read and try.** A hook row opens a declaration card with its event, matcher and timeout, plus a dry run in your home directory.
|
|
79
|
+
- **Bilingual by default.** The interface and the injected prompts follow the host language. Descriptions and documents show the original, a translation or both, and stay cached until you clear them.
|
|
85
80
|
|
|
86
81
|
## Everyday use
|
|
87
82
|
|
|
88
83
|
The workspace has seven tabs:
|
|
89
84
|
|
|
90
|
-
| Tab
|
|
91
|
-
|
|
|
92
|
-
| Market
|
|
93
|
-
| Skills
|
|
94
|
-
| Commands
|
|
95
|
-
| Agent personas | Save role instructions and model settings
|
|
96
|
-
| MCP services
|
|
97
|
-
| LSP servers
|
|
98
|
-
| Hooks
|
|
99
|
-
|
|
100
|
-
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.
|
|
101
|
-
|
|
102
|
-
Everything you author yourself lives in the shared Agent layout root: skills, commands and personas as Markdown under `~/.agents/`, command hooks in `~/.agents/hooks.json` (or `~/.agents/hooks/hooks.json`), and the MCP and LSP services you add in the workspace in `~/.agents/mcp.json` and `~/.agents/lsp.json`. Commands and personas are read at any subdirectory depth, so a file another tool wrote at `~/.agents/commands/git/commit.md` is callable as `/git-commit`. Project-native resources stay in the project. See [storage and discovery](docs/user/usage.md#storage-and-discovery) for paths and precedence.
|
|
103
|
-
|
|
104
|
-
All seven tabs share a saved grid/list preference. Add and refresh actions sit at the top right; resource state rails are green when active. A hook row opens its own read-only declaration. The declaration shows the full command, the declared matcher, the declared timeout and the host support verdict, never the whole suite behind it.
|
|
105
|
-
|
|
106
|
-
## Compatibility and boundaries
|
|
107
|
-
|
|
108
|
-
Supported **layout dialects** describe how files are organized. The [shared priority table](#layout-detection-precedence) lists suite manifests and Marketplace catalogs together. All ten layout contracts in [`schemas/`](schemas/README.md) have independent reader tests; [the layout audit](docs/user/layout-coverage.md) maps them to pinned repository fixtures.
|
|
109
|
-
|
|
110
|
-
Supported **runtime surfaces** describe what DSH can use:
|
|
111
|
-
|
|
112
|
-
| Surface | Runtime support and conditions |
|
|
113
|
-
| --- | --- |
|
|
114
|
-
| Skills | Host skill catalog and user-invocable slash entries; supported root placeholders are expanded. |
|
|
115
|
-
| Commands | Slash commands through the host command service. |
|
|
116
|
-
| Agents | Dynamic role catalog; `subagent_role` without Agent Teams, `spawn_teammate_role` with it. Team mode also requires session query and system-prompt services. |
|
|
117
|
-
| 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. |
|
|
118
|
-
| Hooks | The command-hook subset mapped by `dsh-hooks-claude-code`. |
|
|
119
|
-
| 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`. |
|
|
120
|
-
|
|
121
|
-
Role discovery remains available in either mode. `spawn_teammate_role(agent, name, description, prompt)` applies role instructions and model settings from the first request, returns a native Team `target`, and retains the creation snapshot for resume. Only the Lead creates members, after the user explicitly requests Team work. Native `spawn_teammate` stays available; roles do not add a second management API. A separate Team coordination briefing keeps the Lead on user intent and integration while guiding members through scoped execution and reporting, even without a role catalog. `tools` and `disallowedTools` are preserved but not enforced. See [agent roles](docs/user/agent-roles.md) for routing, prerequisites and limits.
|
|
122
|
-
|
|
123
|
-
### Layout detection precedence
|
|
124
|
-
|
|
125
|
-
When multiple manifests exist in the **same suite directory**, the first existing file in this order selects the layout:
|
|
126
|
-
|
|
127
|
-
| Priority | Layout | Suite manifest | Marketplace catalog |
|
|
128
|
-
| --- | --- | --- | --- |
|
|
129
|
-
| 1 | [agent-plugins](https://agent-plugins.org) / root compatibility | `plugin.json` | No dedicated catalog |
|
|
130
|
-
| 2 | Universal compatibility | `.plugin/plugin.json` | `.plugin/marketplace.json` |
|
|
131
|
-
| 3 | Claude Code | `.claude-plugin/plugin.json` | `.claude-plugin/marketplace.json` |
|
|
132
|
-
| 4 | Cursor | `.cursor-plugin/plugin.json` | `.cursor-plugin/marketplace.json` |
|
|
133
|
-
| 5 | Kimi Code | `kimi.plugin.json`, then `.kimi-plugin/plugin.json` | `.kimi-plugin/marketplace.json` |
|
|
134
|
-
| 6 | Codex | `.codex-plugin/plugin.json` | `.agents/plugins/marketplace.json`, then `.agents/plugins/api_marketplace.json` |
|
|
135
|
-
| 7 | ZCode | `.zcode-plugin/plugin.json` | No dedicated catalog |
|
|
136
|
-
| 8 | Qoder CLI | `.qoder-plugin/plugin.json` | `.qoder-plugin/marketplace.json` |
|
|
137
|
-
| 9 | GitHub Copilot CLI | `.github/plugin/plugin.json` | `.github/plugin/marketplace.json` |
|
|
138
|
-
| Fallback | Skill collection / shared catalog | Discover skills when no recognized manifest exists | Root `marketplace.json` |
|
|
139
|
-
|
|
140
|
-
- **Manifests are tried in order:** a manifest that cannot be read or validated is reported and the next one is tried, down to the fallback. If every candidate fails, the suite is diagnosed instead of loading half of it.
|
|
141
|
-
- **Component fallback:** for a root `plugin.json` that does not declare a recognized agent-plugins `$schema`, missing component declarations can come from `.claude-plugin/plugin.json`; explicit root declarations win, and marketplace entry declarations fill remaining gaps.
|
|
142
|
-
- Marketplace catalogs follow the same order: the first catalog that produces suites wins, and invalid or empty catalogs allow the next candidate to be tried.
|
|
143
|
-
|
|
144
|
-
The order is defined in [`packages/market-contracts/src/model/layouts.ts`](packages/market-contracts/src/model/layouts.ts); selection and root-manifest fallback are implemented in [`packages/market-catalog/src/scanning/manifests.ts`](packages/market-catalog/src/scanning/manifests.ts).
|
|
85
|
+
| Tab | Use it to |
|
|
86
|
+
| -------------- | ----------------------------------------------------------------------------------- |
|
|
87
|
+
| Market | Add sources, preview suites, install or remove them, and switch them on or off. |
|
|
88
|
+
| Skills | Browse skills and create or edit your own reusable instructions. |
|
|
89
|
+
| Commands | Manage prompt templates invoked as `/name`. |
|
|
90
|
+
| Agent personas | Save role instructions and model settings, then delegate to them. |
|
|
91
|
+
| MCP services | Add a service or configure an installed one, its credentials and its authorization. |
|
|
92
|
+
| LSP servers | Add and configure language servers, and read their runtime status. |
|
|
93
|
+
| Hooks | Read each configured hook with its event, matcher and timeout. |
|
|
145
94
|
|
|
146
|
-
|
|
95
|
+
A **source** is where content comes from. A **suite** is an installable unit discovered there. Adding a source discovers its suites. Enabling a suite turns its runtime capabilities on.
|
|
147
96
|
|
|
148
|
-
|
|
97
|
+
Your own content lives under `~/.agents/`: skills, commands and personas as Markdown, hooks in `hooks.json`, and the MCP and LSP services you add in `mcp.json` and `lsp.json`. Project-native resources stay in the project. See [storage and discovery](https://sivan757.github.io/dsh-agent-plugins-market/docs/resources/#storage-and-discovery).
|
|
149
98
|
|
|
150
|
-
|
|
151
|
-
| ------------------------------------------------------------------------------------------------------------- | ------ | ------- | -------- | ------- | ------- | ------- |
|
|
152
|
-
| [Claude Code](https://code.claude.com/docs/en/plugins-reference) | Yes | Yes | Yes | Yes | Partial | Yes |
|
|
153
|
-
| [Codex](https://developers.openai.com/plugins/build/plugins) | Yes | Yes | Yes | Partial | Partial | Yes |
|
|
154
|
-
| [Cursor](https://cursor.com/docs/reference/plugins) | Yes | Partial | Partial | Partial | No | Yes |
|
|
155
|
-
| Kimi Code | Yes | Yes | Yes | Yes | Partial | Partial |
|
|
156
|
-
| [ZCode](https://zcode.z.ai/en/docs/plugin) `.zcode-plugin/` | Yes | Yes | Yes | Yes | Partial | Partial |
|
|
157
|
-
| [Qoder CLI](https://docs.qoder.com/cli/plugins-reference) `.qoder-plugin/` | Yes | Yes | Yes | Partial | Partial | Partial |
|
|
158
|
-
| [GitHub Copilot CLI](https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-plugin-reference) | Yes | Yes | Yes | Yes | Partial | Yes |
|
|
159
|
-
| Universal compatibility layout `.plugin/` | Yes | Yes | Yes | Yes | Partial | Yes |
|
|
160
|
-
| [agent-plugins](https://agent-plugins.org) | Yes | Yes | Yes | Yes | Yes | Yes |
|
|
161
|
-
| Manifest-less skill collection | Yes | Yes | Yes | Yes | Partial | Partial |
|
|
162
|
-
| Project-native directories | Yes | Yes | Yes | Yes | Partial | No |
|
|
99
|
+
## Compatibility
|
|
163
100
|
|
|
164
|
-
|
|
165
|
-
- **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.
|
|
166
|
-
- **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.
|
|
167
|
-
- **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.
|
|
168
|
-
- **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.
|
|
169
|
-
- **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.
|
|
170
|
-
- **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.
|
|
101
|
+
The plugin reads ten layout dialects and maps six runtime surfaces. Per-layout support and the manifest priority order are on the [compatible plugins page](https://sivan757.github.io/dsh-agent-plugins-market/compatible-plugins/). Evidence: the [layout audit](https://github.com/Sivan757/dsh-agent-plugins-market/blob/main/docs/user/layout-coverage.md) and the [compatibility report](https://github.com/Sivan757/dsh-agent-plugins-market/blob/main/docs/reference/compat-report.md).
|
|
171
102
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
Reading a layout does not guarantee every behavior of its original platform. Invalid declarations are diagnosed and skipped.
|
|
175
|
-
|
|
176
|
-
### Project layout switch
|
|
177
|
-
|
|
178
|
-
The plugin settings card has **Scan project Agent layouts** (`dsh-agent-plugins-market.scanProjectLayouts`, default off). It controls one thing: whether the project you are working in contributes skills, commands, agent roles, MCP servers and hooks from its own directories (`.claude`, `.agents`, `.codex`, `.cursor`, `.kimi`, `.zcode`, `.qoder`, `.github`). Turning it on adds those candidates; turning it off removes them on the next discovery pass. The card applies a switch when you save it, and each setting offers Use default while it carries your own value. Configured sources and installed suites are unaffected.
|
|
179
|
-
|
|
180
|
-
[Project layouts](docs/user/usage.md#project-layouts) lists the directories and files read per layout and how they are mounted.
|
|
181
|
-
|
|
182
|
-
### Verified samples
|
|
183
|
-
|
|
184
|
-
The README repositories have offline snapshots in [`tests/fixtures/real-layouts/`](tests/fixtures/real-layouts/) with commit IDs, hashes and licenses, and each layout has an isolated reader test. The [compatibility report](docs/reference/compat-report.md) records the sampled repositories, their schema verdicts and the scanner output; [the audit](docs/user/layout-coverage.md) records independent resource checks. These are documentation, source and sample checks — not end-to-end certification for every platform.
|
|
185
|
-
|
|
186
|
-
Review third-party suites before enabling them: enabled services and hooks can execute programs. See the [runtime and security details](docs/user/usage.md#runtime-and-security).
|
|
103
|
+
Reading a layout does not guarantee every behavior of its original platform. Invalid declarations are diagnosed and skipped, never half-mounted.
|
|
187
104
|
|
|
188
105
|
## FAQ
|
|
189
106
|
|
|
190
107
|
**Why is an installed skill or tool missing?**
|
|
191
108
|
|
|
192
|
-
Check that the suite and the relevant capability are enabled.
|
|
109
|
+
Check that the suite and the relevant capability are enabled. The MCP and LSP panels report failures and missing credentials. Project resources also need the project-scan switch.
|
|
193
110
|
|
|
194
111
|
**Where do I configure MCP tokens?**
|
|
195
112
|
|
|
196
|
-
Open the service in **MCP services**. Missing environment references show `needs-credentials`. Host-managed credentials are write-only
|
|
197
|
-
|
|
198
|
-
**How do I add a service that no suite declares?**
|
|
199
|
-
|
|
200
|
-
Use **Add** in **MCP services** or **LSP servers**. The declaration is validated, stored in `~/.agents/mcp.json` or `~/.agents/lsp.json`, and mounted through the same lifecycle as suite services. Host-observed services remain read-only.
|
|
113
|
+
Open the service in **MCP services**. Missing environment references show `needs-credentials`. Host-managed credentials are write-only.
|
|
201
114
|
|
|
202
115
|
**Do sources refresh automatically?**
|
|
203
116
|
|
|
204
|
-
Only
|
|
205
|
-
|
|
206
|
-
**Where do the suites that appear without adding a source come from?**
|
|
207
|
-
|
|
208
|
-
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.
|
|
209
|
-
|
|
210
|
-
**What if a source download fails?**
|
|
211
|
-
|
|
212
|
-
Use a local directory, adopt a manual checkout, or configure a proxy / mirror. See [source configuration](docs/user/usage.md#configure-marketplace-sources).
|
|
213
|
-
|
|
214
|
-
**When do local edits become visible?**
|
|
215
|
-
|
|
216
|
-
There is no file watcher. Local-source discovery caches results for up to 30 seconds; refresh the source to invalidate them immediately. Project discovery has a separate five-second cache. A refresh does not happen automatically on an already-open page.
|
|
117
|
+
Only with **Background source updates** on. It refreshes every configured source every 6 hours, starting one interval after you enable it. The refresh button always works.
|
|
217
118
|
|
|
218
119
|
**Does removing a source delete its files?**
|
|
219
120
|
|
|
220
|
-
Only when you tick **also delete the managed market directory** in the confirmation.
|
|
221
|
-
|
|
222
|
-
## Repository layout
|
|
121
|
+
Only when you tick **also delete the managed market directory** in the confirmation. A local-directory source outside `.sources/` is never deleted.
|
|
223
122
|
|
|
224
|
-
|
|
123
|
+
More questions: [FAQ](https://sivan757.github.io/dsh-agent-plugins-market/faq/).
|
|
225
124
|
|
|
226
|
-
##
|
|
125
|
+
## Documentation
|
|
227
126
|
|
|
228
|
-
- [
|
|
229
|
-
- [
|
|
230
|
-
- [
|
|
231
|
-
- [
|
|
232
|
-
- [Security
|
|
233
|
-
- [Domain glossary](CONTEXT.md) · [
|
|
234
|
-
- [Agent roles and storage](docs/user/agent-roles.md): installed-resource switching, model routing and migration.
|
|
127
|
+
- [Install guide](https://sivan757.github.io/dsh-agent-plugins-market/install/): prerequisites and the first suite, step by step.
|
|
128
|
+
- [User guide](https://sivan757.github.io/dsh-agent-plugins-market/docs/): one page per task, from installation to the workspace.
|
|
129
|
+
- [Compatible plugins](https://sivan757.github.io/dsh-agent-plugins-market/compatible-plugins/): layouts, precedence and verified samples.
|
|
130
|
+
- [Plugin specifications](https://github.com/Sivan757/dsh-agent-plugins-market/blob/main/packages/market-catalog/schemas/README.md): per-dialect reference schemas and the [`com.deepseek.harness`](https://github.com/Sivan757/dsh-agent-plugins-market/blob/main/packages/market-catalog/schemas/com.deepseek.harness/spec.md) namespace.
|
|
131
|
+
- [Contributing](https://github.com/Sivan757/dsh-agent-plugins-market/blob/main/.github/CONTRIBUTING.md) · [Security](https://github.com/Sivan757/dsh-agent-plugins-market/blob/main/.github/SECURITY.md) · [Changelog](https://github.com/Sivan757/dsh-agent-plugins-market/blob/main/CHANGELOG.md) · [License](https://github.com/Sivan757/dsh-agent-plugins-market/blob/main/LICENSE).
|
|
132
|
+
- [Domain glossary](https://github.com/Sivan757/dsh-agent-plugins-market/blob/main/CONTEXT.md) · [Agent roles](https://sivan757.github.io/dsh-agent-plugins-market/docs/agent-roles/) · [Release process](https://github.com/Sivan757/dsh-agent-plugins-market/blob/main/docs/developer/release/release-process.md).
|
|
235
133
|
|
|
236
134
|
## Community
|
|
237
135
|
|
|
238
136
|
Scan the QR code to join the **dsh-agent-plugins-market** WeChat group, where we answer questions and take feature requests.
|
|
239
137
|
|
|
240
138
|
<div align="center">
|
|
241
|
-
<img src="docs/screenshots/wechat-group.webp" alt="WeChat group QR code for dsh-agent-plugins-market" width="240" />
|
|
139
|
+
<img src="https://raw.githubusercontent.com/Sivan757/dsh-agent-plugins-market/main/docs/screenshots/wechat-group.webp" alt="WeChat group QR code for dsh-agent-plugins-market" width="240" />
|
|
242
140
|
</div>
|