SuperAPI AI 工具集

synthesis-mac-sync

办公与效率

查看项目

更新于 10-22 16:15

技能介绍

Synthesis Mac Sync 是一套让多台 Mac 保持同步的方法流程,由智能体端到端执行:用户说“run my mac-sync”,智能体以尽量少的确认提示完成同步。该技能定义的是协议本身,而具体细节——同步哪些文件、涉及哪些机器、哪些仓库——写在用户位于 iCloud 同步文件夹中的配置文件里。将工作从一台 Mac 迁移到另一台时,使用 synthesis handoff 以及 leaving-and-arriving.md 中的步骤,这部分与 synthesis-machine-sync 共用。

主要能力与流程

完整同步按固定顺序执行:

  1. 拉取前 iCloud 下载检查:执行 brctl download "$ICLOUD_BASE",然后轮询 .icloud 占位文件直到全部消失(五分钟超时,超时告警)。
  2. 配置文件同步:按修改时间双向同步,在一次 bash 调用中完成。
  3. 推送后 iCloud 上传检查:执行 brctl monitor --wait-uploaded -t 300 "$ICLOUD_BASE",在其返回前不得报告完成。
  4. 工作区配置符号链接:对各工作区私有仓库的 .agents/ 做幂等协调。
  5. Git 仓库同步:获取全部内容,对落后且干净的仓库拉取,在推送策略允许下推送领先且干净的仓库,依据 repos.yaml 协调远程,其余情况报告。可通过 python3 <synthesis-daily-rituals>/scripts/repo_state.py --discover ~/workspaces --fetch 获得各仓库只读状态。
  6. 一次性操作:执行针对本机的操作并标记完成。

也支持仅配置同步(“sync my Mac config files from iCloud”拉取 / “push my Mac config files to iCloud”推送)与仅 Git 同步(“sync my repos with GitHub”完整 / “show me the status of my repos”状态查看)。

关键约束

  • 绝不用空内容覆盖:任一侧为空或缺失时保留非空侧;自动复制较新侧;仅当双方均变更且时间戳无法判断时才询问。
  • 每次推送后等待 iCloud 上传完成;每次拉取前触发下载并轮询至无 .icloud 占位文件;上传未确认前绝不写入跨 Mac 交接。
  • Git 先 fetch、仅快进、绝不强制推送、不覆盖未提交改动(列出并询问);跳过处于 rebase 或 merge 中的仓库并报告。
  • 未经用户对单次提交明确批准,不使用 --no-verify 绕过钩子;提交信息保持通用,不含人名、公司、代号、标题或主题。
  • 遵守 push_policy:仅所有者仓库只推送到所有者个人远程,否则中止并告警;需 PR 的仓库绝不自动推送。
  • 清单是多机文档:合并而非依据单机扫描重建;绝不删除仓库条目、远程或本地克隆;已结束的项目转为休眠并保留在磁盘。
  • 在客户端也写入的配置文件中(如 Codex config.toml)只同步自己拥有的键,绝不复制整个文件。
  • 批量执行:所有文件在一个脚本中,所有仓库分两到三次完成,避免大量确认提示。
  • 敏感文件 chmod 600;所有路径加引号(iCloud 路径含空格);任何密钥值不得进入 Git 仓库、看板消息或日志。
  • 离开与到达按协议执行:每项目 synthesis handoff,然后 strand 扫描;到达时拉取但不覆盖本地改动,然后 synthesis brief。
  • 告警只携带计数与指针,不含仓库、工作区或客户名称,并遵守 ~/.synthesis/quiet-audio。

参考文档

  • references/icloud-config-sync.md:配置、设置、单脚本配置同步、Codex 覆盖层、iCloud 传播检查、配置同步协议与文件格式;任何配置同步前阅读。
  • references/repo-sync.md:推送策略、批量 Git 脚本、各工作区 repos.yaml、仓库与远程同步协议、清单合并协议、自动化策略、摘要格式;任何 Git 同步前阅读。
  • references/machines-and-symlinks.md:新 Mac 引导、机器清单、一次性操作、工作区配置符号链接;设置 Mac 或协调符号链接时阅读。
  • references/leaving-and-arriving.md:用 synthesis handoff 在 Mac 间迁移工作、strand 扫描、到达步骤;更换 Mac 前阅读。
  • references/coverage-map.md 与 references/preserved.md:规则位置与退役内容,仅在审阅重写时阅读。

摘要输出分三部分:已执行操作、需关注(附建议通用提交信息的未提交改动、分叉仓库、冲突、异常状态,逐项询问)、信息性内容(stash、非快进推送、无远程仓库、干净计数)。仅对“需关注”项提示。

适用场景与限制 适用于拥有多台 Mac、需要统一配置文件、Git 仓库与远程以及跨机迁移工作的用户。该技能依赖 iCloud、brctl 命令、Git 与 synthesis 生态中的其他技能(如 handoff、machine-sync、daily-rituals 脚本);具体同步范围完全由用户配置文件决定。资料未提供安装命令、收费方式或平台版本要求,暂未提供。