DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

YOGEMOW /

YOGEMOW/dsh-desktop-menu

Verified

把「刷新页面 / 重启应用与 Host」写进 DSH 桌面端「应用」原生菜单的补丁插件:11 字节等长改写 app.asar,附完整 recipe 与独立脚本。

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@801aba06

dsh-desktop-menu

把「刷新页面 / 重启应用与 Host」写进 DSH 桌面端左上角「应用」原生菜单的补丁插件。 没有 UI、不往页面注入任何东西;它带的是补丁本身 + 完整思路,换台电脑也能照着做。

它做什么

DSH 桌面端「应用」下拉里的这两项,代码本来就有,只是被开发构建开关挡住:

...development ? [ { role: "reload" }, { app.relaunch() ... } ] : []   // 安装版 development = false

插件把开关换成恒真的等价表达式,两段都是 11 字节,等长替换,不动 asar 任何偏移:

-		...development ? [
+		...!(0  === 1) ? [

再把这个文件在 asar 头里的 SHA256 integrity 等长同步,归档保持自洽。 完整推导:docs/DESIGN.md;给 AI 的照抄步骤:docs/RECIPE.md。

给 AI 的用法(换台电脑也一样)

dsh_desktop_menu({ action: "status" })   # 只读:app.asar 在哪、补丁是否在位、哈希是否自洽
dsh_desktop_menu({ action: "apply" })    # 写入补丁(幂等;已打过返回 already)
dsh_desktop_menu({ action: "revert" })   # 还原

写完后必须重启桌面端(托盘 → 退出 → 重新打开)才会在菜单里看到,因为 main.js 只在主进程启动时加载。

app.asar 自动探测:工具参数 asar → 环境变量 DSH_DESKTOP_ASAR → 从可执行文件逐级向上找 <dir>/resources/app.asar。纯浏览器版返回 not-desktop。

安装

从 GitHub 装:

dsh plugin --profile desktop add github:YOGEMOW/dsh-desktop-menu

或用插件管理器装本地目录:

plugin_manager(install_bundle, target="<这个包的绝对路径>")

验证

  • node test/roundtrip.mjs:复制一份真 app.asar,revert → apply → apply(幂等), 每步断言状态与哈希自洽、归档大小不变(DSH_ASAR 可指定路径);
  • node test/status.mjs:以 ELECTRON_RUN_AS_NODE=1 跑桌面端 exe,验证 original-fs 回退和路径探测;
  • python docs/standalone/verify_patch.py "<app.asar 路径>":不依赖插件,直接复核当前安装。

注意

  • 桌面端每次自动更新都会换掉 app.asar,补丁随之消失 —— 更新后重新 apply 一次即可(按内容定位,不依赖偏移)。
  • 补丁改的是安装目录文件,需要写权限(装在 Program Files 时可能要管理员)。
  • 为什么不做标题栏按钮:没有可用插槽,而且插件无法真正重启(外部进程方案被安全软件/进程树问题挡住)。 原生菜单的 app.relaunch() 才是可靠路径,见 DESIGN.md §4。

目录

index.js                宿主半:注册 dsh_desktop_menu 工具
lib/desktop-menu.js     补丁/回滚/探测实现(含 original-fs 处理)
cordis.patch.yml        bundle patch
docs/DESIGN.md          设计说明与踩坑复盘
docs/RECIPE.md          给 AI 的照抄步骤
docs/standalone/        等价的独立 Python 脚本(apply / verify / inspect)
locale/{zh,en}.json     插件显示标题与描述
icon.svg                插件图标
test/                   回归与探测脚本
—/ 5

No ratings yet

Verified DSH bundle

Commit 801aba0668c6

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout