Back to skills
SkillHub ClubShip Full StackFull StackBackend

github-memory-sync

将 OpenClaw 的完整工作空间配置(SOUL.md, IDENTITY.md, USER.md, MEMORY.md, TOOLS.md, memory/*等)同步到 GitHub 进行备份和版本控制,支持跨服务器迁移。Use when user mentions GitHub backup, sync memory, migrate server, 备份配置,同步到 GitHub, or wants to backup/restore OpenClaw workspace.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
3,085
Hot score
99
Updated
March 20, 2026
Overall rating
C4.0
Composite score
4.0
Best-practice grade
A88.4

Install command

npx @skill-hub/cli install openclaw-skills-github-memory-sync

Repository

openclaw/skills

Skill path: skills/davinwang/github-memory-sync

将 OpenClaw 的完整工作空间配置(SOUL.md, IDENTITY.md, USER.md, MEMORY.md, TOOLS.md, memory/*等)同步到 GitHub 进行备份和版本控制,支持跨服务器迁移。Use when user mentions GitHub backup, sync memory, migrate server, 备份配置,同步到 GitHub, or wants to backup/restore OpenClaw workspace.

Open repository

Best for

Primary workflow: Ship Full Stack.

Technical facets: Full Stack, Backend.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: openclaw.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install github-memory-sync into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/openclaw/skills before adding github-memory-sync to shared team environments
  • Use github-memory-sync for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: github-memory-sync
description: 将 OpenClaw 的完整工作空间配置(SOUL.md, IDENTITY.md, USER.md, MEMORY.md, TOOLS.md, memory/*等)同步到 GitHub 进行备份和版本控制,支持跨服务器迁移。Use when user mentions GitHub backup, sync memory, migrate server, 备份配置,同步到 GitHub, or wants to backup/restore OpenClaw workspace.
---

# GitHub Memory Sync 技能

📝 将 OpenClaw 的 **完整工作空间配置** 同步到 GitHub 仓库进行备份和版本控制,支持跨服务器迁移。

## 同步范围

### 核心记忆文件(必须同步)

| 文件 | 路径 | 说明 | 敏感度 |
|------|------|------|--------|
| **SOUL.md** | `/` | AI 人格定义 | 🔒 高 |
| **IDENTITY.md** | `/` | AI 身份定义(名字、emoji 等) | 🔒 高 |
| **USER.md** | `/` | 用户信息 | 🔒 高 |
| **MEMORY.md** | `/` | 长期记忆 | 🔒 高 |
| **TOOLS.md** | `/` | 工具配置(SSH、摄像头等) | 🔒 高 |
| **HEARTBEAT.md** | `/` | 心跳任务配置 | 🟡 中 |
| **memory/*.md** | `memory/` | 日常记忆文件 | 🔒 高 |

### 可选配置文件

| 文件 | 路径 | 说明 | 建议 |
|------|------|------|------|
| **AGENTS.md** | `/` | 工作空间指南 | ✅ 推荐 |
| **BOOTSTRAP.md** | `/` | 初始化脚本(如有) | ⚪ 可选 |
| **skills/** | `skills/` | 自定义技能 | ✅ 推荐 |
| **avatars/** | `avatars/` | 头像图片 | ⚪ 可选 |

### 排除文件(不同步)

- `.git/` - Git 元数据
- `node_modules/` - 依赖包
- `*.log` - 日志文件
- `*.tmp`, `*.bak` - 临时文件
- `sessions/` - 会话数据(可能很大)

## 功能特性

1. **📤 完整备份** - 将所有记忆和配置文件推送到 GitHub
2. **📥 一键恢复** - 从 GitHub 拉取配置到新服务器
3. **📊 查看状态** - 检查本地和远程的差异
4. **📋 列出文件** - 显示所有同步的文件
5. **🔧 初始化仓库** - 首次设置 GitHub 仓库连接
6. **🔄 增量同步** - 只同步变化的文件
7. **📦 迁移模式** - 支持完整工作空间迁移到新服务器

## 配置要求

### 必需配置

**GitHub Token:**
- 需要一个 Personal Access Token
- 权限要求:`repo`(仓库读写权限)
- 生成地址:https://github.com/settings/tokens/new

**GitHub 仓库:**
- 格式:`username/repository-name`
- 示例:`myusername/openclaw-memory-backup`
- 建议设为 **Private**(私有仓库),因为 memory 可能包含敏感信息

### 配置方式

#### 方案 A:使用环境变量(推荐用于测试)

```bash
export GITHUBTOKEN="ghp_xxxxxxxxxxxxxxxxx"
export GITHUB_REPO="yourusername/your-repo"
```

#### 方案 B:配置文件(推荐用于生产)

在 `~/.openclaw/openclaw.json` 中添加:

```json
{
  "skills": {
    "entries": {
      "github-memory-sync": {
        "enabled": true,
        "apiKey": "ghp_xxxxxxxxxxxxxxxxx",
        "env": {
          "GITHUBTOKEN": "ghp_xxxxxxxxxxxxxxxxx",
          "GITHUB_REPO": "username/memory-backup",
          "GITHUB_BRANCH": "main",
          "WORKSPACE_DIR": "/root/.openclaw/workspace"
        }
      }
    }
  }
}
```

## 使用示例

### 首次初始化

```
用户:"初始化 GitHub memory 仓库"
AI: [获取 Token 和仓库信息后执行初始化]
```

### 推送更新(备份)

```
用户:"同步到 GitHub" / "备份配置"
AI: [执行推送操作,同步所有记忆和配置文件]
```

### 拉取更新(恢复)

```
用户:"从 GitHub 拉取配置" / "恢复备份"
AI: [执行拉取操作,恢复所有文件]
```

### 查看状态

```
用户:"检查同步状态"
AI: [显示本地和远程的差异]
```

### 🚀 服务器迁移(完整流程)

**在原服务器上:**
```
用户:"备份所有配置到 GitHub"
AI: [执行完整推送,包括 SOUL.md, IDENTITY.md, USER.md, MEMORY.md, TOOLS.md, memory/* 等]
```

**在新服务器上:**
```
用户:"从 GitHub 恢复配置"
AI: [执行以下步骤]
1. 克隆 GitHub 仓库到临时目录
2. 复制所有记忆和配置文件到 workspace
3. 保留新服务器的通道配置(不覆盖 openclaw.json 中的通道凭证)
4. 验证文件完整性
```

### 部分恢复

```
用户:"只恢复 MEMORY.md"
AI: [仅拉取指定文件]

用户:"恢复 memory 目录"
AI: [仅拉取 memory/*.md 文件]
```

## 安全提醒

⚠️ **重要安全注意事项:**

1. **Token 保护**
   - ❌ 不要把 Token 发送到任何公开渠道
   - ❌ 不要在代码中硬编码 Token
   - ✅ 使用环境变量或配置文件
   - ✅ 定期轮换 Token

2. **仓库隐私**
   - 🔒 建议将 GitHub 仓库设为 **Private**(私有)
   - 👁 memory 可能包含敏感信息
   - 📝 审查 memory 内容再上传

3. **权限最小化**
   - 只给 Token 必要的权限(`repo`)
   - 避免使用具有广泛权限的 Token
   - 设置 Token 过期时间(不要永不过期)

## 激活技能

当用户提到以下关键词时激活此技能:
- "GitHub memory"
- "同步 memory"
- "备份 memory"
- "GitHub 备份"
- "memory 同步"
- "github-memory-sync"

## 配置流程

### 1. 获取配置信息
- 向用户询问 GitHub Token
- 向用户询问 GitHub 仓库地址(或帮其创建)

### 2. 保存配置
- 将 Token 和仓库信息保存到配置文件或环境变量
- 提醒用户注意安全事项

### 3. 执行操作
- 根据用户请求执行 init/push/pull/status/migrate 操作
- 显示操作结果

### 4. 验证同步
- 推送后验证远程仓库文件完整性
- 拉取后验证本地文件完整性

## 注意事项

- 首次使用必须先执行 `init` 初始化
- 推送前建议先拉取,避免冲突
- 定期检查 Token 是否过期
- 建议启用 GitHub 的两因素认证
- **通道凭证不同步** - openclaw.json 中的 tokens/secrets 不应上传到 GitHub
- **迁移模式** - 使用 `migrate` 命令可安全恢复到新服务器

## 相关文件

- `scripts/sync_to_github.py` - 同步脚本
- `references/migration-guide.md` - 完整服务器迁移指南
- `references/backup-policy.md` - 备份策略和安全建议

## 快速参考

### 常用命令

```bash
# 初始化(首次使用)
python scripts/sync_to_github.py init

# 备份
python scripts/sync_to_github.py push

# 恢复
python scripts/sync_to_github.py pull

# 查看状态
python scripts/sync_to_github.py status

# 迁移到新服务器
BACKUP_DIR=/tmp/openclaw-restore python scripts/sync_to_github.py migrate
```

### 对话触发词

- "备份到 GitHub"
- "同步配置"
- "恢复备份"
- "迁移到新服务器"
- "检查同步状态"
- "github-memory-sync"


---

## Skill Companion Files

> Additional files collected from the skill directory layout.

### README.md

```markdown
# 📦 GitHub Memory Sync

将 OpenClaw 完整工作空间配置同步到 GitHub 进行备份和版本控制。

## ✅ 功能特性

- ✅ **完整备份** - 同步所有配置文件(SOUL.md, IDENTITY.md, USER.md, MEMORY.md, TOOLS.md 等)
- ✅ **记忆文件** - 同步 memory/*.md 日常记忆
- ✅ **技能备份** - 同步 skills/ 自定义技能
- ✅ **一键恢复** - 从 GitHub 拉取配置到新服务器
- ✅ **状态检查** - 查看本地和远程的差异
- ✅ **定时备份** - 支持 cron 自动备份
- ✅ **增量同步** - 只同步变化的文件

## 🚀 快速开始

### 1. 配置环境变量

```bash
export GITHUBTOKEN="github_pat_xxx"
export GITHUB_REPO="username/openclaw-memory"
export WORKSPACE_DIR="/root/.openclaw/workspace"
```

### 2. 同步到 GitHub

```bash
cd /root/.openclaw/workspace/skills/github-memory-sync
bash sync.sh push
```

### 3. 从 GitHub 恢复

```bash
bash sync.sh pull
```

## 📋 同步文件列表

### 核心文件
- ✅ SOUL.md - AI 人格定义
- ✅ IDENTITY.md - AI 身份定义
- ✅ USER.md - 用户信息
- ✅ MEMORY.md - 长期记忆
- ✅ TOOLS.md - 工具配置
- ✅ HEARTBEAT.md - 心跳任务
- ✅ AGENTS.md - 工作指南
- ✅ memory/*.md - 日常记忆文件

### 可选文件
- ✅ skills/ - 自定义技能
- ✅ avatars/ - 头像图片
- ✅ BOOTSTRAP.md - 初始化脚本

## ⏰ 定时备份

### 添加自动备份任务

```bash
# 每天凌晨 2:30 自动备份
(crontab -l 2>/dev/null; echo "30 2 * * * /root/.openclaw/workspace/skills/github-memory-sync/cron-backup.sh") | crontab -
```

### 查看备份日志

```bash
tail -f /var/log/openclaw-memory-sync.log
```

## 📖 完整文档

- [SKILL.md](./SKILL.md) - 技能详细说明
- [CRON.md](./CRON.md) - 定时任务配置指南

## 🔒 安全提醒

- ⚠️ 使用 Private 仓库
- ⚠️ 保护 GitHub Token
- ⚠️ 定期轮换 Token
- ⚠️ 不要同步敏感凭证

---

**版本**: 1.1.0  
**作者**: OpenClaw Workspace  
**许可**: MIT  
**GitHub**: https://github.com/davinwang/openclaw-memory

```

### _meta.json

```json
{
  "owner": "davinwang",
  "slug": "github-memory-sync",
  "displayName": "GitHub Memory Sync",
  "latest": {
    "version": "1.1.0",
    "publishedAt": 1773010175693,
    "commit": "https://github.com/openclaw/skills/commit/d60e74cf837e1e7fb8241b1a1a860b5a213dc5c7"
  },
  "history": [
    {
      "version": "1.0.0",
      "publishedAt": 1772170113284,
      "commit": "https://github.com/openclaw/skills/commit/095865ee4f7ae5ebd68cd1f0ee1772599099679c"
    }
  ]
}

```

github-memory-sync | SkillHub