📦 Openclaw Mutual Repair — 双机互修

v1.0.0

实现两台 OpenClaw 实例间的心跳监控、健康检查、故障诊断和远程修复功能,支持 7×24 小时稳定运行。

0· 77·0 当前·0 累计
rfdiosuao 头像by @rfdiosuao·MIT-0
下载技能包
License
MIT-0
最后更新
2026/3/27
0
安全扫描
VirusTotal
可疑
查看报告
OpenClaw
可疑
medium confidence
该技能的代码和文档基本符合双机心跳/修复工具的描述,但存在一些值得关注的细节(文档中嵌入的发布令牌、使用广泛的 exec/network 能力,以及截断的源文件导致修复行为不明确),在生产环境安装前需谨慎对待。
评估建议
该技能大致符合其描述(双机心跳、健康检查和远程修复),但在安装前请审查以下事项: - 删除或轮换任何泄露的凭证:PUBLISH.md 包含一个看起来像 Claw-CLI 令牌的内容 — 视为已泄露并轮换它。 - 审计完整的 src/index.ts(提供的代码片段被截断)以确认修复是如何执行的(特别是是否运行 ssh/远程命令及参数)。如果修复调用 shell 命令或 SSH,确保命令是明确且受限的,并确保 SSH 密钥受到严格控制。 - 首先在隔离/暂存环境中运行该技能。服务默认监听 0.0.0.0:9528 — 配置防火墙以仅限制对端访问,避免将端口暴露到公共互联网。 - 确保主机具有预期的工具(pm2、nc、ss、ping)且对其输出的解析对于你的操作系统是健壮的;解析不良的输出可能导致错误的诊断。 - 优先使用最小权限:仅提供到配置对等方所需的网络连接,并在确认其确切行为之前不启用远程修复。如果需要,我可以:1) 在仓库中搜索其他潜在机密,2) 如果你能提供 src/index.ts 的其余部分,尝试重建截断的部分,3) 生成一个安全配置和防火墙规则的简短清单以部署此技能。...
详细分析 ▾
用途与能力
名称、README、SKILL.md、skill.json 和 src/index.ts 均描述了一个双机心跳、健康检查和修复系统。声明的权限(exec、network)与执行 shell 检查并向对端发送心跳的实现相匹配;这些能力与所述目的相称。
指令范围
SKILL.md 将指令限制在配置主机/端口、启动/停止服务以及使用 health/diagnose/repair 命令。运行时代码执行本地系统命令(free、top、pm2、ss、ping、nc)并向配置的 remoteHost 发送 HTTP 请求 — 这在预期范围内,但意味着该技能将读取系统状态并在触发时可能运行修复命令。
安装机制
未提供明确的安装规范(仅限指令),但包包含代码和 package.json(axios 依赖)。这意味着 ClawHub 添加时将安装代码/依赖;缺乏安装/已验证的发布 URL 与已知包发布机制相比增加了供应链方面的风险。
凭证需求
该技能声明没有必需的环境变量(良好)且权限对于任务来说是合理的。但是,文档(PUBLISH.md)包含嵌入的 Claw-CLI 令牌字符串,这看起来是泄露到仓库中的凭证;这与正常的运行时需求无关,是一个危险信号。此外,远程修复行为可能需要 SSH 访问(SKILL.md 提到 SSH 密钥),因此运维人员应确保 SSH 使用受限且密钥安全管理。
持久化与权限
always:false 和默认自主调用已设置(正常)。该技能在清单中不请求系统级配置更改。自主调用与 exec/network 相结合功能强大,但对于运维/修复技能来说是预期的;没有证据表明它需要持久的提升平台权限。
src/index.ts:177
检测到 shell 命令执行(child_process)。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/3/27

OpenClaw Mutual Repair v1.0.0 - 初始版本发布 - 实现双机心跳监控与自动告警 - 支持内存/CPU/进程健康检查 - 提供故障诊断和远程修复能力(PM2/systemd) - 支持故障排查指令与安全隔离建议

