shaoyi1991/dsh-restart-web ↗★ 1
dsh-restart-web
One-click restart for DeepSeek Harness from the Web UI settings panel. Cross-platform (macOS, Linux, Windows).
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:shaoyi1991/dsh-restart-web说明文档
阅读完整 README ↗dsh-restart-web
Preview / 效果预览

The screenshot shows the added Restart entry in DSH Web Settings.
下图展示安装插件后 DSH Web 设置页新增的「重启」入口:点击即可安全重启整个 DSH 进程,页面约 5 秒后自动重新连接。
One-click Restart for DeepSeek Harness
Adds a Restart button to the DSH Web settings panel. Click it to safely restart the entire DSH process — the browser auto-refreshes after 5 seconds.
Install
dsh plugin --profile web add dsh-restart-web
Or from GitHub:
dsh plugin --profile web add github:shaoyi1991/dsh-restart-web
After install, restart DSH once, then open Settings → Restart in the Web UI.
Cross-platform
| Platform | Method | Status |
|---|---|---|
| macOS | lsof + kill + process-group escape | ✅ |
| Linux | lsof + kill + process-group escape | ✅ |
| Windows | netstat + taskkill | ✅ |
The restart logic runs as a standalone Node.js script (lib/restart.js), spawned as a detached process so it survives DSH's exit cleanup on all platforms.
How it works
Web UI (Settings → Restart)
│
▼ POST /api/dsh-restart
Host plugin (lib/index.js)
│
├── macOS/Linux: bash + set -m → restart.js in new process group
└── Windows: node → restart.js directly (detached)
│
├── 1. Wait 2s (let HTTP response return)
├── 2. Kill process on port 3080
├── 3. Start new DSH: node bin.js web
└── 4. Exit (DSH keeps running)
Why not just call dsh?
DSH is often installed via npx and not on PATH inside a subprocess's clean environment. This plugin uses process.execPath + process.argv[1] to get absolute paths that always work — no PATH dependency.
License
MIT