在设置页点击即可重启 dsh web 进程并自动重连
30.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/12 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:npm 同名包「dsh-plugin-restart」归属 soh4c4759/dsh-plugin-restart,装到的可能不是本插件。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add chenkui-luo/dsh-plugin-restart该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · dev
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 19 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意npm 同名包「dsh-plugin-restart」归属 soh4c4759/dsh-plugin-restart,装到的可能不是本插件
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-plugin-restart @ 1.0.2
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/12 22:43:33
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 22 处,展示前 15 条)
- 读取本地文件lib/index.js:90
if (!existsSync(path)) return null - 读取本地文件lib/index.js:91
return JSON.parse(readFileSync(path, 'utf8')) - 写入本地文件lib/index.js:98
mkdirSync(dirname(path), { recursive: true }) - 写入本地文件lib/index.js:100
writeFileSync(tmp, JSON.stringify(value, null, 2), 'utf8') - 写入本地文件lib/index.js:101
renameSync(tmp, path) - 写入本地文件lib/index.js:107
mkdirSync(LOG_DIR, { recursive: true }) - 写入本地文件lib/index.js:108
appendFileSync(LOG_FILE, `[${new Date().toISOString()}] ${text}\n`, 'utf8') - 读取本地文件lib/index.js:115
if (!existsSync(LOG_FILE)) return '' - 读取本地文件lib/index.js:116
const raw = readFileSync(LOG_FILE, 'utf8') - 读取本地文件lib/index.js:127
return existsSync(candidate) ? candidate : 'powershell.exe' - 写入本地文件lib/index.js:201
mkdirSync(DATA_DIR, { recursive: true }) - 读取本地文件lib/index.js:229
launcherAvailable: existsSync(LAUNCHER), - 执行外部命令来自配置/变量lib/index.js:407
const child = spawn(nodeExe(), [helper], { - 删除本地文件lib/index.js:529
try { rmSync(join(DATA_DIR, name), { force: true }) } catch { } - 发起网络请求lib/client.js:164
const response = await fetch(url, init)
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 设置页一键重启
- 替换dshweb进程
- 页面自动重连
DeepSeek Harness 设置里加了重启按钮:替换掉正在提供页面的 dsh web 进程,页面随后自动重连。
README
由 DeepSeek 最新模型翻译生成DeepSeek Harness 设置页里的一个「重启」卡片。 点一下,正在服务你页面的那个 dsh web 进程被换掉, 页面自己重连回去 —— 不用回终端,也不用重新双击桌面图标。
为什么需要它:有些改动就是没法热加载。
- 改了某个插件的宿主半,而 Node 会按 URL 缓存已导入的 ES 模块;
- 改了 config.json、端口或工作目录;
- 某个会话的内存状态你想清掉。
以前这三种情况都得回终端敲命令。这个插件把它们变成一次点击。
试一下
dsh plugin --profile web add github:chenkui-luo/dsh-plugin-restart
装完刷新一次页面,打开 设置 → 重启。
展开完整文档(README 剩余 1 节)
DeepSeek Harness 设置页里的一个「重启」卡片。 点一下,正在服务你页面的那个 dsh web 进程被换掉, 页面自己重连回去 —— 不用回终端,也不用重新双击桌面图标。 为什么需要它:有些改动就是没法热加载。 - 改了某个插件的宿主半,而 Node 会按 URL 缓存已导入的 ES 模块; - 改了 config.json、端口或工作目录; - 某个会话的内存状态你想清掉。 以前这三种情况都得回终端敲命令。这个插件把它们变成一次点击。 试一下 dsh plugin --profile web add github:chenkui-luo/dsh-plugin-restart 装完刷新一次页面,打开 设置 → 重启。 没有 dsh CLI(比如本机没装 pnpm,或 profile 是手工补的):把包复制到 <profile>/node_modules/dsh-plugin-restart,再往 <profile>/cordis.patch.yml 加这一行: - insert: - id: restart name: 'dsh-plugin-restart' 随包的安装脚本会把这两步都做掉,且写之前先备份、写之后回读校验: powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\Install-RestartPlugin.ps1 powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\Install-RestartPlugin.ps1 -Action disable powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\Install-RestartPlugin.ps1 -Action uninstall 点下去之后发生了什么 | 步骤 | 实际在跑的东西 | | 1 | 页面发出 POST /dsh-restart/restart —— 同源、带登录态 | | 2 | 宿主半启动一个分离的辅助脚本,并且先回答请求,之后才动手 | | 3 | 辅助脚本等端口不再接受连接,然后把活交给你的启动器 | | 4 | 启动器拉起一个全新的 dsh web(新的启动令牌),并写出令牌文件 | | 5 | 辅助脚本核对新实例确实起来了,才让旧进程优雅退出 | | 6 | 页面在下一次轮询里看到新的实例 id,自己刷新回连 | 响应发到浏览器之前不会强杀任何东西;旧进程是最后停的,而且是它自己退出。重启失败也不会静默 ——辅助脚本会把诊断写进日志。 为什么辅助脚本是分离的 node 进程 这一段是在真实 Windows 机器上量出来的,不是想出来的: | 辅助脚本的启动方式 | 能跑 | 活过它要替换的那个进程 | | PowerShell,detached: true | 否(静默退出 0) | — | | PowerShell,附着 | 是 | 否(随父进程死) | | node,detached: true | 是 | 是 | | node,附着 | 是 | 否 | Windows 上被要求「分离」的 PowerShell 子进程拿不到控制台,脚本根本不会执行 —— 这正是 dsh-market 注释里记的那个坑。而附着的辅助脚本会跟着它要替换的进程一起死。所以辅助脚本是分离的 node 进程,它自己再用 powershell -WindowStyle Hidden 给下面的子进程一个隐藏控制台。 另一半经验是:强杀整棵进程树会让 Windows 的端口迟迟不能重绑,替换实例就会以 EADDRINUSE 秒死。等端口真的安静下来、再启动替换实例,才是让交接可靠的关键。 验证过,而不是声称 | 检查 | 结果 | | 辅助脚本离线检查(runtime-test/CheckHelperScript.mjs) | 11/11 | | 端到端、真实插件代码(runtime-test/VerifyRestartPlugin.mjs) | 21/21 | | 真启动器 + 真 dsh web,完整重启一轮(runtime-test/SmokeRestartReal.ps1) | 通过 | 端到端覆盖的点:安装脚本写入托管块、宿主半占住路由、未登录请求被围栏拦掉、重启请求先于端口消失被接受、 15 秒内重复点击被拒、等端口、交接给启动器、新进程出现、页面发现它。 这些自检在构建这个插件的工具包里;本仓库是打包后的插件本体。 接口 所有路由都先过连接信任围栏(本机地址 + 同源 Origin + 登录 Cookie),只有已登录的同源页面能访问。 | 方法 | 路径 | 含义 | | GET | /dsh-restart/status | instanceId(本进程 pid)、端口、工作目录、启动器路径与是否存在、是否有重启在进行 | | POST | /dsh-restart/restart | 安排重启;15 秒内第二次请求返回 409;响应不含启动令牌 | | GET | /dsh-restart/log | 共享重启日志的尾部 | 万一自动刷新后认不出登录态(每次启动都会换新令牌),插件会把这个页面自己带的令牌还给同一条 浏览器连接(只还一次),页面因此能用 ?token=… 自己重开。 日志 %LOCALAPPDATA%\DeepSeekHarness\restart-plugin\logs\restart.log —— 只追加不截断,所以一次重启的记录能活过执行它的那个进程。辅助脚本会写下启动器退出码、端口是否还有人服务、有没有出现新的令牌文件;因为本该记录失败的那个进程,正好就是刚刚退出的那个。 配置 | 变量 | 作用 | | DSH_RESTART_INSTALL_DIR | 启动器运行目录(默认 %LOCALAPPDATA%\DeepSeekHarness) | | DSH_RESTART_DATA | 插件私有数据目录(默认 <INSTALL_DIR>\restart-plugin) | | DSH_RESTART_LAUNCHER | 指定别的启动器脚本(便携安装、自检用) | 重启委托给谁。 默认交给托管安装本来就有的启动器(%LOCALAPPDATA%\DeepSeekHarness\Launch-DeepSeekHarness.ps1),停止/启动/等待就绪这套可靠流程由它负责。 这个文件缺失时,按钮会明确报错而不是假装成功,状态卡片里也会显示它去找的路径。让它完全不依赖启动器是下一步计划。 安全性 - 只对本机 + 同源 + 已登录开放;不接受任何转发头语义。 - 不需要管理员权限,不改系统配置。 - 会中断当前正在跑的对话回合 —— 这是重启的本来含义,卡片上也写了。 - 若端口被启动器不认识的进程占着(比如你手动开的 dsh web),重启会接管该端口,连同它的终端进程树。 致谢 - DeepSeek Harness (dsh) —— 本插件扩展并建立其上的开源 agent harness:dsh.bundle + cordis.patch.yml 的声明方式、宿主半/浏览器半的双半形态、以及 webserver 的信任围栏。 deepseek-ai/deepseek-harness · MIT。 - dsh-market —— 社区插件市场。它的 restart.js 是本文做法的参考来源:交给分离的辅助进程、等端口而不是拍一个固定延时、以及让失败的重启留下证据。 许可 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
chenkui-luo/dsh-plugin-restart
在设置页点击即可重启 dsh web 进程并自动重连
相关插件 · 开发 / 工程
隐私简历生成器reactive-resume/reactive-resume
Reactive Resume 已迁至 GitHub 上的…
★ 45,125已汉化MCP
71.7
AI 架构文档生成器sopaco/deepwiki-rs
🚀 Litho 已进化为 Terrain —— 给你的 AI 智能体一张会呼吸的代码库地图。
★ 3,157已汉化DSH
70.8
长时任务执行闭环AMAP-ML/LongHorizon-Harness
面向 Computer-Use Agent 的 Loop Engineering
★ 1,764已汉化DSH
70.5
AI 编程纪律方法包GanyuanRan/Aegis
让 AI 编程 agent 变得可信:少返工、更安全、说“完成”前先给证据。
★ 1,384已汉化DSH
69.6
多代理编排运行时Enderfga/claw-orchestrator
面向编程智能体的运行时。把 Claude Code、Codex、Antigravity、Grok…
★ 586已汉化MCP
69.4
记忆进化插件csyangwen/dsh-memory-evolve
dsh-memory-evolve 使用场景指南
★ 461已汉化DSH
67.9