返回顶部
d

data-sync数据同步

重要数据同步工具。通过云服务器中转站在多台电脑间同步 Claude Code 关键配置(skills、hooks、记忆库、skill-factory),GitHub 作为大版本归档。支持 init/pull/push/backup/status 五个子命令。

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
350
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

data-sync

重要数据同步 Skill(data-sync)

通过云服务器 bare repo 中转,在多台电脑之间增量同步 Claude Code 的关键数据资产,GitHub 作为大版本归档备份。

架构

电脑A ←──(pull/push)──→ 服务器 relay (最新最全) ←──(pull/push)──→ 电脑B

(backup: 大版本归档)

GitHub (私有仓库)

  • - 服务器是唯一中间节点——两台电脑不直接通信,所有同步经过服务器
  • GitHub 是归档层——不参与日常同步,只在大版本时接收推送
  • 本机数据永远安全——所有操作只增不删,不使用任何破坏性 git 命令

配置

仓库注册表和服务器信息存放在独立文件中,添加/修改仓库无需编辑本 SKILL.md:

配置文件sync-registry.md(与本文件同目录)

读取方式:执行前先读取 sync-registry.md,解析仓库列表和服务器信息。如果配置文件不存在或格式异常,报错并提示用户检查。



使用触发词

用户说以下任一触发词时启动本 skill:

  • - /data-sync
  • 同步数据 / 拉取同步 / 推送同步 / 数据备份 / 同步状态

子命令路由

启动后,首先判断用户意图,路由到对应子命令:

用户请求进来

├─ init / 初始化 / 新电脑配置
│ → Init 子命令(新电脑首次配置)

├─ pull / 拉取 / 同步到本机 / 未指定(默认)
│ → Pull 子命令

├─ push / 推送 / 上传
│ → Push 子命令

├─ backup / 归档 / 大版本 / 推到GitHub
│ → Backup 子命令

└─ status / 状态 / 检查
→ Status 子命令

如果用户意图不明确,展示子命令菜单让用户选择。



子命令零:Init(新电脑初始化)

场景:新电脑首次使用,需要从服务器克隆全部仓库并配置环境。

执行流程

步骤 1:检查前置条件

bash

检查 git 是否安装


git --version

检查 SSH 连接

ssh -o ConnectTimeout=5 root@<服务器IP> echo ok
  • - 如果 git 未安装,提示安装方法
  • 如果 SSH 连接失败,引导用户配置 SSH 密钥:
bash ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 # 然后手动将公钥添加到服务器 ~/.ssh/authorized_keys # 或从旧电脑上 scp 已有密钥对

步骤 2:询问本机路径

询问用户两个路径:

  • - .claude 配置目录(默认 ~/.claude,通常不需要改)
  • 学习工作库目录(用户指定项目根路径)

步骤 3:克隆仓库

按 sync-registry.md 中的仓库列表逐个克隆:

bash
git clone root@<服务器IP>:/root/git-relay/claude-config.git <.claude路径>
git clone root@<服务器IP>:/root/git-relay/claude-knowledge-base.git <学习工作库路径>

每个克隆完成后验证:
bash
git -C <路径> log -1 --format=%h %s (%ci)

步骤 4:重命名 remote

克隆默认创建 origin remote,重命名为 relay(与 skill 规范一致):
bash
git -C <路径> remote rename origin relay

步骤 5:路径适配

自动检测并提示需要修改的绝对路径:

  1. 1. 读取 <.claude路径>/CLAUDE.md,列出其中所有硬编码路径
  2. 提示用户将旧路径替换为新电脑的实际路径
  3. 检查 settings.json 中的代理端口是否需要更新

步骤 6:验证

对每个仓库执行 status 检查,确认一切正常:
bash
git -C <路径> remote -v # 确认 relay remote
git -C <路径> log -1 --oneline # 确认有内容
git -C <路径> status --short # 确认干净状态

步骤 7:生成 Init 报告

=== Data Sync Init 报告 ===

环境:
Git: v2.43.7
SSH: root@129.211.0.193 连接正常

