← 返回
未分类

workspace-git-sync

将 OpenClaw workspace 目录(~/.openclaw/workspace/)同步到指定的本地 Git 仓库, 自动执行 git add、commit 和 push 操作。 使用场景: - 备份 workspace 文件到 Git 仓库 - 将工作目录同步到远程备份 - 定期归档 OpenClaw...
将 ~/.openclaw/workspace/ 目录同步到指定本地 Git 仓库,自动执行 git add、commit、push。适用于备份、远程同步及定期归档。
david668haha
未分类 clawhub v1.0.0 1 版本 100000 Key: 无需
★ 1
Stars
📥 337
下载
💾 0
安装
1
版本
#latest

概述

Workspace Git Sync

将 OpenClaw 工作目录同步到 Git 仓库,实现自动备份和版本控制。

功能特性

  • 自动排除:默认排除 skills/__pycache__/.clawhub/
  • Git 操作:自动执行 pull → copy → commit → push
  • 冲突处理:同步前自动拉取远程变更
  • 安全推送:使用 --force-with-lease 而非 --force

使用方法

基础用法

# 同步到指定 Git 仓库
python3 ~/.openclaw/workspace/skills/workspace-git-sync/scripts/sync_workspace.py ~/projects/backup-repo

# 带自定义提交信息
python3 ~/.openclaw/workspace/skills/workspace-git-sync/scripts/sync_workspace.py ~/projects/backup-repo "每日备份"

Python API

from scripts.sync_workspace import sync_workspace_to_git, quick_sync, force_sync

# 标准同步
result = sync_workspace_to_git("~/projects/backup-repo")

# 快速同步
result = quick_sync("~/projects/backup-repo", "快速备份")

# 强制同步(危险)
result = force_sync("~/projects/backup-repo", "强制覆盖")

参数说明

参数类型默认值说明
--------------------------
target_repo_pathstr必需目标 Git 仓库本地路径
branchstr自动检测目标分支
commit_msgstr自动生成提交信息
exclude_patternslist["skills", ".git", ...]额外排除项
pull_before_pushboolTrue推送前是否先 pull
strategystr"rebase"合并策略 (rebase/merge/force)

执行流程

  1. 检查源目录 — 验证 ~/.openclaw/workspace/ 存在
  2. 检查目标仓库 — 验证是有效的 Git 仓库
  3. 拉取远程变更git pull --rebase 避免冲突
  4. 清理目标目录 — 删除旧文件(保留 .git/
  5. 复制文件 — 从 workspace 复制到目标目录
  6. 提交并推送git add -Agit commitgit push

默认排除项

以下文件/目录会自动排除,不会同步:

  • skills/ — 技能目录(通常很大)
  • .git/ — Git 元数据
  • __pycache__/ — Python 缓存
  • .DS_Store — macOS 系统文件
  • node_modules/ — Node.js 依赖
  • .clawhub/ — OpenClaw 缓存

使用示例

示例 1:基础同步

用户:将 workspace 同步到 ~/backup/openclaw
AI:执行 sync_workspace.py ~/backup/openclaw

示例 2:指定分支和提交信息

sync_workspace_to_git(
    target_repo_path="~/github-pages",
    branch="gh-pages",
    commit_msg="Deploy workspace backup"
)

示例 3:强制同步(危险)

# 跳过 pull,直接强制推送
force_sync("~/projects/backup-repo", "Emergency update")

错误处理

错误场景处理方式
--------------------
源目录不存在报错,检查 ~/.openclaw/workspace/
目标不是 Git 仓库报错,提示初始化仓库:git init
合并冲突中止操作,提示手动解决
无推送权限显示 Git 错误,检查权限或 Token

脚本位置

~/.openclaw/workspace/skills/workspace-git-sync/
├── SKILL.md
└── scripts/
    └── sync_workspace.py

注意事项

  1. 目标必须是 Git 仓库:文件夹必须包含 .git/ 目录
  2. 路径格式:支持 ~ 展开(如 ~/projects/repo
  3. 数据安全:清理目标目录时会保留 .git/,不会丢失版本历史
  4. 权限要求:对目标目录有读写权限,对 Git 仓库有写权限

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-07 07:19 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

security-compliance

Skill Vetter

spclaudehome
AI智能体技能安全预审工具。安装ClawdHub、GitHub等来源技能前,检查风险信号、权限范围及可疑模式。
★ 1,215 📥 266,438
ai-intelligence

Self-Improving + Proactive Agent

ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,356 📥 318,119
ai-intelligence

ontology

oswalpalash
类型化知识图谱,用于结构化智能体记忆与可组合技能。支持创建/查询实体(人员、项目、任务、事件、文档)及关联...
★ 711 📥 243,734