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

一键重启 StarMoon-win/dsh-restart-plugin

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

点击侧边栏按钮,彻底退出并自动重开桌面应用

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · browser
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 14 天前
档位由哪些信号合成

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

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/21) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 12 处,展示前 12 条)
  • 读取本地文件
    index.js:51
    if (typeof exe !== 'string' || exe === '' || !existsSync(exe)) return undefined
  • 写入本地文件
    index.js:136
    mkdirSync(directory, { recursive: true })
  • 写入本地文件
    index.js:137
    writeFileSync(requestPath, JSON.stringify({
  • 执行外部命令来自配置/变量
    index.js:149
    const child = spawn(process.execPath, [HELPER_FILE, requestPath], {
  • 发起网络请求
    client.js:79
    fetch(STATUS_PATH, { headers: { accept: 'application/json' }, cache: 'no-store' })
  • 发起网络请求
    client.js:96
    fetch(RESTART_PATH, {
  • 读取本地文件
    helper.mjs:25
    const request = JSON.parse(readFileSync(REQUEST_FILE, 'utf8'))
  • 读取本地文件
    helper.mjs:38
    size = statSync(logPath).size
  • 写入本地文件
    helper.mjs:42
    if (size > LOG_LIMIT_BYTES) writeFileSync(logPath, '')
  • 写入本地文件
    helper.mjs:43
    appendFileSync(logPath, `${new Date().toISOString()} [helper ${process.pid}] ${line}\n`)
  • 执行外部命令来自配置/变量
    helper.mjs:61
    child = spawn(powershellPath(), [
  • 执行外部命令来自配置/变量
    helper.mjs:172
    const child = spawn(exe, [], {
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

README

由 DeepSeek 最新模型翻译生成
dsh-restart-desktop 给 DeepSeek Harness 桌面版侧边栏加一个「重启」按钮。 点一下,整个 Electron 应用完全退出,然后自动重新打开——不用去托盘菜单,也不用开终端。 dsh-restart-desktop 图标 English: README.md 功能 - 一键真重启:整个桌面应用退出后重新拉起,效果等同「托盘退出 + 重新打开」,但只需要点一次。 - 位置自然:侧边栏底部、设置上方多一行「重启」;侧边栏收起成 56px 导轨时变成圆形图标按钮。 - 不该出现时不出现:只有 Host 确认当前是 Windows 桌面版时才渲染;dsh web 或其它平台下按钮自动隐藏。 - 不闪黑框:重启助手是脱离应用进程树的 Node 进程,外加隐藏窗口的 PowerShell 子进程,屏幕上不会闪命令行。 - 失败留证据:每次尝试都追加写入 %TEMP%\dsh-restart-desktop\restart.log,启动后还会校验并在失败时重试。 - 中英双语:界面文案、插件管理器显示用的标题/描述、以及原创图标都已就绪。
展开完整文档(README 剩余 1 节)
dsh-restart-desktop

给 DeepSeek Harness 桌面版侧边栏加一个「重启」按钮。 点一下,整个 Electron 应用完全退出,然后自动重新打开——不用去托盘菜单,也不用开终端。

dsh-restart-desktop 图标

English: README.md

功能

- 一键真重启:整个桌面应用退出后重新拉起,效果等同「托盘退出 + 重新打开」,但只需要点一次。
- 位置自然:侧边栏底部、设置上方多一行「重启」;侧边栏收起成 56px 导轨时变成圆形图标按钮。
- 不该出现时不出现:只有 Host 确认当前是 Windows 桌面版时才渲染;dsh web 或其它平台下按钮自动隐藏。
- 不闪黑框:重启助手是脱离应用进程树的 Node 进程,外加隐藏窗口的 PowerShell 子进程,屏幕上不会闪命令行。
- 失败留证据:每次尝试都追加写入 %TEMP%\dsh-restart-desktop\restart.log,启动后还会校验并在失败时重试。
- 中英双语:界面文案、插件管理器显示用的标题/描述、以及原创图标都已就绪。

环境要求

| DeepSeek Harness | 桌面版(Electron),dsh >= 0.2.0-rc.1 |
| 操作系统 | Windows 10/11 |
| Node | 20+(仅开发时需要) |

这是一个 DSH bundle:一半跑在 Host,一半跑在浏览器。它不是普通 npm 依赖,而是装进 DSH profile 的插件。

安装

从仓库地址安装

把 bundle 写进 profile 的 ~/.dsh/profiles/<profile>/package.json,然后重启应用——保留原有条目,两个列表各加一行即可:

{
"dependencies": {
// ……你原有的条目 "dsh-restart-desktop": "github:StarMoon-win/dsh-restart-plugin" },
"dsh": {
"profile": {
"bundles": [
// ……你原有的条目 "dsh-restart-desktop" ] } } }

也可以在你的构建里用插件管理器(设置 → 插件)从 GitHub 源安装。新 bundle 会热生效;如果侧边栏还没出现按钮,刷新一下页面。

从本地 checkout 安装

git clone https://github.com/StarMoon-win/dsh-restart-plugin.git

然后把 profile 指向该目录:

"dependencies": {
"dsh-restart-desktop": "link:/absolute/path/to/dsh-restart-plugin"
}

并把 "dsh-restart-desktop" 加进 dsh.profile.bundles,或者用插件管理器安装这个目录。

卸载

从 dsh.profile.bundles(以及 dependencies)里移除 dsh-restart-desktop,重启应用即可。

使用

1. 在侧边栏底部、设置上方找到「重启」。
- 展开状态:图标 + 重启 / Restart。
- 收起状态:圆形图标按钮,悬停有原生提示。
2. 点它。页面显示「正在重启…」,约 1 秒后应用退出,随后新实例自动打开。
3. 正在运行的任务会被中断。 没有二次确认——点击本身就是确认。

如果按钮显示「重启失败」,等几秒再试,并查看日志:

%TEMP%\dsh-restart-desktop\restart.log

工作原理

侧边栏按钮 (client.js)
│ GET /dsh-restart-desktop/status → 只有支持时才渲染 │ POST /dsh-restart-desktop/restart → 返回 202,页面随应用一起退出 ▼ Host 路由 (index.js) │ 写 %TEMP%\dsh-restart-desktop\request.json │ 以 detached 方式启动 helper.mjs(ELECTRON_RUN_AS_NODE=1) ▼
重启助手 (helper.mjs)
1. 等 1.2 秒,让 HTTP 响应先离开 Host
2. 用 Windows PowerShell 按镜像名算出应用进程树(排除助手自己和 PowerShell 自己)
3. 结束整棵树:主进程、渲染器、GPU、Host,以及它们启动的工具进程
4. 用干净环境启动同一个可执行文件
5. 4 秒后校验,失败最多重试三次;全程写日志

为什么必须强制结束

桌面外壳把「关闭主窗口」改成了隐藏到托盘,退出前还会向 Host 查询任务并弹确认框;app.asar 里没有任何给插件用的 app.quit() / app.relaunch() 通道(Host 与 Electron 主进程之间只有主进程发起的 quit-inspection / update-tasks 两个消息)。

所以插件能做出的「完全重启」,只能是由应用进程树之外的助手结束整棵树,再重新拉起可执行文件。上面的 helper 做的就是这件事。

安全边界

两条路由只接受本机、本页面的请求:

- 只接受回环地址(127.0.0.1 / ::1);
- 带 Forwarded、X-Forwarded-For、X-Real-IP 的转发请求一律拒绝;
- Host 必须是本机地址(127.0.0.1、localhost、[::1]),顺带挡住 DNS rebinding;
- 带 Origin 时必须与 Host 同源;
- 桌面文档代理的「回环、无 Host、无 Origin」形态被认可;
- 重启只接受 POST,GET /dsh-restart-desktop/restart 固定返回 405。

开发

git clone https://github.com/StarMoon-win/dsh-restart-plugin.git
cd dsh-restart-plugin

node --check index.js
node --check client.js
node --check helper.mjs
node scripts/validate.mjs

scripts/validate.mjs 会在不激活插件的前提下检查清单 exports、语言文件、图标和 patch 文件。

想在不碰应用的情况下试重启助手:写一个请求文件指向无害程序(例如 notepad.exe、镜像名 notepad、延迟 200ms),然后 node helper.mjs <request.json>,日志会显示停止、启动和校验的过程。

修改后如何重新加载

用 link: 装进 profile 的包直接指向你的工作区。Host 代码跨 junction 不会热更新,所以改完 index.js 或 helper.mjs 后:

1. 在设置 → 插件里把 dsh-restart-desktop 关掉再打开,或者
2. 用新的按钮重启应用。

浏览器侧(client.js)会在下一次页面加载时生效。

排错

| 现象 | 检查 |
| 侧边栏没有按钮 | 确认是 desktop profile 且 bundle 在 dsh.profile.bundles 里;在应用源上打开 /dsh-restart-desktop/status,supported 必须为 true。 |
| 一直显示「重启失败」 | 看 %TEMP%\dsh-restart-desktop\restart.log。没有 launched pid=… 说明助手没能启动可执行文件。 |
| 安装报 timed out waiting for the writer lock | profile 里有残留的 package.json.lock;重启应用让记录的 PID 消失,再装一次。 |
| 应用退出了但没重开 | 日志以 FAILED: the application did not come back 结尾。手动打开应用后把日志发出来。 |

许可证

MIT © Star_Moon_win

GitHub Topics

本仓库已经打上这些 Topics:

deepseek-harness · dsh · dsh-plugin · deepseek · cordis · cordis-plugin · electron · desktop · restart · windows

这些词也同步写进了 package.json 的 keywords,方便 npm 和搜索。
预览分享卡片长什么样 ↓StarMoon-win/dsh-restart-plugin
分享 · DeepSeek Harness Hub
StarMoon-win/dsh-restart-plugin

点击侧边栏按钮,彻底退出并自动重开桌面应用

这是你的仓库?认领条目

回到顶部