ovoment/ovo-local-llm
요약
OVO는 Mac 환경에서 로컬 LLM을 활용해 채팅, 코드 작성, RAG 및 미세 조정을 수행할 수 있는 온디바이스 AI 워크플로우 도구입니다. MLX 네이티브 지원을 통해 데이터 유출 걱정 없이 로컬에서 모델 블렌딩, 문서 파싱, 에이전트 기능을 실행할 수 있습니다.
핵심 포인트
- MLX 네이티브 지원으로 Mac 하드웨어 최적화
- RAG 및 문서 파싱(PPTX, HWP 등) 지원
- LoRA 미세 조정 및 모델 블렌딩 기능 제공
- Claude Code와 유사한 에이전트 및 MCP 서버 통합
- 완전한 로컬 실행으로 데이터 보안 보장
작업물을 클라우드로 전송하지 않고, 온디바이스(on-device)에서 채팅, 코드 및 로컬 모델 워크플로우를 실행하세요.
MLX 네이티브(MLX-native). Ollama/OpenAI API 호환. API 키 불필요.
playovo_small.mp4
문서 파싱(Document parsing) 및 RAG — kordoc을 통한 PPTX, HWP, HWPX 파싱. 스캔된 PDF를 위한 OCR 지원. 지식 베이스(Knowledge Base)가 관련 문서를 채팅 컨텍스트(context)에 자동으로 주입합니다.
LoRA 미세 조정(fine-tuning) — 데이터셋 생성, 학습, 어댑터 병합. 설정 가능한 rank/layers/epochs를 포함한 전체 mlx-lm 파이프라인을 제공합니다.
모델 블렌딩(Model blending) — SLERP, Linear, TIES 또는 DARE를 통해 동일한 아키텍처를 가진 두 모델을 병합합니다. 진행 상황 추적 GUI가 포함되어 있습니다.
Ping Pong 업그레이드 — 파일/코드/URL 첨부, 에디터 스타일의 코드 블록(어두운 배경 + 줄 번호), 긴 응답을 여러 개의 말풍선으로 자동 분할, 타이핑 인디케이터(typing indicator), 출력에서 사고 과정(thinking content) 제거.
기타 변경 사항 — 웹 검색은 명시적인 요청 시에만 실행됩니다. 설정 페이지가 카드 섹션으로 그룹화되었습니다. 파일 추출 제한이 200 KB로 상향되었습니다. 하드웨어 카드에 Mac 칩 이름이 표시됩니다.
Monaco 에디터 + 파일 탐색기 + Git 패널 + PTY 터미널 + AI 인라인 완성(inline completion). 우측의 에이전트 채팅(Agent Chat)은 파일 읽기/쓰기/검색/실행 도구 및 MCP 서버 통합 기능을 갖추고 있어, 단순히 설명하는 것을 넘어 실제로 작업을 수행할 수 있습니다. Claude Code와 유사하지만, 어떤 오픈 LLM을 사용하여 사용자의 Mac에서 실행됩니다.
네이티브 Ollama/OpenAI API 호환성, 스트리밍 응답, 페르소나 전환, 파일 첨부(PDF / Excel / Word / 이미지), 음성 입력 + TTS.
diffusers를 통한 로컬 텍text-to-image.
샘플러(Sampler) / 스텝(steps) / CFG / LoRA 제어.
BM25 + 시맨틱 검색(semantic search)이 적용된 큐레이션된 노트 + 자동 캡처된 세션 로그. 재시작 후에도 유지되는 컨텍스트.
~/.cache/huggingface/hub/ 및 LM Studio 캐시를 자동 감지하여 이미 보유하고 있는 모델이 바로 표시됩니다. URL에서 다운로드하거나 HuggingFace에서 직접 검색할 수 있습니다.
OVO는 모델에 구애받지 않습니다(model-agnostic). 출처별 추천 모델:
미국— Llama (Meta), Gemma (Google), Phi (Microsoft)
유럽— Mistral / Mixtral (Mistral AI, 프랑스)
아시아— Qwen (Alibaba), DeepSeek, GLM
모든 모델은 완전히 로컬에서 실행되며, 데이터는 사용자의 기기를 떠나지 않습니다.
사용자의 RAM / GPU / 컨텍스트 여유 공간(context headroom)에 맞춰 모든 모델의 점수를 매깁니다. 다운로드하기 전에 미리 확인하세요.
사용자의 코딩 상태에 반응하는 SVG 부엉이 아이콘입니다. 더블 클릭하면 메인 창이 나타납니다.
- Releases에서 최신 버전인
OVO_x.y.z_aarch64.dmg를
다운로드하세요. - DMG 파일을 열고
OVO.app을
Applications 바로가기로 드래그하세요. - 다시 DMG 창으로 돌아와
Install OVO.command를
더블 클릭하세요. 실행될 명령어가 정확히 무엇인지 보여주며, 클릭 후
Run을 누르면 완료됩니다.
이것으로 끝입니다 — 터미널(Terminal)이 필요하지 않습니다.
왜 세 번째 단계가 필요한가요? (클릭하여 확장)
OVO의 빌드는 아직 Apple Developer ID로 서명되지 않았습니다 (연간 $99 멤버십은 로드맵에 포함되어 있습니다 — Issues의 마일스톤을 확인하세요). 서명이 없으면 macOS는 앱에 com.apple.quarantine 플래그를 지정하고
- OVO를 실행합니다.
- Models로 이동하여 모델(Qwen3, Llama 3.3, Gemma, Mistral, DeepSeek, …)을 선택하고 다운로드를 클릭합니다. - Chat을 열고 메시지를 보내면 로컬 모델이 답변하며, 네트워크 호출은 발생하지 않습니다. - Code에서 프로젝트 폴더를 열어 IDE + Agent Chat을 사용합니다.
| Flavor | Port | Use case |
|---|---|---|
| Ollama | 11435 | Ollama 클라이언트(Open WebUI, Page Assist, …)를 위한 즉시 교체 가능한 대체제 |
| OpenAI | 11436 | 모든 OpenAI SDK를 http://localhost:11436/v1으로 지정 |
| Native | 11437 | OVO 전용 엔드포인트 — 모델 관리, Wiki, 스트리밍, 음성 |
OVO는 사용자의 로컬 Claude Code 설정을 읽을 수 있으므로 동일한 컨텍스트가 로컬 모델에 전달됩니다:
CLAUDE.md — 시스템 컨텍스트 (system context)로 주입됨
.claude/settings.json — 설정 사항 준수
.claude/plugins/** — 동작 힌트 (behaviour hints)
기본적으로 비활성화되어 있습니다. Settings → Claude Integration에서 켤 수 있습니다. OVO는 claude.ai, API 키, 세션 토큰 또는 Claude 계정에 영향을 줄 수 있는 그 어떤 것에도 절대 접근하지 않습니다.
git clone https://github.com/ovoment/ovo-local-llm.git
cd ovo-local-llm
# frontend + Rust 의존성 (deps)
...
릴리스 빌드: npm run tauri build
— Cargo 타겟 디렉토리 아래에 .app 및 .dmg를 생성합니다.
더 자세한 문서: docs/ARCHITECTURE.md · docs/ARCHITECTURE.en.md · docs/release/BUILD.md · docs/release/SECURITY.md · docs/release/PRIVACY.md
Shell— Tauri 2 (Rust)
Frontend— React 18 + TypeScript + Tailwind + shadcn/ui + Monaco
Sidecar— Python 3.12 FastAPI, Rust에 의해 생성됨, 번들된 uv로 부트스트랩된 사용자 캐시 venv
Runtimes— mlx-lm, mlx-vlm, mlx-whisper, transformers, diffusers
Storage— SQLite (채팅 + Wiki), 로컬 파일 시스템 (첨부 파일, 모델)
OVO는 1인 개발 프로젝트입니다. 커피 한 잔의 후원은 제가 패치하고 지원할 수 있는 모델 아키텍처를 하나 더 늘려줍니다.
MIT — 사용하고, 포크(fork)하고, 배포하세요.
Made with 🦉 by ben @ ovoment
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Codex tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기