💾 Publish — 备份还原

v1.0.12

一键将 OpenClaw 工作区完整备份到 GitHub 仓库,亦可随时回滚,自动排除敏感文件并扫描泄露密钥,保障代码与配置安全。

1· 434·5 当前·5 累计
下载技能包
License
MIT-0
最后更新
2026/2/26
0
安全扫描
VirusTotal
无害
查看报告
OpenClaw
安全
high confidence
该技能的文件、运行时指令及所需环境变量均与其声明用途(将 OpenClaw 工作区备份/还原至 GitHub)一致;未发现过度权限或异常网络端点。
评估建议
该技能似乎确实如其所述。安装或运行前:1)创建仅对单一备份仓库有 Contents: Write 权限的精细 GitHub PAT,并将其设为 GITHUB_TOKEN;2)用一次性工作区测试脚本,观察排除文件行为及密钥检测误报;3)确保 rsync 可用(脚本若回退到 cp 将无法应用排除规则,但如发现泄露密钥,秘密扫描会中止备份);4)自行查看附带的 sync.sh/restore.sh,确认复制/排除规则及 git 凭据助手用法无误。如需自动定期备份或更大权限,请相应复查并限制令牌范围。...
详细分析 ▾
用途与能力
名称/描述(备份/还原至 GitHub)与所需环境变量(GITHUB_TOKEN、BACKUP_REPO、OPENCLAW_WORKSPACE)及附带脚本相符。所需输入与文档行为适合基于 GitHub 的备份工具。
指令范围
SKILL.md 及两个脚本仅将操作限制为复制允许的工作区子目录、扫描密钥并推送至配置的 GitHub 仓库。注意:脚本在 rsync 不可用时回退到普通 cp,不会应用相同排除标志(但随后会运行全面密钥扫描);密钥检测正则较宽泛,可能产生误报并中止备份。除此之外,指令不会读取无关系统文件或向意外端点发送数据。
安装机制
纯指令型技能,附带打包 shell 脚本;无安装规范或远程下载。安装风险低——不会从任意 URL 拉取内容。
凭证需求
请求的环境变量与任务相匹配:仓库名、工作区路径及 GitHub 令牌。SKILL.md 明确建议使用仅对备份仓库有效的精细 PAT(良好实践)。
持久化与权限
always 为 false,技能不会请求持久化系统级更改或修改其他技能。它作为按需工具由代理或用户调用。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.0.122026/2/25

- 扩大备份范围,纳入 `$OPENCLAW/workspace/projects/` 中的项目代码,排除凭据。 - 更新文档,阐明排除文件,尤其是 AGENTS.md 等个人/工作区特定文件及配置数据。 - 从仓库移除 `scripts/test.sh`。 - 对 `README.md`、`SKILL.md` 及 `sync.sh` 进行小幅更新,以符合新的备份/排除规则。

无害

安装命令

点击复制
官方npx clawhub@latest install publish
镜像加速npx clawhub@latest install publish --registry https://cn.longxiaskill.com

技能文档

