Skip to content

Releases: hongdougao111/dsh-power-switch

v0.1.5 · 跟着 DSH 搬家

Choose a tag to compare

@hongdougao111 hongdougao111 released this 01 Nov 15:03

⚡ dsh-power-switch 0.1.5

跟着 DSH 搬家。 升级后插件差点原地去世,这版修好了。

症状

升级完 DSH,右上角电源键没了。插件在依赖里躺着、node_modules 软链接也在,就是不见踪影。

原因是 cordis.patch.yml 的注册被升级过程清掉了,dsh.profile.bundles 里也没了它。
新版加载链路是 依赖 → bundles[] → 那个包的 patch → insert 行,不在 bundles 里,patch 根本不会被读。

这次升级还搬了家

项目 以前 现在
DSH_HOME C:\Users\...\.dsh D:\dsh-home
profile 目录 ~/.dsh/profiles/desktop D:\dsh-home\profiles\desktop

插件从不写死路径,全靠 process.execPath / process.ppid 现场探测,所以换盘符没影响;
DSH_HOME 是用户级环境变量,helper 全量继承 process.env,新实例照样找得到家。

新增环境体检

helper 日志首行现在会写:

[dsh-power-switch] env: DSH_HOME=D:\dsh-home profile=(unset)

GET /dsh-power-switch/api 也返回 environment 字段。下次再搬家,一眼看出是不是环境问题。

兼容性逐项核对

webServer.getOrigin() / register() / 两个 slot / process.once("disconnect") /
fail() 门控 / requestSingleInstanceLock() —— 全部未变,无需改代码。

主进程新出现的 --updated 参数也查过了:只是 raiseAfterUpdate(更新后置顶窗口),
不是启动必需项,所以重放裸 exe 是对的。

实测

env: DSH_HOME=D:\dsh-home profile=(unset)
ending electron main process 16360
taskkill /PID 16360 /F ok
port 64006 released
relaunched E:\DSH\DeepSeek Harness.exe as pid 8436
restart complete (pid 8436)
reap: no stale processes

崩溃日志 10 → 10,新版下零新增。

安装

dsh plugin add dsh-power-switch

装完如果按钮没出现,检查 DSH_HOME/profiles/<profile>/package.json 的 dsh.profile.bundles 里有没有 dsh-power-switch。

v0.1.4 · 那个弹窗,终于被送走了

Choose a tag to compare

@hongdougao111 hongdougao111 released this 26 Oct 06:59

⚡ dsh-power-switch 0.1.4

右上角一枚电源键,两下点击真的重启 / 关闭 DSH 进程。

本版重点

1. 弹窗没了 🎉
杀的是 Electron 主进程本身(taskkill /F 不带 /T),主进程都没了自然没人弹框;
宿主在 IPC 断开后自己走一遍优雅关闭,日志正常落盘。

2. 「进程还在」不等于「起来了」 👀
改为查 MainWindowHandle,真的画出窗口才算成功。
unknown(探测不到)不再当失败,进程还活着就算起来了 —— 宁可少杀一次,也别误杀。

3. 顺带收拾残留进程 🧹
按启动时间切分,清掉上一轮剩下的渲染器 / GPU 进程,并排除 helper 自身。

4. 日志轮转 📜
单份超过 1MB 自动转 .1。

实测

ending electron main process 10036
taskkill /PID 10036 /F ok
port 58384 released
relaunched ... as pid 27824
restart complete (pid 27824)
reap: no stale processes

崩溃日志 10 → 10,连续四轮重启零新增。

安装

下载下方 dsh-power-switch-0.1.4.zip,解压后放到插件目录,或者直接:

dsh plugin add dsh-power-switch

已知限制

  • 仅 Windows + DSH Desktop
  • 残留清理是 best effort,不保证 100%
  • 强杀可能跳过 before-quit,Cookie / LocalStorage 不保证落盘(会话日志有宿主 shutdown 兜底)