dsh-desktop-menu
Manifest validPatch plugin that adds "Refresh Page / Restart App and Host" to the DSH Desktop "App" native menu: 11-byte equal-length rewrite of app.asar, complete recipe and standalone script included.
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/ 回归与探测脚本
Comments
Loading…
Similar plugins
by zzh799
dsh web 移动端适配插件:侧边栏抽屉 + 设置页单列布局;目录浏览移动端化 + 本地上传到工作区 ./上传/
★ 0
MIT
TypeScript
Aug 16, 2026
dsh plugin --profile web add dsh-mobile-adaptiveby dingdong2333333-lab
DSH 官方客户端没有的两个按钮:重启和刷新。一个很小的独立插件。
★ 0
Unlicense
JavaScript
Oct 21, 2026
dsh plugin --profile web add dsh-app-controlsby MARIOMLY
Open the DeepSeek Harness Web UI as a standalone desktop app window (Chromium --app mode) — a DSH host plugin. / 把 DSH Web 界面变成独立桌面应用窗口的 DSH 插件。
★ 0
MIT
JavaScript
Sep 14, 2026
dsh plugin --profile web add dsh-desktop-appby Jackbessaliuz
DSH 插件市场的补丁层:一键更新全部(退出后自动完成并重开)+ 更新安全网(启动失败自动回退)+ 本地插件更新检测与快照回滚。
★ 3
MIT
JavaScript
Oct 22, 2026
dsh plugin --profile web add dsh-market-expandby archyciao
DeepSeek Harness (dsh) 插件:设置页「关于」- 版本显示/检查更新/一键重启
★ 0
JavaScript
Sep 9, 2026
dsh plugin --profile web add dsh-about-updaterby Depar7ure
DSH Desktop 插件:标题栏「编辑」右侧新增蓝底白字伪 3D「刷新」按钮;有对话运行时禁用并弹警告,全静默才允许刷新。
★ 0
JavaScript
Oct 4, 2026
dsh plugin --profile web add dsh-desktop-web-refresh