dsh-web-ui
zhu1090093659
Plugin and skin collection for DeepSeek Harness (DSH) Web UI - task board, git graph, right-side panel, remote mobile UI, pet, live token stats, and skin center.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:1123762794/dsh-web-restart
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
One-click restart button for the DeepSeek Harness Web UI.
Adds a small circular restart button (↻) to the sidebar footer, next to Settings. A single click immediately restarts the dsh web process — the page disconnects for ~15–20 seconds, then you refresh and everything is back (sessions are persisted on disk and recover automatically). The button is persistent: it survives the restart it triggers.
Windows-specific: the restart launches
dsh webthrough an independent hidden PowerShell process, so the script keeps running after the harness process is killed.
GET /dsh-health every 5s (red when the harness is unreachable/restarting).dsh plugin --profile web add github:YOUR_OWNER/dsh-web-restart
Then restart dsh web once so the bundle layer loads.
// ~/.dsh/profiles/web/package.json
{
"dependencies": {
"dsh-web-restart": "github:YOUR_OWNER/dsh-web-restart"
}
}
cordis.patch.yml — either merge its row into your profile's cordis.patch.yml, or install via the dsh plugin command above which does it for you):# ~/.dsh/profiles/web/cordis.patch.yml
- insert:
- id: dsh-web-restart
name: dsh-web-restart
pnpm install in the profile directory, then restart dsh web.| Layer | File | What it does |
|---|---|---|
| Host | lib/index.js |
Registers an exact POST /restart-dsh route on the webServer; launches the restart script as an independent hidden PowerShell under danger-full-access sandbox policy |
| Client | lib/client.js |
Registers the sidebar footer button (slot sidebar.footer.action); single click fetches POST /restart-dsh; polls GET /dsh-health every 5s for the status dot |
| Bundle | cordis.patch.yml |
The loader row that mounts both halves |
The host routes return before the restart happens (~1s host timer + 3s inner sleep), giving the browser time to render the "restarting" state before the page drops.
ctx.timeout in the route handlerctx.timeout is a Cordis mixin backed by ctx.effect(), which is scoped to the Cordis fiber lifecycle. A webServer route handler runs as a plain Node HTTP callback — outside any fiber — so ctx.effect-registered timers are silently dropped and the restart never fires. This plugin uses Node's native setTimeout in the handler instead.
0.1.0-rc.6 (web profile).D:\1\dsh-web-host.ps1) is hard-coded for this author's machine — fork and adjust it (or replace the command in lib/index.js) for your own environment. Contributions to make this configurable are welcome.The client bundle is hand-written in the exact wire format (window.__ModuleLoader__.load({ id, factory })), so no build step is required:
node --check lib/index.js
node --check lib/client.js
MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: restart、ui。