效率与协作 macosswift-clireminderseventkitcalendarcontactsnotesmailimessagetmux

Apple Bridges:Claude Code 的苹果原生应用桥接工具

一套 Swift CLI 工具,让 Claude Code 直接读写 macOS 上的提醒事项、日历、通讯录、备忘录、邮件、信息和 tmux 会话。

FollowSkills 评估 · FSRS-2.0
谨慎使用
53/ 100 五分制 2.7 / 5
1 2 3 4 5 6
1信任安全13 / 25 · 2.6/5

删除类操作默认 dry-run、邮件发送默认打开草稿窗口供人工确认,权限映射表明确列出各桥所需的 TCC 权限,这些都是加分项;但扣分点在于:文档建议把全部桥加入全局 settings. 免确认执行,messages-bridge 的 send 无任何确认机制(文档明确声明'deliberately not in the tool',把确认责任推给用户配置),读取 iMessage 数据库需要 Full Disk Access 这一极宽权限,且 tmux-bridge write 可向任意终端注入命令(含 sudo)。信任为 13。

2可靠稳定9 / 20 · 2.3/5

文档自洽性较好:参数表、输出格式示例、故障排查表(如 -1712 超时、FDA 授权需重启终端)质量高于一般水平;但 README 声称 '35 tests cover all commands across all three bridges' 而仓库实际有七个桥,且测试套件本身未在提供文件中出现,无法静态核实关键路径可复现。扣分:测试证据缺失且数字与描述不一致。可靠性为 9。

3适用触发10 / 15 · 3.3/5

场景清晰(macOS 用户对 Apple 原生应用的读写管理),描述与能力匹配,各桥边界、依赖(tmux、macOS 13+)和权限前提均有说明。扣分:description 触发词过宽('tasks, todos, scheduling, birthdays' 等泛词可能导致无关场景误触发),未声明不适用的边界(如非 macOS 环境、iCloud 冲突),无中文场景说明(全部本地运行,不依赖境外服务,此项不扣)。适应性为 10。

4规范维护11 / 15 · 3.7/5

信息架构良好:SKILL.md 概览+按需加载的细节文件属规范的渐进披露;MIT 许可证明确,署名(Tobias Stöger)清晰,安装/编译/权限/验证步骤完整。扣分:无版本号或 CHANGELOG,维护责任与更新路径仅靠 Contributing 段落隐含,README 与 SKILL.md 之间命令清单存在漂移(如 rename-list、delete-list、--mid、--raw 未出现在 SKILL.md 引用的细节文件中)。规范为 11。

5有效结果6 / 15 · 2.0/5

对目标用户(Claude Code + macOS)价值主张清晰:自然语言驱动 Apple 应用操作,明显优于手动操作;示例丰富且命令可直接使用。但静态审查无法验证输出可用性,且价值主张大量依赖 README 中未经验证的'真实使用示例'叙述。扣分:无执行证据、无代表性输出验证。有效性为 6。

6证据核验4 / 10 · 2.0/5

文档细节丰富且包含可审计的一手材料(故障排查表、数据库技术细节如 attributedBody typedstream 解码、时间戳格式),显示作者有实际使用经验;但无第三方执行证据、无 CI/测试产物在提供文件中可见,README 测试声明自相矛盾('three bridges' vs 七个桥)。扣分:关键主张(35 个测试、性能数字 ~1s)均无法独立核实。可验证性为 4。

证据充分度: 评估于 2026年9月10日 审查版本 58080cbb4028
使用前请注意
  • messages-bridge send 会立即发送且无任何确认机制;如需人工确认,必须在 Claude Code 指令中自行加规则。
  • 文档建议把所有桥加入全局免确认白名单,会显著放大误操作面;建议仅放行必要的只读命令。
  • messages-bridge 读取需要终端获得 Full Disk Access,属于极高权限,请评估后再授予。
  • README 的测试声明自相矛盾('三个桥'与实际七个桥),测试覆盖范围无法核实;建议自行运行 make test 验证。
  • 技能触发描述过宽(tasks、scheduling、birthdays 等泛词),可能在无关场景被误触发。
  • 该技能仅适用于 macOS 13+,且无版本号/变更日志,升级时需自行核对命令变更。
查看完整评分方法 →

这个 Skill 能做什么,适合哪些场景?

claude-apple-bridges 提供 7 个编译好的 Swift 二进制工具,安装到 ~/.claude/ 目录,让 Claude Code 以命令行方式原生操作 Apple 的日常应用。随附 Claude Code 技能(skills/apple-bridges),包含全部命令的完整参考文档,按需加载以节省上下文。所有删除类命令默认 dry-run,需加 --force 才真正执行。适合 macOS 13+ 用户,使用前需授予对应的系统隐私权限。