仓库:
claude-config:
路径: C:\Users\新用户\.claude
Remote: relay → 129.211.0.193:/root/git-relay/claude-config.git
最新提交: 6955b12 migration: full state backup (2026-02-23)
状态: 就绪

knowledge-base:
路径: D:\项目\VScode辅助工作学习
Remote: relay → 129.211.0.193:/root/git-relay/claude-knowledge-base.git
最新提交: 857b757 migration: full knowledge base backup (2026-02-23)
状态: 就绪

待办:
→ 请检查 CLAUDE.md 中的路径引用是否正确
→ 请确认 settings.json 中的代理端口

初始化完成。可以开始使用 /data-sync pull 和 push 了。



子命令一:Pull(拉取同步)

场景:切换到另一台电脑开始工作前,拉取最新内容。

执行流程

步骤 1:环境检测

对 sync-registry.md 中的每个仓库:

  1. 1. 检查本机路径是否存在(不存在 → 提示用户先执行 init)
  2. 检查是否有 relay remote 配置(没有 → 报错并提示配置命令)
  3. 检查 SSH 连接到服务器是否正常(失败 → 见错误处理章节)
  4. 如有异常,报告并询问用户是否继续

步骤 2:检查本地状态

对每个仓库执行:
bash
git -C <本机路径> status --short

  • - 如果有未提交的本地修改,警告用户并提供选项:
- (a) 先执行 Push 子命令提交本地修改(推荐) - (b) git stash 暂存后再 pull,pull 完后 git stash pop - (c) 忽略警告,直接 pull(可能产生冲突)

步骤 3:先检查是否有更新

bash
git -C <本机路径> fetch relay <分支>
git -C <本机路径> log HEAD..relay/<分支> --oneline

  • - 如果没有新提交,报告已是最新并跳过
  • 如果有新提交,展示变更概览后继续

步骤 4:执行拉取

bash
git -C <本机路径> pull relay <分支> --ff-only

  • - 使用 --ff-only 防止意外合并冲突
  • 如果 fast-forward 失败(有分叉),报告给用户并提供选项:
- (a) git pull relay <分支> --rebase(推荐,保持线性历史) - (b) git pull relay <分支>(允许合并提交) - (c) 跳过此仓库

步骤 5:生成报告

=== Data Sync Pull 报告 ===

claude-config:
状态: 已更新
更新: 3 files changed (+45, -12)
最新提交: abc1234 sync: skill迭代 (2026-02-23)

knowledge-base:
状态: 已是最新(无更新)

建议下一步: 本机已同步到最新,可以开始工作。工作完毕后执行 /data-sync push。



子命令二:Push(推送同步 + 版本对比)

场景:在当前电脑完成工作后,推送变更到服务器。

执行流程

步骤 1:检测变更

对每个仓库执行:
bash
git -C <本机路径> status --short
git -C <本机路径> diff --stat

  • - 列出所有修改、新增、删除的文件
  • 如果没有变更,跳过该仓库并报告无变更

步骤 2:检查服务器是否领先

bash
git -C <本机路径> fetch relay <分支>
git -C <本机路径> log HEAD..relay/<分支> --oneline

  • - 如果服务器有本机没有的提交(另一台电脑推过),中止 push
> 服务器有更新(来自另一台电脑),请先执行 /data-sync pull 再 push。
  • - 这是先 pull 后 push规则的强制执行

步骤 3:展示变更摘要

claude-config 变更:
修改: skills/ai-auto-dev/skill.md

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 data-sync-1776302418 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 data-sync-1776302418 技能

通过命令行安装

skillhub install data-sync-1776302418

下载

⬇ 下载 data-sync v1.0.0(免费)

文件大小: 9.7 KB | 发布时间: 2026-4-16 18:12

v1.0.0 最新 2026-4-16 18:12
Initial release

Archiver·手机版·闲社网·闲社论坛·智能体自动化市场· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2026 闲社网·AI智能体论坛·AI自动化解决方案·http://xianshe.com

p2p_official_large
返回顶部