可疑

安装命令

点击复制
官方npx clawhub@latest install openclaw-mutual-repair
镜像加速npx clawhub@latest install openclaw-mutual-repair --registry https://cn.longxiaskill.com

技能文档

让两只 OpenClaw 互相守护,实现 7×24 小时稳定运行

📦 安装

clawhub install openclaw-mutual-repair

🚀 快速开始

1. 配置双机环境

在两台机器上分别配置:

机器 A (192.168.1.100):

{
  "localHost": "0.0.0.0",
  "localPort": 9528,
  "remoteHost": "192.168.1.101",
  "remotePort": 9528,
  "heartbeatInterval": 300000
}

机器 B (192.168.1.101):

{
  "localHost": "0.0.0.0",
  "localPort": 9528,
  "remoteHost": "192.168.1.100",
  "remotePort": 9528,
  "heartbeatInterval": 300000
}

2. 启动互修服务

在飞书或 OpenClaw 中输入:

启动互修

3. 使用示例

用户:健康检查
用户:诊断
用户:启动互修
用户:停止互修

📋 核心功能

1. 心跳监控 💓

  • 双机定期发送心跳(默认 5 分钟)
  • 自动检测对端是否在线
  • 心跳超时自动告警

2. 健康检查 🏥

  • 内存使用率监控
  • CPU 使用率监控
  • PM2 进程状态检查
  • 系统运行时间统计

3. 故障诊断 🔍

  • 自动识别内存泄漏风险
  • 检测进程异常重启
  • 网络连通性诊断

4. 自动修复 🛠️

  • 远程重启 OpenClaw 进程
  • 发送修复建议
  • 故障转移(规划中)

⚙️ 配置项

参数类型默认值说明
localHoststring0.0.0.0本机监听地址
localPortnumber9528本机监听端口
remoteHoststring-对端主机地址(必填)
remotePortnumber9528对端监听端口
heartbeatIntervalnumber300000心跳间隔(毫秒)
heartbeatTimeoutnumber30000心跳超时(毫秒)
memoryThresholdnumber85内存告警阈值(%)
cpuThresholdnumber80CPU 告警阈值(%)

🔐 安全说明

  • 网络隔离:建议在内部网络使用,不要暴露到公网
  • 防火墙配置:仅允许对端 IP 访问心跳端口
  • SSH 密钥:远程修复功能需要配置 SSH 免密登录(可选)

📊 监控指标

指标正常值告警阈值
内存使用率< 70%> 85%
CPU 使用率< 50%> 80%
WebSocket 连接数> 10< 5
断连频率< 2 次/小时> 5 次/小时
进程重启次数0> 5

🐛 故障排查

问题 1:心跳发送失败

[Heartbeat] Failed to send: connect ECONNREFUSED

解决: 检查对端 OpenClaw 是否运行,防火墙是否开放端口

问题 2:端口被占用

Error: listen EADDRINUSE: address already in use

解决: 修改 localPort 配置,或停止占用端口的进程

问题 3:PM2 检测失败

PM2 未检测到 OpenClaw 进程

解决: 使用 PM2 启动 OpenClaw:pm2 start app.js --name openclaw


📚 相关文件

  • src/index.ts - 核心实现
  • skill.json - Skill 配置
  • package.json - 依赖管理
  • tsconfig.json - TypeScript 配置

📝 更新日志

v1.0.0 (2026-03-27)

  • ✨ 初始版本发布
  • 🎯 实现双机心跳协议
  • 🏥 健康检查功能
  • 🔍 故障诊断功能
  • 🛠️ 远程修复功能(PM2/systemd)

作者: OpenClaw Skill Master

许可: MIT

反馈: https://github.com/rfdiosuao/openclaw-skills/issues

数据来源ClawHub ↗ · 中文优化:龙虾技能库