dsh-restart-button

DSH PLUGIN浏览器与联网

仓库 PPsz-qqq/dsh-restart-button · npm dsh-restart-button

浏览器与联网 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

为 DeepSeek Harness 会话标题栏右上角加一个重启按钮,支持跑完再重启、重启后自动恢复会话,并提醒插件更新待生效。

验证等级 L5 L5 · 运行验证通过
GitHub 星标 5 复刻 0 · 未关闭 issue 0
最近更新 2026-10-03 创建于 2026-10-03
README 8.5 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:PPsz-qqq/dsh-restart-button#v0.2.0
兼容 DSH 版本0.2.0-rc.2版本不匹配时安装会报错
Node.js 要求>=20来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名dsh-restart-button可用 npm view 查看包信息

能做什么

5 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-restart-button:为 DeepSeek Harness 会话标题栏加上一键重启按钮

  • 标题栏一键重启客户端
  • 跑完任务后自动重启
  • 重启后自动恢复会话
  • 插件更新待生效提醒
  • 悬停查看运行状态

适用场景

联网搜索

上游标签

deepseek-harnessdshdsh-pluginelectronrestart

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-09): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

仓库档案

浏览器与联网
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方PPsz-qqq仓库 dsh-restart-button · 默认分支 main
分类浏览器与联网search
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue5 / 0 / 0收录时的数值,非实时
创建 / 更新2026-10-03 · 2026-10-03最后推送 2026-10-03
本站收录2026-10-03首次进入本站目录的时间

README 全文

8.5 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-restart-button

在 DeepSeek Harness 会话标题栏的右上角加一个「重启」按钮(↻),点一下就能安全地重启整个客户端。

Adds a restart button (↻) to the top-right of the DeepSeek Harness session header. One click restarts the whole client safely.

功能

  • 位置:会话标题栏右侧工具区的最右端(conversation.session.header.utilities,order 1000),紧挨右侧边栏开关。
  • 一键重启:没有任务在运行时直接重启。
  • 跑完后再重启:有会话正在运行或后台作业未结束时,确认框里多一个「跑完后重启」。选它之后按钮变成蓝色并带一个闪烁的小点,所有任务结束后自动重启;再点按钮可以「取消安排」或「立即重启」。
  • 重启后接着干:重启前会记下你当前打开的会话和被中断的会话。重启完成后自动回到原来的会话,并弹出卡片「重启前有 N 个会话正在运行」,点「全部继续」就向这些会话发送"继续",也可以逐个点开。
  • 插件更新提醒:插件被原地更新(升级或重装)后,新代码要重启才会加载。插件会发现这种情况,在按钮上显示一个橙色小点,并弹出卡片「插件更新待生效:名称 旧版本 → 新版本」,可以「立即重启」或「稍后」。
  • 悬停查看运行状态:鼠标放在按钮上会显示 Host 已运行多久、占用多少内存、几个会话正在运行、是否已安排重启、有几个插件更新等待生效。
  • 桌面版(Windows):重启 Electron 外壳和后台 Host,新窗口自动打开,参数与原来一致。
  • dsh web:重启服务进程,页面在服务恢复后自动刷新。
  • 失败时弹窗说明原因,并给出日志路径 ~/.dsh/logs/restart-button.log。

工作原理(桌面版)

DeepSeek Harness 桌面版由 Electron 主进程启动一个 Node 模式的 Host 子进程(它跑插件、会话和 Web 服务)。
点击按钮后:

  1. 浏览器端向 POST api/restart-button.restart 发请求(走 DSH 自带的 Host/Origin 校验和浏览器鉴权)。
  2. Host 把当前会话和正在运行的会话写进 ~/.dsh/restart-button/last-restart.json,供重启后的 Host 读取。
  3. Host 启动一个脱离进程树的辅助程序(detach.mjs → restart-desktop.ps1),由它核对 Electron 主进程和 Host 的身份(可执行文件路径、父子关系)。
  4. 辅助程序挂起 Electron 主进程,使它察觉不到 Host 退出(不会弹出崩溃对话框、不会写崩溃报告)。
  5. Host 断开与主进程的 IPC,走的正是桌面版退出时的同一条优雅关闭路径:会话落盘、插件逐个释放。
  6. Host 退出后,辅助程序结束被冻结的主进程及其残留子进程,等端口 19387 释放后,用原来的参数重新启动 DeepSeek Harness.exe。

任何一步出错都会记录到日志;若在挂起后失败,辅助程序会恢复主进程,不会留下卡死的窗口。

「跑完后重启」由 Host 每秒检查一次:连续 3 秒没有运行中的 Agent 回合、排队消息或后台作业,就按上面的流程重启(会先留 1.5 秒让页面显示"正在重启")。

「插件更新提醒」的判断方法:Host 记下本进程加载过的每个插件的版本和来源。Node 会缓存已加载的模块,所以之后磁盘上的版本或来源一旦变化(原地更新,或先移除再安装),都算待生效;本进程从未加载过的新插件会直接热加载,不算。

配置

可在 profile 的 cordis.patch.yml 中调整确认策略:

- id: restart-button
config:
confirm: when-busy   # when-busy(默认,仅在有任务运行时确认)| always(总是确认)| never(从不确认)

安装

在 DeepSeek Harness 的「插件」页面点「安装」,填入下面任意一种来源(也可以让 Agent 用 plugin_manager install_bundle 安装同样的来源):

来源 填写内容
插件市场 dshmarket 搜索 dsh-restart-button(作者 PPsz-qqq),一键安装
GitHub Release 打包文件(推荐) 最新版:https://github.com/PPsz-qqq/dsh-restart-button/releases/latest/download/dsh-restart-button.tgz;指定版本:https://github.com/PPsz-qqq/dsh-restart-button/releases/download/v0.2.0/dsh-restart-button-0.2.0.tgz
GitHub 仓库 github:PPsz-qqq/dsh-restart-button#v0.2.0
本地打包文件 .tgz 的绝对路径,例如 C:\Users\\.dsh\plugins\dsh-restart-button-0.2.0.tgz

