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-narratorMac 시스템 활동을 내레이션 형태로 설명
explain명령어나 코드 조각을 평문으로 해설
wtd현재 디렉터리의 코드베이스 요약 설명
gitsum최근 git 변경사항 요약

요구사항

  • macOS 26 (Tahoe) 이상
  • Apple Silicon Mac (M1/M2/M3+)

관련 링크