Skip to main content

How to use plugin-registry

Embed a "Plugin Management" panel and 4 agent tools into the DSH Web settings page, providing unified management of profile plugin installation states via the official mechanism, including bundle layer stack, insert row enable/disable, version check, and CRUD operations.

This article is auto-derived from indexed fields (wiki / faq / compatibility_json), not freshly AI-generated.

This article is derived from the plugin's already-indexed fields (wiki / faq / compatibility_json / readme), not freshly generated by AI. Source field is noted at the end of each section.

Quick start

plugin-registry

— source: plugin_wiki.wiki_content

Install & verify

dsh plugin --profile web add github:vlln/plugin-registry

Run the command above in your DSH Web Profile. Then enable the plugin in the plugin list.

— source: plugins.install

Key points

— source: plugin_wiki.readme_en (fallback readme_raw)

FAQ

Where can I find the management panel in DSH Web after installation?

After installation, refresh the Web page and go to the settings page. You will see a new tab called 'Plugin Management' (Panel.tsx:300 header / src/client/index.ts:54 label), positioned side by side with the official 'Plugins' tab but independently, avoiding naming conflicts.

Why don't non-bundle plugins require a DSH restart after installation?

The panel writes to the profile cordis.patch.yml insert lines; since DSH 0811, profile-boot mounts a watch-only HMR instance, so line writes/deletions take effect in real time (packages/plugin/console/README.md:29 / src/index.ts:94-145).

Why do bundle plugins require a web restart after installation?

Bundle plugins are installed in the profile package.json dependencies + dsh.profile.bundles layer stack. The layer stack is synthesized at startup and cannot be hot-swapped at runtime (packages/plugin/console/README.md:73 / src/index.ts:340-380).

How do agents use this installation mechanism? Do they need to switch to the panel?

Not necessary. The Node half simultaneously registers 4 defineTool tools (plugin_search / plugin_install / plugin_uninstall / plugin_status), sharing the same installation state with the panel (src/discovery/tools.ts:98-335 / packages/plugin/console/README.md:48-58).

How do I distinguish the three states shown in the panel: Running / Preset Mounted / Disabled?

Running = host enabled; Preset mounted = host disabled but agent preset still mounted (0811 model-side tools go through preset channel, disabling host doesn't mean the tool disappears); Disabled = completely disabled (src/client/Panel.tsx:98-102 / src/index.ts:501-531).

Can I disable or uninstall this management tool from the panel?

No. The Node half hard-bans operations on @dsh-external/plugin-console in toggle/remove routes, returning 409 (src/index.ts:752-754 / src/index.ts:826-829) - to prevent the management entry from self-destructing.

What does 'pnpm add succeeded but X is not in the profile dependencies' mean when installation fails?

Usually means the git source or path source wasn't actually written to disk (pnpm exited 0 but dependencies weren't written to package.json). It won't proceed to write the installation state to avoid false success; retry after using a clear package name or confirming the git/path is reachable (src/index.ts:720-724 / src/discovery/tools.ts:196-199).

How do I update plugins when a new version is available?

Clicking the 'Check for Updates' button in the panel triggers the Node half to query the npm registry via native fetch with 6h cache (30-second minimum debounce interval). Bundles show an 'Update' button, which triggers pnpm update after clicking (restart takes effect); git/link packages are marked as 'Local' with no latest version (src/versions.ts:36-47 / src/client/Panel.tsx:208-226).

— source: plugin_wiki.faq_json

Compatibility

  • DSH: ^0.1.0-rc.5(peerDependencies 中 @deepseek-ai/dsh-tools ^0.1.0-rc.5 表明适配 0811 后的 DSH Web,含 webServer/loader/tools/agentPresets 四个 inject 服务;0811 起官方移除 repository-plugins 机制后才有此设计)
  • Node: 未在 packages/plugin/console/package.json 声明 engines.node(仅 devDependencies @types/node ^22.0.0;建议 Node ≥ 22,对齐 DSH 0811 host 要求)

— source: plugin_wiki.compatibility_json

Pitfalls

Review the upstream repo before installing. This guide is auto-derived from indexed fields and may lag the latest release. If anything contradicts the official docs, treat the upstream source as authoritative.

— source: general rule