前言¶
在 DeepSeek Harness(DSH)里改插件或改配置,往往要等进程完全退出再手动打开桌面端,改动才会真正生效。习惯用任务管理器或命令行杀进程的人还要面对子进程、单实例锁和随机端口等问题;早期用脚本辅助重启时,分离启动 cmd.exe 还容易弹出命令行黑窗。restart-bell(重启铃)是维护者 zhaoyushuo987 提交的客户端类 DSH 插件:在 Web GUI 顶部增加一个可拖动的 ⟳ 按钮,点开后在列表里选「重启」或「关闭」,由本机助手完成强杀与可选拉起,全程不弹出控制台窗口。下面按定位、功能、安装、用法和注意事项说明。
这是什么¶
restart-bell 只做一件事:在 DSH Web 界面标题栏区域放一个 ⟳ 小圆钮(默认左上角,按住可拖动,位置会记住)。单击后弹出小列表,提供「重启」与「关闭」两个操作。插件归类为客户端(dsh.client.platform 为 web),当前资料中的版本为 0.4.0,许可证 MIT,面向 Windows 10 / 11。仓库与说明见 GitHub;社区目录页为 skillhub.cn/plugins/zhaoyushuo987/restart-bell。DSH 生态采用「一切皆插件」思路,该目录为社区站点,与 DeepSeek / 幻方无官方从属关系。
核心功能¶
界面与交互¶
- 装好后首次加载时,DSH 会自动重启一次,以便插件生效。
- 在窗口左上角(标题栏区域)可见 ⟳ 按钮;按住可拖到顶部任意位置。
- 单击 ⟳ 弹出列表;选「重启」或「关闭」。点空白处或按 Esc 收起列表。
「重启」与「关闭」分别做什么¶
| 按钮 | 作用 |
|---|---|
| 重启 | 强制关闭整个 DSH,再用同一个 DeepSeek Harness.exe 原样重新启动(便于装完插件或改完配置后立即生效) |
| 关闭 | 只强制关闭整个 DSH,不重新打开(彻底退出、释放内存时使用) |
实现要点(便于理解行为)¶
- 列表为前端 DOM,重启/关闭通过向本机 GUI 服务 POST 触发,请求头带
x-restart-bell,路由为POST /api/restart-bell/restart与POST /api/restart-bell/quit。 - 宿主先返回 200,再在
%TEMP%\restart-bell\下写入 VBS 助手,用wscript.exe分离运行(GUI 子系统,不出现控制台黑窗)。v0.3.0 起弃用会弹黑窗的cmd.exe方案。 - 助手先按配置的
delayMs(默认 1200ms)等待,再强杀主进程并清理同名进程,重启前会清除ELECTRON_RUN_AS_NODE等环境变量,避免 exe 以 Node 模式空跑后立刻退出(v0.3.1 修复的问题)。拉起后会核对新进程是否存活,失败则用explorer.exe兜底。 - 可选配置:
delayMs(触发到强杀的缓冲,默认 1200)、enabled: false可整体停用插件逻辑。
安装与启用¶
插件以 link 方式挂到 profile 的 node_modules(本机可用 junction 指向源码目录,改源码后重启即生效)。安装前请自行查看仓库源码与 MIT 许可证;插件以当前 DSH 进程权限运行,需有结束本机 DSH 进程的能力。
普通 profile(命令行可管理)¶
在已取得 restart-bell 源码目录的前提下执行:
dsh plugin --profile <profile 名> add link:<源码目录路径>
将 <profile 名> 与 <源码目录路径> 换成你的实际值。
桌面 App 的 profile(默认名 desktop)¶
该 profile 由 Electron 应用独占,命令行 add/remove 可能被拒绝(提示 profile "desktop" is managed exclusively by the Electron application)。可任选其一:
- 在 App 内插件管理界面添加;或
- 手动修改
package.json并在profiles\desktop\node_modules建 junction,例如资料中的示例命令:
dsh plugin --profile desktop add link:C:\Users\86158\Documents\deepseek-harness\restart-bell
卸载示例:
dsh plugin --profile desktop remove restart-bell
手动改 desktop profile 时,资料要求:在 <用户目录>\.dsh\profiles\desktop\package.json 的 dependencies 增加 "restart-bell": "link:C:/路径/restart-bell",在 dsh.profile.bundles 增加 "restart-bell";在 profiles\desktop\node_modules 下建 junction 指向源码目录,例如:
New-Item -ItemType Junction -Path .\restart-bell -Target C:\路径\restart-bell
完成后重启一次 DSH,左上角应出现 ⟳ 按钮。
典型用法¶
经过上面的安装与一次重启,日常使用可按下面三步:
- 确认 ⟳ 按钮位置(需要时可拖动到习惯的位置)。
- 改完插件或配置需要立即生效时:单击 ⟳ →「重启」,等待进程下线再回来(桌面端本窗口会一起结束;若用浏览器打开 GUI,前端会等 ping 失败后再等 ping 成功才刷新,超时会有文案提示)。
- 仅想退出 DSH:单击 ⟳ →「关闭」。
适用场景与注意¶
适合谁: 主要在 Windows 上使用 DSH 桌面端、经常安装或调整插件、又不想每次用手动杀进程或记命令的人。
平台: README 标明平台为 Windows 10 / 11;未在其他系统上验证的行为不要假设可用。
浏览器 / 远程看 GUI: 点「重启」时桌面窗口会结束;纯浏览器标签在 DSH 下线后需等待服务起来再刷新。桌面端若使用 --port 0 随机端口,旧标签页可能无法自动连回,资料中会提示手动重新打开 DSH。
排障: 关不掉或起不来时,查看 %TEMP%\restart-bell\helper.log(每条带本地时间戳)。常见线索包括:仅有 start(WScript 未执行)、relaunch failed、no process after launch; retry via explorer 等;完整对照表见仓库 README。
反馈: 问题可发到 Issues,附上 helper.log 尾部几行。
结尾¶
restart-bell 在 Web GUI 顶部提供可拖动的 ⟳ 入口,用「重启」「关闭」覆盖改配置后生效与彻底退出两类需求,并通过 VBS + wscript 避免控制台黑窗。安装以 profile 的 link: 方式为准;详情与版本以仓库为准。
- 目录页:https://www.skillhub.cn/plugins/zhaoyushuo987/restart-bell
- GitHub:https://github.com/zhaoyushuo987/restart-bell