通过 ~/.claude/ 下的 7 个二进制执行具体操作:reminders-bridge 管理提醒列表、添加/完成/搜索提醒、设置截止时间;calendar-bridge 查询今日/本周事件、查找空闲时段、创建或删除日程;contacts-bridge 搜索联系人、增改电话/邮箱、查生日;notes-bridge 创建/读取/搜索备忘录,支持 HTML 富文本;mail-bridge 列出未读、搜索、读取原始 RFC822 消息(含附件),并通过 AppleScript 打开撰写窗口或 --force 直接发送;messages-bridge 从 chat.db 只读解析 iMessage/短信(含 attributedBody typedstream 解码)、发送文本和文件;tmux-bridge 读取/快照面板内容并向终端发送按键。

  1. 开发者一边做项目一边让 Claude 跟踪任务:修完 bug 后一句话同时关闭 GitHub issue 并完成对应提醒事项。
  2. 需要安排时间的人:让 Claude 查明日日历空闲时段,避开已有会议后再设置提醒或日程。
  3. 经常查联系人的人:直接问某人电话号码或生日,无需打开通讯录应用。
  4. 每天处理大量邮件的用户:让 Claude 汇总近 7 天未读邮件,读取原始消息提取 PDF 发票附件。
  5. 用 tmux 跑长任务的人:下班前让 Claude 读取 tmux 快照,总结当天做了什么并生成未完成事项的提醒。

这个 Skill 有哪些优点和局限?

优点
  • 原生编译 Swift 二进制,无 Python/Node 运行时依赖
  • 删除操作默认 dry-run,安全设计一致
  • mail 未读/搜索用 whose 子句服务端过滤,5 万封邮箱从数分钟降到约 1 秒
  • messages-bridge 能解码 attributedBody typedstream,新版 iMessage 不会读成空白
  • 自带 35 项集成测试(make test),且测试不修改数据
局限
  • 仅支持 macOS 13+,其他平台完全不可用
  • 权限配置繁琐,messages-bridge 的完全磁盘访问权必须手动授予且无弹窗提示
  • 默认 ad-hoc 签名,SSH/新终端会话中 TCC 权限可能反复重新请求
  • messages send 立即发送无确认,防误发规则只能靠用户自己在 Claude 指令中约束
  • Messages.app 脚本接口卡死时会报 AppleEvent timed out (-1712),需手动重启该应用
  • 备注中提到 35 项测试覆盖"所有三个桥接",与 7 个桥接的实际数量表述不一致

如何安装这个 Skill?

1) 克隆并编译安装:git clone https://github.com/more-io/claude-apple-bridges.git && cd claude-apple-bridges && make install(同时安装桥接工具和技能;可用 make install-skills 单独装技能,或 make install-reminders 等单独安装)。2) 授权:在终端各运行一次二进制(如 ~/.claude/reminders-bridge lists)触发权限弹窗,然后在 系统设置 → 隐私与安全性 中批准;messages-bridge 需手动授予终端完全磁盘访问权限。3) 把 Bash(~/.claude/*-bridge*) 模式加入 ~/.claude/settings. 的 permissions.allow。可选:用 CODESIGN_IDENTITY="Apple Development: ..." 编译以获得持久的 TCC 授权。

如何使用这个 Skill?

启动新的 Claude Code 会话,直接用自然语言提问即可触发技能,例如:"我今天待办有哪些?"、"明天找个空档安排代码评审"、"Rob 的电话号码是多少?",或输入 /apple-bridges 手动加载。Claude 会按 SKILL.md 的参考表调用对应的 ~/.claude/<bridge> 命令。删除类命令默认 dry-run,需 --force 才真正删除;mail send 默认弹出撰写窗口供人工确认,--force 才直接发送。

这个 Skill 与同类方案有什么区别?

项目自身在 topics 中带有 mcp 标签,表明它与 MCP(Model Context Protocol)服务器方案同属一个问题域;但源材料未具体对比任何替代方案,故此处不展开。

常见问题

需要哪些权限?
提醒事项、日历、通讯录走各自的隐私授权;备忘录和邮件首次使用经 AppleScript 自动授权;messages-bridge 读取需完全磁盘访问(手动授予),发送需自动化权限。
是否免费?
是,MIT 许可证,源码公开可自行编译。
会误删数据吗?
所有 delete 命令默认 dry-run 只预览,加 --force 才执行;mail send 默认打开撰写窗口由人工确认。
发送 iMessage 失败报 -1712 怎么办?
这是 Messages.app 脚本接口卡死,退出并重新打开 Messages.app 即可恢复。

相关 Skills