yibiner / dsh-plugin-list-plus

Listed

Trust-tiered, collapsible plugin list for DeepSeek Harness Web Settings.

mainOther View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add github:yibiner/dsh-plugin-list-plus

This installation command is an unverified starting point generated from the GitHub repository address.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit f62e6baSynced Aug 18, 2026

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-ai scope and cordis: 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 package main): reads the Loader tree and installed package.json files, computes the trust-tiered snapshot, and serves it at GET /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.tab id plus, order 20) 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

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

TestsDetected

Repository information

Language
TypeScript
License
MIT
Last updated
Aug 16, 2026, 10:25 AM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.