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

验证重启 GooDAnDReaDY/dsh-smart-restart

DeepSeek Harnessv0.1.8
GooDAnDReaDY35 天前有提交已提供中文文档扫描:含敏感能力

重启后自动健康检查并把结果发回原会话

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @goodandready/dsh-smart-restart
npm 源 · @goodandready/dsh-smart-restart 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · dev
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 35 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包@goodandready/dsh-smart-restart @ 0.1.8
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/8 08:45:30

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 17 处,展示前 15 条)
  • 读取本地文件
    lib/index.js:203
    return JSON.parse(readFileSync(pathOf(file), 'utf8'))
  • 写入本地文件
    lib/index.js:211
    mkdirSync(stateDir(), { recursive: true })
  • 写入本地文件
    lib/index.js:214
    writeFileSync(pathOf(file), `${JSON.stringify(clean, null, 2)}\n`, { mode: 0o600 })
  • 读取本地文件
    lib/index.js:230
    const data = JSON.parse(readFileSync(p, 'utf8'))
  • 读取本地文件
    lib/index.js:243
    return parseCgroupUnit(readFileSync('/proc/self/cgroup', 'utf8'))
  • 读取本地文件
    lib/index.js:269
    return JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')).version || fallback
  • 读取本地文件
    lib/index.js:343
    cgroupText = readFileSync('/proc/self/cgroup', 'utf8')
  • 读取本地文件
    lib/index.js:379
    cgroup = readFileSync(`/proc/${process.pid}/cgroup`, 'utf8')
  • 删除本地文件
    lib/index.js:581
    rmSync(pathOf('intent.json'), { force: true })
  • 执行外部命令固定命令
    lib/index.js:674
    const child = execFile('systemctl', restartArgs, { detached: true })
  • 删除本地文件
    lib/index.js:695
    rmSync(pathOf('intent.json'), { force: true })
  • 发起网络请求
    lib/index.js:770
    const outcome = await approval.request({
  • 发起网络请求
    lib/client.js:237
    const res = await fetch('/dsh-smart-restart/status')
  • 发起网络请求
    lib/client.js:304
    const res = await fetch('/dsh-smart-restart/restart', {
  • 发起网络请求
    lib/client.js:339
    const res = await fetch('/dsh-smart-restart/cancel', {
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-tools@deepseek-ai/dsh-llm@deepseek-ai/dsh-session@deepseek-ai/dsh-home-paths@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 重启后自动健康检查
  • 结果发回原会话
  • 恢复确认与会话交接

为 DeepSeek Harness 提供可验证的重启,带恢复确认和会话交接

v0.1.152026-10-28
· 缺陷修复 · 安全的属性与服务解析(#49): - 在 lib/chat-command.js 中实现 safeGet(ctx, prop),用防御式 ctx.get(prop, false) 加代理陷阱隔离。 - 把直接检查 ctx.middleware 改为 safeGet(ctx, 'middleware'),修复严格 Cordis Context Proxy 运行时(DSH 0.2.1-rc.4)下报 cannot get property "middleware" without inject 的崩溃。 - 在 lib/index.js 中用 safeGet(ctx, 'approval') 保护审批服务查找。 - 新增安全的内部日志门面(logger.warn/info/debug),避免访问 ctx.logger 时抛出未捕获的代理错误。 · 回归测试: - 在 test/activation.test.mjs 中新增严格 Cordis v4 代理测试套件,覆盖服务存在、缺失、禁用三种激活场景。
v0.1.142026-10-22
· 0.1.14 · 功能 · 直接聊天命令,无需 SSH 即可安全重启 DSH(#44):新增斜杠命令 /restart(别名 !restart、/dsh-restart),直接在对话里即时重启,不用打开终端或 SSH。双路径架构:通过 @deepseek-ai/dsh-commands 注册,另有弹性兜底聊天中间件。支持交互式确认提示(/restart --confirm、-y)、模拟模式(/restart --dry-run)、自定义延迟(/restart --delay=10s)、原因标签(/restart --reason="...")、取消(/restart cancel、/cancel-restart)和即时健康检查(/restart status)。发起调用的聊天会话自动记为重启后的投递目标,重启后的健康结论和包差异报告直接送回同一对话。
v0.1.132026-10-22
· 0.1.13 · 功能 · 直接聊天命令,无需 SSH 即可安全重启 DSH(#44):新增斜杠命令 /restart(别名 !restart、/dsh-restart),在对话里直接重启,不用打开终端或 SSH。双路径架构:通过 @deepseek-ai/dsh-commands 注册,另有健壮的备用聊天中间件兜底。支持交互式确认提示(/restart --confirm、-y)、模拟模式(/restart --dry-run)、自定义延迟(/restart --delay=10s)、原因标签(/restart --reason="...")、取消(/restart cancel、/cancel-restart)和即时健康检查(/restart status)。发起调用的聊天会话会自动记录为重启后的投递目标,重启后的健康结论和包差异报告直接送回同一对话。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
@goodandready/dsh-smart-restart 让重启经过验证,而不只是发出通知。 npm package · MIT · DSH plugin DSH Hub — goodandready.app English • 中文 • Русский ⭐ 如果您喜欢这个插件,请在 GitHub 上为它点亮 Star — 这能让我知道插件对您有用,并鼓励我继续维护它。 🐛 如果您发现 Bug 或希望增加功能,请使用任意语言在 GitHub 上提交 Issue。 概述 重启会终止执行该操作的进程。普通通知只能说“服务已重启”,却无法回答两个关键问题:Harness 现在是否健康,以及被中断的任务应该继续什么。直接调用 systemctl restart 还可能需要 root 或 polkit 权限。 本插件为 DeepSeek Harness 提供经过验证的重启流程:先记录原因、目标会话和待继续任务,再结束当前进程让 systemd 启动新进程。新进程执行健康检查,并把结果和恢复提示发回发起请求的会话。默认方式无需额外权限。
展开完整文档(README 剩余 1 节)
@goodandready/dsh-smart-restart

让重启经过验证,而不只是发出通知。
npm package · MIT · DSH plugin
DSH Hub — goodandready.app English • 中文 • Русский

⭐ 如果您喜欢这个插件,请在 GitHub 上为它点亮 Star — 这能让我知道插件对您有用,并鼓励我继续维护它。

🐛 如果您发现 Bug 或希望增加功能,请使用任意语言在 GitHub 上提交 Issue。

概述

重启会终止执行该操作的进程。普通通知只能说“服务已重启”,却无法回答两个关键问题:Harness 现在是否健康,以及被中断的任务应该继续什么。直接调用 systemctl restart 还可能需要 root 或 polkit 权限。

本插件为 DeepSeek Harness 提供经过验证的重启流程:先记录原因、目标会话和待继续任务,再结束当前进程让 systemd 启动新进程。新进程执行健康检查,并把结果和恢复提示发回发起请求的会话。默认方式无需额外权限。

架构

~~~mermaid
graph LR
A[DSH web profile] --> B[Host plugin]
B --> C[Restart intent and guard]
C --> D[Service manager restarts DSH]
D --> E[Next-process health checks]
E --> F[Report to requesting session]
A --> G[Client module loader]
G --> H[Settings card]
H --> B

浏览器端通过 DSH 的延迟 CommonJS 客户端加载器注册设置卡片;工厂返回 apply 和 inject。宿主端负责工具、重启、健康检查和报告。

功能

- 无需额外权限重启:默认结束 Harness 进程,由配置为 Restart=always 的 systemd 拉起;systemctl 模式适用于已授予相应权限的环境。
- 启动后健康检查:检查 DSH 服务、已注册工具、systemd 单元状态及重启次数、监听端口是否由本服务 cgroup 中的进程持有,以及插件和核心版本。结果为 ok 或带失败明细的 degraded。
- 报告发回原会话:重启前保存目标会话、原因和待继续内容;新进程将检查结果发回同一会话,必要时会有限等待会话上线。
- 循环保护:10 分钟窗口内达到 3 次重启上限后拒绝新请求。
- 设置卡片:提供英文和中文界面;俄语翻译由 dsh-russian-lang 提供。

Модули

- lib/index.js:Cordis 宿主入口,注册设置、重启/状态工具、启动检查与报告发送。
- lib/boot.js:纯函数逻辑,识别重启、保护循环、检查 cgroup 和端口、汇总结果并格式化报告。
- lib/client.js:浏览器设置卡片;DSH 加载工厂必须返回 CommonJS 导出对象。
- cordis.patch.yml:将此包加入所选 web profile。

安装

~~~bash
dsh plugin --profile web add @goodandready/dsh-smart-restart

默认模式要求 Harness 由 systemd 管理,且服务配置 Restart=always。插件从进程 cgroup 自动检测单元,也可以在设置中指定。

设置

在 DSH 插件设置卡片中修改;不需要密钥。

| 参数 | 类型 | 默认值 | 说明 |
| enabled | boolean | true | 是否注册工具并检查每次启动。 |
| restartMode | string | kill | kill 结束进程并由 systemd 重启;systemctl 调用 systemctl restart 。 |
| unit | string | 自动检测 | 要检查和重启的 systemd 单元;空值从 /proc/self/cgroup 检测。 |
| delayMs | number | 3000 | 结束进程前的等待时间,让工具回执先返回。 |
| target | string | requester | 报告目标:发起请求的会话、primary 或会话 ID。 |
| stateDir | string | .restart-guard | $DSH_HOME 下保存启动标记、意图、报告和重启历史的目录。 |
| maxRestarts | number | 3 | 窗口内达到该次数时拒绝重启。 |
| windowMs | number | 600000 | 循环保护窗口,单位毫秒。 |
| timeoutMs | number | 5000 | 每项健康探测的超时时间。 |
| expectTools | string[] | [] | 启动后必须注册的工具;缺失会降低健康结论。 |
| toolEnabled | boolean | true | 是否注册 dsh_restart 和 dsh_restart_status。 |

工具

- dsh_restart:参数 reason、resume、confirm 和 delayMs。保存意图、检查循环限制、安排重启并返回回执;重启后的结论会发给调用它的会话。
- dsh_restart_status:只读显示最近启动、停机时长、健康报告、待处理意图和当前窗口中的重启次数。

报告

报告包含启动时间、停机时长、每项健康检查结果、插件/核心版本、总体结论,以及重启前记录的待继续内容。值缺失时不会伪造健康状态。

限制与故障排查

- 默认模式依赖 systemd 的 Restart=always。手动启动的独立进程无法自行恢复,插件会明确报告这一限制。
- kill 模式会结束当前执行轮次;保存的意图用于为下一轮提供上下文。
- 端口和 cgroup 检查面向 Linux;其他系统会跳过这些检查。
- 插件由 DSH 包管理器 (CLI/pnpm) 统一管理;本插件不提供独立的 /api/dsh/update 路由,更新会在重启后由内置 health-check 验证。
- 对于 systemd 用户单元,--user 标志会在状态检查和 systemctl restart 中自动传递。
- 如果 DSH 报告客户端导入失败并提示 module is not defined,说明客户端加载工厂不兼容。请使用定义并返回 CommonJS 导出的版本,再重新加载 web profile。
- 宿主端工具可能正常,而浏览器设置卡片仍失败;请分别检查客户端模块启动错误。

开发与许可证

运行 npm test 执行测试。

MIT © GooDAnDReaDY
预览分享卡片长什么样 ↓GooDAnDReaDY/dsh-smart-restart
分享 · DeepSeek Harness Hub
GooDAnDReaDY/dsh-smart-restart

重启后自动健康检查并把结果发回原会话

回到顶部