
LocalClicky
LocalClicky는 로컬 Whisper 전사, 로컬 Ollama LLM (비전 포함) 및 PyAutoGUI를 사용하여 Mac을 제어하고, 커서를 이동/클릭하며, 데이터를 클라우드로 보내지 않고 명령을 실행하는 완전히 오프라인 macOS 음성 비서입니다.
https://github.com/dikshantrajput/LocalClicky?ref=producthunt&utm_source=aipure

제품 정보
업데이트됨:Jun 8, 2026
LocalClicky이란?
LocalClicky는 macOS용 오픈 소스 메뉴바 앱으로, 음성, 스크린샷 및 명령을 전적으로 기기 내에 유지하면서 음성으로 컴퓨터를 제어할 수 있습니다. 클라우드 음성 비서의 개인 정보 보호 우선 대안으로 설계되었습니다. API 키, 구독, 전사 또는 추론을 위한 외부 클라우드 처리가 필요 없습니다. 앱 열기 및 종료, 시스템 설정 조정, Spotify 제어, 파일 관리, 셸 명령 실행, 미리 알림 생성, 심지어 비전 기반 클릭을 통해 화면 UI 요소와 상호 작용하는 데 사용할 수 있습니다. 이 모든 것이 방해가 되지 않는 가벼운 메뉴바 존재감으로 가능합니다.
LocalClicky의 주요 기능
LocalClicky는 오프라인 우선 macOS 메뉴바 음성 비서로, 음성, 스크린샷 및 명령 컨텍스트를 장치에 유지하면서 음성 명령으로 Mac을 제어할 수 있습니다. 로컬 전사를 위해 whisper.cpp를 사용하고, 추론 및 화면 이해를 위해 Ollama(예: 도구 호출용 qwen3 및 비전용 gemma4)를 사용하며, 앱 열기, 파일 관리, Spotify 제어, 미리 알림 생성, 화면의 UI 요소 클릭과 같은 작업을 실행하기 위해 macOS/Python 자동화(AppleScript, 셸, PyAutoGUI)를 사용합니다. 음성 활동 감지, 선택적 온디맨드 화면 "비전" 및 단기 대화 메모리를 통해 세션 기반의 다단계 워크플로를 지원합니다.
완전한 로컬 처리(개인 정보 보호 우선): 전사(whisper.cpp), 추론/비전(Ollama 모델) 및 실행은 사용자 장치에서 이루어집니다. 핵심 기능에 클라우드 API, API 키 및 구독이 필요하지 않습니다.
세션 모드를 지원하는 메뉴바 동반자: 메뉴바 앱으로 조용히 실행되며(Dock 아이콘 없음) 세션을 시작하기 위해 깨우기 문구("컴퓨터")를 지원한 다음, 사용자가 해제하거나 시간이 초과될 때까지 연속 명령을 수락합니다.
음성 활동 감지(VAD) 녹음: 말하기를 멈추면 자동으로 녹음을 중지하여(webrtcvad 사용) 고정 길이 녹음을 피하고 명령 처리 시간을 단축합니다.
온디맨드 화면 비전 + UI 클릭: 필요할 때 스크린샷을 캡처하고, 비전 모델을 사용하여 UI 요소를 찾고, "알림 벨 클릭"과 같은 작업을 위해 경계 상자를 사용하여 커서를 이동/클릭합니다.
도구 기반 Mac 자동화: 셸 명령을 실행하고, 시스템 상태를 쿼리하고, AppleScript(예: Spotify/Chrome)를 통해 앱을 자동화하고, 파일을 관리하고, 자연어에서 미리 알림을 만들 수 있습니다.
확인 기능이 있는 다중 라운드 도구 호출: 다단계 워크플로(최대 여러 도구 라운드)를 수행하고, 결과를 확인하고, 작업을 더 안정적으로 완료하기 위해 작업을 확인하거나 재시도할 수 있습니다.
LocalClicky의 사용 사례
지식 근로자를 위한 핸즈프리 생산성: 현재 작업에 집중하면서 음성으로 앱을 열고 닫고, 탭을 관리하고, 시스템 설정을 조정하고, 미리 알림을 만들고, 빠른 워크플로를 실행합니다.
접근성 및 마우스 사용 감소: 지속적인 수동 탐색 없이 커서 이동/클릭 및 일반적인 OS/앱 작업을 가능하게 하여 음성 기반 제어의 이점을 얻는 사용자에게 도움이 됩니다.
워크스테이션의 개발자 및 IT 자동화: 민감한 환경을 위해 셸 명령을 트리거하고, 시스템 정보를 쿼리하고, 파일을 관리하고, 음성을 통해 일상적인 설정/진단을 오케스트레이션합니다. 이 모든 것이 로컬에서 이루어집니다.
창의적인 소프트웨어 안내 및 UI 탐색: 화면 인식 포인팅/클릭을 사용하여 복잡한 UI(예: 디자인/비디오 도구)를 탐색하고 반복적인 인터페이스 작업을 더 빠르게 실행합니다.
개인 정보 보호에 민감한 워크플로(규제 또는 기밀): 전사 및 비전이 로컬에서 실행될 수 있고 클라우드 키가 필요하지 않으므로 화면/오디오 데이터가 장치를 벗어나서는 안 되는 시나리오에 적합합니다.
장점
개인 정보 보호 우선: 음성, 스크린샷 및 명령은 장치에 유지되도록 설계되었습니다(핵심 파이프라인에 클라우드 API 없음).
광범위한 Mac 제어: 음성 전사, 로컬 LLM 도구 호출 및 자동화(셸/AppleScript/PyAutoGUI)를 결합하여 실용적인 작업을 수행합니다.
세션 기반 상호 작용: 깨우기 단어를 반복하지 않고 연결된 명령을 지원하여 다단계 작업의 유용성을 향상시킵니다.
단점
깨우기 단어 감지는 인터넷이 필요하므로(Google 음성 인식을 사용) 기본적으로 완전히 오프라인으로 작동하지 않습니다.
macOS 권한(마이크, 화면 녹화, 접근성)이 필요하며, 이는 관리되는 환경에서 설정 장애물이 될 수 있습니다.
비전 기반 클릭은 모델/UI에 따라 부정확할 수 있으며, 복잡한 작업은 도구 라운드 제한에 도달할 수 있습니다.
LocalClicky 사용 방법
1) 요구 사항 확인: macOS 12+, Python 3.11+, Homebrew, 충분한 여유 RAM(~8GB 이상)을 사용하세요. 또한 Ollama가 로컬에서 실행 중이어야 합니다. 참고: 기본 웨이크 워드 감지는 Google 음성 인식을 사용하므로 웨이크 워드 기능을 사용하려면 인터넷 연결이 필요합니다.
2) Whisper.cpp 설치 (로컬 전사): 실행: `brew install whisper-cpp`
3) Whisper 모델 파일 다운로드: 실행:
`mkdir -p /opt/homebrew/share/whisper-cpp/models`
`curl -L -o /opt/homebrew/share/whisper-cpp/models/ggml-base.en.bin "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.en.bin"`
4) Ollama 설치 (로컬 LLM + 비전): 실행: `brew install ollama`
5) Ollama 서버 시작: 실행: `ollama serve` (계속 실행 상태로 두세요).
6) 기본 LocalClicky 모델 가져오기: 실행:
`ollama pull qwen3:8b` (명령/도구 호출 모델)
`ollama pull gemma4:e4b` (화면 이해에 사용되는 비전 모델)
7) Python 환경 설정: 리포지토리에서 앱 폴더로 이동하여 venv를 생성합니다:
`cd PyClicky`
`python3 -m venv venv`
`source venv/bin/activate`
`pip install -r requirements.txt`
8) (선택 사항) 더 나은 녹음 중지 동작을 위한 무음 감지 설치: 말하기를 멈추면 녹음이 자동으로 중지되도록 VAD를 설치합니다:
`pip install webrtcvad-wheels`
이것이 없으면 녹음은 30초의 하드캡으로 대체됩니다.
9) LocalClicky 실행: `PyClicky/`에서 venv가 활성화된 상태로:
`source venv/bin/activate`
필요한 경우 백그라운드에서 Ollama를 시작합니다: `ollama serve &`
그런 다음 실행: `python main.py`
LocalClicky는 macOS 메뉴바에 나타납니다 (Dock 아이콘 없음).
10) macOS 권한 부여 (일회성): venv Python 바이너리 (`/path/to/PyClicky/venv/bin/python3`) 또는 터미널 (Python이 권한을 상속하도록)에 권한을 부여합니다:
- 마이크: 첫 실행 시 프롬프트
- 화면 기록: 시스템 설정 → 개인 정보 보호 및 보안 → 화면 기록
- 손쉬운 사용: 시스템 설정 → 개인 정보 보호 및 보안 → 손쉬운 사용
이것들은 음성 입력, 비전을 위한 스크린샷, 커서/클릭 제어에 필요합니다.
11) 음성 세션 시작 (웨이크 워드): 세션을 시작하려면 “Computer”라고 말하세요. LocalClicky는 녹음을 시작하고, 말하기를 멈추면 자동으로 중지되며 (VAD가 설치된 경우), 로컬에서 전사하고 응답합니다.
12) 웨이크 워드를 반복하지 않고 명령 계속 발행: 응답 후 LocalClicky는 활성 세션 상태를 유지하며 다음 명령을 즉시 듣습니다 (다시 “Computer”라고 말할 필요가 없습니다).
13) 화면 인식 명령 사용 (비전 + 커서 제어): UI 요소와 상호 작용하도록 요청합니다. 예: “Click the notification bell.” LocalClicky는 스크린샷을 찍고 (`screencapture`를 통해), 로컬 비전 모델로 보내고, 경계 상자를 받아 PyAutoGUI를 사용하여 중앙을 클릭합니다.
14) 일반적인 예제 명령 시도: 프로젝트의 예시:
- “Open Spotify and play hip hop”
- “Set volume to 50 percent”
- “Open a new tab in Chrome”
- “Make a folder called Projects on my Desktop”
- “What’s on my screen?”
- “Create a reminder to call John tomorrow at 9am”
15) 세션 종료: “bye”, “goodbye”, “stop listening”, “go to sleep”, 또는 “that’s all”이라고 말하세요. 세션은 또한 약 25초의 무음 후 자동으로 만료됩니다 (기본값).
16) (선택 사항) 모델 사용자 지정: `PyClicky/ollama_client.py` 편집:
- `COMMAND_MODEL = "qwen3:8b"`
- `VISION_MODEL = "gemma4:e4b"`
그런 다음 `ollama pull ...`을 통해 선택한 새 모델을 가져옵니다.
17) (선택 사항) 웨이크 워드 및 시간 초과 사용자 지정: 편집:
- `PyClicky/wake_word.py` → `WAKE_PHRASES = [...]`
- `PyClicky/companion.py` → `SESSION_IDLE_TIMEOUT = 25.0`
18) 문제가 발생하면 빠르게 문제 해결: 일반적인 해결 방법:
- 웨이크 워드가 트리거되지 않음: 웨이크 워드는 Google 음성 인식을 사용합니다. 인터넷 연결을 확인하고 `heard:`에 대한 로그를 확인하세요.
- 스크린샷 실패: 화면 기록 권한을 부여합니다. `screencapture -x -t jpg /tmp/test.jpg`를 테스트합니다.
- 커서가 움직이지 않음: 손쉬운 사용 권한을 부여합니다.
- 녹음이 멈추지 않음: `webrtcvad-wheels`를 설치합니다.
- Ollama 오류: `ollama list`로 모델이 존재하는지 확인하고 `ollama serve`를 다시 시작합니다.
LocalClicky 자주 묻는 질문
LocalClicky는 모든 것을 오프라인으로 유지하면서 음성으로 Mac을 제어할 수 있게 해주는 macOS 메뉴바 앱입니다. 로컬 전사(Whisper.cpp), 로컬 AI 추론/비전(qwen3 및 gemma4와 같은 Ollama 모델), macOS 내장 텍스트 음성 변환(`say`), 커서/클릭 제어를 위한 PyAutoGUI를 사용합니다.