# ClawSync 将您的 OpenClaw workspace 备份并恢复到 GitHub。 ## ⚠️ 安全第一 该 skill 采用深度防御设计,请仔细阅读。 ## 它会备份什么 | 类别 | 文件 | 状态 | |----------|-------|--------| | Skills | $OPENCLAW/skills/ 下的全部文件 | 见下方说明 | | Scripts | $OPENCLAW/scripts/ 下的全部文件 | 见下方说明 | | 项目代码 | $OPENCLAW/workspace/projects/ 下的全部文件 | 排除凭据 | ### 它不会备份什么(个人/工作空间专属) 以下文件因个人或工作空间专属而被明确排除: - AGENTS.md、SOUL.md、USER.md、TOOLS.md、IDENTITY.md、HEARTBEAT.md —— 个人 agent 配置 - SITES.md —— 可能包含 API 密钥/机密 - MEMORY.md —— 包含敏感对话数据 - 任何位于 credentials/.envnode_modules/ 中的文件 ## 它会排除什么 - ❌ API 密钥和令牌(任意格式) - ❌ 凭据文件夹 - ❌ .env 文件 - ❌ node_modules - ❌ .git 目录 - ❌ 嵌套的 git 仓库 - ❌ 包含机密的文件(通过正则检测) ## 机密检测 ClawSync 会扫描以下机密模式: - GitHub 令牌 (ghp_) - OpenAI 密钥 (sk-) - Google API 密钥 (AIza) - Slack 令牌 (xoxb-, xoxp-) - AWS 访问密钥 (AKIA) - JWT 与 bearer 令牌 - 私钥 (-----BEGIN PRIVATE KEY-----) - 高熵字符串 若检测到任何上述内容 → 在推送前中止备份。 ## 环境变量(必需) ``bash export GITHUB_TOKEN="ghp_xxxx" export BACKUP_REPO="username/repo-name" export OPENCLAW_WORKSPACE="${HOME}/openclaw-workspace" ` ### 🔐 推荐:精细化 PAT 为最小权限,请使用 GitHub 精细化 PAT: 1. 进入 GitHub → Settings → Developer settings → Personal access tokens → Fine-grained tokens 2. 新建令牌并设置: - Repository access:仅 $BACKUP_REPO - Permissions:Contents: Write 3. 将该令牌用作 GITHUB_TOKEN ## 快速开始 `bash git clone https://github.com/your-username/clawsync.git ~/clawsync cp .env.example .env # 编辑 .env 填入您的值 bash sync.sh ` ## 功能 - 起飞前检查:运行前验证所需环境变量 - 严格白名单:仅复制明确允许的文件 - 黑名单:过滤掉 .git、凭据、node_modules - 机密擦除:检测 100+ 种机密模式,发现则中止 - 安全恢复:需要 --force 或确认才覆盖 ## 安全恢复 `bash # 带确认(默认) bash restore.sh # 强制模式(无提示) bash restore.sh --force ` ## 认证 优先使用 gh CLI,否则回退到令牌认证。 ## 文件 - sync.sh - 备份脚本(符合 ShellCheck) - restore.sh - 恢复脚本 - .env_example - 模板 - .gitignore - 阻止机密 ## 开发与发布 ### 本地运行测试 `bash # 设置测试工作空间 mkdir -p /tmp/test-workspace echo "test" > /tmp/test-workspace/AGENTS.md echo "test" > /tmp/test-workspace/USER.md mkdir -p /tmp/test-workspace/skills /tmp/test-workspace/scripts # 运行集成测试 export BACKUP_REPO="test/repo" export OPENCLAW_WORKSPACE="/tmp/test-workspace" export GITHUB_TOKEN="dummy" cd /tmp && rm -rf test-backup-repo && mkdir test-backup-repo cd test-backup-repo && git init cp ~/clawsync/sync.sh . bash sync.sh ` ### 测试机密检测 `bash # 创建一个带假机密的测试文件 echo "My API key is ghp_test1234567890abcdefghijklmnopqrstuvwxyz" > /tmp/test-workspace/AGENTS.md # 运行同步 - 应报错中止 bash sync.sh # 预期输出:"Error: Potential secret detected..." ` ### 安全审计测试(证明非暂存检测) 此测试验证脚本在文件被 staging 前就能捕获机密: `bash # 设置测试工作空间 export BACKUP_REPO="test/repo" export OPENCLAW_WORKSPACE="/tmp/test-workspace" export GITHUB_TOKEN="dummy" # 在工作空间创建带机密的文件 mkdir -p /tmp/test-workspace echo "Real API key: sk-realapikey12345678901234567890" > /tmp/test-workspace/AGENTS.md # 复制 sync.sh 到临时备份目录 cd /tmp && rm -rf audit-test && mkdir audit-test && cd audit-test git init cp ~/clawsync/sync.sh . # 运行同步 - 应失败(捕获未 staging 的机密) bash sync.sh # 预期:"Error: Potential secret detected in backup directory!" # 这证明 pre-git-add 扫描有效 ` ### 发布到 ClawHub CI 会在每次 push 与 pull request 时运行: 1. ShellCheck - 检查 bash 脚本 2. 集成测试 - 验证备份/恢复功能 要发布新版本: `bash git add -A git commit -m "Release v1.0.x" git tag v1.0.x git push origin master --tags ` CI 将自动: - 运行测试 - 若测试通过且 tag 以 v` 开头,则发布到 ClawHub

数据来源ClawHub ↗ · 中文优化:龙虾技能库