Don't Be Scary
/install dont-be-scary
dont-be-scary
Safe OpenClaw update with snapshot + auto-rollback. Survives the gateway restart that would otherwise kill the agent mid-operation.
When to invoke
Trigger when the user requests an OpenClaw update or upgrade. Examples: "update openclaw", "upgrade openclaw", "actualízate", "openclaw update".
Do NOT call openclaw update directly — the gateway restart kills the calling agent before it can verify success or roll back.
How to use
Launch the script detached so it survives the gateway restart:
nohup "\x3Cpath-to-skill>/scripts/safe-update.sh" \x3C/dev/null >/dev/null 2>&1 & disown
Then tell the user: "Update launched in background. You'll get Telegram updates at each step." Do not wait for the script to finish — the gateway restart will likely terminate the current agent session. The user is the source of truth via Telegram.
The script's path inside an installed skill workspace is typically:
\x3Cworkspace>/skills/dont-be-scary/scripts/safe-update.sh
What the script does
- Reads bot token + chat_id from the user's
~/.openclaw/openclaw.json(Telegram default account, delivery target). - Snapshots
/opt/homebrew/lib/node_modules/openclawand/Applications/OpenClaw.appto/tmp/openclaw-rollback/\x3Ctimestamp>/(~500MB). - Sends Telegram: "🔄 Updating from \x3CX>".
- Runs
openclaw update --json(which restarts the gateway by itself). - Health check loop (180s) hitting
http://localhost:18789/. - Success → Telegram "✅ \x3CX> → \x3CY>", prunes old snapshots (keeps last 2).
- Failure → restores snapshot, restarts gateway via launchctl, Telegram "⚠️ rollback OK".
- Critical (rollback also failed) → Telegram urgent message pointing to
references/rescue-prompt.md.
Configuration via env vars (all optional)
Defaults match a standard brew install --cask openclaw setup. Override only if non-standard:
OPENCLAW_TG_CHAT_ID— Telegram chat to notify (default: auto-detect fromdelivery.targets[])OPENCLAW_TG_BOT— bot account name in config (default:default)OPENCLAW_CONFIG— path to openclaw.json (default:~/.openclaw/openclaw.json)OPENCLAW_NPM_DIR— npm install path (default:/opt/homebrew/lib/node_modules/openclaw)OPENCLAW_APP_DIR— .app bundle (default:/Applications/OpenClaw.app)OPENCLAW_GATEWAY_PORT— health check port (default:18789)OPENCLAW_PLIST— LaunchAgent (default:~/Library/LaunchAgents/ai.openclaw.gateway.plist)OPENCLAW_BIN— openclaw binary (default:/opt/homebrew/bin/openclaw)OPENCLAW_SNAP_ROOT— snapshot root (default:/tmp/openclaw-rollback)
Requirements
- macOS with brew cask install of OpenClaw
- ~500MB free in
/tmp - Telegram configured in
openclaw.json(channels.telegram.accounts.default.botToken+ a delivery target withchannel: telegramandto: \x3Cchat_id>) python3andcurlavailable (both shipped with macOS)
If the worst happens
If the script reports 🚨 CRITICAL, the gateway is down and the agent inside OpenClaw can't help itself. Open Claude Code on the same Mac and use the prompt in references/rescue-prompt.md to recover manually.
Logs
- Per-run log:
/tmp/openclaw-update-\x3Ctimestamp>.log - Update output:
/tmp/openclaw-update-\x3Ctimestamp>.update.json - Snapshots retained: 2 most recent in
/tmp/openclaw-rollback/
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install dont-be-scary - 安装完成后,直接呼叫该 Skill 的名称或使用
/dont-be-scary触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Don't Be Scary 是什么?
Update OpenClaw safely on macOS (brew cask install) with automatic snapshot of the npm package + .app bundle, post-update health check, and automatic rollbac... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 32 次。
如何安装 Don't Be Scary?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install dont-be-scary」即可一键安装,无需额外配置。
Don't Be Scary 是免费的吗?
是的,Don't Be Scary 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Don't Be Scary 支持哪些平台?
Don't Be Scary 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Don't Be Scary?
由 klouddy-cloud(@klouddy-cloud)开发并维护,当前版本 v1.0.0。