跳到正文
原文
Hacker News· SaarthRanka·· 8 小时前精选AI 评分56

Atticus 开源 macOS 按住说话语音助手,基于 Claude Code 运行

Show HN: Atticus – Hold-to-talk voice assistant for macOS that runs on Claude -p

AI 导读

Atticus 是基于 Claude Code 的 macOS 按住说话语音助手,直接复用用户的 Claude Pro 或 Max 订阅,无需额外 API key。常见指令跳过 AI 本地执行(打开应用约 0.08 秒),首次请求会记忆为免 AI 的快捷方式;删除、发送等危险操作会先弹确认。要求 macOS 26 及以上和 Claude Code,通过 curl 一行命令安装。

推荐理由

给出基于 Claude Code 的本地语音助手架构与免 API key 复用方案,可作为类似 macOS Agent 的实现参考。

正文 · AI 翻译

Atticus. Your whole Mac, one sentence away.

按住 ⌃ Control ⌥ Option Space,说出你的需求,然后松开。
Atticus 会移动窗口、查找文件、读取屏幕内容并完成任务。

⚡ 快速  ·  🔑 无需 API 密钥  ·  🧠 记住你  ·  免费且开源

  • 快速。简单的请求跳过 AI:应用在 0.08 秒内打开。一次请求的动作 Atticus 就能学会,下次无需 AI 即可瞬间执行,而且免费。
  • 无需 API 密钥。它通过 Claude Code 运行在你已有的 Claude Pro 或 Max 套餐上。无需注册,无需粘贴密钥,没有额外账单。
  • 记住你。说出"记住……",之后的每次请求都会用到。它会了解你是谁(你的名字、你常用的应用),并在你纠正时自动修正错误。

macOS Swift Claude Cost


atticus-film.mp4

尽管开口

你说 Atticus
"在大屏幕上写代码,笔记本上打开 Chrome 和 Terminal。" 在两块屏幕上排列三个窗口。
"打开 Spotify。" · "Terminal 放左边。" 无需任何 AI,瞬间执行。
"找到我关于东京之行的笔记。" 按内容搜索你的文件,并在另一块屏幕上打开匹配项。
"这段代码有什么问题?" 查看屏幕并用一行给出回答。
"用三个要点概括这篇文章。" 为你阅读页面。
"回复:好的,七点见。" 把它输入到你正在使用的应用中。它从不自动发送。
"在 Spotify 上播放我的深夜编程歌单。" 一秒内播放,无需点击。任意歌曲、艺术家或歌单都可以。
"当我说专注模式时,关闭 Slack 并打开我的待办清单。" 它会记住。下次只需两个字即可完成。

Atticus arranging windows across two screens

为什么选择 Atticus

快速

Opening apps and sites, moving windows, web searches and music skip the AI entirely (an app opens in 0.08 s). Actions you ask for once (opening apps, moving windows, playing music) become learned shortcuts: "Open Calculator and Chess" went from 5.5 s to 0.4 s, with no AI.

无需 API 密钥

Runs on the Claude plan you already have, through claude -p. About 0.14¢ of plan usage per ask (~700 asks for $1 at API list rates). Atticus itself is free.

记住你

"Remember: open means bring it to the front." Saved rules go with every ask. It learns lasting facts about you (name, city, favorite apps), and when you correct it, it saves a rule so it gets it right next time. Edit all of it in Settings.

私密的耳朵

Apple's on-device speech turns your voice into text. Audio never leaves your Mac.

掌控你的整台 Mac

Apps, windows, files, settings, the web and the screen, with Peekaboo for clicking inside any app.

默认安全

Safe mode runs the AI's commands in Claude Code's sandbox: they can only write to a scratch folder. Before anything deletes, sends, buys or changes a file, Atticus asks you first. rm, sudo, disk tools and shutdown are always blocked. Every exact command is in the ask log.

快捷键与输入框的工作方式

在 设置 → 通用 → 快捷键行为 中选择 按住说话 或 按一下切换。按住模式在你松开时发送。切换模式第一次按下开始,第二次按下发送;暂停时保持监听。在 Atticus 回答时按下快捷键可中止回答;语音播报时按下会停止语音。按 Esc 取消监听且不发送。切换模式的录音在 60 秒后进入审核界面,而非自动发送。关闭覆盖层或暂停 Atticus 会停止其麦克风、工作进程和语音。

点击任意回答即可复制,包括输入框中仍显示的较早回答。点击你的请求可编辑并重新发送,或在空输入框中按 ↑ 调出最近的请求。覆盖层在缩放时保持在你的屏幕内,并遵守"减少动态效果"设置。

