pi2dsh
weijiafu14
Bridge the Pi and DeepSeek Harness ecosystems: one Pi Host ABI runs unmodified Pi extensions as native DSH plugins. 打通 Pi 与 DSH 生态。
893413974-bit/dsh-setting-restart
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,重启行固定显示在通用设置页面最底部。
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:893413974-bit/dsh-setting-restart
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
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.
order, so it always renders at the bottom of the page.dsh command (same executable, arguments, cwd and environment). The browser tab reconnects automatically once the new instance binds the same port.settingRestart/restart).dsh ≥ 0.1.0-rc.6 (the web profile).Install the package into the web profile (this runs pnpm add inside the profile directory):
dsh plugin --profile web add dsh-setting-restart
Mount it as a loader entry by appending an insert patch to the profile's user patch layer — $DSH_HOME/profiles/web/cordis.patch.yml ($DSH_HOME defaults to ~/.dsh):
# $DSH_HOME/profiles/web/cordis.patch.yml
- insert:
- id: setting-restart
name: dsh-setting-restart
Start (or restart) the service:
dsh web
Open 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.
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
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 strict settingRestart/restart invocation.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.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"
MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: restart。