360 Secure SkillHub
360 安全技能中心

auto-rollback

在编辑 ~/.openclaw/openclaw.json 前创建带时间戳备份,并安排 10 分钟后的回滚任务;若 Gateway 仍未恢复健康,则由 launchd 自动还原备份。健康后自动取消需配合工作区 BOOT.md 与已安装的 boot-md 钩子,否则需手动执行 cancel。

extraterrest
extraterrest
热度 59.95
最近更新 2026-05-11 17:27:58
分类:自动化依赖:代码执行 / 读写文件应用场景:自动化脚本 / DevOps / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add auto-rollback
Metadata
name
auto-rollback
description
Timed rollback safety net for edits to ~/.openclaw/openclaw.json on macOS. Use when changing Gateway config, restarting Gateway after config edits, or needing backup + auto-restore protection via launchd and BOOT.md health-check cancellation.
license
MIT
metadata
{"openclaw":{"emoji":"🛡️","os":["darwin"],"requires":{"bins":["bash","launchctl","jq","curl","plutil"]}}}

Auto-Rollback

Use this skill before editing ~/.openclaw/openclaw.json.

It creates a timestamped backup, schedules a rollback job for 10 minutes later, and restores the backup if Gateway still cannot come up. Rollback auto-cancellation is available only if the workspace BOOT.md includes the bundled snippet from this skill and the boot-md hook is already installed.

Quick Flow

  1. Run skills/auto-rollback/auto-rollback.sh start --reason "what changed"
  2. Edit ~/.openclaw/openclaw.json
  3. Restart Gateway
  4. If Gateway becomes healthy, BOOT.md cancels the rollback
  5. If Gateway stays unhealthy, launchd executes the rollback script

Commands

Start protection

skills/auto-rollback/auto-rollback.sh start --reason "update gateway bindings"

Short form also works:

skills/auto-rollback/auto-rollback.sh start "update gateway bindings"

Cancel pending rollback

skills/auto-rollback/auto-rollback.sh cancel

Inspect current state

skills/auto-rollback/auto-rollback.sh status

BOOT.md Integration

This skill does not install the boot-md hook by itself.

To enable automatic cancellation after a healthy restart:

  1. Ensure your OpenClaw workspace already has the boot-md hook installed.
  2. Merge skills/auto-rollback/BOOT.md into the workspace root BOOT.md.

Without that integration, rollback still works, but you must cancel it manually after a successful restart.

Files

  • Script: skills/auto-rollback/auto-rollback.sh
  • BOOT snippet: skills/auto-rollback/BOOT.md
  • Backups: ~/.openclaw/openclaw.json.YYYYMMDD-HHMMSS
  • State: ~/.openclaw/state/rollback-pending.json
  • Log: ~/.openclaw/logs/rollback.log
  • launchd plist: ~/.openclaw/ai.openclaw.rollback.plist

Agent Rule

If you want agents to always use this safety net, add an SOP rule in AGENTS.md that any openclaw.json change must run start first.