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

应用重启 foreee/dsh-app-restart

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

在设置页一键优雅重启整个桌面应用

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

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

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

状态速览

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

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

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

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 9 处,展示前 9 条)
  • 读取本地文件
    lib/index.js:70
    if (!existsSync(join(bundle, "Contents", "Resources", "app.asar"))) return null;
  • 读取本地文件
    lib/index.js:80
    if (!existsSync(execPath)) return null;
  • 读取本地文件
    lib/index.js:83
    if (!existsSync(join(dirname(execPath), "resources", "app.asar"))) return null;
  • 读取本地文件
    lib/index.js:94
    if (!existsSync(plist)) return Promise.resolve(null);
  • 执行外部命令固定命令
    lib/index.js:104
    const child = execFile(
  • 执行外部命令来自配置/变量
    lib/index.js:329
    const child = spawn(plan.relaunch.file, plan.relaunch.args, {
  • 执行外部命令来自配置/变量
    lib/index.js:355
    child = spawn(spec.file, spec.args, { stdio: "ignore", env: helperEnv(plan.platform) });
  • 发起网络请求
    lib/client.js:84
    const response = await fetch(API.status);
  • 发起网络请求
    lib/client.js:91
    const response = await fetch(API.restart, { method: "POST" });
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 桌面插件:在设置里重启整个应用(优雅退出 + 自动重新启动)

README

由 DeepSeek 最新模型翻译生成
dsh-app-restart 在 DeepSeek Harness 桌面应用端的设置里新增一个"重启应用"区块,并提供一个带二次确认的按钮,用于重启整个应用 —— 包括 Electron 壳、它承载的 Web GUI,以及 cordis Host 进程。 功能说明 - 设置页新增"应用重启"区块,说明重启行为,并显示当前环境是否支持。 - 按钮采用两步确认(先点击、再确认),避免误触。 - 重启 = 优雅退出 + 自动重启: 1. 先启动一个分离(detached)的 relauncher 辅助进程,等待应用主进程退出后重新打开应用包; 2. 插件通过平台正常的退出路径请求退出 —— macOS 上是 Quit Apple Event,应用壳会把它当作用户按了 Cmd+Q 一样处理,包括"有进行中任务"的确认对话框; 3. 若用户在对话框里取消,relauncher 超时后的最后一步 open 只会把仍在运行的应用调到前台 —— 无副作用。 Electron 壳没有给插件提供重启 IPC(app.relaunch() 仅主进程可用),因此重启由 Host 进程在操作系统层面编排,无需改动 DSH 源码。
展开完整文档(README 剩余 1 节)
dsh-app-restart

在 DeepSeek Harness 桌面应用端的设置里新增一个"重启应用"区块,并提供一个带二次确认的按钮,用于重启整个应用 —— 包括 Electron 壳、它承载的 Web GUI,以及 cordis Host 进程。

功能说明

- 设置页新增"应用重启"区块,说明重启行为,并显示当前环境是否支持。
- 按钮采用两步确认(先点击、再确认),避免误触。
- 重启 = 优雅退出 + 自动重启:
1. 先启动一个分离(detached)的 relauncher 辅助进程,等待应用主进程退出后重新打开应用包;
2. 插件通过平台正常的退出路径请求退出 —— macOS 上是 Quit Apple Event,应用壳会把它当作用户按了 Cmd+Q 一样处理,包括"有进行中任务"的确认对话框;
3. 若用户在对话框里取消,relauncher 超时后的最后一步 open 只会把仍在运行的应用调到前台 —— 无副作用。

Electron 壳没有给插件提供重启 IPC(app.relaunch() 仅主进程可用),因此重启由 Host 进程在操作系统层面编排,无需改动 DSH 源码。

安装

从 GitHub 安装(一条命令)

dsh plugin --profile desktop add "https://github.com/foreee/dsh-app-restart"

Web 端插件页面按地址安装也填这个链接。

手动等价操作

与插件管理器行为一致的两步:

cd ~/.dsh/profiles/desktop
pnpm add "file:/插件目录的绝对路径" # 或上面的 GitHub 地址
然后在 package.json 的 dsh.profile.bundles 里加入 "dsh-app-restart"

安装后重启一次桌面应用即可加载插件,此后设置页会常驻该区块。

路由

| 路由 | 方法 | 用途 |
| api/dsh-app-restart/status | GET | 按钮所需的支持状态信息 |
| api/dsh-app-restart/restart | POST | 执行重启 |

两个路由都位于仅限回环(loopback-only)的信任围栏之后(回环 socket 地址 且 回环 Host 头,并校验同源标记)。已配对的远程设备会被刻意拒绝:只有本机自己的 GUI 才能重启应用。

配置

| 字段 | 默认值 | 说明 |
| enabled | true | 设为 false 时不挂载任何内容 |
| dryRun | false | POST /restart 只返回计算出的计划、不启动任何进程 —— 用于验证 |

平台支持

| 平台 | 退出方式 | 重启方式 | 状态 |
| macOS | Quit Apple Event(先按 bundle id,再按应用名) | 主进程退出后 open <应用包> | 主要目标 |
| Windows | taskkill /PID(优雅 WM_CLOSE) | 主进程退出后 PowerShell Start-Process | 尽力而为;若应用无法被优雅关闭,relauncher 会在下次手动退出后将其重新打开 |
| Linux | SIGTERM | 主进程退出后 nohup <可执行文件> | 尽力而为 |

插件会拒绝在开发版 Electron 检出(可执行文件旁没有 app.asar,或 bundle id 为通用的 com.github.Electron)上工作 —— 重启一个通用 Electron 二进制并不能启动 DSH。

开发

客户端半边(lib/client.js)是手写的 window.__ModuleLoader__ bundle —— 与官方客户端插件经 tsdown 产出的形态一致 —— 因此无需构建步骤;改完重新安装即可。

一次性测试环境(刻意不进插件 manifest)
npm i react@18.3.1 react-dom@18.3.1 react-test-renderer@18.3.1 --prefix test/react-env --cache test/react-env/.npm-cache

node test/plan.test.mjs # 重启计划构建 + 信任围栏
node test/client.test.mjs # 浏览器端 bundle:注册 + 交互流程
node test/host-routes.test.mjs # Host 路由:守卫、状态、dry-run、卸载

许可

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

在设置页一键优雅重启整个桌面应用

这是你的仓库?认领条目

回到顶部