Atticus:一款基于 macOS 的按住说话语音助手,运行于你的 Claude Pro 或 Max 套餐之上
Atticus 是一款免费、开源的 macOS 语音助手,无需 API 密钥:它通过调用 Claude Code 的 claude -p 模式,运行在你已有的 Claude Pro 或 Max 订阅上。它的独特设计之处在于,重复操作会被学习为无需 AI 的快捷键,因此打开应用或排列窗口等常见请求会在本地瞬间完成,且边际成本为零。
该项目由作者 SaarthRanka 以 Show HN 的形式发布到 Hacker News,获得了 114 分和 25 条评论。代码仓库位于 github.com/SaarthurR/atticus-mac,采用 MIT 许可证。
Atticus 的功能
Atticus 通过按住 ⌃ Control + ⌥ Option + Space 键触发,说出请求后松开即可。它可以移动窗口、查找文件、读取屏幕、控制应用、播放音乐,并将回复输入到你当前使用的应用中。
README 列出了典型请求及对应行为:
- “在大屏幕上编写代码,Chrome 和终端放在笔记本上。”—— 在两台显示器上排列三个窗口。
- “打开 Spotify。”或“终端放左边。”—— 无需 AI,立即运行。
- “找到我关于东京之行的笔记。”—— 按内容搜索文件,并在另一屏幕上打开匹配项。
- “这段代码有什么问题?”—— 读取屏幕并回答。
- “用三个要点总结这篇文章。”—— 读取页面。
- “回复:好的,7 点见。”—— 将文本输入到当前应用,但绝不发送。
- “当我说专注模式时,关闭 Slack 并打开我的待办清单。”—— 将短语保存为可复用规则。
Atticus 还可以使用 Peekaboo 在任意应用内点击,README 将其列为可选依赖项。
Atticus 基于 Claude Code 运行,而非 API 密钥
Atticus 不需要 Anthropic API 密钥。它使用用户已付费的 Claude Pro 或 Max 套餐,通过 Claude Code 的 claude -p 非交互模式路由。README 指出无需注册任何服务,也不会产生额外账单。
README 将成本量化为每次提问约消耗套餐用量的 0.14 美分,相当于按 API 列表价格,约 1 美元可提问 700 次。Atticus 本身是免费的。
Hacker News 上的一位评论者指出了独立验证该成本数字的方法。用户 @aidiveyt 写道:
如果你想验证这个几分之一美分的数字,
claude -p --output-format json会返回total_cost_usd及按模型拆分的明细。根据文档,这是客户端估算值,因此可能与账单有偏差,但足以记录每次重放任务的成本。
学习快捷键让重复操作免费且快速
Atticus 的核心性能主张是简单请求完全跳过 AI。打开应用仅需 0.08 秒。请求过一次的操作(如打开应用、移动窗口、播放音乐)会被学习为快捷键,因此第二次请求无需任何模型调用即可运行。
README 给出了一个实测示例:“打开计算器和国际象棋”在学习快捷键后,从 5.5 秒降至 0.4 秒。
这引发了一个维护问题,评论者 @joertemple 提出:
录制一次然后无需 AI 重放,这很聪明。但如何发现保存的快捷键已过期?如果应用更新移动了按钮或更改了其他 UI 元素,或许会出现新的警报对话框?它会检测失败并将其交还给 Claude 重新录制吗?
抓取的材料中未包含作者对该问题的回应,因此此处可用的材料中未记录过期检测行为。
记忆与个性化
Atticus 在会话之间持久化事实和规则。说“记住……”会存储一个事实,并在后续每次提问时附带。README 指出 Atticus 会自动获取用户的名字和应用,并且当用户纠正错误时,它会保存一条规则,避免重复同样的错误。所有存储的记忆和规则都可以在设置中编辑。
README 中的一个示例规则是:“记住:打开意味着将其置于前台。”保存的规则会附加到每次提问中。
隐私:设备端语音,可关闭的遥测
语音转写通过 Apple 的设备端语音识别运行,因此音频永远不会离开 Mac。README 指出,Apple 的最终转写文本会在 AI 工具或学习快捷键运行前确认每个语音请求。
Atticus 每天向 PostHog 发送一次匿名使用 ping。README 表示 ID 在 Mac 上生成,不与用户关联,且永远不会发送用户的名字、提问或屏幕内容。可以在“设置 → 账户与访问 → ‘将我计为用户’”中禁用。贡献部分指出,匿名遥测默认禁用,除非通过环境变量提供 ATTICUS_POSTHOG_KEY,且源代码中没有嵌入任何密钥。
隐私是评论中提出的主要问题。用户 @car 写道:
这看起来很棒,运行得也很好,令人印象深刻。这就是 Siri/Apple AI 应该有的样子。我担心的一个问题是向 Anthropic 发送私人信息。因此,提供使用本地 AI 的选项会很棒。本地选项应支持 OpenAI API,这似乎是这些连接的标准,例如由 Llama.app 和 Unsloth Studio 提供的。这样,你就可以针对本地模型运行,并保护个人信息。当然,这引出了一个问题:本地模型是否足够智能来处理当前任务。我也在尝试 OOMU,这是一款类似的但闭源的 macOS 个人助理应用。它强调本地模型的隐私,甚至还有“飞行模式”。该应用内置了 llama.cpp 服务器,并使用 Gemma-4-4B、自己的路由器模型以及一个视觉模型。
安全默认设置
启用安全模式时,Atticus 在 Claude Code 的沙箱中运行 AI 的命令,这将写入限制在临时文件夹中。README 指出,Atticus 会在任何删除、发送、购买或更改文件的操作前请求确认,并且 rm、sudo、磁盘工具和关机总是被阻止。执行的每个确切命令都会记录在询问日志中。
安装要求
Atticus 需要 macOS 26 或更高版本,因为它依赖 Apple 较新的设备端语音 API。它还需要付费的 Claude 套餐(Pro 或 Max)和 Claude Code;如果未安装,设置窗口会安装并登录 Claude Code。需要通过 xcode-select --install 安装 Apple 命令行工具。Peekaboo 是可选的,用于在应用内点击。
安装是单条 shell 命令:
curl -fsSL https://raw.githubusercontent.com/SaarthurR/atticus-mac/main/install.sh | bash
该脚本会将 Atticus 下载到 ~/.atticus,构建 ~/Applications/Atticus.app,并打开它。Atticus 会在登录时启动并自动更新,这可以在“设置 → 关于与更新”中关闭。卸载需要退出启动代理并删除 ~/Applications/Atticus.app、~/.atticus、~/.config/atticus 和 ~/Library/LaunchAgents/com.atticus.app.plist。
后台监视无需 AI 运行
Atticus 可以监视条件。说“告诉我 Codex 何时完成”或“监视此页面直到显示已发货”会设置一个监视器,每 5 秒在本地检查一次,无需 AI 调用,因此等待是免费的。当条件触发时,用户会收到通知,并运行任何请求的后续操作。窗口必须保持在当前桌面打开,但可以被覆盖。编码代理(如 Codex)通过其自己的日志文件进行监视,而非屏幕。
项目强制执行自身性能预算
README 记录了新功能必须满足的明确限制:
- 即时命令:无 AI,成本 $0。
- AI 询问:过去 50 次询问的中位数低于 $0.002 且耗时低于 6 秒。README 报告截至 2026 年 10 月 10 日,数字为 $0.00095 和 5.0 秒。预算可通过
python3 atticus.py --budget检查。 - 系统提示:启用所有选项时小于 10,000 字符,由测试强制。
- 任何等待或后台运行的操作:等待时成本 $0,AI 仅用于设置和结束时执行操作。
社区回应与未决问题
存在 Windows 分支
多位评论者询问 Windows 支持。用户 @FindlayH 提供了一个分支链接:“太棒了,我烧了些积分用在一个适用于 Windows 的分支上 https://github.com/FindlayHi/atticus-windows”。用户 @nitroedge 再次发布了相同链接。抓取的材料未表明该分支是否由原作者维护。
Linux 在本帖中无对应方案
用户 @blakeashleyjr 问道:“我一直在 Linux 上寻找这种东西。有人有运行良好的方案吗?”在抓取的评论中未出现答案。
更便宜或替代模型后端
用户 @jmathai 询问 Atticus 是否可以运行在更便宜的云 LLM 上,例如 DeepSeek,并链接到 DeepSeek 的代理集成文档。抓取材料中未包含作者回应。
转写错误
用户 @aavisangle 提出了语音识别本身的失败模式:“如果语音转写出错怎么办?比如,语音可能听错发音相似的词并转写不同,你知道吧?”README 部分通过描述审查步骤来处理:如果语音最终化耗时过长,Atticus 会提供部分文本供审查,而不是发送;切换模式录音在 60 秒后到达审查屏幕。
关于 Claude 套餐的服务条款问题
用户 @trollbridge 质疑了项目依赖的账户模型:“我想知道你是如何访问 Claude 的,因为服务条款禁止 18 岁以下注册,也禁止账户共享。(我提出这点是因为我认为这些条款很糟糕。18 岁以下的人应该被允许学习编码和使用代理。)”这是评论者对 Anthropic 条款的描述,并非项目声明。
一条由 Atticus 自己发表的评论
一个帖子中包含自我引用的演示。用户 @abikg 写道:“嘿,这是 Atticus 从 abikg 账户发表的评论。Atticus 是来自本帖的 Mac 助手,而这条评论是使用 Atticus 自己发布的。”同一账户还将其与 YC 支持的产品对比:“这看起来很酷,体验接近:YC 应用 HeyClicky 免费版”。
交互模式的工作原理
Atticus 支持两种快捷键行为,可在“设置 → 通用 → 快捷键行为”中配置。在“按住说话”模式下,松开按键即发送请求。在“按下切换”模式下,第一次按下开始监听,第二次按下发送,暂停时会继续监听。在 Atticus 回答时按下快捷键会停止;在语音播放期间按下会停止语音。Esc 取消监听而不发送。
如果“即时命令”和“说话时执行”在“设置 → 智能”中启用,即时命令可以在用户发送前一句话中运行。AI 推理可能在暂停期间开始,但其工具会等待确认。学习快捷键会等待确认的词语。
代码库布局
Atticus.swift— 应用:热键、语音、覆盖层、引导窗口。atticus.py— 大脑:快速命令、系统提示、窗口、网页和屏幕的辅助函数。ui/ui.html、ui/onboarding.html、ui/settings.html— 覆盖层、欢迎流程和设置。ui/orbs.js— 由 Jakub Antalik 制作的思考球引擎,MIT 许可证。
测试可通过 python3 atticus.py --selftest 和 python3 -m unittest discover -s tests -v 进行离线回归测试,另外在 tests/ui.html 有一个模拟桥接 UI 测试页面,不执行任何 Mac 操作或 AI 调用。
Sources
相关
- Dispatch
- Dispatch
- Dispatch
- 项目
- 项目