在托盘与应用菜单加一键重启,让新装插件立即生效
30.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add jkrhug/dsh-easyrestart该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · desktop
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 4 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
给 DeepSeek Harness 加个更方便快捷的重启方式
README
由 DeepSeek 最新模型翻译生成dsh-easyrestart
给 DSH Desktop(DeepSeek Harness 桌面版)的菜单加一个原生「重启」项,就在「退出」上面。
在 DSH Desktop 的托盘菜单和「应用」菜单里,于「退出」上方添加原生重启项。
English · MIT
托盘图标右键:
打开 DeepSeek Harness ────────── 重启 DeepSeek Harness ← 新增退出 DeepSeek Harness
左上角「应用」菜单:
关于 DeepSeek Harness ────────── 检查更新…
管理 dsh 命令 ────────── 重启应用与 Host ← 新增 ────────── 退出
两项都是 DSH Desktop 自己的 Menu.buildFromTemplate() 菜单项——字体、间距、分隔线、悬停高亮全部沿用系统原生样式,文案跟随界面语言(中文「重启」/ 英文「Restart」)。
为什么需要它
DSH Desktop 目前没有「重启应用」的入口:关窗口往往只是隐藏到托盘,想让新装的插件生效只能从托盘「退出」再手动打开。这个项目补上这一步。
它是插件:装上以后可以用 /easyrestart、插件管理页或 agent 工具随时安装/还原,不用记命令。
展开完整文档(README 剩余 1 节)
dsh-easyrestart
给 DSH Desktop(DeepSeek Harness 桌面版)的菜单加一个原生「重启」项,就在「退出」上面。
在 DSH Desktop 的托盘菜单和「应用」菜单里,于「退出」上方添加原生重启项。
English · MIT
托盘图标右键:
打开 DeepSeek Harness ────────── 重启 DeepSeek Harness ← 新增退出 DeepSeek Harness
左上角「应用」菜单:
关于 DeepSeek Harness ────────── 检查更新…
管理 dsh 命令 ────────── 重启应用与 Host ← 新增 ────────── 退出
两项都是 DSH Desktop 自己的 Menu.buildFromTemplate() 菜单项——字体、间距、分隔线、悬停高亮全部沿用系统原生样式,文案跟随界面语言(中文「重启」/ 英文「Restart」)。
为什么需要它
DSH Desktop 目前没有「重启应用」的入口:关窗口往往只是隐藏到托盘,想让新装的插件生效只能从托盘「退出」再手动打开。这个项目补上这一步。
它是插件:装上以后可以用 /easyrestart、插件管理页或 agent 工具随时安装/还原,不用记命令。
仓库名是 dsh-easyrestart,插件包名仍是 dsh-easyrestart(沿用初版,已安装过的用户不必卸载重装)。
安装
方式一:从 npm 安装(推荐)
dsh plugin --profile desktop add dsh-easyrestart
也可以直接从 GitHub 源码安装(不必等 npm):
dsh plugin --profile desktop add github:jkrhug/dsh-easyrestart
本机已有源码时,也可以按目录安装:
dsh plugin --profile desktop add /path/to/dsh-easyrestart
用 desktop profile —— 本插件只在 DSH Desktop 生效,Web profile 装了不会有可见变化。
装好后 重启 DSH Desktop,两个菜单里就会出现「重启」项。
装好后可以随时通过以下任一方式管理:
- /easyrestart status | install | uninstall
- agent 工具 dsh_easyrestart
- 插件管理页里的「重启 dsh」一行
方式二:独立脚本(不走插件)
用 DSH Desktop 自带的 Electron 以 Node 模式运行 $env:ELECTRON_RUN_AS_NODE = "1" $env:ELECTRON_NO_ASAR = "1" & "<Desktop 安装目录>\DeepSeek Harness.exe" patch/apply-menu-item.mjs --check & "<Desktop 安装目录>\DeepSeek Harness.exe" patch/apply-menu-item.mjs --install & "<Desktop 安装目录>\DeepSeek Harness.exe" patch/apply-menu-item.mjs --restore
--check 看状态,--install 装补丁,--restore 还原。两种方式共用同一份实现,可以互相接力。
分类与权限
- 能力分类:界面与体验
- 权限:需要写 DSH Desktop 安装目录下的 resources/app.asar(权限不足会报 EPERM)。除此之外不写任何文件。
- 外部服务:无。不联网、不上报、不收集任何数据。
- 平台:Windows 桌面版(Electron)。
真实输出
$ dsh_easyrestart status
app.asar:D:\deepseek\resources\app.asar 菜单项:已就位(应用菜单有,托盘菜单有)
原理
这两处菜单都由 Electron 主进程用 Menu.buildFromTemplate() 构建,属于操作系统级原生菜单,不在 DSH 的 Cordis slot 体系里;页面侧与 host 进程也没有 quit / relaunch / menu 的扩展通道。所以无法「注册」一个菜单项,只能改主进程代码——也就是 Desktop 安装目录下 resources/app.asar 里的 lib/main.js。
A. 托盘菜单:插入一项。 DesktopTray.relabel() 的模板原本是「打开 / 分隔线 / 退出」,补丁在分隔线后插入:
{
label: ${messages.restartApplication} DeepSeek Harness,
click: () => {
app.relaunch();
quitWithoutConfirmation();
}
},
这会让 main.js 变长。asar 只按 header 里每个条目的 offset/size 读取内容,所以把改好的 main.js 追加到 asar 文件末尾、再把 header 里 lib/main.js 的 offset/size 指过去即可,其他文件位置完全不动。
B. 「应用」菜单:等长替换。 这个菜单项原本就在代码里,只是被 development(!app.isPackaged)条件关掉了:
| 位置 | 原来 | 改成 | 长度 |
| development 条件 | ...development ? [ | ...true ? [ | 18 → 18 |
| 「刷新页面」项 | role: "reload" | visible: false | 14 → 14 |
两种改动都会重算并同步 header 里 lib/main.js 的 SHA256(hash 与 blocks[0],等长 64 位 hex),保持 Electron 的完整性校验一致;header 文本长度不变,所以 dataOffset 和所有文件的绝对位置都不动。
兼容性
- DSH Desktop for Windows(Electron)。Web 端没有这些原生菜单,装了也不会有可见变化。
- 写入需要能修改 Desktop 安装目录(resources/app.asar)。权限不足时会得到 EPERM。
- DSH Desktop 升级会重装 app.asar,补丁随之消失;升级后重跑一次 install 即可。锚点找不到时会明确报错,不会乱写。
- 已在 DSH Desktop 0.2.1-rc.5(Windows)上验证通过;0.2.1-rc.3(含)以前也适用。
- 只改 lib/main.js 的上述字节,不重打包、不动其他文件;--restore 是反向定位,不依赖备份。
- 每次内容长度变化都会往 asar 末尾追加一份 main.js(约 517 KB),反复安装/还原会让文件缓慢变大。
目录结构
.
├─ package.json 插件清单:包名、版本、exports、cordis.patch.yml ├─ index.js Host 半:注册工具 dsh_easyrestart 与命令 /easyrestart ├─ lib/menu-patch.js 补丁核心:定位 asar、判状态、安装、还原、同步 SHA256 ├─ cordis.patch.yml 把本插件插进当前 profile ├─ locale/ 插件管理页的显示名(中/英) ├─ icon.svg ├─ docs/implementation.md 实现细节:为什么改 asar、文件清单、行为说明 ├─ patch/ │ └─ apply-menu-item.mjs 命令行入口(插件与脚本共用同一实现) ├─ tools/ 只读调研脚本:从 asar 提取文件 / 按关键词搜字节 ├─ README.md / README.en.md ├─ CONTRIBUTING.md └─ LICENSE
常见问题
装完没反应? 菜单在应用启动时构建,必须完全退出 Desktop 再打开(关窗口可能只是隐藏到托盘,要从托盘「退出」)。
会不会影响自动更新? 补丁只改 main.js 内容并同步它自己的 SHA256,不碰 asar 结构和其他文件。Desktop 升级会覆盖整个 app.asar,补丁自然失效,重装一次即可。
为什么不能用纯插件实现? 见上文「原理」——原生菜单没有对插件开放的注册通道。
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
jkrhug/dsh-easyrestart
在托盘与应用菜单加一键重启,让新装插件立即生效
相关插件 · 桌面端
Codex 任务面板chuspeeism/dashi-taskboard
现代化可灵活嵌入的任务面板,支持 Codex、DeepSeek Harness
★ 3,409已汉化DSH
71.7
多智能体自进化开发平台Prism-Shadow/penguin-harness
统一、稳定的 Agent 自进化框架全自动优化:任意模型 · 任意算法 · 任意 Benchmark
★ 3,111已汉化DSH
71.1
桌面宠物PC2005-cloud/dsh-pet
DSH 桌面宠物:一行命令装好即用的透明动画小桌宠,支持多开、大小位置随心配置;还内置 DIY 素材链,能用 AI…
★ 5,341已汉化DSH
71
多端 Agent 工作台GCWing/OpenBitFun
OpenBitFun 是一个高度可定制的开源 Agent 工作台,让任务按你的方式持续推进。
★ 3,449已汉化DSH
70.8
DSH Desktopanywhere-labs/dsh-desktop
为 DeepSeek Harness DSH 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。
★ 34,532已汉化DSH
70.7
桌面宠物伴侣OpenPetsHQ/openpets
桌面伴侣平台,带宠物、插件,还能选配本地智能体集成。
★ 1,353已汉化DSH
70.2