cotabby
macOS 本地 AI 自动补全工具,支持 Apple Intelligence / llama.cpp 本地模型 / 自定义 LLM 端点,全局感知键盘输入,隐私优先
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
macOS 本地 AI 自动补全工具,支持 Apple Intelligence / llama.cpp 本地模型 / 自定义 LLM 端点,全局感知键盘输入,隐私优先
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

"每一次敲击键盘,都有一个影子在猜测你想说什么。"
这是 Cotabby 想要重塑的场景。
想象这样一个早晨:你打开 Slack 给团队发消息,思路流畅,手指飞速敲击。写到一半,屏幕上悄悄出现一行灰色文字——那是 AI 在你继续之前,先"猜"出了你可能要写的内容。按下 Tab 键,一个词稳稳落定;再按一次,又一个。文字像被接上了水管的雨桶,一点一点流入屏幕。
这就是 Cotabby——一个运行在你 Mac 本地的 AI 自动补全工具。它不是聊天机器人,不是 Copilot 那种需要你主动召唤的侧边栏,而是像输入法一样安静地蹲在菜单栏,在你打字的时候默默观察,在你可能需要帮助时轻轻提示。

你可能会问:Apple 自己的输入法不是也有补全吗?Cursor 和 Copilot 不是也有代码补全吗?为什么还需要一个专门的工具?
答案藏在三个关键词里:本地、全局、模型可选。
本地意味着数据不离开你的 Mac。Cotabby 的默认引擎(Apple Intelligence 或本地 llama.cpp 模型)完全在你的机器上运行。没有 API 调用,没有服务器中转,没有数据被上传到某个遥远的云端。对于在写商业邮件、代码注释、或者任何不想让第三方看到的内容时,这是本质差异。
全局意味着它不挑应用。Slack、iMessage、Notion、VS Code、浏览器地址栏——几乎所有 macOS 的可编辑文本字段都能用。Copilot 只认识 VS Code;Cotabby 认识整个 macOS。
模型可选意味着你拥有控制权。Cotabby 提供三条路:直接用 macOS 26 内置的 Apple Intelligence(苹果自己的大模型);下载一个小的开源模型在本地跑(0.8GB~5GB,四个档位可选);或者自己配置一个 OpenAI 兼容端点(接 Ollama、局域网服务器,或者任何 HTTPS 的 LLM 服务)。
Cotabby 的实现展示了相当扎实的 macOS 系统编程能力。
整体架构是一个菜单栏常驻 Agent(macOS menu bar app),通过 macOS Accessibility API 感知当前聚焦的可编辑文本字段,同时通过全局键盘监听(无需获取焦点)捕获用户输入。流程大致是:感知键盘事件 → 判断是否需要触发补全 → 构建请求(包含光标前文本和可选上下文)→ 调用选中的推理引擎 → 将结果渲染为"幽灵文字"(ghost text)出现在光标附近 → 用户按 Tab 逐词接受或继续打字忽略。

源码结构清晰分层:
在依赖上,Cotabby 引用了一个独立的推理抽象库 CotabbyInference(独立仓库),封装了 llama.cpp 的 Swift 绑定,这是实现本地模型推理的关键桥接层。此外还用了 Swift Log(日志)、Sparkle(自动更新)和 LaunchAtLogin(开机自启)等成熟库。
代码质量方面,项目使用了 SwiftLint 做静态检查,有完整的 AGENTS.md(维护者指南)、ARCHITECTURE.md(架构文档)、CONTRIBUTING.md 和 FAQ。架构文档长达 25000 字,详细描述了产品循环和所有权边界,说明这不是一个草草发布的玩具项目。
这可能是大多数人会关心的核心问题。
如果你有一台 macOS 14+ 的 Mac,最简单的方式是去 GitHub Releases 下载 DMG 安装包,大约几分钟搞定。Apple Intelligence 引擎在 macOS 26+ 上直接内置,不需要额外下载任何东西。
如果你用的是老系统(macOS 14+ 但没有 Apple Intelligence),就需要下载一个本地模型。Cotabby 内置了四个档位:
| 模型 | 大小 | 适合场景 |
|---|---|---|
| tabby-2-nano | ~0.8 GB | 老 Mac 或低内存机器,最快 |
| tabby-2-mini | ~1.4 GB | 日常使用最佳平衡 |
| tabby-2-base | ~4.5 GB | 更高质量补全 |
| tabby-2-pro | ~5.0 GB | 最高质量 |
从源码构建则需要 Xcode 15+ 和完整的苹果签名证书,对普通用户来说门槛稍高,但文档中明确写明了步骤。

Cotabby 的野心不只是文字补全。它还内置了几个实用功能:
:rocket: 按 Tab,emoji 直接出现在文本中,无需切换到 emoji 面板/ 可以快速触发数学计算、单位换算、随机数生成等操作这些功能看似简单,但在实际使用中能显著减少手指离开键盘的次数。
没有任何工具是完美的。
macOS 版本要求是最大门槛。Apple Intelligence 引擎需要 macOS 26,这意味着 2024 年之前的 Mac 用户只能选择本地模型路线,体验会有所折扣。
内存消耗不可忽视。本地模型推理需要将整个模型加载到内存中,4.5~5GB 的 base/pro 模型在低配 Mac 上可能影响其他应用使用体验。
Accessibility 权限争议:为了感知全局键盘输入和文本字段内容,Cotabby 需要 macOS Accessibility 权限。这是一个高危权限——它能"看到"你在每个应用里输入的一切。项目在 ARCHITECTURE.md 中坦承这是"current secure-field caveat"(当前安全字段例外),并强调安装过程不会将输入内容写入磁盘,但这个取舍需要用户自行判断信任。
不支持 Linux/Windows:这是 macOS 专属工具,对于多平台用户来说没有替代方案。
Cotabby 的出现让我们看到了一个清晰的趋势:当模型足够小、能力足够强时,AI 真的可以无处不在。
llama.cpp 的持续迭代让本地推理从"专业极客玩物"变成了"普通用户可选的日常工具"。而 Cotabby 把这个能力嵌入了 macOS 的输入体验最底层——不是 Copilot 那种需要切换上下文的设计,而是一个安静、透明、几乎感知不到的影子。

997 颗星、62 个 fork、82 个 open issues(在发布仅 5 个月后),说明这个方向确实击中了真实需求。如果你是 macOS 用户且对隐私敏感,Cotabby 值得认真试用;如果你是 AI 应用开发者,它的架构设计(Accessibility + 全局监听 + 幽灵文字渲染)也是值得研究的技术样本。
本报告基于 GitHub 公开数据生成,数据截止时间:2026-09-05。