Apple 的最终转录文本会在 AI 工具或学到的快捷键运行前确认每条语音请求。AI 推理可在暂停期间开始,但其工具会等待确认。若语音最终化耗时过长,Atticus 会提供部分文本供你审核。即时命令仍然完全跳过 AI。支持的内置命令在你发送前以中间句的形式运行,前提是启用了即时命令和"我说话时执行"(设置 → 智能)。学到的快捷键会等待确认后的指令。

安装

你需要:

  • macOS 26 或更高版本(Atticus 使用 Apple 全新设备端语音识别)
  • 一个付费 Claude 套餐(Pro 或 Max)以及 Claude Code。还没有 Claude Code?设置窗口会为你安装并登录。
  • Apple 的命令行工具:xcode-select --install
  • 可选:Peekaboo(查看其安装步骤),以便 Atticus 可以在应用内点击

在 Terminal 中粘贴以下内容:

curl -fsSL https://raw.githubusercontent.com/SaarthurR/atticus-mac/main/install.sh | bash

它会检查你的 Mac,把 Atticus 下载到 ~/.atticus,构建 ~/Applications/Atticus.app,然后打开它。Atticus 在登录时启动,并在那里自动更新(可在 Settings → About & Updates 中关闭)。

直接修改代码?在任意位置克隆仓库,每次修改后运行 ./build.sh。

首次启动会打开一个安装向导窗口。它会检查你的 Claude 套餐,然后逐一申请 macOS 权限。 之后,Atticus 常驻菜单栏。从 Spotlight(⌘ 空格,输入 "Atticus")打开它即可进入 Settings:快捷键、声音、模型、速度、屏幕、内存和使用情况。 如果你之后退出 Claude 登录,这个窗口会自动再次弹出。 想再看到它:defaults delete com.atticus.app onboarded,然后重启应用。

测试:在 macOS 上运行 python3 atticus.py --selftest,再加上 python3 -m unittest discover -s tests -v 做离线回归。构建完成后,~/Applications/Atticus.app/Contents/MacOS/Atticus --selftest 会在不打开应用的情况下检查原生转录匹配。如果安装了 Node,它还会检查内嵌的 JavaScript 语法。要进行 UI 交互测试,在仓库中运行 python3 -m http.server 8765 --bind 127.0.0.1 并打开 http://127.0.0.1:8765/tests/ui.html;它使用模拟的原生桥接,不会触发任何 Mac 操作或 AI 调用。

卸载:launchctl bootout gui/$(id -u)/com.atticus.app,然后删除 ~/Applications/Atticus.app、~/.atticus、~/.config/atticus(你的设置和历史记录)以及 ~/Library/LaunchAgents/com.atticus.app.plist。

帮我留意

说出 "tell me when Codex is done" 或 "watch this page until it says shipped"。Atticus 只需设置一次,然后每 5 秒在你的 Mac 上检查一次,且不调用 AI,所以等待本身是免费的。触发后你会收到通知,如果之前还要求了后续动作,它会一并执行。这台桌面上必须保持一个窗口打开(被遮挡也行)。像 Codex 这样的编程代理是通过它们自己的日志来监听的,完全不需要屏幕。说出 "stop watching" 来取消。

预算

Atticus 必须保持快速且几乎免费,因此新功能必须满足以下限制:

  • 即时指令:无需 AI,$0。
  • AI 提问:最近 50 次的中位数低于 $0.002 和 6 秒(2026 年 10 月 10 日:$0.00095,5.0 秒)。用 python3 atticus.py --budget 检查。
  • 系统提示:开启所有选项时不超过 10,000 个字符。每次提问都会计费,并有测试强制执行。
  • 任何等待或在后台运行的任务:等待期间 $0。AI 仅用于设置和最终执行。

使用统计

每天一次,Atticus 会向 PostHog 发送一个随机 ID(在你的 Mac 上生成,与你本人无关),这样我就能看到有多少人在使用它。它绝不会发送你的名字、你的提问或你的屏幕。可以在 Settings → Account & Access → Count me as a user 中关闭。

文件

  • Atticus.swift:应用本体(快捷键、语音、悬浮层、引导窗口)
  • atticus.py:核心逻辑(快速指令、系统提示、窗口/网页/屏幕的辅助功能)
  • ui/ui.html、ui/onboarding.html、ui/settings.html:悬浮层、欢迎流程以及 Settings
  • ui/AppIcon.icns:应用图标
  • ui/orbs.js:thinking-orbs 引擎(MIT 许可,Jakub Antalik)

许可协议

MIT。详见 LICENSE。ui/orbs.js 来自 thinking-orbs,同样是 MIT。

贡献

使用临时的 ATTICUS_DIR 运行回归测试,并使用 tests/ui.html 和 tests/settings.html 进行模拟桥接的 UI 检查。请勿将个人的代理设置、凭据和运行时状态提交到仓库。除非通过环境变量提供 ATTICUS_POSTHOG_KEY,否则匿名使用统计默认关闭;源代码中未嵌入任何密钥。

来源:Hacker News · github.com