Plugin directory / Developer / dsh-setting-restart
dsh-setting-restart
Verified · install-tested on dsh 893413974-bit
What it does
One-click restart of the DSH service from Settings → General. A dsh-plugin for DeepSeek Harness; the restart row stays pinned at the bottom of the general settings page. 在设置 → 通用设置中一键重启 DSH 服务。DeepSeek Harness 的 dsh-plugin,重启行固定显示在通用设置页面最底部。
Works — verified, early-stage project
One-click restart of the DSH service from Settings → General. A dsh-plugin for DeepSeek Harness; the restart row stays pinned at the bottom of the general settings page. 在设置 → 通用设置中一键重启 DSH 服务。DeepSeek Harness 的 dsh-plugin,重启行固定显示在通用设置页面最底部。 It installs cleanly and boots without issues in our testing. It's early-stage but functional.
“Verified” means our automated CI actually ran dsh plugin add in a clean profile and it booted — nothing more. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.
README
dsh-setting-restart
One-click restart of the DSH service, from Settings → General. The "一键重启" row is pinned at the very bottom of the General settings page — no matter how many rows are added above it later, it always stays the last one. After the restart the page reconnects automatically and the row confirms it with a green "Connected" state, so you always know the service is back.
Features
- A one-click restart row at the bottom of Settings → General (below "繁忙时 Enter 键行为" / whatever comes last).
- The row is pinned with the maximum slot
order, so it always renders at the bottom of the page. - Restart is a real process restart: the host spawns a detached helper, exits, and the helper re-spawns the exact same
dshcommand (same executable, arguments, cwd and environment). The browser tab reconnects automatically once the new instance binds the same port. - Bilingual UI copy (简体中文 / English), following the DSH client conventions.
- Fully typed host invocation through the DSH Typert RPC registry (
settingRestart/restart).
Requirements
- DeepSeek Harness
dsh≥ 0.1.0-rc.6 (thewebprofile). - Node.js ≥ 20.
Installation
Install the package into the
webprofile (this runspnpm addinside the profile directory):dsh plugin --profile web add dsh-setting-restartMount it as a loader entry by appending an
insertpatch to the profile's user patch layer —$DSH_HOME/profiles/web/cordis.patch.yml($DSH_HOMEdefaults to~/.dsh):# $DSH_HOME/profiles/web/cordis.patch.yml - insert: - id: setting-restart name: dsh-setting-restartStart (or restart) the service:
dsh webOpen Settings → General — the "一键重启" row is at the very bottom. Click 重启 to restart the service; the page reconnects automatically.
The same patch can be added to the home-level
$DSH_HOME/cordis.patch.ymlto enable the plugin for every profile.
Configuration
The loader entry accepts an optional config block:
- insert:
- id: setting-restart
name: dsh-setting-restart
config:
exitDelayMs: 1500 # delay between the click response and process exit (default 1200)
waitForExitMs: 30000 # how long the helper waits for the old process to exit (default 30000)
respawn: true # set false when a supervisor (systemd/pm2) already restarts the service
How it works
browser row (client.js)
└─ connection.rpc.call("/api", "settingRestart/restart", { args: {} })
└─ api-gateway dispatches the strict typert invocation
└─ SettingRestartService.restart() (index.js)
├─ spawns relaunch.js detached ── waits for pid to die ── re-spawns the same command
└─ process.exit(0) after exitDelayMs
client.js— the browser bundle (dsh.client/exports["./client"]) that registers the settings row.typert.host.js— the TYPERT host manifest (exports["./typert"]) declaring the strictsettingRestart/restartinvocation.index.js— the host plugin (SettingRestartService) that performs the restart.relaunch.js— the detached helper that re-spawns the command after the old process exits.
Publishing
This package is published to npm and hosted on GitHub under the dsh-plugin topic:
npm publish
# then, on the GitHub repository page:
# Settings → Manage topics → add "dsh-plugin"
License
MIT
Install
Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:
dsh plugin add dshbase-catalog Then say "install dsh-setting-restart for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.
This plugin is GitHub source (not published to npm) — install it straight from the repo:
Web profile:
dsh plugin --profile web add github:893413974-bit/dsh-setting-restart Headless (CLI) profile:
dsh plugin --profile headless add github:893413974-bit/dsh-setting-restart Test report
Verified: L1 install + L2 load + L3 runtime from GitHub source on dsh 0.1.0-rc.6.