AiSyncing:自动备份 AI 编程助手配置到 GitHub
AiSyncing 将 Claude Code、Codex、Gemini CLI、Cursor 等 AI 编程工具的本地…
AiSyncing 是一款专为 AI 编程助手设计的本地配置自动备份工具,旨在把 Claude Code、OpenAI Codex、Gemini CLI、Cursor 等主流 AI 编码工具的记忆文件、自定义代理、指令文件和配置目录,按日定时同步到用户自己的私有 GitHub 仓库,从而避免因换机、重装系统或误操作造成的配置丢失。整个工具以 Bash 脚本加一份 config.json 配置为核心,安装和使用门槛较低。
支持的工具与默认备份内容
工具按「source」组织备份源,每个 AI 工具对应一个本地配置目录和一份默认 include 列表:
- Claude Code:~/.claude,备份 CLAUDE.md、settings.json、projects/*/memory/、agents/、commands/、hooks/、skills/** 等。
- OpenAI Codex:~/.codex,备份 AGENTS.md、AGENTS.override.md、config.toml、*.config.toml、memories/**。
- Gemini CLI:~/.gemini,备份 GEMINI.md、settings.json、commands/、extensions/。
- Cursor:~/.cursor,备份 rules/**(.mdc 文件)、mcp.json、permissions.json。
- 自定义工具:用户可在 config.json 的 sources 中新增条目,指定任意配置目录和 glob 模式,即可接入 Windsurf 等其他 AI 助手。
所有 include 列表都遵循 rsync include 语法,可在 config.json 中按需增删,嵌套路径的父目录会被自动包含,未匹配的条目一律排除。
安装与定时机制
首次安装只需克隆仓库后执行 bash setup.sh,脚本会依次完成:
- 通过 GitHub CLI(gh)自动创建私有备份仓库;
- 读取用户全局 git 配置作为提交身份;
- 自动检测本机已安装的 AI 工具,仅启用对应 source;
- 让用户选择每日同步的时间(默认 15:00);
- 编译一个轻量 Swift 通知小程序 AiSyncing.app,并安装 macOS LaunchAgent。
每次同步由 sync.sh 执行:按 config.json 生成 rsync 过滤规则,把各 source 目录同步到 data/<source>/ 子目录,提交信息形如 sync(claude,gemini): 2026-08-24 15:00:00,再推送到远端。若某个 source 目录不存在,仅打印警告而不中断流程;若本次没有任何 source 发生变更,也会推送一条空提交以保留同步记录。
通知、恢复与扩展
同步完成后,macOS 会弹出系统通知展示本次涉及的 source,点击通知可直接跳转到 GitHub 上的 commit 历史页;若未编译 Swift App 则回退到 osascript 弹窗,但失去点击跳转能力。日志写入 ~/Library/Logs/ai-syncing.log。
在新机器上恢复时,先克隆备份仓库,再通过 rsync 把 data/<name>/ 拷回对应的 /.claude、/.codex 等目录,最后重跑 setup.sh 即可重新启用定时任务。卸载则执行 bash uninstall.sh,会停止 LaunchAgent 并删除通知 App,但不会触及已备份的仓库数据。
项目模板仓库本身被保存为 upstream remote,用户可随时拉取更新;仓库内还内置一个每周运行的 GitHub Action(Research AI Tools),自动抓取各支持工具的官方文档、对比哈希,发现变更或链接失效时自动开 Issue,方便维护者跟进上游调整。
