dsh-plugin-list-plus
An elevated Plugin list for DeepSeek Harness Web Settings — trust tiers, collapsible groups, and complete per-plugin detail. It adds a Plugin list Plus tab beside the official Plugin list tab, offering:
- Trust tiers — plugins are grouped into Official / Organization / Personal: the
@deepseek-aiscope andcordis:builtins are official, any other npm scope is an organization, and unscoped or local-file plugins are personal. - Collapsible groups — a dense tier folds from its header so the others stay in reach without scrolling.
- Full details — one card per plugin: display name, version, git commit, developer, description, license, homepage, repository, bundle patch, configuration status, and Cordis mount status.
- Search & sort — filter by name, description, developer, and other fields; each tier keeps a stable name order.
Install
# from the built tarball
dsh plugin --profile web add ./dsh-plugin-list-plus-0.1.0.tgz
# or from npm once published
dsh plugin --profile web add dsh-plugin-list-plus
Restart dsh web, then open Settings → Plugins → Plugin list Plus — a new tab beside the official Plugin list.
How it works
One package, two halves, and a self-registered data route:
- Node half (
src/index.ts, the packagemain): reads the Loader tree and installedpackage.jsonfiles, computes the trust-tiered snapshot, and serves it atGET /plugins/dsh-plugin-list-plus/list— an exact route, so it never shadows the plugin's own browser bundle under/plugins/<name>/client.js. - Browser half (
src/client/, the package./client): registers its own Plugin list tab (settings.plugins.tabidplus, order20) beside the official one and renders the enhanced list.
Because DeepSeek Harness has a tab-projection bug (ui-settings-plugins reads entries() instead of entriesOfSlot(), so shadowing the official tab would show a duplicate) and accepts no external changes to fix it, this plugin ships as a separate tab.
Development
pnpm install
pnpm run build # tsc (d.ts) + tsdown (lib/index.mjs + lib/client.js)
pnpm test # vitest (node half + browser half + components)
pnpm run typecheck # strict typecheck of src and tests
The browser half bundles to the harness client-bundle contract (window.__ModuleLoader__.load), resolving react, react/jsx-runtime, and @deepseek-ai/dsh-client-ui-primitives from the runtime module table.
License
MIT
No comments yet. Be the first to write one.