apfel — Mac 내장 무료 AI 활용 도구
macOS 26 이상 Apple Silicon Mac에 포함된 Apple 온디바이스 LLM을 직접 활용할 수 있게 하는 오픈소스 도구. FoundationModels.framework 기반, OpenAI API 호환. 비용 0원, 데이터 유출 위험 없음.
개요
- Apple이 Siri와 시스템 기능에만 제한적으로 사용하던 FoundationModels.framework 기반 언어 모델을 CLI, HTTP 서버, 대화형 채팅 형태로 개방
- 100% 온디바이스 실행, 비용 0원, OpenAI API 호환성 제공
- Homebrew로 설치 가능, MIT 라이선스
성능 사양
- 약 30억 파라미터
- 4096 토큰 컨텍스트 윈도
- 2/4비트 혼합 정밀도 양자화
- Neural Engine 기반 실행
- 다국어 지원: 영어, 독일어, 스페인어, 프랑스어, 이탈리아어, 일본어, 한국어, 포르투갈어, 중국어
사용 방식
CLI 도구
$ apfel "What is the capital of Austria?"
# → The capital of Austria is Vienna.UNIX 스타일 명령행 도구로 stdin/stdout, JSON 출력, 파일 첨부, 정상 종료 코드 지원. jq, xargs, 셸 스크립트와 조합 가능.
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")대화형 채팅
$ apfel --chat -s "You are a coding assistant"멀티턴 대화, 자동 컨텍스트 관리, 시스템 프롬프트, 5가지 트리밍 전략 지원.
내부 구조
- Apple 내장 LLM을 FoundationModels.framework를 통해 직접 접근
- Swift 6.3 바이너리로 LanguageModelSession을 감싸 직접 접근 인터페이스 제공
- Hummingbird 기반 HTTP 서버 내장
- 4096 토큰 한계를 보완하기 위해 5가지 컨텍스트 트리밍 전략과 정확한 토큰 카운팅 기능 포함
- OpenAI Tool Schema를 Apple의 Transcript.ToolDefinition 형식으로 변환
포함된 보조 도구
| 도구 | 기능 |
|---|---|
cmd | 자연어를 셸 명령으로 변환 |
oneliner | 자연어로 awk, sed, sort, uniq 등 파이프라인 생성 |
mac-narrator | Mac 시스템 활동을 내레이션 형태로 설명 |
explain | 명령어나 코드 조각을 평문으로 해설 |
wtd | 현재 디렉터리의 코드베이스 요약 설명 |
gitsum | 최근 git 변경사항 요약 |
요구사항
- macOS 26 (Tahoe) 이상
- Apple Silicon Mac (M1/M2/M3+)
관련 링크
- 공식 사이트: https://apfel.franzai.com
- GeekNews: https://news.hada.io/topic?id=28178