# apfel - Mac에 이미 내장된 무료 AI를 활용하게 해주는 도구

> Clean Markdown view of GeekNews topic #28178. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=28178](https://news.hada.io/topic?id=28178)
- GeekNews Markdown: [https://news.hada.io/topic/28178.md](https://news.hada.io/topic/28178.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-04-04T09:36:49+09:00
- Updated: 2026-04-04T09:36:49+09:00
- Original source: [apfel.franzai.com](https://apfel.franzai.com)
- Points: 33
- Comments: 5

## Summary

macOS에 이미 내장되어 있는 **Apple 온디바이스 LLM**을 CLI와 HTTP 서버로 열어주는 오픈소스 도구입니다. Apple이 Siri와 시스템 기능에만 묶어뒀던 **30억 파라미터 모델**을 직접 쓸 수 있게 해주는데요. **OpenAI API 호환**이라 기존 코드에서 `base_url`만 바꾸면 되고, 모든 연산이 로컬에서 처리되니 **비용 0원에 데이터 유출 걱정도 없습니다**. 다만 한국어는 아직 불안정합니다. 가드레일이 이상하게 걸려서 엉뚱한 답변이 나오는 경우가 있는데, 시스템 프롬프트에 한국어 응답을 명시하면 개선되긴 합니다. 컨텍스트도 4096 토큰으로 작고 성능 자체가 가벼운 모델이라 **복잡한 작업보다는 간단한 명령어 생성이나 요약 용도**로 보는 게 맞겠습니다. Apple Silicon Mac 사용자라면 Homebrew로 바로 설치해볼 수 있습니다.

## Topic Body

- 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`, 셸 스크립트와 조합 가능  
  - 예시:  
    ```bash  
    $ 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`만 변경하면 동일 코드로 사용 가능  
  - 예시:  
    ```python  
    client = OpenAI(base_url="http://localhost:11434/v1", api_key="unused")  
    ```  
- ## 대화형 채팅  
  - **멀티턴 대화**, **자동 컨텍스트 관리**, **시스템 프롬프트**, **5가지 트리밍 전략** 지원  
  - 예시:  
    ```bash  
    $ 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 소속 엔지니어들이 스타 표시  
- 설치 명령:  
  ```bash  
  $ 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 인터페이스**

## Comments



### Comment 54623

- Author: xguru
- Created: 2026-04-04T10:41:27+09:00
- Points: 3

재미날거 같은데, 이상하게 한국어가 잘 안되는군요.   
소스코드 받아서 코덱스랑 같이 뜯어보는데 파운데이션 모델 응답 자체가 한국어쪽이 이상하네요.  
조금 더 트라이해볼건데, 혹시 성공하신 분들은 댓글로 알려주세요 ㅎ

### Comment 54634

- Author: xguru
- Created: 2026-04-04T15:21:09+09:00
- Points: 2
- Parent comment: 54623
- Depth: 1

> apfel "Currywurst 레시피를 알려줘"  
> error: [guardrail] The request was blocked by Apple's safety guardrails. Try rephrasing.  
  
어라 안되나 ? 했는데 이건 됩니다  
  
> apfel "김치찌개 레시피를 알려줘"  
> 김치찌개는 한국의 전통적인 찌개 요리 중 하나로, 간단하면서도 깊은 맛을 즐길 수 있는 요리입니다. 아래는 김치찌개 레시피입니다:...  
  
> apfel "안녕. 김치찌개에 대해서 알려줄래?"  
> 안녕하세요! 김치찌개는 한국의 대표적인 국물 요리 중 하나로, 김치와 고기를 사용하여 만듭니다. 김치찌개는 일반적으로 돼지고기, 소고기 또는 닭고기를 넣어 다양한 맛이 어우러지는 깊은 국물을 끓입니다. 여기에 각종 채소와 양념을 더해 깊은 맛을 더합니다.  
  
> apfel "안녕? 너 한국어 할수 있니?" 나 apfel "오스트리아의 수도에 대해서 알려줄래?"   
이런 질문에 대해서는 아래와 같은 앵무새 답변을 합니다  
> Apple 웹사이트에서 지능형 기능에 대해 알아볼 수 있습니다.  
  
뭔가 가드레일이 이상하게 잡혀있나 봅니다.

### Comment 54635

- Author: xguru
- Created: 2026-04-04T15:37:19+09:00
- Points: 2
- Parent comment: 54634
- Depth: 2

이거 대화한 내용 기반으로 Codex에게 수정하게 했더니 살짝 수정해서 잘 되네요   
  
"질문의 요구를 그대로 따르되, 별도 지정이 없으면 한국어로 직접 답하세요."   
  
아답터를 하나 둬서 저런 지능형 기능 답변이 나오면 위 프롬프트를 추가로 하면 답이 잘 나옵니다. 뭔가 아직 불완전 한가봐요  
  
> apfel "안녕? 너 한국어 할수 있니?"  
> 안녕하세요! 네, 한국어도 할 수 있어요. 어떻게 도와드릴까요?  
  
> apfel "오스트리아의 수도에 대해서 알려줄래?"  
> 오스트리아의 수도는 빈입니다. 빈은 오스트리아의 정치, 문화, 경제의 중심지로 알려져 있습니다.

### Comment 54664

- Author: ilotoki0804
- Created: 2026-04-05T06:06:46+09:00
- Points: 1

일단 사용해보기 전까지는 ollama같은 다른 로컬 llm을 돌릴 수 있는 툴들과 비교했을 때 어떤 장점이 있을지 좀 의문이 들었는데 실제로 직접 사용해보니 할루시네이션도 심하고 좀 멍청하네요.  
다만 다른 로컬 llm 툴들은 GPU를 활용해서 강력한 대신 리소스를 많이 잡아먹지만, 이 모델의 경우에는 상대적으로 리소스도 적게 잡아먹고  뉴럴 엔진을 잘 활용해서 전력도 적게 사용한다는 점에서 이점이 있는 것 같습니다.  
애플 인텔리전스 자체가 모바일 기기를 포함한 다양한 기기에서 가벼운 AI를 돌린다는 컨셉인 것으로 알고 있는데 그 컨셉에는 잘 맞는 것이 아닌가 싶습니다.  
그 대신 아무리 경량 모델이어도 성능이 이것보다는 더 좋아야 조금이라도 더 유용하게 사용할 수 있지 않을까 싶습니다. 지금은 너무 멍청해요.

### Comment 54618

- Author: neo
- Created: 2026-04-04T09:36:50+09:00
- Points: 1

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=47624645) 
- 모든 것을 **로컬에서 실행**하는 접근이 마음에 듦  
  프라이버시 측면에서 로컬 모델의 중요성이 점점 커질 것이라 생각함  
  사람들이 클라우드 모델에 너무 많은 **맥락 정보**를 넘겨서 사고가 나는 사례가 늘어날수록, 로컬 실행의 필요성은 더 강화될 것임
  - 이건 절반의 해결책에 불과함  
    모델이 **폐쇄적으로 학습**되면, 사용자가 원치 않는 가치관이 내재될 수 있음  
    예를 들어, 중국 오픈모델에 천안문 사건을 물어보면 검열된 답을 내놓는 식임  
    따라서 진짜 해결책은 **검증 가능한 오픈 학습**과 **로컬 실행**의 결합임
  - 또 다른 관점으로, 신뢰할 수 없는 콘텐츠를 AI 서비스에 넘길 때 문제가 생김  
    웹 크롤링이나 스팸 탐지처럼 외부 데이터를 다루다 보면, **ToS 위반**이나 심지어 법 집행기관에 잘못 신고될 위험이 있음
  - 혹시 **암호화된 추론(encrypted inferencing)** 서비스가 있는지 궁금함  
    일상 대화를 모델과 나눌 때 그 내용을 평문으로 서버에 보내고 싶지 않음  
    그래서 로컬 실행을 선호함
  - HN 커뮤니티에서는 이런 논의가 활발하지만, 일반 사용자들은 **프라이버시**에 큰 관심이 없음
  - 로컬이 프라이버시에는 최선이지만, 꼭 로컬만이 답은 아님  
    Anthropic, Google, OpenAI 등은 소비자용 AI 플랜에서 프라이버시를 포기했음  
    데이터 수집과 **모더레이션**이 이유임  
    하지만 AWS Nitro Enclaves 같은 **암호학적 보증(cryptographic attestation)** 기술을 활용하면, 클라우드에서도 충분히 개인 정보를 보호할 수 있음  

- Apple이 지속적으로 **새 모델을 배포**할 수 있을지가 핵심임  
  현재 모델은 Qwen-3-4B 수준으로, 1년 전 모델임  
  [Apple Foundation Models 연구 페이지](https://machinelearning.apple.com/research/apple-foundation-...)를 보면, 최신 Qwen-3.5-4B나 Gemma 4와는 격차가 큼  
  다운로드 없이 바로 쓸 수 있다는 점은 좋지만, 최신 모델을 쓰고 싶음
  - 사실 단순히 파일 다운로드 문제라서 Apple이 못할 이유는 없음  
    다만 Apple은 빠르게 움직이는 회사가 아니고, **AI 기능을 제한된 영역**(사진 보정, Siri 질문 등)에만 둘 가능성이 큼  
    개인적으로는 Apple Intelligence를 켜지 않아도 유용한 기능이 많음  

- Apple 모델을 네트워크 서버 형태로 노출하는 프로젝트들을 봤음  
  문제는 이런 서버가 **로컬 포트**를 통해 브라우저 등 다른 앱에도 접근 가능하다는 점임  
  악성 웹페이지의 JavaScript가 그 포트로 명령을 보낼 수 있음  
  일부 프로젝트는 CORS까지 허용해서 더 위험함  
  Apfel 코드도 실험 전에 검토 중임
  - 기본 설정이 false라서 다행임  
    여전히 **footgun 옵션**이긴 하지만, 지금까지 본 것 중 가장 안전한 편임  
  - 대부분의 브라우저는 임의 웹사이트에서 127.0.0.1로 POST 요청을 막을 것임  
    그래서 실제 **위협 모델**이 뭔지 궁금함  
  - AI나 MCP 프로젝트에서 이런 보안 실수를 자주 봄  
    숙련된 엔지니어조차 이 공격 벡터를 간과함  
  - Bearer 토큰 인증 옵션이 있다는 점도 확인함  

- 최근 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을 올림](https://github.com/Arthur-Ficial/homebrew-tap/pull/1)  

- 모든 앱과 브라우저에서 **문법 오류를 밑줄로 표시**하는 Grammarly 대체 엔진을 만들고 싶음  
  LLM조차 필요 없는 완전한 **프라이버시 중심** 도구가 될 것임
  - 정말 좋은 아이디어임  
    누군가 만든다면 꼭 써보고 싶음
