点标题栏按钮一键重启整个应用并回到原工作区
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/10 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add kee0012/dsh-restart该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 23 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 20 处,展示前 20 条)
- 写入本地文件lib/index.js:100
appendFileSync(LOG_PATH, `[${new Date().toISOString()}] ${message}\n`, "utf8"); - 执行外部命令来自配置/变量lib/index.js:581
execFile(file, args, options, (error, stdout, stderr) => { - 写入本地文件lib/index.js:614
writeFileSync(helperPath, `\uFEFF${script}`, "utf8"); - 读取本地文件lib/index.js:668
if (statSync(helperReady).mtimeMs >= notBefore) return true; - 执行外部命令固定命令lib/index.js:711
const child = spawn( - 删除本地文件lib/index.js:729
rmSync(helperReady, { force: true }); - 执行外部命令固定命令lib/index.js:749
const child = spawn("/bin/sh", [helperPath], { - 发起网络请求lib/client.js:101
fetch(PING_ROUTE, { cache: "no-store" }) - 发起网络请求lib/client.js:144
const ping = await fetch(PING_ROUTE, { cache: "no-store" }); - 发起网络请求lib/client.js:154
response = await fetch(RESTART_ROUTE, { - 发起网络请求src/client/index.ts:101
fetch(PING_ROUTE, { cache: "no-store" }) - 发起网络请求src/client/index.ts:144
const ping = await fetch(PING_ROUTE, { cache: "no-store" }); - 发起网络请求src/client/index.ts:154
response = await fetch(RESTART_ROUTE, { - 写入本地文件src/index.ts:100
appendFileSync(LOG_PATH, `[${new Date().toISOString()}] ${message}\n`, "utf8"); - 执行外部命令来自配置/变量src/index.ts:581
execFile(file, args, options, (error, stdout, stderr) => { - 写入本地文件src/index.ts:614
writeFileSync(helperPath, `\uFEFF${script}`, "utf8"); - 读取本地文件src/index.ts:668
if (statSync(helperReady).mtimeMs >= notBefore) return true; - 执行外部命令固定命令src/index.ts:711
const child = spawn( - 删除本地文件src/index.ts:729
rmSync(helperReady, { force: true }); - 执行外部命令固定命令src/index.ts:749
const child = spawn("/bin/sh", [helperPath], {
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 一键重启整个应用
- 回到原工作区
DSH 桌面版标题栏重启按钮:一键重启整个应用(含 shell 与宿主进程)。
README
由 DeepSeek 最新模型翻译生成dsh-restart
给 DeepSeek Harness(DSH)加一个重启按钮:点一下就把整个应用重启,回到原来的工作区。
简介
DSH 桌面版(Electron 外壳 + 它管理的服务端进程)没有提供任何界面内的重启入口:改完插件的服务端代码后,只能退出托盘再从快捷方式重新打开。本插件补上这个入口——一个直接落在窗口标题栏的重启按钮。
插件是普通 DSH 插件包,安装在你的 DSH profile 里(desktop 或 web),不修改 DSH 自身文件。按钮只有一个,没有「关闭」。
┌─────────────────────────────── 标题栏 ───────────────────────────────┐ │ 应用 编辑 [ ↻ ] — ❐ ✕ │ └──────────────────────────────────────────────────────────────────────┘ ↑ 本插件 ↑ 系统原生按钮
功能特性
* 标题栏重启按钮:位于标题栏最右侧、系统窗口控制按钮(— ❐ ✕)的左边,点击即重启整个应用。
* 只有重启,没有关闭:不会误触退出,也不会触发外壳的崩溃恢复对话框。
* 按钮总在:没有桌面标题栏的环境(例如浏览器里的 dsh web、macOS 桌面)自动回退到会话头部工具区,渲染同一个按钮,两种位置互斥。
展开完整文档(README 剩余 1 节)
dsh-restart 给 DeepSeek Harness(DSH)加一个重启按钮:点一下就把整个应用重启,回到原来的工作区。 简介 DSH 桌面版(Electron 外壳 + 它管理的服务端进程)没有提供任何界面内的重启入口:改完插件的服务端代码后,只能退出托盘再从快捷方式重新打开。本插件补上这个入口——一个直接落在窗口标题栏的重启按钮。 插件是普通 DSH 插件包,安装在你的 DSH profile 里(desktop 或 web),不修改 DSH 自身文件。按钮只有一个,没有「关闭」。 ┌─────────────────────────────── 标题栏 ───────────────────────────────┐ │ 应用 编辑 [ ↻ ] — ❐ ✕ │ └──────────────────────────────────────────────────────────────────────┘ ↑ 本插件 ↑ 系统原生按钮 功能特性 * 标题栏重启按钮:位于标题栏最右侧、系统窗口控制按钮(— ❐ ✕)的左边,点击即重启整个应用。 * 只有重启,没有关闭:不会误触退出,也不会触发外壳的崩溃恢复对话框。 * 按钮总在:没有桌面标题栏的环境(例如浏览器里的 dsh web、macOS 桌面)自动回退到会话头部工具区,渲染同一个按钮,两种位置互斥。 * 重启期间有反馈:先出现整屏「DSH 正在重启…」提示,再整体退出并自动重新打开;失败时弹出错误气泡并给出日志位置。 * 零第三方依赖:不使用运行时依赖,不联网下载任何东西。 安装 插件托管在 GitHub(kee0012/dsh-restart,未发布到 npm),DSH 支持以 git 依赖方式直接安装: 从 GitHub 安装(推荐,日常使用;拉取默认分支最新提交) dsh plugin --profile desktop add github:kee0012/dsh-restart 安装后需要重启 DSH,新的服务端代码与 client bundle 才会生效。 卸载:dsh plugin --profile desktop remove dsh-restart,然后重启 DSH。 使用 1. 安装并重启 DSH 后,标题栏右侧会出现一个环形箭头按钮(标题栏不可用时则在会话头部)。 2. 悬停可见提示「立即重启 DeepSeek Harness(当前运行中的任务会中断)」。 3. 点击 → 出现「DSH 正在重启…」整屏提示 → 应用整体退出并自动重新打开 → 回到原来的工作区。 4. 若应用没有自动回来,按提示手动启动 DSH 即可;具体原因记录在日志里(见下一节)。 配置 无需配置,安装后即可使用。按钮位置按系统原生窗口按钮的宽度自动计算(见「已知限制」)。 兼容性 * Profile:desktop(桌面版,按钮落在窗口标题栏)与 web(dsh web,按钮落在会话头部工具区)。 * 操作系统:Windows 桌面版为主要目标;macOS 桌面与 dsh web 走同构的 POSIX 路径。 * 运行环境:Windows 需要 PowerShell 5.1+(系统自带)。不依赖 Node 之外的任何运行时。 实现方式 插件注册一个同源 HTTP 路由,由一段临时脚本在应用外部重启整个应用;脚本经 .NET 进程接口创建并 detached 脱离 DSH 的进程树(否则它会随被关闭的进程一起消失),关闭旧实例、等端口释放后重新拉起应用,并在任务结束时删除自己。脚本内含宿主的环境变量快照,因此只写在当前用户的临时目录、任务结束即自删;同目录还有一份诊断日志,仅在排查「点了没反应」时才有用。 「应用是否已经在运行」不靠进程名或父子关系判断,而是认它的窗口:枚举顶层窗口,只有属于本应用、可见、没有 owner、且窗口类名恰为 Chrome_WidgetWin_1 的才算一个实例。原因是打包后的 CLI 会在应用退出后留下一个没有窗口的 dsh-desktop-host 孤儿进程(父进程已死,于是它看起来也像「树根」),按进程关系判断会把它当成正在运行的应用,于是旧实例被关掉后再也不会有新的被拉起来。窗口探测失败时只记日志并照常拉起,绝不把「探测不出来」当成「已经在运行」。 已知限制 * 重启是整应用级的:所有窗口与未保存的输入都会一起消失(这是桌面版外壳的设计使然——只重启服务端会被判成崩溃)。 * 服务端代码不热重载:修改插件 src/ 后需要重新构建并重启 DSH,改动才生效。 * 标题栏按钮的位置按原生窗口按钮的宽度估算;若系统使用超大字号或非默认 DPI 缩放导致原生按钮变宽,按钮可能与其重叠或留缝。 * macOS 桌面的按钮落位与 Windows 相同,但重启路径(终止进程后重新打开应用)尚未在真机验证。 * Windows 依赖 PowerShell;它不可用时插件会退回到较弱的启动方式,重启可能失败(日志里有记录)。 * 助手脚本先用进程外的 .NET 进程接口拉起,且必须回报一次「我已就位」宿主才继续:脚本第一句会写一个就绪标记,宿主等到标记才去关闭应用。若助手没能起来,宿主会直接放弃这次重启并留下日志,而不会先把应用关掉——「关了却回不来」正是这条就绪握手机制要防的事。 * 与社区插件 PangXitong/dsh-restart-button 同时安装会出现两个重启入口,建议只保留一个。 反馈与贡献 发现了 bug 或有功能建议,欢迎在 Issues 中反馈。提 PR 前请先跑通通用的构建与检查命令。 从源码构建 npm run bundle # src/ → lib/(零依赖,仅用 Node 内置模块) npm run gates # 产物一致性门禁 npm test # 单元与集成测试 npm run test:e2e # 助手脚本自删与重拉(会真的起进程,但不动正在运行的应用) npm run test:sim # 启动握手离线取证:只报 pid 而不真启动的 launcher 必须被判失败 src/ 是唯一的手写来源,lib/ 由构建脚本生成,请不要手改 lib/。 许可证 MIT。重启按钮的落位思路参考了社区插件 PangXitong/dsh-restart-button 的公开实现(Apache-2.0);本仓库为独立重写,只保留重启功能。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
kee0012/dsh-restart
点标题栏按钮一键重启整个应用并回到原工作区
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,798已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,327已汉化DSH
71.5
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,021已汉化DSH
71.2
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 150,724已汉化DSH
71.1