READMESource: master@c9777dbd
dsh-plugins
A monorepo of community plugins for DeepSeek Harness (DSH) — @deepseek-ai/dsh.
Each plugins/<name>/ directory is an independent, shippable plugin package you can install into a DSH profile with one command:
dsh plugin --profile <profile> add file:./plugins/<name>
Path-with-spaces workaround.
dsh plugin addforwards its argument to pnpm throughcmd.exe, which splits arguments on whitespace, so an absolute path likeD:/dsh workplace/...is truncated toD:/dsh. From a space-free working directory, rundsh plugin --profile <profile> add file:./plugins/<name>directly.
Plugins
| Plugin | Description | Install |
|---|---|---|
dsh-web-search-firecrawl |
Local Firecrawl /v1/search as a WebSearchProvider for ctx.web. |
dsh plugin --profile web add file:./plugins/dsh-web-search-firecrawl |
See each plugin's README for configuration, env vars, and per-profile setup.
Repository conventions
- Each
plugins/<name>/is its own npm package (<scope>/dsh-<name>or@dsh-plugs-dev/<name>); plugins declaredsh.bundle.patchin their ownpackage.json. - A plugin's
cordis.patch.ymluses theinsertform (bundle-layer add) — id-targeted replace patches are reserved for user/profile layers that override an existing row. - A user-layer override at
~/.dsh/profiles/<name>/cordis.patch.ymlpins provider selection (e.g.searchProvider: firecrawl-local). - Plugins follow the
dsh-plugin-devskill conventions: function-form plugins,inject: ['web'](or the relevant seam),Configschema via@deepseek-ai/schemastery,!!jsnot!jsin YAML.
Adding a new plugin
- Create
plugins/<your-plugin>/withpackage.json,cordis.patch.yml,lib/index.js,lib/types/,README.md. - Mirror the shape of an existing plugin — see
plugins/dsh-web-search-firecrawl/for the canonical layout. - Open a PR. The repo carries the
dsh-pluginGitHub topic so the DSH community can discover it.
No comments yet. Be the first to write one.