点一下侧边栏按钮即可完整重启桌面应用
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/20 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add liuhao11223/dsh-restart-client该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · browser
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 15 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件
查看扫描证据(共 5 处,展示前 5 条)
- 执行外部命令固定命令index.js:90
execFile( - 写入本地文件index.js:168
mkdirSync(logDir, { recursive: true }); - 执行外部命令来自配置/变量index.js:176
const child = spawn(process.execPath, args, { - 写入本地文件index.js:270
mkdirSync(logDir, { recursive: true }); - 写入本地文件index.js:283
writeFileSync(launcherPath, `\ufeff${buildLauncherScript(helperCommand)}`, 'utf16le');
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DSH 桌面客户端一键重启:侧边栏按钮、HTTP 端点加智能体工具,不弹确认,不弹控制台窗口。(DSH 重启客户端插件)
README
由 DeepSeek 最新模型翻译生成dsh-restart-client
一个 DSH(DeepSeek Harness)插件,为桌面客户端加上一键重启——侧边栏按钮、HTTP 端点、智能体工具,三者背后是同一套宿主能力。
点一下就行。没有确认弹窗,不用按第二次,也不会弹出控制台窗口。
侧边栏底部的重启按钮
为什么做这个
DSH 桌面应用自带的官方重启扩展只支持仅重启服务:它重新拉起 Harness 进程,窗口照旧运行,所以宿主侧的改动仍然要手动退出再启动。这个插件重启的是整个应用,体验仍然只有一次点击。
它能做什么
| 入口 | 类型 | 用途 |
| 侧边栏底部按钮 | 客户端插槽 sidebar.footer.action | 点一下 → 桌面应用重启 |
| POST /api/dsh-restart/restart | HTTP 路由 | 供脚本和其他插件调用同一操作 |
| GET /api/dsh-restart/status | HTTP 路由 | 报告解析出的桌面进程与模式方案 |
| restart_dsh_client | 智能体工具 | 让模型自己重启客户端 |
两种模式:
- client(默认)——结束整个桌面进程树,等它彻底消失,再重新启动可执行文件。窗口是真的重启。
- service——只重新拉起 Harness 服务进程然后退出,桌面应用不动。
展开完整文档(README 剩余 1 节)
dsh-restart-client
一个 DSH(DeepSeek Harness)插件,为桌面客户端加上一键重启——侧边栏按钮、HTTP 端点、智能体工具,三者背后是同一套宿主能力。
点一下就行。没有确认弹窗,不用按第二次,也不会弹出控制台窗口。
侧边栏底部的重启按钮
为什么做这个
DSH 桌面应用自带的官方重启扩展只支持仅重启服务:它重新拉起 Harness 进程,窗口照旧运行,所以宿主侧的改动仍然要手动退出再启动。这个插件重启的是整个应用,体验仍然只有一次点击。
它能做什么
| 入口 | 类型 | 用途 |
| 侧边栏底部按钮 | 客户端插槽 sidebar.footer.action | 点一下 → 桌面应用重启 |
| POST /api/dsh-restart/restart | HTTP 路由 | 供脚本和其他插件调用同一操作 |
| GET /api/dsh-restart/status | HTTP 路由 | 报告解析出的桌面进程与模式方案 |
| restart_dsh_client | 智能体工具 | 让模型自己重启客户端 |
两种模式:
- client(默认)——结束整个桌面进程树,等它彻底消失,再重新启动可执行文件。窗口是真的重启。
- service——只重新拉起 Harness 服务进程然后退出,桌面应用不动。
安装
插件就是一个普通的 DSH bundle。让某个配置档指向它:
// <profile>/package.json
{
"dependencies": {
"dsh-restart-client": "link:E:/path/to/dsh-restart-client"
},
"dsh": {
"bundles": ["dsh-restart-client"]
}
}
然后手动重启一次客户端(第一次只能手动——按钮还不存在),之后每次改完 client.js 刷新页面即可,因为桌面端从磁盘读取客户端那一半。
package.json 的 exports 指向真实文件,配置档又链接了这个目录,所以改 client.js 下次加载页面就生效;改 index.js(宿主那一半)则需要真正重启客户端。
无控制台重启是怎么做到的
这是最有意思的部分,也是这个插件存在的原因——否则五行 shell 脚本就够了。
辅助进程必须比它要结束的应用活得更久,所以它通过 WMI(Win32_Process.Create)创建,这样它的父进程变成 WmiPrvSE,对桌面进程树执行 taskkill /T 时它能存活下来。但 WMI 创建的进程总会带一个控制台窗口,常见的办法都压不住——-WindowStyle Hidden 不行,Win32_ProcessStartup 设 ShowWindow = 0 会返回成功,控制台照样出现(在 Windows 10/11 上实测)。
所以辅助进程是间接启动的:
1. 写一个极小的 .vbs 启动器(UTF-16LE 带 BOM——WSH 只接受 ANSI 或 UTF-16,而临时路径里可能含非 ASCII 用户名)。
2. 启动器执行 shell.Run "<helper command>", 0, False——窗口样式 0 表示完全不显示窗口。
3. WMI 创建 wscript.exe //nologo <launcher.vbs>,由它启动辅助进程,全程不显示窗口。
如果 WSH 不可用,插件会退回到直接创建辅助进程,所以重启照样能用,只是可能闪一下控制台。试运行会报告走哪条路线:
// POST /api/dsh-restart/restart {"dryRun": true}
{ "launch": "wscript (windowless)", ... }
按钮
按钮放在 shell 自己的 sidebar.footer.action 列表槽位里,紧挨着 Settings,并继承侧边栏的布局——包括侧边栏收成窄条时的居中处理。运行时不做任何测量,也没有硬编码坐标。
样式是 shell token 语言里的 ghost 按钮:高 28px,圆角 6px,默认透明,悬停才显示,颜色从 --dsw-alias-label-secondary 变为 --dsw-alias-label-primary,悬停时图标旋转 180°,忙碌时图标旋转并让标签脉动,请求失败则显示 --dsw-alias-state-error-primary 和 Retry 字样,持续六秒。它遵循 prefers-reduced-motion。
API
GET /api/dsh-restart/status
{
"ok": true,
"host": { "platform": "win32", "selfPid": 26488, "desktopPid": 12724, "desktopOwned": true, "modes": ["client", "service"] }
}
POST /api/dsh-restart/restart
{ "mode": "client", "delayMs": 1500, "dryRun": false }
delayMs 上限为 120000,默认 1500,留出时间让 HTTP 响应先到达浏览器,应用再退出。
响应:
{
"ok": true,
"mode": "client",
"desktopPid": 12724,
"helperPid": 26576,
"launch": "wscript (windowless)",
"logPath": "C:/Users/…/dsh-restart-client/client-2026-10-19T13-21-28-091Z.log" }
两条路由都通过 ctx.connection.requestRejection 拒绝不可信来源(403),并拒绝错误的方法(405)。
智能体工具 restart_dsh_client
{ "mode": "client", "dryRun": true }
真正重启会中断当前回合。
目录结构
index.js host half — routes, WMI/VBS launcher, agent tool client.js client half — the sidebar button cordis.patch.yml bundle patch: inserts the plugin entry locale/zh.json plugin marketplace metadata (Chinese) locale/en.json plugin marketplace metadata (English) icon.svg plugin icon
index.js 只导入 Node 内置模块。
限制
- 以 Windows 为主。 无窗口启动路径依赖 WSH;其他平台退回直接启动。
- 单实例。 重新启动最多等 20s,等旧 pid 消失,因为应用会把第二次启动交给正在退出的实例;如果 pid 超过这个时间还在,仍然会重新启动,并记录日志。
- 重启会中断回合。 任何进行中的工具调用都会随进程一起被杀掉。
许可证
MIT —— 见 LICENSE。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
liuhao11223/dsh-restart-client
点一下侧边栏按钮即可完整重启桌面应用
相关插件 · 浏览器
智能体插件框架deepseek-ai/deepseek-harness
DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。
★ 270,422已汉化DSH
71.9
多设备 Agent 看板YaoApp/yao
✨ 所有 Agent 和工作区集中管理,覆盖你的每一台设备。任务看板追踪进度,桌面端、移动端、浏览器、API…
★ 8,147已汉化DSH
71.2
可扩展侧边栏工作台omdsh-dev/DSH-better-sidebar
DSH 的双工作台:原生右侧栏 + 自绘底部面板,并把 ctx.betterSidebar 服务开放给所有插件
★ 4,761已汉化DSH
71.1
浏览器自动化桥Tencent/BrowserSkill
你的 Agent。你的浏览器。连接,就能协作。
★ 9,967已汉化DSH
71
AI 小说创作工作台EthanYoQ/AI-Novel-Writer
AI 小说作家 / AI Novel Writer
★ 1,591已汉化DSH
70.7
智能体浏览器引擎platonai/Browser4
DeepSeek Harness 集成
★ 1,175已汉化DSH
70.4
这是你的仓库?认领条目