让两只 OpenClaw 互相守护,实现 7×24 小时稳定运行
bash
clawhub install openclaw-mutual-repair
在两台机器上分别配置:
机器 A (192.168.1.100):
json
{
"localHost": "0.0.0.0",
"localPort": 9528,
"remoteHost": "192.168.1.101",
"remotePort": 9528,
"heartbeatInterval": 300000
}
机器 B (192.168.1.101):
json
{
"localHost": "0.0.0.0",
"localPort": 9528,
"remoteHost": "192.168.1.100",
"remotePort": 9528,
"heartbeatInterval": 300000
}
在飞书或 OpenClaw 中输入:
text
启动互修
text
用户:健康检查
用户:诊断
用户:启动互修
用户:停止互修
参数类型默认值说明localHoststring0.0.0.0本机监听地址localPortnumber9528本机监听端口remoteHoststring-对端主机地址(必填)remotePortnumber9528对端监听端口heartbeatIntervalnumber300000心跳间隔(毫秒)heartbeatTimeoutnumber30000心跳超时(毫秒)memoryThresholdnumber85内存告警阈值(%)cpuThresholdnumber80CPU 告警阈值(%)
指标正常值告警阈值内存使用率< 70%> 85%CPU 使用率< 50%> 80%WebSocket 连接数> 10< 5断连频率< 2 次/小时> 5 次/小时进程重启次数0> 5
text
[Heartbeat] Failed to send: connect ECONNREFUSED
解决: 检查对端 OpenClaw 是否运行,防火墙是否开放端口
text
Error: listen EADDRINUSE: address already in use
解决: 修改 localPort 配置,或停止占用端口的进程
text
PM2 未检测到 OpenClaw 进程
解决: 使用 PM2 启动 OpenClaw: pm2 start app.js --name openclaw
src/index.ts - 核心实现skill.json - Skill 配置package.json - 依赖管理tsconfig.json - TypeScript 配置作者: OpenClaw Skill Master
许可: MIT