DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Plugin Restart Control — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
P

dsh-plugin-restart-control

Plugin Restart Control

DSH 重启控制:在设置中提供“重载内核”(通过官方 HMR 重新组合插件树,不重启进程)和“重启应用”(通过 detached 助手重启整个 Electron 外壳),两者均需确认。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:MerlinShieh/dsh-plugin-restart-control#c241bf5b4472a003c896f4dac0428e34962294c6
README兼容性版本

说明

DeepSeek Harness 的重启控制:设置中提供原地重载内核(通过 HMR 重新组合插件树,不重启进程)和通过 detached 助手完整重启应用,两者均需确认。

兼容性与来源证明

Plugin Restart Control 以 dsh-plugin-restart-control 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/1

版本

0.1.0stable
2026/10/1

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/1
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Cc Safety Netcc-safety-net编码代理 CLI 钩子——阻止破坏性命令和访问机密文件Vision Toolkit@anionex/dsh-vision-toolkit面向 Harness 原生集成的 DeepSeek 与 agent-vision-toolkit:图像问答、OCR、定位、UI 还原、像素差异、Artifacts 和 Web UI。Remotedsh-remoteDeepSeek Harness 的远程工作助手:连接 SSH(密码/密钥/代理/键盘交互/代理跳转),选择远程工作区,使用 22 个 rw_* 工具操作该工作区(包括 rw_edit/rw_stat/rw_mkdir/rw_remove/rw_move/rw_forward),具备冲突感知的镜像 syBridge@wenbin_wb/dsh-bridgeDSH 远程连接/远程控制插件(remote control):手机扫码即可在移动端/公网继续用 DeepSeek Harness,人不在电脑前也能接着干。一键局域网二维码、Cloudflare 公网隧道、自建隧道与微信 / QQ / 飞书 / Telegram Bot(多工作区/会话持久化/媒体/卡片审批/流式输出),无需自己搭公网服务器。

README

dsh-plugin-restart-control

English | 中文

给 DeepSeek Harness 的设置页加一个重启 / Restart 分区,提供两个档位:

档位做什么代价
重载内核让 DSH 自己的 HMR 重新组合整棵插件树(配置重读、插件重新挂载)秒级;进程与窗口保留;换包版本 / 原生模块并不生效
重启应用由一个分离助手结束外壳进程并重新拉起同一个可执行文件更彻底;会中断正在运行的任务;窗口重建

示意

为什么是这两档

官方桌面版(Electron 外壳 + host 子进程)里,"重启内核"有一个硬约束:

  • 插件够不到外壳。host 与 Electron 主进程之间的 IPC 是一张封闭白名单(dsh-desktop-host 的 process.on("message") 只认 shutdown / quit-inspection / update-tasks),发出白名单外的消息会被主进程直接 SIGTERM。所以插件无法请求外壳执行 app.relaunch()。
  • host 也不能自己重启。主进程把 host 的任何主动退出都判为失败:dsh desktop host stopped、acknowledged an unrequested shutdown → 弹崩溃恢复对话框。只有主进程自己在更新流程里会"停 host 再拉起 host"。

