MIT-licensed browser cockpit that runs the pi coding agent and the official DeepSeek Harness runtime (dsh) behind one web UI — streaming chat, file tree, terminal, model management and a plugin/themes system, loopback-only by default.
DSH integration
Native runtime
Author-claimed
Safety audit
Unaudited
Last verified
2026-09-03
License
MIT
01What can it help you accomplish?
Drive the pi / DeepSeek Harness coding agent from a polished browser cockpit
Streaming chat with thinking blocks, tool-call cards, a live file tree, a built-in terminal, model management and a full settings panel
Developers who run the pi coding agent or DeepSeek Harness and want a web UI instead of a bare terminal
Run the official DeepSeek Harness runtime behind a web UI
The DSH engine drives the official @deepseek-ai/dsh runtime as a subprocess over the same chat/terminal/plugin wire protocol, with goal mode, MCP bridging and skill toggles
DeepSeek Harness users who want a browser UI with goal mode, MCP bridges and runtime skill enable/disable
02How to install into DeepSeek Harness
Prerequisites
- Node.js ≥ 22.19
- A configured pi install
- For the DSH engine: install the @deepseek-ai/dsh runtime and set a DeepSeek API key
Installation steps
- 01
Install globally: `npm i -g pi-web-ui`
$ npm i -g pi-web-ui
- 02
Start the web UI: `pi-web-ui` (serves http://localhost:8787)
- 03
Run with the DeepSeek Harness engine: `pi-web-ui --engine dsh --port 9000 --cwd /path/to/project`
- 04
Or set the runtime separately: `npm i -g @deepseek-ai/dsh@0.1.1-rc.2`
$ npm i -g @deepseek-ai/dsh@0.1.1-rc.2
- 05
On npm 12+, allow native build scripts: `npm i -g --allow-scripts=node-pty,@google/genai,protobufjs pi-web-ui@latest`
$ npm i -g --allow-scripts=node-pty,@google/genai,protobufjs pi-web-ui@latest
Verify the integration
- Open http://localhost:8787 and confirm the footer shows a DSH badge when running with `--engine dsh`
- Call `GET /api/health` — the `engine` field reports `dsh` when the DeepSeek Harness engine is active
03DSH integration and capability boundaries
Switchable engine: set `PI_WEB_ENGINE=dsh` (or `--engine dsh`) to drive the official @deepseek-ai/dsh runtime as a subprocess; shares the same WebSocket wire protocol as the pi engine (goal mode, SCM, terminals, plugins, MCP bridge all work).
Streaming chat cockpit
natural-language prompts, attached files and images→streaming replies with thinking blocks, tool-call cards and live bash output
Built-in terminal & Git panel
shell commands and git operations→xterm.js terminal with per-client PTY plus a Git status / branch / diff / commit UI
spawns a per-client PTY processruns git status/branch/push/pull in the visible terminalDeepSeek Harness engine (dsh)
DSH engine mode (PI_WEB_ENGINE=dsh / --engine dsh)→drives the official @deepseek-ai/dsh runtime as a subprocess with the same wire protocol
spawns the official @deepseek-ai/dsh runtime as a subprocessPlugin & theme extensibility
drop-in UI plugins and pure-CSS themes→extra top-bar tabs + agent tools, and :root palette theme overrides
DSH skill & MCP bridge
DSH skill catalog and mcp.json MCP servers→bridges plugin AI tools and external MCP servers into the DSH runtime; exposes skill enable/disable in Settings
04Who is it for? When not to use it?
Good for
- Developers who run the pi coding agent or DeepSeek Harness and want a web UI instead of a bare terminal
- DeepSeek Harness users who want a browser UI with goal mode, MCP bridges and runtime skill enable/disable
Not for
- Requires Node.js ≥ 22.19 and a configured pi install to run pi-web-ui at all.
- On npm 12+, dependency install scripts are blocked by default, so you must allow node-pty's install script (a native module) or it will not build.
- The server is loopback-only (127.0.0.1) by default; setting PI_WEB_HOST=0.0.0.0 exposes it on the LAN / to containers, so pair it with a firewall rule.
05Compatibility, maintenance and safety notes
- Requires Node.js ≥ 22.19 and a configured pi install to run pi-web-ui at all.
- On npm 12+, dependency install scripts are blocked by default, so you must allow node-pty's install script (a native module) or it will not build.
- The server is loopback-only (127.0.0.1) by default; setting PI_WEB_HOST=0.0.0.0 exposes it on the LAN / to containers, so pair it with a firewall rule.
MIT · last push 2026-09-02 · 84 stars · 19 forks
06Frequently asked questions
How do I run pi-web-ui with the DeepSeek Harness engine?
Install the runtime with `npm i -g @deepseek-ai/dsh@0.1.1-rc.2`, then start pi-web-ui with `--engine dsh` (e.g. `pi-web-ui --engine dsh --port 9000 --cwd /path/to/project`) or set `PI_WEB_ENGINE=dsh`. The footer shows a DSH badge and `/api/health` reports the active engine.
Does the DSH engine support plugins and MCP servers?
Yes. Plugin AI tools and external MCP servers listed in `mcp.json` are bridged into the DSH runtime and executed server-side, so the DSH model can call them. The DSH skill catalog is also exposed in Settings, where you can enable or disable skills at runtime.
What are the prerequisites?
Node.js ≥ 22.19 and a configured pi install. On npm 12+, dependency install scripts are blocked by default, so allow node-pty's build script: `npm i -g --allow-scripts=node-pty,@google/genai,protobufjs pi-web-ui@latest`.
Is pi-web-ui safe to expose on my network?
It binds loopback-only (127.0.0.1) by default. Only set `PI_WEB_HOST=0.0.0.0` for LAN / Docker access, and pair it with a firewall rule. Provider headers (API keys) never leave the server, and WebSocket connections are rejected unless the Origin matches the Host.
How do I update or remove it?
Upgrade with `npm i -g pi-web-ui@latest` and `pi-web-ui server restart`; uninstall with `npm uninstall -g pi-web-ui`. Session data in `~/.pi-web` survives uninstall/upgrade. There is no automatic rollback step in the README — reinstall a known version if you need to downgrade.
07Related DSH workflows
dsh-plugin-radar
by adamplatin123
An ecosystem radar for the DeepSeek Harness (dsh) plugin community that auto-discovers thousands of candidate plugins and runs continuous k8s-level validation, publishing the results as a browsable plugin catalog.
picgo-core
by picgo
:zap:The ultimate image uploading engine. Both CLI & API supports.
dsh-infinite-gen-3
by minglink
Armor-breaking plugin for DeepSeek that stabilizes jailbreak behavior ('Infinite Gen 3') — star the repo to support.
helloagents
by hellowind777
Autonomous AI companion that doesn't just analyze problems — it keeps working until the implementation is built and verified.
08Data and sources
the **DSH engine** runs the official [`@deepseek-ai/dsh`](https://github.com/deepseek-ai/dsh) (DeepSeek Harness) runtime…
plugin AI tools and external MCP servers (`mcp.json`) are bridged into the DSH runtime, so the DSH model can call them (…
This page is generated from the project’s public documentation, repository metadata and a structured parse of DSH Plugins; last verified on 2026-09-03. Found an error? Submit a correction.
Best DeepSeek Harness Plugins
Twelve plugins worth installing first — picked from the whole catalog, across every category.
