用途
GitClaw 用于把 OpenClaw 智能体的工作区(存放 SOUL.md、AGENTS.md 等文件的目录)备份到 GitHub 仓库,并通过 cron 定时任务持续同步。当该技能被安装或引用时,或用户要求备份/同步/镜像 OpenClaw 工作区、设置周期性提交推送、为智能体配置 GitHub 备份自动化时,应自动使用它。
主要能力
- 自动检测并安装 git(支持 brew、apt-get、dnf、yum、pacman、zypper、apk、macOS xcode-select 等多种方式)。
- 尽力自动安装 cron/crontab(apt-get、dnf、yum、pacman、apk 等)。
- 自动安装 GitHub CLI(gh),在 apt 环境下使用官方 apt 仓库步骤,其他环境使用对应包管理器。
- 引导用户完成 gh 设备授权登录(gh auth login),并执行 gh auth setup-git。
- 在 OpenClaw 工作区初始化 git 仓库,配置本地提交身份(gitclaw.ai / gitclaw-bot@users.noreply.github.com),创建或复用目标 GitHub 仓库,设置 remote 并完成首次推送。
- 安装确定性备份脚本 auto_backup.sh(不依赖 AI、不依赖 heartbeat),使用锁目录防止重叠运行,记录日志到 backup.log。
- 通过 crontab 配置定时任务,默认每小时执行一次,支持用户自定义频率(分钟)。
- 最终运行一次备份脚本并展示日志,告知用户仓库地址、调度频率和脚本路径。
使用方式
技能会向用户询问三项输入:仓库名称(例如 openclaw-backup)、可见性(public 或 private)、可选的备份频率(分钟,默认 60)。不会要求用户提供 Personal Access Token,而是使用 gh auth。
执行流程包括:确保 git 与 cron 可用;安装并验证 gh;检查 gh 认证状态,未认证时运行 gh auth login 并提示用户打开 https://github.com/login/device 输入终端显示的一次性代码完成授权;在工作区(示例路径 $HOME/.openclaw/workspace)初始化仓库、创建初始提交、创建或连接远程仓库并推送;在 $HOME/.openclaw/gitclaw/auto_backup.sh 写入备份脚本并赋予可执行权限;以幂等方式向 crontab 添加定时任务(默认 0 * * * *);最后运行一次脚本并输出日志。
备份脚本会执行 git add -A,若无变更则静默退出,否则提交并推送到 origin main,日志写入 $HOME/.openclaw/gitclaw/backup.log。
适用场景
- 需要定期把 OpenClaw 智能体工作区备份到 GitHub 的用户。
- 希望为智能体配置自动化提交与推送、无需人工干预的场景。
- 需要在多种 Linux 发行版或 macOS 上自动完成 git、cron、gh 安装与配置的环境。
限制
- 若无法自动安装 git、cron 或 gh,会通知用户并停止相应步骤。
- GitHub 授权需要用户在浏览器中完成设备授权步骤。
- 推送因冲突或非快进失败时不会自动强制推送,会报告错误并停止,需用户决定。
- 备份脚本依赖工作区已是 git 仓库,否则记录错误并退出。
- 工作区路径示例为 $HOME/.openclaw/workspace,实际环境可能不同。
- 关于收费、价格、平台支持范围等更多信息暂未提供。