Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DSH Plugin Radar — spot DeepSeek Harness plugins while you browse

Greasy Fork Version License Catalogue Dependencies Build LINUX DO

English · 简体中文


A userscript that marks DeepSeek Harness plugins while you browse GitHub and npm, and hands you the install command that actually works.

Why it exists

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 specified

Plenty 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.

What it does

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

  1. Install a userscript manager — Tampermonkey, Violentmonkey or Userscripts for Safari.
  2. Install from Greasy Fork, or open dsh-plugin-radar.user.js raw and your manager will offer to install it.

Running another profile

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.

Privacy

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.

The API it reads

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.

Building on it

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:

  • Webdshmarketplace.dev
  • npmnpx dshmarketplace-cli find memory
  • PyPIpip install dshmarketplace
  • Inside DSHdsh plugin --profile web add dshmarketplace-plugin

Contributing

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.

Contact

Acknowledgements

  • 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.

Licence

MIT. An independent project, not affiliated with DeepSeek.

About

Userscript: marks DeepSeek Harness plugins on GitHub and npm, with the install command that actually works

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages