apfel - Mac에 이미 내장된 무료 AI를 활용하게 해주는 도구
(apfel.franzai.com)- macOS 26 이상 Apple Silicon Mac에 포함된 Apple 온디바이스 LLM을 직접 활용할 수 있게 하는 오픈소스
- FoundationModels.framework 기반 모델을 CLI, HTTP 서버, 대화형 채팅 형태로 개방해 OpenAI API와 호환
- 모든 연산이 로컬에서 처리되어 비용 0원, 데이터 유출 위험 없음, 4096 토큰 컨텍스트와 다국어 지원 제공
- cmd, oneliner, explain, gitsum 등 다양한 보조 도구로 코드·명령어 요약과 자동화 기능 지원
- macOS에 이미 존재하는 Apple Intelligence 모델을 완전 개방해, 개발자가 자신의 하드웨어에서 독립적으로 AI를 실행할 수 있게 함
apfel 개요
- apfel은 macOS 26(Tahoe) 이상 버전의 Apple Silicon Mac에 내장된 Apple 온디바이스 LLM을 직접 사용할 수 있게 하는 도구
- Apple이 Siri와 시스템 기능에만 제한적으로 사용하던 FoundationModels.framework 기반 언어 모델을 CLI, HTTP 서버, 대화형 채팅 형태로 개방
- 100% 온디바이스 실행, 비용 0원, OpenAI API 호환성 제공
- Homebrew로 설치 가능하며, MIT 라이선스의 오픈소스로 배포
주요 특징
- 온디바이스 AI 활용: macOS에 포함된 LLM을 그대로 사용, 네트워크 호출이나 API 키 불필요
- 보안성: 모든 토큰이 로컬에서 처리되어 데이터가 외부로 전송되지 않음
-
성능 사양
- 약 30억 파라미터
- 4096 토큰 컨텍스트 윈도
-
2/4비트 혼합 정밀도 양자화
- Neural Engine 기반 실행
- 영어, 독일어, 스페인어, 프랑스어, 이탈리아어, 일본어, 한국어, 포르투갈어, 중국어 지원
사용 방식
-
CLI 도구
- UNIX 스타일 명령행 도구로, stdin/stdout, JSON 출력, 파일 첨부, 정상 종료 코드 지원
-
jq,xargs, 셸 스크립트와 조합 가능 - 예시:
$ apfel "What is the capital of Austria?" The capital of Austria is Vienna.
-
OpenAI 호환 서버
-
localhost:11434에서 OpenAI API 대체 서버로 동작 - Streaming(SSE), Tool Calling, CORS, response_format: json_object 등 지원
- OpenAI SDK의
base_url만 변경하면 동일 코드로 사용 가능 - 예시:
client = OpenAI(base_url="http://localhost:11434/v1", api_key="unused")
-
-
대화형 채팅
- 멀티턴 대화, 자동 컨텍스트 관리, 시스템 프롬프트, 5가지 트리밍 전략 지원
- 예시:
$ apfel --chat -s "You are a coding assistant" > How do I reverse a list in Python?
내부 구조
- Apple 내장 LLM을 FoundationModels.framework를 통해 직접 접근
- Apple이 Siri, Writing Tools 등에서만 사용하던 모델을 apfel은 Swift 6.3 바이너리로
LanguageModelSession을 감싸 직접 접근 인터페이스 제공 - Hummingbird 기반 HTTP 서버 내장
- 4096 토큰 한계를 보완하기 위해 5가지 컨텍스트 트리밍 전략과 정확한 토큰 카운팅 기능 포함
- OpenAI Tool Schema를 Apple의 Transcript.ToolDefinition 형식으로 변환
포함된 보조 도구
-
cmd
- 자연어를 셸 명령으로 변환
- 예:
"find all .log files modified today"→ 실제 명령 출력
-
oneliner
- 자연어로 awk, sed, sort, uniq 등의 파이프라인 생성
-
mac-narrator
- Mac의 시스템 활동을 내레이션 형태로 설명
-
explain
- 명령어나 코드 조각을 평문으로 해설
-
wtd
- 현재 디렉터리의 코드베이스를 요약 설명
-
gitsum
- 최근 git 커밋 요약 생성
OpenAI API 완전 호환성
- /v1/chat/completions, /v1/models 등 주요 엔드포인트 지원
- temperature, max_tokens, seed 등 매개변수 사용 가능
- 브라우저 클라이언트용 CORS 지원
- OpenAI SDK, LangChain, LlamaIndex 등과 동일 방식으로 연동 가능
GitHub 인기 및 배포
- 1,030개 스타, 27개 포크 기록
- 2026년 4월 3일 하루에 818개 스타 증가
- Apple, Google, VMware, NVIDIA, Grafana 소속 엔지니어들이 스타 표시
- 설치 명령:
$ brew install Arthur-Ficial/tap/apfel $ apfel "Hello, Mac!" - 소스 빌드 시 macOS 26.4 SDK 필요
확장 프로젝트
-
apfel-gui
-
SwiftUI 기반 macOS GUI
- Apple Intelligence와의 채팅, 요청/응답 로그, 음성 입출력 기능 제공
- 출시 예정
-
-
apfel-clip
-
클립보드 기반 AI 액션 도구
- 문법 수정, 번역, 코드 설명, 요약 등 기능을 메뉴바에서 원클릭 실행
- 개발 진행 중
-
기술 요약
- 하드웨어: Apple Silicon (Neural Engine + GPU)
- 모델: macOS 내장 Apple LLM
- SDK: FoundationModels.framework
- 언어: Swift 6.3, Xcode 불필요
- 라이선스: MIT
- 토큰 윈도: 4096 (입력+출력 합산)
- 모델 수: 고정 1개
핵심 가치
- macOS에 이미 존재하는 Apple Intelligence 모델을 완전 개방
- 비용 없는 로컬 AI 환경을 제공해 개발자와 사용자가 자신의 하드웨어에서 직접 AI를 실행할 수 있게 함
- 보안, 속도, 독립성을 모두 확보한 Mac 전용 오픈소스 AI 인터페이스
재미날거 같은데, 이상하게 한국어가 잘 안되는군요.
소스코드 받아서 코덱스랑 같이 뜯어보는데 파운데이션 모델 응답 자체가 한국어쪽이 이상하네요.
조금 더 트라이해볼건데, 혹시 성공하신 분들은 댓글로 알려주세요 ㅎ
Hacker News 의견들
-
모든 것을 로컬에서 실행하는 접근이 마음에 듦
프라이버시 측면에서 로컬 모델의 중요성이 점점 커질 것이라 생각함
사람들이 클라우드 모델에 너무 많은 맥락 정보를 넘겨서 사고가 나는 사례가 늘어날수록, 로컬 실행의 필요성은 더 강화될 것임- 이건 절반의 해결책에 불과함
모델이 폐쇄적으로 학습되면, 사용자가 원치 않는 가치관이 내재될 수 있음
예를 들어, 중국 오픈모델에 천안문 사건을 물어보면 검열된 답을 내놓는 식임
따라서 진짜 해결책은 검증 가능한 오픈 학습과 로컬 실행의 결합임 - 또 다른 관점으로, 신뢰할 수 없는 콘텐츠를 AI 서비스에 넘길 때 문제가 생김
웹 크롤링이나 스팸 탐지처럼 외부 데이터를 다루다 보면, ToS 위반이나 심지어 법 집행기관에 잘못 신고될 위험이 있음 - 혹시 암호화된 추론(encrypted inferencing) 서비스가 있는지 궁금함
일상 대화를 모델과 나눌 때 그 내용을 평문으로 서버에 보내고 싶지 않음
그래서 로컬 실행을 선호함 - HN 커뮤니티에서는 이런 논의가 활발하지만, 일반 사용자들은 프라이버시에 큰 관심이 없음
- 로컬이 프라이버시에는 최선이지만, 꼭 로컬만이 답은 아님
Anthropic, Google, OpenAI 등은 소비자용 AI 플랜에서 프라이버시를 포기했음
데이터 수집과 모더레이션이 이유임
하지만 AWS Nitro Enclaves 같은 암호학적 보증(cryptographic attestation) 기술을 활용하면, 클라우드에서도 충분히 개인 정보를 보호할 수 있음
- 이건 절반의 해결책에 불과함
-
Apple이 지속적으로 새 모델을 배포할 수 있을지가 핵심임
현재 모델은 Qwen-3-4B 수준으로, 1년 전 모델임
Apple Foundation Models 연구 페이지를 보면, 최신 Qwen-3.5-4B나 Gemma 4와는 격차가 큼
다운로드 없이 바로 쓸 수 있다는 점은 좋지만, 최신 모델을 쓰고 싶음- 사실 단순히 파일 다운로드 문제라서 Apple이 못할 이유는 없음
다만 Apple은 빠르게 움직이는 회사가 아니고, AI 기능을 제한된 영역(사진 보정, Siri 질문 등)에만 둘 가능성이 큼
개인적으로는 Apple Intelligence를 켜지 않아도 유용한 기능이 많음
- 사실 단순히 파일 다운로드 문제라서 Apple이 못할 이유는 없음
-
Apple 모델을 네트워크 서버 형태로 노출하는 프로젝트들을 봤음
문제는 이런 서버가 로컬 포트를 통해 브라우저 등 다른 앱에도 접근 가능하다는 점임
악성 웹페이지의 JavaScript가 그 포트로 명령을 보낼 수 있음
일부 프로젝트는 CORS까지 허용해서 더 위험함
Apfel 코드도 실험 전에 검토 중임- 기본 설정이 false라서 다행임
여전히 footgun 옵션이긴 하지만, 지금까지 본 것 중 가장 안전한 편임 - 대부분의 브라우저는 임의 웹사이트에서 127.0.0.1로 POST 요청을 막을 것임
그래서 실제 위협 모델이 뭔지 궁금함 - AI나 MCP 프로젝트에서 이런 보안 실수를 자주 봄
숙련된 엔지니어조차 이 공격 벡터를 간과함 - Bearer 토큰 인증 옵션이 있다는 점도 확인함
- 기본 설정이 false라서 다행임
-
최근 Claude 버그로 인해 토큰이 너무 빨리 소모돼서 다른 모델들을 써봤음
대부분 서로 대체 가능한 수준이었음
브랜드 충성도나 전환 비용이 낮은 시장이 어떻게 변할지 궁금함
로컬 LLM이 곧 실용적인 대안이 되길 바람- 실제로 모델 간 차별화가 거의 없음
그래서 OpenAI나 Meta가 감정적 연결(친구·연인형 챗봇) 전략으로 차별화를 시도하는 듯함
- 실제로 모델 간 차별화가 거의 없음
-
다른 스레드에서 보고 바로 설치해봄
LLM 테스트용 프롬프트로 “대만 9:30am은 미국 태평양 시간으로 몇 시인가”를 사용했는데,
결과가 전부 다르고 전부 틀림
Apfel CLI로 실행한 결과, 모델마다 11~13시간 차이를 제각각 계산함 -
이번 주 초부터 사용 중임
클라우드에서 돌리던 가격 예측 백테스트 툴을 로컬 모델로 비교했는데,
Apple 모델이 10회 중 6회에서 가장 정확했음
속도도 충분히 빨라서 전체 워크플로를 대체할 수 있을 듯함
Sonnet을 쓰면 월 수천 달러, DeepSeek은 수백 달러인데, 로컬은 거의 무료임
다만 다른 로컬 모델들은 속도나 정확도가 부족했음 -
“Apple이 Siri 뒤에 잠가둔 걸 Apfel이 풀어준다”는 표현은 과장된 마케팅 같음
실제로는 Apple Intelligence의 FoundationModels 프레임워크를 CLI와 REST API로 노출한 것임
또 “Neural Engine에서 실행된다”는 주장도 불확실함
테스트해보니 GPU(Metal)에서 동작했음 -
나는 Linux 사용자로, 같은 걸 원해서 직접 TalkType이라는 프로젝트를 만들었음
Whisper를 로컬에서 돌려 오프라인 음성 인식을 수행함
내 목소리를 서버로 보내고 싶지 않아서 처음부터 로컬 방식을 택했음
Mac에서도 이런 아이디어가 확산되는 게 반가움 -
오픈소스로 공개해줘서 고마움
macOS 15에서도 설치는 되지만 실행 시 중단돼서,
macOS 26(Tahoe) 이상에서만 설치되도록 PR을 올림 -
모든 앱과 브라우저에서 문법 오류를 밑줄로 표시하는 Grammarly 대체 엔진을 만들고 싶음
LLM조차 필요 없는 완전한 프라이버시 중심 도구가 될 것임- 정말 좋은 아이디어임
누군가 만든다면 꼭 써보고 싶음
- 정말 좋은 아이디어임