第一次安装立即生效,无需重启。

升级需要重启一次:Node 会在整个进程生命周期内缓存已加载的模块,所以已加载过的插件,无论是原地安装新版本,还是先移除再安装,后台 Host 部分都要重启后才会换成新代码(界面部分会先更新)。安装新版本后按钮会出现橙色小点和「插件更新待生效」卡片,点「立即重启」即可。从本地 .tgz 安装的,升级前不要删除旧的 .tgz 文件。

自己打包:在仓库根目录运行 pnpm pack(或 npm pack),生成 dsh-restart-button-.tgz。

接口

所有 POST 都要求 content-type: application/json。

路由 方法 说明
api/restart-button.status GET 运行模式、是否支持、确认策略、运行时长与内存(runtime)、正在运行的会话(busySessions)、当前重启状态、已安排的重启(scheduled)、待生效的插件更新(pendingPlugins)、重启后的恢复信息(resume)、日志路径
api/restart-button.restart POST { when?: 'now' \| 'idle', activeSessionId?: string } 立即重启(202);when: 'idle' 且有任务运行时改为安排重启(202,scheduled: true)
api/restart-button.cancel POST {} 取消已安排的重启
api/restart-button.resume-ack POST { id, action? } 标记重启后的恢复信息已处理

限制

  • 桌面版一键重启目前只支持 Windows;macOS / Linux 桌面版上按钮自动隐藏。
  • dsh web 模式下,重启后的服务在后台运行,输出追加到 ~/.dsh/logs/restart-button-web-server.log,不再占用原来的终端。
  • 按钮在会话标题栏中,未打开任何会话(新建会话页)时不显示;提示卡片在任何页面都会出现。
  • 恢复信息只在重启后 10 分钟内有效;「全部继续」发送的是普通用户消息"继续"(英文界面为 "Continue")。
  • 「已安排的重启」保存在当前 Host 进程里,插件被重新加载或客户端被手动关闭后会失效。

开发与测试

test/ 里的测试都不依赖真实客户端,也不会打包进插件:

文件 内容 运行
host.test.mjs Host 端全部路由:活动判定、跑完后重启、取消、恢复记录、插件更新检测、失败回滚 node test/host.test.mjs
client.test.cjs 用真实 React 18 + jsdom 渲染按钮和卡片,对接模拟的 Host 先在任意目录 pnpm add react@18 react-dom@18 jsdom,再 RB_CLIENT_DEPS=<该目录> node test/client.test.cjs
dummy-main.mjs + dummy-host.mjs 用两个 Node 进程模拟 Electron 主进程和 Host,完整演练桌面版重启:核对 → 挂起 → Host 优雅退出 → 结束主进程 → 用原参数重启 见下
dummy-web.mjs 模拟 dsh web 服务的重启 见下
$env:RB_TEST_DIR = "$env:TEMP\rb-test"; New-Item -ItemType Directory $env:RB_TEST_DIR -Force | Out-Null
$env:RB_TEST_PORT = '19399'
Start-Process node -ArgumentList "$PWD\test\dummy-main.mjs" -WindowStyle Hidden   # 或 test\dummy-web.mjs
# 几秒后查看 $env:RB_TEST_DIR\events.log 与 restart.log(UTF-8);每次演练前清空 RB_TEST_DIR

发布清单

  1. 更新 package.json 的版本号和 CHANGELOG.md,跑一遍上面的测试。
  2. pnpm pack 生成 dsh-restart-button-.tgz。
  3. 打标签 v 并推送,创建同名 GitHub Release,上传两个资产:dsh-restart-button-.tgz,以及同一文件的无版本号副本 dsh-restart-button.tgz。插件市场条目里的 releases/latest/download/dsh-restart-button.tgz 依赖后者。

License

MIT

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
dsh-restart-button 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:PPsz-qqq/dsh-restart-button#v0.2.0` 即可。对应的 npm 包名是 `dsh-restart-button`。

dsh-restart-button 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-restart-button 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

dsh-restart-button 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.2。

dsh-restart-button 需要什么运行环境?

Node.js >=20。环境不满足时安装会失败,建议先确认本机版本。

dsh-restart-button 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-restart-button 有哪些功能?

标题栏一键重启客户端、跑完任务后自动重启、重启后自动恢复会话、插件更新待生效提醒、悬停查看运行状态。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

同名或近似条目

8 条
不同作者的仓库分开列,请确认你要装的是哪一个
浏览器与联网
按星标排序,可作替代方案

dsh-our-free-model

dsh-our-free-model

在 DeepSeek Harness 中装上这个 DSH plugin,无需登录、注册或填 API Key,即可直接调用 DeepSeek

L3 · 安装规范通过 8,796 星

dsh-web

dsh-web

侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。

L3 · 安装规范通过 8,549 星

BrowserSkill

BrowserSkill

BrowserSkill 的 DeepSeek Harness 浏览器自动化桥接插件,通过原生浏览器工具控制可见的 Chrome 和 Edg

L4 · 沙盒安装通过 8,456 星

dsh-pocket

dsh-pocket

DSH Pocket 让 DeepSeek Harness 装进口袋:电脑跑 dsh web,手机扫码即实时同步访问(局域网+公网),人在外

L5 · 运行验证通过 1,656 星

Browser4

Browser4

L4 · 沙盒安装通过 1,152 星

agentrq

agentrq

L4 · 沙盒安装通过 1,140 星

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-09。