给桌面托盘菜单加一键重启应用入口
30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/4 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装。以下命令仍可尝试,但可能失败。
无法用 dsh 插件命令安装(仓库内无 dsh 插件清单)
git clone https://github.com/IHS470/dsh-desktop-tray-restart.git按该仓库 README 的原生方式安装;若作者另行发布了 DSH 插件包,请以其文档为准
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · dev
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 29 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/4) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-desktop-tray-restart(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/11 22:21:50
🔴 安全扫描发现高危能力自动 · 静态分析源码
v2.7.0🔴 扫描:高危尚无人工评估
静态扫描发现安装期即执行代码,或命令参数由运行时变量拼接(参数来源无法静态判定,从严处理)。
命令参数由运行时变量拼接
查看扫描证据(共 7 处,展示前 6 条)
- 执行外部命令固定命令patch-shell-tray.mjs:67
const out = execSync( - 执行外部命令运行时拼接patch-shell-tray.mjs:101
const tasklist = () => execSync(`tasklist /FI "IMAGENAME eq ${IMAGE}" /NH`, { encoding: 'utf8' }) - 执行外部命令运行时拼接patch-shell-tray.mjs:112
execSync(`taskkill /F /IM "${IMAGE}"`, { stdio: 'ignore' }) - 执行外部命令来自配置/变量patch-shell-tray.mjs:120
const child = spawn(appExe(), [], { detached: true, stdio: 'ignore', env, cwd: INSTALL }) - 执行外部命令运行时拼接patch-shell-tray.mjs:127
const out = execSync( - 执行外部命令来自配置/变量patch-shell-tray.mjs:354
execSync(command, { stdio: 'ignore' })
扫描于 2026/11/1(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 托盘菜单加重启入口
- 本地可撤销补丁
给桌面 shell 托盘菜单加上「重启 DeepSeek Harness」项——本地可撤销补丁,因为插件够不到托盘。
README
由 DeepSeek 最新模型翻译生成dsh-desktop-tray-restart
给 DeepSeek Harness 桌面壳的托盘右键菜单加一项 「重启 DeepSeek Harness」(英文界面为 "Restart DeepSeek Harness")。
为什么必须改壳,插件做不到
托盘在桌面壳的主进程里(new Tray / setContextMenu)。插件只有两个落脚点——宿主机(纯 Node,没有 Electron API)和页面渲染进程(preload 只暴露固定的 dshDesktop:browser、deviceInfo、shortcuts、updates、closeWindow)——都无法向托盘菜单添加任何一项。所以这是一个壳侧改动,本工具把它在已安装的 resources/app.asar 里本地、可回退地做掉。
补丁内容(lib/main.js 两处):
- 托盘菜单里、在「退出 DeepSeek Harness」上面插入一项 「重启 DeepSeek Harness」(与「打开 DeepSeek Harness」同一命名模式,跟随语言切换);
- 它调用壳自己的代码 app.relaunch() + quitWithoutConfirmation()(壳在应用菜单里用的就是这段),因此托盘图标由 Electron 自己移除,不会像"杀掉进程"那样留下幽灵图标。
展开完整文档(README 剩余 1 节)
dsh-desktop-tray-restart 给 DeepSeek Harness 桌面壳的托盘右键菜单加一项 「重启 DeepSeek Harness」(英文界面为 "Restart DeepSeek Harness")。 为什么必须改壳,插件做不到 托盘在桌面壳的主进程里(new Tray / setContextMenu)。插件只有两个落脚点——宿主机(纯 Node,没有 Electron API)和页面渲染进程(preload 只暴露固定的 dshDesktop:browser、deviceInfo、shortcuts、updates、closeWindow)——都无法向托盘菜单添加任何一项。所以这是一个壳侧改动,本工具把它在已安装的 resources/app.asar 里本地、可回退地做掉。 补丁内容(lib/main.js 两处): - 托盘菜单里、在「退出 DeepSeek Harness」上面插入一项 「重启 DeepSeek Harness」(与「打开 DeepSeek Harness」同一命名模式,跟随语言切换); - 它调用壳自己的代码 app.relaunch() + quitWithoutConfirmation()(壳在应用菜单里用的就是这段),因此托盘图标由 Electron 自己移除,不会像"杀掉进程"那样留下幽灵图标。 用法 node patch-shell-tray.mjs status # 已安装的 asar 是否带这块补丁 node patch-shell-tray.mjs build # 从原始备份生成暂存包,并逐文件校验(零差异 + main.js 的 SHA256 重算) node patch-shell-tray.mjs detach # 45 秒后由 WMI 创建的独立进程完成切换(推荐) node patch-shell-tray.mjs swap # 立即切换(会先关闭应用) node patch-shell-tray.mjs revert # 还原原始 asar 并重启 可选参数:--install=<目录>、--asar=<文件>、--log=<文件>、--delay=<毫秒>。不传参数时会自动探测安装位置:先看运行中的进程路径,再回退到 %LOCALAPPDATA%\Programs\DeepSeek Harness。 日志默认写到 %USERPROFILE%\.dsh\dsh-tray-restart\patch.log。 安全设计(每一处都为了"改坏了也能回来") - 从原始备份重建:如果 app.asar.orig 存在就用它做基底,避免在已打过补丁的包上再插一次(那会插入第二项)。 - 逐文件校验:重新读回新包,与原始包逐个文件比对字节,并重算被改动文件的 SHA256;任何一处不符就中止,不会切换。 - 切换前备份 + 自动回退:原文件备份为 app.asar.orig;若新包起不来,切换进程会在 40 秒内还原原文件并重启应用。 - detach 而不是 swap:Windows 上应用会把它的后代放进作业对象,直接在应用内部启动的切换进程会随应用一起被杀(实测:它死在"关闭应用"这一步,一个文件都没来得及碰)。用 WMI 创建的进程归 WMI 提供程序宿主所有,应用杀不到它。 如实说明 - 这是对厂商打包应用的本地补丁,不是官方功能;应用更新或重装会覆盖 app.asar,届时重跑 build + detach 即可。 - 长期解法是让壳自己带上这一项:见 docs/dsh-restart-api-request.zh.md(精确到文件与行号的补丁,以及插件侧退出/重启 API 的请求)。 - 只在 Windows 上验证过——托盘本来就是 Windows 分支(if (process.platform === "win32")),macOS 走的是应用菜单。 给桌面壳的托盘菜单加一项 "Restart DeepSeek Harness",做法是给已安装的 resources/app.asar 里的 lib/main.js 打补丁——本地操作,可回退。托盘在壳的主进程里,插件够不到它(宿主机没有 Electron API;页面只拿到固定的 dshDesktop preload 接口),所以这必须是壳侧改动。这一项调用壳自己的 app.relaunch() + quitWithoutConfirmation(),因此 Electron 会自己移除托盘图标,而不是留下幽灵图标。 命令:status、build(暂存包 + 逐文件校验)、detach(推荐:由 WMI 创建的进程完成切换,因为应用退出时会杀掉它的后代进程)、swap、revert。参数:--install=<dir>、--asar=<file>、--log=<file>、--delay=<ms>。 如实说明:这是给厂商打包应用打补丁;应用更新或重装会覆盖 app.asar,补丁得重新打。原文件备份为 app.asar.orig,打过补丁的包启动失败的项会在 40 秒内自动恢复。长期方案是让 shell 承载该项——见 docs/dsh-restart-api-request.md。仅限 Windows。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
IHS470/dsh-desktop-tray-restart
给桌面托盘菜单加一键重启应用入口
相关插件 · 开发 / 工程
隐私简历生成器reactive-resume/reactive-resume
Reactive Resume 已迁至 GitHub 上的…
★ 45,125已汉化MCP
71.7
AI 架构文档生成器sopaco/deepwiki-rs
🚀 Litho 已进化为 Terrain —— 给你的 AI 智能体一张会呼吸的代码库地图。
★ 3,157已汉化DSH
70.8
长时任务执行闭环AMAP-ML/LongHorizon-Harness
面向 Computer-Use Agent 的 Loop Engineering
★ 1,764已汉化DSH
70.5
AI 编程纪律方法包GanyuanRan/Aegis
让 AI 编程 agent 变得可信:少返工、更安全、说“完成”前先给证据。
★ 1,384已汉化DSH
69.6
多代理编排运行时Enderfga/claw-orchestrator
面向编程智能体的运行时。把 Claude Code、Codex、Antigravity、Grok…
★ 586已汉化MCP
69.4
记忆进化插件csyangwen/dsh-memory-evolve
dsh-memory-evolve 使用场景指南
★ 461已汉化DSH
67.9