重启后自动健康检查并把结果发回原会话
30/100
综合分
0
GitHub 星标
461
npm 周下载
—/5
用户评分
数据截至 2026/9/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @goodandready/dsh-smart-restartnpm 源 · @goodandready/dsh-smart-restart 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · dev
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 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🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
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 提供可验证的重启,带恢复确认和会话交接
最近更新
在 GitHub 查看全部 →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
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
GooDAnDReaDY/dsh-smart-restart
重启后自动健康检查并把结果发回原会话
相关插件 · 开发 / 工程
隐私简历生成器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