Tools & Capabilities
dsh-plugin-organizer
inspireason/dsh-plugin-organizer · ★ 2
A DSH Web plugin that groups the Settings plugin list into collapsible official and third-party sections, with official plugins collapsed and third-party plugins expanded by default.
安装
dsh plugin --profile web add github:inspireason/dsh-plugin-organizerGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
For install and environment setup, plus plugin development tutorials, see DSH community docs ↗
README
Table of contents
A DSH web plugin that turns the plugin inventory in Settings → Plugins into an Official / Third-party grouped view, where each group can be expanded / collapsed (like a storage box). Official plugins are collapsed by default (there are simply too many of them), third-party plugins start expanded.
⭐ If this plugin helped you, please give it a Star! Your support keeps me improving it 🙏 ⭐ 如果这个插件帮到了你,欢迎点个 Star 支持一下! 你的 Star 是我持续维护的动力 🙏
✨ Features
- Adds a new Official / 3rd-party tab to the Settings → Plugins section (ordered between "Plugin configuration" and "Plugin list")
- Same data source as the official plugin list (
pluginInventoryRemote) — display only, no behavior changes - Official detection: module names starting with
@deepseek-ai/orcordis:(root include and other framework built-ins) - Two groups: Official plugins collapsed by default, Third-party plugins expanded by default
- Third-party plugins get purpose subcategories: auto-grouped by name keywords into "UI / workspace · Agent collaboration · Permission / security · Vision / images · Obsidian · Management / tools · Other"; reassign any plugin manually (persisted in localStorage)
- Group headers show the group name + plugin count; click a header to expand / collapse; subcategories collapse independently
- Expand all / Collapse all / Reset to auto toolbar buttons
- Search box filters across both groups; searching auto-expands both groups
- Per-plugin cards identical to the official list: title, status dot, enabled/disabled tag; click a card to reveal entryId / configuration / Cordis status
🚀 Install (from GitHub / npm)
Prerequisites: DSH installed (dsh web runs), Node.js ≥ 20, pnpm ≥ 10.
# Install from the GitHub repository (auto-mounts, no manual config edits)
dsh plugin --profile web add Inspireason/dsh-plugin-organizer
# Or install from npm
dsh plugin --profile web add dsh-plugin-organizer
After installing, restart DSH and hard-refresh (Cmd/Ctrl+Shift+R) to see the new Official / 3rd-party tab.
Note: the package declares
dsh.bundle.patch(cordis.patch.yml), sodsh plugin addregisters it intodsh.profile.bundlesautomatically. If your profile previously mounted this plugin manually (a row withid: plugin-organizerin itscordis.patch.yml), remove that row first to avoid double-mounting (two plugin tabs).
📁 Project structure
dsh-plugin-organizer/
├── package.json # dsh.bundle.patch + dsh.client declarations
├── cordis.patch.yml # bundle mount layer (inserts the plugin row)
├── lib/
│ ├── index.js # host half (empty apply)
│ ├── invariant.js # invariant companion
│ └── client.js # browser half: the grouped inventory tab
└── README.md / README_EN.md
🔧 How it works
- Client-only plugin:
lib/index.jsis an empty host half,lib/client.jsis the browser half - Registers a new tab into the
settings.plugins.tabslot (idgrouped, order 5) - Reads the same data as the official list via
ctx.remote.pluginInventory.list() - Ships as an independent package referenced by the profile — DSH source is never modified
💻 Development
For local development, add the plugin as a dependency of the web profile and mount it in the profile's cordis.patch.yml:
- insert:
- id: plugin-organizer
name: 'dsh-plugin-organizer'
The profile's user patch layer is hot-reloaded by a running DSH — edit lib/client.js and refresh the browser to see the change.
License
MIT