How to Install DeepSeek Harness Plugins
The complete guide to getting DeepSeek Harness (DSH) running and adding your first plugin — including what the "everything is a plugin" architecture actually means.
What "Everything Is a Plugin" Means
Most agent harnesses ship as a monolith: themes, commands, panels and integrations are baked into the core, and you customize what the vendor allows. DeepSeek Harness inverts this. The core stays deliberately minimal, and nearly every capability — the Web UI experience, slash commands, themes, cost panels, content tools — is an out-of-tree plugin installed through one uniform mechanism. The architecture is built on Cordis, a composability framework from the same design school as the Koishi chatbot ecosystem.
The practical consequence for you: adding a capability to DSH is a single dsh plugin add command, and removing it leaves nothing behind. That is why the ecosystem of community plugins grew so quickly — and why this guide is short.
Prerequisites
- Node.js — LTS version, available from nodejs.org
- pnpm — some plugin installs expect it on your machine (
npm i -g pnpm) - DeepSeek Harness 0.1.0-rc.6 or newer — current community plugins target this baseline
Step 1 — Run DeepSeek Harness
No global install needed. The npx command downloads and starts DSH, and the Web UI opens at http://127.0.0.1:3080:
Prefer running from source? Clone deepseek-ai/deepseek-harness and follow the README — the plugin workflow below stays the same.
Step 2 — Install a Plugin into a Profile
Plugins are installed per profile — an isolated environment that keeps your base setup clean. The web profile is the standard Web UI setup. As an example, here is the theme gallery plugin with 35 built-in developer color schemes:
No dsh command yet? Install it globally once with npm i -g @deepseek-ai/dsh, or prefix any command with npx @deepseek-ai/dsh instead.
The same pattern works for npm package names and GitHub repositories — dsh plugin --profile <name> add <plugin>. You can create separate profiles to experiment: a plugin added to one profile never leaks into another.
Step 3 — Restart and Verify
# restart with your profile
dsh web
# or run a custom profile on its own port
dsh --profile <name> --port 3081Open the Web UI and check the plugin's footprint: a settings panel (for example Settings → General → Skin for theme plugins), a new slash command, or an injected panel. If something looks wrong, plugins can be removed without touching the host — worst case, start a fresh profile.
Where to Find Plugins
- Theme plugins — start with our gallery of 35 DeepSeek Harness themes (Catppuccin, Gruvbox, Solarized, Nord and more), each with a one-command install
- Awesome lists on GitHub — community-maintained catalogs of DSH plugins, skills, MCP servers and tools
- Community directories — independent sites index the growing plugin ecosystem with install commands
FAQ
What does "everything is a plugin" mean?
The DSH core is minimal by design — themes, commands, panels and integrations are all added via the same plugin system (built on Cordis), rather than baked into a monolith.
What is a dsh profile?
An isolated plugin environment. dsh plugin --profile web add … installs into the standard Web UI setup; other profiles stay untouched.
Do plugins patch the DSH source code?
No — plugins install additively and leave the host distribution (including npx installs) untouched.
Is the plugin API stable yet?
Not yet. DSH is in developer preview with rapid iteration — expect compatibility-breaking changes between releases. Plugins targeting 0.1.0-rc.6+ are the current baseline.