🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

托盘重启 Joshua1ya/dsh-tray-restart

DeepSeek Harness
Joshua1ya10 天前有提交已提供中文文档扫描:含敏感能力

一键重启桌面应用与宿主进程,无需手动退出

30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/25 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Joshua1ya/dsh-tray-restart
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · desktop
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 10 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 9 处,展示前 9 条)
  • 读取本地文件
    index.js:42
    const [tray, shell] = readFileSync(PID_FILE, 'utf8').trim().split(/ +/u)
  • 执行外部命令固定命令
    index.js:52
    spawn('taskkill', ['/PID', String(pid), '/T', '/F'], { stdio: 'ignore', windowsHide: true })
  • 执行外部命令固定命令
    index.js:92
    child = spawn(
  • 写入本地文件
    index.js:176
    appendFileSync(LOG_FILE, `${new Date().toISOString().slice(11, 19)} [host ${process.pid}] ${message}\n`)
  • 读取本地文件
    index.js:187
    if (process.platform !== 'win32' || !basename(executable).toLowerCase().startsWith('deepseek harness') || !existsSync(trayIcon)) {
  • 删除本地文件
    index.js:209
    rmSync(PID_FILE, { force: true })
  • 执行外部命令固定命令
    index.js:241
    child = spawn('powershell.exe', args, {
  • 删除本地文件
    index.js:266
    rmSync(PID_FILE, { force: true })
  • 发起网络请求
    client.js:54
    const res = await fetch('/dsh-tray-restart/restart', {
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

从会话标题栏按钮或系统托盘(Windows)重启 DeepSeek Harness 桌面应用及其宿主进程。

README

由 DeepSeek 最新模型翻译生成
dsh-tray-restart 重启 DeepSeek Harness 桌面应用——包括 Electron 外壳和它运行的 Host 进程——不用手动退出。 会话头部有一个重启按钮,Windows 托盘图标提供同样的操作。重启过程中会重新加载其他插件、皮肤和设置。 仅支持 Windows。 插件依赖 WinForms 和 taskkill;在其他平台上它什么都不做,只记录原因。 你会得到什么 - 头部按钮——每个会话右上角工具区里的小重启图标。 - 托盘图标——右键菜单有 Restart DSH (app + host) / Open DeepSeek Harness / Quit tray icon。左键点击打开应用。 - 同一个动作——两条路径都会杀掉整个进程树(taskkill /T /F),等它退出,如果上一次运行留下了过期的配置档锁就清掉,然后重新启动应用。 要求 - DeepSeek Harness 桌面应用,Windows 10 或 11。 - 没有其他要求。不需要构建步骤,没有依赖。
展开完整文档(README 剩余 1 节)
dsh-tray-restart

重启 DeepSeek Harness 桌面应用——包括 Electron 外壳和它运行的 Host 进程——不用手动退出。

会话头部有一个重启按钮,Windows 托盘图标提供同样的操作。重启过程中会重新加载其他插件、皮肤和设置。

仅支持 Windows。 插件依赖 WinForms 和 taskkill;在其他平台上它什么都不做,只记录原因。

你会得到什么

- 头部按钮——每个会话右上角工具区里的小重启图标。
- 托盘图标——右键菜单有 Restart DSH (app + host) / Open DeepSeek Harness / Quit tray icon。左键点击打开应用。
- 同一个动作——两条路径都会杀掉整个进程树(taskkill /T /F),等它退出,如果上一次运行留下了过期的配置档锁就清掉,然后重新启动应用。

要求

- DeepSeek Harness 桌面应用,Windows 10 或 11。
- 没有其他要求。不需要构建步骤,没有依赖。

安装

from npm — prebuilt, no build step
dsh plugin add dsh-tray-restart

or straight from this repository
dsh plugin add https://github.com/Joshua1ya/dsh-tray-restart

然后完全退出应用并重新打开一次——客户端 bundle 和 host 行在启动时收集,刷新页面不够。

第一次重启之后插件就能自己维持:头部按钮一直在,托盘图标每次启动都会出现。

卸载

dsh plugin remove dsh-tray-restart

托盘图标会在下次应用重启后消失(也可以从它自己的菜单退出)。

工作原理

| 部分 | 作用 |
| index.js(Host) | 在 web 服务器上注册 GET /dsh-tray-restart/status 和 POST /dsh-tray-restart/restart,并启动托盘辅助进程。 |
| client.js(Web UI) | 把头部按钮渲染到 conversation.session.header.utilities。 |
| assets/tray.ps1 | WinForms NotifyIcon,轮询外壳进程,应用退出时它也跟着消失。 |
| assets/launch-*.ps1 | 通过 WMI(Win32_Process.Create)启动托盘或重启辅助进程——见下文。 |
| assets/restart.ps1 | 杀掉外壳(及其进程树),等待,清掉 ~/.dsh/profiles/<profile>/lock,重新启动可执行文件。 |

如果你要 fork 这个项目,有两个实现细节值得了解:

1. 辅助进程必须在应用的进程树之外启动。 Host 运行在一个 Job 对象里,该对象限制 USER 句柄,所以用普通 spawn/Start-Process 创建的子进程能正常构建 NotifyIcon,但永远不会出现在通知区域。通过 Win32_Process.Create 创建的进程父级是 WmiPrvSE,就能正常注册。重启辅助进程出于同样的原因也走这条路径——而且必须如此,因为它要杀掉应用的进程树,否则会先把自己杀掉。
2. 插件 apply 期间 ctx.get('webServer') 为 undefined。 Web 服务器在插件行加载之后才启动。因此路由注册要用 ctx.inject(['webServer'], …) 等待;托盘启动是独立的,不能提前 return。

从这里重启,等同于从菜单退出应用再重新启动——重启后内存中不保留任何内容。

License

MIT
预览分享卡片长什么样 ↓Joshua1ya/dsh-tray-restart
分享 · DeepSeek Harness Hub
Joshua1ya/dsh-tray-restart

一键重启桌面应用与宿主进程,无需手动退出

回到顶部