English · 简体中文
A userscript that marks DeepSeek Harness plugins while you browse GitHub and npm, and hands you the install command that actually works.
dsh plugin add is a thin forward to pnpm inside a profile directory, so
--profile is mandatory:
$ dsh plugin add some-plugin
error: required option '--profile <name>' not specifiedPlenty of READMEs print the short form anyway. This script reads the command from the DSH Marketplace catalogue, where every listing carries the flag, and drops it on the page you are already looking at.
On a GitHub repository page — if the repo is a DSH plugin, a card goes at the top of the sidebar with its category, what it does, the install command with a copy button, and what the plugin can reach.
On any GitHub page listing repositories — topic pages, search results,
starred lists, a README that links to other repos — every link to a catalogued
plugin gets a small DSH mark. Hover it for the install command.
On an npm package page — if the package is a DSH plugin, the DSH command
appears above npm's own npm i, because npm i does not install a plugin into
the harness.
Monorepo plugins get told the truth. The obvious command does not work:
dsh plugin add forwards to pnpm, pnpm reads everything after # as a git ref,
and github:owner/repo#packages/thing fails with Could not resolve packages/thing to a commit. Rather than print a command that fails, the card
says so.
There is a form that resolves — pnpm splits the fragment on :: and treats a
path: part as a subdirectory, so github:owner/repo#path:packages/thing
installs, verified end to end. The catalogue does not publish it yet, so the
card does not either. When it does, this script gets it for free: the command
comes from the API, not from here.
- Install a userscript manager — Tampermonkey, Violentmonkey or Userscripts for Safari.
- Install from Greasy Fork,
or open
dsh-plugin-radar.user.jsraw and your manager will offer to install it.
Commands are written against the web profile, which is the one a default DSH
install creates. If yours is named something else, set it once from the
userscript manager's menu — Set profile name — and every command on every
page is rewritten to match.
Nothing about you is sent anywhere.
The script fetches one public file — https://dshmarketplace.dev/api/v1/index,
a list of plugin names — at most once every six hours, and does all matching in
your browser. The pages you visit are never transmitted. There is no account, no
tracking, no telemetry, and no third-party request beyond that one endpoint.
Cached data lives in your userscript manager's storage and can be cleared from its menu at any time.
Both endpoints are public, CORS-open and free to use.
| Endpoint | Purpose |
|---|---|
/api/v1/index |
Every listing, five columns, one request — example |
/api/v1/plugins?q= |
The full record for one plugin — example |
/api/v1/index returns positional rows to stay small — 375 KB for the current
3,417 plugins, 68 KB over the wire — and ships its column names with the
payload:
{
"fields": ["fullName", "category", "install", "path", "npm"],
"plugins": [
["liustack/modlens", "vision", "dsh plugin --profile web add @liustack/modlens", "/plugins/liustack-modlens", "@liustack/modlens"]
]
}install is null when no command can install the plugin, path is null
when the listing has no page of its own yet, and npm is null when the plugin
publishes nowhere. None of them is ever a placeholder — a caller that runs
whatever is in install must not be handed a string that fails.
There is no build step and no dependency. The script is one file you can read top to bottom, and it only ever touches the DOM by appending its own nodes.
Other ways into the same catalogue:
- Web — dshmarketplace.dev
- npm —
npx dshmarketplace-cli find memory - PyPI —
pip install dshmarketplace - Inside DSH —
dsh plugin --profile web add dshmarketplace-plugin
Issues and pull requests are welcome. If a plugin is missing from the catalogue or its listing is wrong, that belongs on the marketplace repo or the submit form — the data lives there, not here.
- Community — LINUX DO
- Issues — GitHub Issues
- LINUX DO — where the DSH ecosystem is actually being discussed, and where this project is published and takes its feedback. Plugins whose authors posted them there carry a verified badge in the catalogue.
- awesome-dsh-plugin (CC0-1.0) — the community registry the catalogue is seeded from.
MIT. An independent project, not affiliated with DeepSeek.
