Show HN: macOS용 Claude 기반 홀드-투-토크 음성 비서 Atticus
요약
macOS용 Claude 기반의 음성 비서 Atticus가 공개되었습니다. 이 도구는 사용자의 명령을 받아 창 관리, 파일 검색, 화면 읽기 등 다양한 작업을 수행합니다. 특히 AI를 거치지 않는 단순 요청은 0.08초 만에 실행되며, 사용자 패턴을 학습하여 속도와 정확성을 높인 것이 특징입니다.
핵심 포인트
- macOS 환경에서 작동하는 Claude 기반 음성 비서입니다.
- 창 이동, 파일 검색 등 다양한 작업을 음성으로 제어합니다.
- 단순 요청은 AI를 거치지 않아 0.08초 만에 매우 빠르게 실행됩니다.
- 사용자 패턴을 기억하고 스스로 오류를 수정하며 학습 기능을 제공합니다.
-
빠름 (Fast). 간단한 요청은 AI를 거치지 않습니다. 앱이 0.08초 만에 열립니다. 한 번 행동을 요청하면 Atticus가 이를 학습하여, 다음부터는 AI 없이 순식간에 무료로 실행됩니다.
-
사용자 기억 (Remembers you). "remember..."라고 말하면 이후 모든 요청에서 이 내용이 반영됩니다. 사용자가 누구인지(이름, 앱 등) 파악하고, 수정할 경우 스스로 실수를 고칩니다.
<p align="center"> <img alt="macOS" src="https://img.shields.io/badge/macOS-1d1d1f?style=for-the-badge&logo=apple&logoColor=white"> <img alt="Swift" src="https://img.shields.io/badge/Swift-1d1d1f?style=for-the-badge&logo=swift&logoColor=white"> <img alt="Claude" src="https://img.shields.io/badge/Claude_Haiku-1d1d1f?style=for-the-badge&logo=anthropic&logoColor=white"> <img alt="Cost" src="https://img.shields.io/badge/~0.18%C2%A2_per_ask-1d1d1f?style=for-the-badge"> <a href="https://ko-fi.com/saarthr"><img alt="Support on Ko-fi" src="https://img.shields.io/badge/Support_on_Ko--fi-1d1d1f?style=for-the-badge&logo=kofi&logoColor=white"></a> </p> <br> <br>Windows에서는? @FindlayHi가 Home Assistant, Jellyfin, Immich 등을 통합한 **Atticus for Windows**를 제작했습니다.
요청만 하세요 (Just ask)
| 사용자가 말하는 것 | Atticus의 동작 |
|---|---|
| "내 큰 화면에 코드를, 노트북에는 Chrome과 Terminal을." | 세 개의 창을 두 디스플레이에 걸쳐 배치합니다. |
| ... |
왜 Atticus인가 (Why Atticus)
<table> <thead> <tr> <th><h3>빠른 속도 (Fast)</h3></th> <td>앱 및 사이트 열기, 창 이동, 웹 검색, 음악 건너뛰기는 AI를 완전히 거칩니다(앱이 0.08초 만에 열림). 한 번 요청한 동작(앱 열기, 창 이동, 음악 재생 등)은 학습된 단축키가 됩니다: '계산기와 체스 열기'는 AI 없이도 5.5초에서 0.4초로 줄었습니다.</td> <th><h3>API 키 불필요 (No API key)</h3></th> <td>이미 사용 중인 Claude 플랜을 통해 <code class="language-bash">claude -p</code>으로 실행됩니다. 요청당 계획 사용량은 약 0.18¢입니다(API 목록 요율로 $1에 약 550회 요청 가능). Atticus 자체는 무료입니다.</td> <th><h3>사용자 기억 (Remembers you)</h3></th> <td>'기억하기: 열다(open)'는 전면에 가져오라는 의미입니다. 저장된 규칙은 모든 요청과 함께 유지됩니다. 사용자에 대한 지속적인 사실(이름, 도시, 좋아하는 앱 등)을 학습하며, 사용자가 수정하면 다음번에 정확하게 작동하도록 규칙을 저장합니다. 설정에서 모든 것을 편집할 수 있습니다.</td> </tr> </thead> <tbody> <tr> <td><h3>개인 정보 보호 (Private ears)</h3></td> <td>Apple의 기기 내 음성 기능은 사용자 목소리를 텍스트로 변환합니다. 오디오는 Mac을 벗어나지 않습니다.</td> <td><h3>Mac 전체 제어 (Your whole Mac)</h3></td> <td>앱, 창, 파일, 설정, 웹 및 화면 전반에 걸쳐 앱 내부에서 클릭, 스크롤, 타이핑을 위한 네이티브 접근성(Accessibility) 컨트롤을 제공합니다.</td> <td><h3>기본적으로 안전함 (Safe by default)</h3></td> <td>안전 모드(Safe mode)는 AI의 명령을 Claude Code의 샌드박스에서 실행합니다: 오직 임시 폴더에만 쓸 수 있습니다. 무언가를 삭제, 전송, 구매 또는 변경하기 전에 Atticus가 먼저 사용자에게 요청합니다. <code class="language-bash">rm</code>, <code class="language-bash">sudo</code>, 디스크 도구 및 종료는 항상 차단됩니다. 모든 정확한 명령어는 요청 로그에 기록됩니다.</td> </tr> </tbody> </table> <details> <summary><b>단축키와 박스가 작동하는 방식</b></summary> </details>설정(Settings)의 일반(General) → 단축키 동작(Shortcut behavior)에서 '길게 말하기(Hold to talk)' 또는 **'누르기하여 전환(Press to toggle)'**을 선택하세요. '길게 말하기' 모드는 손을 떼면 전송됩니다. '전환' 모드는 첫 번째 누름으로 시작하고 두 번째 누름에 전송되며, 일시 정지 시 계속 듣습니다. Atticus가 답변하는 동안 단축키를 누르면 중단되고, 음성 재생 중에는 목소리를 중단합니다. Esc 키는 전송 없이 청취를 취소합니다. 전환 녹음은 자동으로 전송되는 대신 60초 후에 검토 화면에 표시됩니다. 오버레이(overlay)를 닫거나 Atticus를 일시 정지하면 마이크, 작업자(workers), 음성이 중단됩니다.
답변을 클릭하면 이전에 표시된 답변을 포함하여 복사할 수 있습니다. 요청을 클릭하면 편집하고 다시 질문하거나, 비어 있는 입력 상자에 ↑ 키를 눌러 최신 요청을 불러올 수 있습니다. 오버레이는 크기가 조정되어도 디스플레이 내에 유지되며 '동작 줄이기(Reduce Motion)' 설정을 준수합니다. Atticus가 가려진 창, 다른 Space 또는 다른 디스플레이에서 작동하는 동안, 라이브 미니 화면이 해당 창을 보여줍니다. 아래 단계에서는 동작을 보여줍니다. 완성된 보기(view)는 다음 질문, 타이핑 또는 클릭이 있을 때까지 유지됩니다. 이를 클릭하면 정확히 그 창이 열립니다. 미리보기는 Mac에 남아 있으며 AI로 전송되거나 저장되지 않으며, 작업이 끝나면 스트리밍이 중단됩니다. '화면 녹화(Screen Recording)' 권한이 없으면 동일한 카드가 앱 아이콘과 창 제목을 보여줍니다.
Apple의 최종 스크립트는 AI 도구나 학습된 단축키가 실행되기 전에 각 음성 요청을 확인합니다. AI 추론은 일시 정지 중에 시작할 수 있지만, 그 도구들은 확인을 기다립니다. 음성 확정(speech finalization)에 너무 오래 걸리면 Atticus는 검토를 위해 부분 텍스트를 제공합니다. 즉각적인 명령(Instant commands)은 여전히 AI를 완전히 건너뜁니다. 지원되는 내장 명령어는 전송하기 전에 문장 중간에서 실행되며, '즉각적인 명령'과 '(설정 → 인텔리전스)에서 말하는 동안 액션(Act while I’m talking)' 기능이 있습니다. 학습된 단축키는 확인된 단어를 기다립니다.
</details>에이전트(Agents)
큰 것을 요청하면("USB-C 허브 찾아줘") Atticus가 이를 백그라운드 에이전트에게 전달합니다. 작업하는 동안 구석에 칩이 나타납니다. 마우스를 올리면 실시간 단계와 작업의 미니 화면을 볼 수 있습니다. 경로를 변경하려면 말하기만 하면 됩니다: "허브 에이전트에게 HDMI도 확인하라고 해"는 새로운 것을 시작하는 대신 실행 중인 에이전트를 조종합니다. 완료되면, 타이핑을 멈추면 결과가 담긴 카드가 표시됩니다. 회의나 화면 공유 중에는 조용한 알림을 받습니다. 만약 에이전트가 권한이나 커넥터를 필요로 한다면, 자신의 칩에 요청하고 계속 진행합니다. 설정(Settings) → 에이전트(Agents)에서 에이전트와 그 커넥터를 활성화하세요.
회의 코파일럿 (Meeting Copilot)
설정(Settings) → 회의(Meetings) → 회의 코파일럿 설정(Meeting Copilot settings)에서 활성화한 후, 통화에 사용하거나 데모를 시도해 보세요. 헤더나 아무 상태의 빈 배경을 드래그하면; 최소화된 알약 모양(pill)도 마찬가지입니다. 위치와 확장된 크기는 디스플레이별로 기억됩니다. 헤더를 더블클릭하여 기본 위치로 돌아갈 수 있습니다. 프레임은 디스플레이 변경 후에도 디스플레이의 사용 가능한 영역 내에 머무릅니다.
회의 녹취록 저장(Save meeting transcripts) 기능은 기본적으로 켜져 있습니다. 청취하는 동안, 조용한 표시기가 저장 활동이 활성화되었음을 보여줍니다. 텍스트, 화자 레이블, 타임스탬프, 메모 및 코파일럿 답변은 $ATTICUS_DIR/meetings/<meeting-id>/ (일반적으로 ~/.config/atticus/meetings/) 아래에 점진적으로 저장됩니다. 각 폴더는 비공개(0700)이며, metadata.json과 추가 전용의 events.jsonl (0600)로 구성됩니다. 완료되지 않은 말은 2초마다 체크포인트가 생성되며; 중단된 통화도 읽을 수 있습니다. 오디오는 절대 저장되지 않습니다.
설정(Settings) → 회의(Meetings), 또는 통화 후 **모든 회의 보기(See all meetings)**로 이동하면 로컬 아카이브가 열립니다. 제목과 녹취록을 검색하고, ↑/↓ 및 Return 키를 사용하여 탐색하며, ⌘F는 검색에, Esc는 뒤로 가기에 사용합니다. 각 회의는 요약, 실행 항목, 메모, 답변 및 타임스탬프가 지정된 녹취록을 보여줍니다. 복사하거나, 마크다운으로 내보내거나, 확인 후 삭제할 수 있습니다. 저장 기능을 끄면 현재 아카이브가 중지되고 과거 회의를 유지할지 삭제할지 묻습니다.
AI 회의 요약 기능은 (기본 설정)으로 활성화되어 있으며, Claude가 각 세션 종료 후 트랜스크립트를 한 번 읽고 사용자 본인의 Claude 플랜을 통해 요약 및 실행 항목(action items)을 작성합니다. 이 기능을 끄면 트랜스크립트 전체를 Mac에 보관할 수 있습니다. 이때도 결정 사항과 시작/종료 발언을 인용하는 간소화된 로컬 요약본을 얻을 수 있습니다. AI 요약 기능이 실패하더라도 로컬 트랜스크립트는 손상되지 않습니다. 재개(Resuming)를 하면 대기 중인 요약을 취소하고, 다음 종료(End) 시 전체 트랜스크립트를 요약합니다. 종료(Closing)하거나 일시 정지(pausing)하면 요약 작업이 멈추고, 이미 저장된 텍스트는 Mac에 남아 있습니다. Atticus에게 과거 회의에 대해 질문할 경우 --meeting-history "<키워드, 요일 또는 YYYY-MM-DD>"를 사용하여 해당 아카이브에서 검색하게 할 수 있습니다. 라이브 질의응답(Live question answering)은 선택된 미팅 코파일럿 답변 정책을 유지합니다.
피드백 (Feedback)
메뉴 바에서 **피드백 보고…(Report Feedback…)**를 선택하거나, 설정(Settings)에서 **피드백 보고(Report feedback)**를 하거나,
사용자의 Mac을 확인하고 Atticus를 ~/.atticus에 다운로드한 다음, ~/Applications/Atticus.app을 빌드하여 실행합니다. Atticus는 로그인 시 시작되며 이 위치에서 자체 업데이트가 이루어집니다 (설정(Settings) → 정보 및 업데이트(About & Updates)에서 비활성화할 수 있습니다).
Nix
Nix flakes를 활성화한 macOS 환경에서:
nix run github:SaarthurR/atticus-mac
이 플레이크는 표준 설치 프로그램을 실행하며, 업데이트에 Atticus가 사용하는 쓰기 가능한 클론을 유지하므로 macOS 26 이상 및 Apple의 명령줄 도구가 여전히 필요합니다. nix profile add github:SaarthurR/atticus-mac를 사용하면 atticus 런처가 설치되며, 이를 실행하여 앱을 설치하거나 업데이트할 수 있습니다.
코드 자체를 작업하고 싶다면? 레포지토리를 원하는 곳에 클론한 다음, 변경 사항이 있을 때마다 ./build.sh를 실행하세요. Python 회귀 테스트를 위한 Devbox 환경이 포함되어 있으므로 devbox shell을 실행한 후 devbox run test를 실행합니다.
최초 실행 시 설정 창이 열립니다. 여기서 AI 플랜을 확인하고, 각 macOS 권한에 대한 요청을 받게 됩니다.
그 후 Atticus는 메뉴 바에 상주하게 됩니다. Spotlight(⌘Space, "Atticus")에서 열어 설정(Settings): 단축키, 사운드, 모델, 속도, 화면, 메모리 및 사용량을 확인할 수 있습니다.
나중에 AI 클라이언트에서 로그아웃하면 설정 창이 자동으로 다시 나타납니다.
다시 보려면: 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 파일을 삭제합니다.
저를 지켜봐 주세요
“Codex가 끝났을 때 알려줘” 또는 “이 페이지에 shipped라고 나올 때까지 지켜봐 줘”라고 말하세요. Atticus는 한 번 설정해두면, AI 없이 Mac에서 5초마다 확인하기 때문에 기다리는 것이 무료입니다. 알림이 오면 받고, 요청한 후속 조치도 실행합니다. 이 데스크톱에는 창을 열어두어야 합니다(가려져 있어도 괜찮습니다). Codex와 같은 코딩 에이전트는 화면 자체가 아니라 자체 로그를 통해 모니터링됩니다. “지켜보는 거 멈춰”라고 말하면 취소할 수 있습니다.
예산 (Budget)
Atticus는 빠르고 거의 무료로 유지되어야 하므로, 새로운 기능은 이 제한 사항을 충족해야 합니다:
- 즉시 명령어: AI 사용 안 함, $0.
- AI 요청: 중앙값(median)이 $0.002 미만이고 지난 50회 동안 평균이 6초를 넘지 않아야 합니다 (2026년 10월 10일 기준: $0.00095, 5.0초).
python3 atticus.py --budget으로 확인하세요. - 시스템 프롬프트(System prompt): 모든 옵션을 켜고도 10,000자 미만이어야 합니다. 모든 요청은 비용을 지불하며, 테스트가 이를 강제합니다.
- 대기하거나 백그라운드에서 실행되는 모든 것: 기다리는 동안 $0입니다. AI는 설정하고 마지막에 행동하는 용도로만 사용됩니다.
사용 횟수 (Usage count)
Atticus는 하루에 한 번, 무작위 ID(Mac에서 생성되며 사용자에게 연결되지 않음)를 PostHog으로 전송하여 얼마나 많은 사람이 사용하는지 볼 수 있게 합니다. 이름, 요청 내용 또는 화면은 절대 보내지 않습니다. 설정(Settings) → 계정 및 접근(Account & Access)에서 저를 사용자 수에 포함하지 않도록 끌 수 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 개발 자료 HN · 56513d9a의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기