配置文件修改守护脚本- 危险操作前自动备份,一键回滚
OpenClaw Guard 🛡️是一项面向实际任务的技能,主要用于危险操作前的自动备份与回滚机制,防止 AI 把自己玩崩;当 AI 需要修改配置文件(如 openclaw.json、AGENTS.md、SOUL.md 等核心文件)时,启动守护脚本;
如果 AI 挂了,自动回滚配置并重启 Gateway;1. 安装;2. 配置(可选);编辑 co。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
危险操作前的自动备份与回滚机制,防止 AI 把自己玩崩
当 AI 需要修改配置文件(如 openclaw.json、AGENTS.md、SOUL.md 等核心文件)时,启动守护脚本。它会:
# 复制到你的 skills 目录 cp -r openclaw-guard $WORKSPACE/skills/
编辑 config/settings.yaml:
# 守护时间(秒),默认 3 分钟 guard_timeout: 180 # 需要备份的配置文件 backup_files: - ~/.openclaw/openclaw.json - $WORKSPACE/AGENTS.md - $WORKSPACE/SOUL.md - $WORKSPACE/USER.md # 备份目录 backup_dir: ~/.openclaw/backups # Gateway 服务名 gateway_service: openclaw-gateway
# 在执行危险操作前启动守护 ./scripts/guard.sh start # 执行危险操作... openclaw gateway restart # 成功后停止守护 ./scripts/guard.sh stop
在 AGENTS.md 中添加规则:
## ⚠️ 危险操作规则 修改核心配置文件前,必须: 1. 启动守护脚本: ./scripts/guard.sh start 2. 执行操作 3. 成功后停止: ./scripts/guard.sh stop
AI (主进程) 守护脚本 (独立进程)
│ │
├─ 启动守护脚本 │
│ │ ← 独立运行,不依赖主进程
│ │
├─ 执行危险操作 │ sleep N 秒
│ │
├─ restart gateway │
│ (可能挂了) │
│ │ ← 时间到,直接回滚!
│ │ cp 备份 → 配置
│ │ systemctl restart
↑ ↑
重启后我活过来了 检测到守护进程在运行
│ │
└─ 杀掉守护进程 │
守护脚本支持 --health 或 -h 参数,在检查 Gateway 进程的同时验证 API 是否真正可用:
# 检查进程 + API 健康状态 ./guard.sh check true # 或 ./guard.sh check --health
输出示例:
✅ Gateway 运行正常 ✅ Gateway API 正常
注意:需要安装 nc (netcat) 命令。
在 AGENTS.md 中添加规则,让 AI 重启后主动检测守护进程:
## ⚠️ 守护进程检测规则
每次 Gateway 重启后:
1. 检查 ~/.openclaw/backups/guard.pid 是否存在
2. 如果存在,尝试发送测试消息验证 AI 是否正常工作
3. 如果正常工作,停止守护进程
4. 如果异常,执行回滚或告警
# 检测命令示例
if [ -f ~/.openclaw/backups/guard.pid ]; then
# 守护进程在运行,进行健康检查
curl -s http://127.0.0.1:18789/health | grep -q "ok" && {
pkill -f guard.sh # 正常,清理守护进程
} || {
# API 无响应,执行回滚
./scripts/guard.sh rollback
}
fi
| 方案 | 优点 | 缺点 |
|---|---|---|
| A. 脚本健康检查 | 简单,脚本自动完成 | 需要 nc 依赖 |
| B. AI 自我检测 | 更可靠,能处理复杂情况 | 需要修改 AGENTS.md |
| 两者都要 | 最可靠 | 配置稍复杂 |
| 设计点 | 方案 |
|---|---|
| 独立性 | 守护脚本独立运行,AI 挂了也能执行回滚 |
| 简单性 | 不需要复杂的存活检测,时间到就执行 |
| 可清理 | AI 重启后自动检测并杀掉守护进程 |
| 可靠性 | 使用 trap 处理信号中断,确保日志写入 |
| 命令 | 说明 |
|---|---|
./guard.sh start [seconds] |
启动守护(默认 3 分钟) |
./guard.sh stop |
手动停止守护 |
./guard.sh status |
查看守护状态 |
./guard.sh test |
测试回滚功能 |
openclaw-guard/
├── _meta.json # 元数据
├── SKILL.md # 本文档
├── config/
│ └── settings.yaml # 配置文件
├── scripts/
│ └── guard.sh # 主守护脚本
└── assets/
└── example.md # 使用示例
# 每 5 分钟检查 Gateway 状态 */5 * * * * /path/to/scripts/guard.sh check
在 settings.yaml 中配置告警 webhook:
alert: enabled: true webhook: "https://open.feishu.cn/open-apis/bot/v2/hook/xxx"
MIT License
Aha (阿哈) - 崩坏星穹铁道欢愉命途角色 🎭
相关专题
热门下载
相关下载
精品课程
共1课时 | 169人学习
共0课时 | 0人学习
共1课时 | 220人学习
最新文章