因此本插件提供的是官方语义下可达成的最强两档,也正是 DSH 自己使用的两条路径:

  • 重载内核 = 官方 HMR 路径。向当前 profile 的 cordis.patch.yml 追加/更新一行带时间戳的注释(# dsh-plugin-restart-control: kernel reload marker …),HMR 检测到配置层变化后重新组合插件树。这与 dsh-market 做插件启停时用的机制完全相同——只增删自己那一行注释,不改动你的任何既有配置。
  • 重启应用 = 分离助手路径。助手用 process.execPath 以 ELECTRON_RUN_AS_NODE=1 启动(不要求系统另装 Node),先结束外壳(外壳退出会断开 host 的 IPC,host 随之优雅关闭),兜底强杀 host,等端口释放后再拉起新实例。全程按 PID 结束进程——助手与目标同名,taskkill /IM 会把它自己也带走。

安装

⚠️ 装完必须启用:dsh plugin add 只把包装进 profile,不会写 profile 的组合包列表。装好后要到 设置 → 插件 打开 dsh-plugin-restart-control 的开关(等价于把它加进 dsh.profile.bundles),否则它不会被加载。官方插件管理器(设置页 / plugin_manager 工具)会替你做这一步。

方式一:GitHub(推荐)

dsh plugin --profile <profile> add "github:MerlinShieh/dsh-plugin-restart-control"

实测 pnpm 约 5 秒完成安装,包会解析为 dsh-plugin-restart-control。

方式二:Release tarball(离线 / 内网)

dsh plugin --profile <profile> add https://github.com/MerlinShieh/dsh-plugin-restart-control/releases/download/v0.1.0/dsh-plugin-restart-control-0.1.0.tgz

方式三:官方桌面版(设置页)

官方桌面版独占 desktop profile:外部 CLI 会对它报 profile "desktop" is managed exclusively by the Electron application。请在 设置 → 插件 → 添加插件 里填入上面任一种安装源,再打开组合包开关。

方式四:本地路径(开发迭代)

pnpm add file:/绝对路径/dsh-plugin/restart-control

注意 file: 安装是快照:改了插件源码后要重新 pnpm add 才生效;而且插件位于 node_modules,不参与 DSH 的 HMR 监视,宿主半区的代码改动需要重启应用。

npm 包尚未发布:dsh-plugin-restart-control 目前还没有发布到 npm。发布之后即可用更短的 dsh plugin --profile <profile> add dsh-plugin-restart-control,安装体验与官方插件完全一致(支持版本范围与 pnpm update)。

使用

装好后打开 设置 → 重启 / Restart:

  • 重载内核:点一下即写入标记行并触发热重载;界面会提示"插件树正在重新组合"。
  • 重启应用:点击后进入二次确认(避免误点中断任务);确认后界面提示"正在重启",应用回来后本页自动恢复。
  • 查看重启日志:助手把每一步写进 $DSH_HOME/dsh-plugin-restart-control/restart.log,设置页可直接查看尾部——重启失败时这是唯一的证据来源。

若当前有正在运行的任务,分区顶部会给出橙色提示;重启应用会中断它们。

安全模型

控制路由只接受:

  • 回环(或 webRuntime.trustedHosts 里声明的权威)Host 头;
  • 同源浏览器标记(Sec-Fetch-Site 不是 cross-site,Origin 与 Host 一致);
  • content-type: application/json 的 POST,body 上限 64 KiB。

这是防 DNS-rebinding / 跨站请求的栅栏,不是身份认证——与 dsh-dream-skin、dsh-better-sidebar 的路由策略一致。

兼容性

  • peerDependencies 使用范围声明(>=0.1.0-rc.6 <0.3.0-0),因此在 DSH 0.2.0-rc.2 上通过官方兼容性检查。
  • 宿主半区需要 webServer 与 webRuntime 两个服务;缺失时插件不会被挂载(不会让启动失败)。
  • 客户端半区只需要 slots 与 locale;平台 seed(react、react/jsx-runtime)解析失败时退化成"不可见但无害",只在控制台留一条警告。

已知限制

  • "重载内核"不等于重启进程:它不会重新加载 Node 已经 import 的模块,也不解决原生模块(native addon)占用。需要那类效果时请用"重启应用"。
  • "重启应用"是强制结束:助手按 PID 结束外壳,不会走 before-quit 的确认流程。DSH 的会话日志是追加写入的,风险较低,但正在运行的任务会被中断。
  • 失败恢复是精简版:助手只写日志,不提供像 dsh-market 那样的恢复页。若应用没有自动回来,请手动启动,并在日志里查看卡在哪一步。
  • 触发器依赖 profile 的 cordis.patch.yml 存在且非空;该文件不存在时"重载内核"会返回 patch-missing 并保持禁用状态。

开发

本插件的客户端半区是源码即产物(lib/client.js 直接就是可分发的 bundle,内部经 react/jsx-runtime 调用,不用 JSX),因此没有构建步骤:

lib/index.js           宿主半区(ESM)
lib/restart-helper.js  分离助手源码(模板字符串导出)
lib/client.js          客户端 bundle(window.__ModuleLoader__.load 注册)
cordis.patch.yml       profile patch 层:insert 一个 loader 条目
locale/{zh,en}.json    插件元信息本地化

改动后在目标 profile 重装(pnpm add file:...)或直接热重载即可。

License

MIT