DSH 重启插件:可配置的重启方式(Node 原生/旧 PowerShell 适配)、重启后自动继续的提示词、可选看门狗自动拉起。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-restart
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:anweat/dsh-restart
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
重启整个 DeepSeek Harness 进程的插件,用于重新加载插件与配置(profile 的 cordis 组合、settings 等)。host + client 双半,装进 profile 的 bundle 后即可用。

截图来自真实
webprofile 部署,展示当前 DSH 设置页中的重启配置卡片。
功能
- 模型工具
restart_harness:让 agent 直接安排一次进程重启(可选delayMs)。 /restart斜杠命令:在 UI 里手动触发重启。- 配置卡片(设置 → 插件 → 插件配置 → 「DSH 重启」):可视化编辑以下设置,改动即时写入
settings.yaml:legacyRestart— 旧 PowerShell/WMI/taskkill 重启方式(默认关闭,用 Node 原生方式)。continuePrompt— 重启后自动继续时注入给 agent 的提示词。
- 「立即重启」按钮:先读取当前进程身份,安排重启后等待新进程恢复并自动刷新页面。只读 GET 返回
{ pid, startedAt };出于安全考虑,重启 POST 仍仅接受来自环回地址(127.0.0.1 / localhost)的同源请求,经反向代理/远程访问时会被拒绝(403)。
自
0.1.3-alpha.4起,内置 detached watchdog 已停用并从设置卡片移除。旧watchdog*配置仍可被读取但不会执行;进程异常恢复请交给 systemd、Windows 服务或其他拥有完整进程生命周期的外部管理器。插件启动时会保留$DSH_HOME/dsh-stop.flag,让旧版本遗留的 detached watchdog 自行退出。
兼容与发布通道
| 插件发布通道 | DSH 基线 | 兼容承诺 |
|---|---|---|
npm latest(当前正式发布插件) |
dsh-v0.1.1-rc.2 |
已验证维护基线 |
npm next 候选(0.1.3-alpha.5) |
dsh-v0.1.5-alpha.1 |
精确依赖与真实 profile 验收目标 |
| 后续 DSH 正式版 | 尚未发布 | 发布并完成真实 profile 门禁后再声明兼容 |
开发版不会覆盖 npm latest。0.1.5-alpha.1 依赖按精确版本锁定;该版本已移除
@deepseek-ai/dsh-client-runtime,客户端契约分别迁移到 Cordis、
dsh-client-store 与 dsh-client-ui-settings,不会混装 rc.2 运行时。
0.1.3-alpha.4 变更
- 禁用并移除内置 detached watchdog;旧配置保留为无操作兼容项。
- Windows 重启通过隐藏控制台拉起,保留完整 argv,避免后续 sandbox 命令闪窗。
- 新进程 PID 变化后继续等待带认证的前端首页返回成功,再刷新页面,避免源码部署 重启期间因静态前端尚未挂载而停留在 HTTP 404。
- 防止并发请求重复安排 helper;helper 创建失败时保留旧进程,并记录失败日志。
- 自动继续投递失败时保留恢复标记;Web 路由随 Cordis 生命周期正确释放。
源码部署排错
- 本开发分支只对齐官方标签
dsh-v0.1.5-alpha.1。源码 checkout 先执行corepack pnpm install --frozen-lockfile和corepack pnpm run build,再把本地插件 重新加入隔离 profile;只安装依赖但没有构建 workspace,会表现为缺少@deepseek-ai/*/lib,并不是 restart 拉起失败。 - 如果页面显示
list slot "settings.plugin.item" requires options.id,说明 Harness 与插件客户端落在不同的开发期 slot 契约。0.1.5-alpha.1的官方契约是 keyed slot, 本插件必须使用options.key;不要直接改成id,应统一 Harness 标签、插件分支 和 profile 锁文件后重装。 - pnpm 首次安装 profile 依赖时可能把原生包写成待决的
allowBuilds项。逐项确认true或false后重跑dsh plugin --profile <name> add ...,不要用全局放行绕过。 - 若旧版本重启后已经停在浏览器 HTTP 错误页,请手工打开新进程日志打印的当前
dsh web:URL 完成一次恢复;升级到本版本后,设置卡片会等待首页真正就绪再刷新。
安装
- 把包加入 profile 依赖并挂进 bundle:
// profiles/<profile>/package.json
{
"dependencies": { "dsh-restart": "..." },
"dsh": { "profile": { "bundles": ["...", "dsh-restart"] } }
}
- 重启 DSH(
/restart或restart_harness),刷新页面后即可看到卡片;之后通过卡片重启时会自动等待并恢复页面。
构建
pnpm install
node scripts/link-dsh-workspace.mjs --source <path-to-deepseek-harness>
pnpm run build
host 半由 tsc 输出到 lib/index.js(@deepseek-ai/* 保持外部依赖);client 半由 tsdown 打成单文件 lib/client.js。
链接
同类插件
yjh051108/dsh-routing-suite★ 7000
一个仓库三件套:DSH 插件包的运行时注入器(注入、热重载、卸载、开发侧挂区一键转正、路由自愈,外带设置页插件管理:列出、卸载、拖入文件夹内化)、任务感知的思维模式路由 agent 预设(router-standard / router-spec / router-react)、以及分级两级任务协议(commit_star / lock_stage / revise_do / edit_plan / mark_task / redteam_verdict 六个工具,任务状态落盘)。注入器实现直接在库内,安装的是它自己的行为而不是一份依赖清单。
strukto-ai/mirage#dsh★ 3663
把文件系统与 bash 提供者换成 mirage 虚拟工作区:文件工具与 shell 命令作用于挂载的资源(RAM、S3、Redis、Slack、Gmail、Notion、Postgres)而非宿主磁盘,支持按挂载点设置读/写/执行模式、按命令选择沙箱(进程内 monty、pyodide、quickjs;远程 docker、e2b、daytona),并可在虚拟终端中安装 CLI(git、gh、slack、linear、ntn、gws,或自行注册的程序树)作为命令头词。
hust-open-atom-club/oh-dsh★ 325
社区发行版:TUI、桌面端与 Web UI 统一体验,分层安装、一步到位。
weijiafu14/pi2dsh★ 206
Pi Host ABI 兼容引擎:装一次之后,npm 上的 Pi 扩展原包经 `dsh plugin add <pi-package>` 直接作为 DSH 原生插件挂载。已在官方 DSH 上端到端验证 pi-mcp-adapter(完整 MCP 管理面:OAuth、resources、prompts、MCP Apps、elicitation、sampling)、@tintinweb/pi-subagents、pi-code、pi-hermes-memory、pi-background-tasks;`pi2dsh inspect` 在安装前报告一个包的兼容情况。
lire1131/dsh-undo-savepoint★ 165
DSH 撤销/回退系统:配置变更自动存档,一键撤销/恢复/回退到任意版本,支持 WebUI 与离线 CLI/GUI 工具(DSH 启动失败也能救)。
Fishquito7/dsh-skill-mcp-panel★ 152
在 DSH Web 设置中管理技能与 MCP 服务器:技能卡片热启停、工作区作用域、分组、批量迁移与拖拽导入,以及 stdio/HTTP MCP 增删改查、连接测试、密钥脱敏,并附带统一 dsh-panel 命令行。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。