Skip to content
 
 

Repository files navigation

OVO — ovo-local-llm

Stars Downloads Release Issues Ko-fi License macOS 13+ Apple Silicon

🦉 Local Claude Code for Apple Silicon

AI coding agent + chat + image gen, zero cloud.
Run every open LLM locally — MLX, Transformers, VLM, Diffusion — with Ollama/OpenAI API compatibility.

🇰🇷 한국어 README


playovo_small.mp4

OVO chat

✨ Features at a glance

💬 Chat — every open LLM, one interface

Native Ollama/OpenAI API compatibility, streaming responses, session recents, persona switching, file attachments (PDF / Excel / Word / images), voice input + TTS with auto language detection.

💻 Code IDE — an agent with hands

OVO Code IDE

Monaco editor + file explorer + Git panel + PTY terminal + AI inline completion. The Agent Chat on the right gets file read/write/search/exec tools and MCP server integration — it can actually do the work, not just describe it.

🖼️ Image generation — diffusion on your laptop

OVO image generation

Local text-to-image via diffusers. Sampler / steps / CFG / LoRA controls. Styled presets for the 90% case.

📚 Wiki — persistent knowledge across sessions

OVO wiki

Curated notes + auto-captured session logs with BM25 + semantic search. Your local models can query the wiki to stay on-context across restarts.

🤖 Models — HuggingFace-native, zero re-downloads

OVO models tab

Auto-detects ~/.cache/huggingface/hub/ + LM Studio cache so models you already have just show up. Tier badges (Supported / Experimental), tok/s benchmarks, vision/audio capability flags.

🧭 Hardware fit — pick a model that actually runs

OVO hardware fit

Scores every model against your RAM / GPU / context headroom. Sorts recommendations by real performance on your machine, not marketing claims.

🦉 Desktop mascot

Owl — thinking    Owl — idle

An SVG owl that sits on your desktop and reacts to your coding state (idle / thinking / typing / happy). Double-click to summon the main window.

📦 Install

  1. Download the latest OVO_x.y.z_aarch64.dmg from Releases.
  2. Open the DMG and drag OVO.app onto the Applications shortcut.
  3. Back in the DMG window, double-click Install OVO.command. It shows you exactly the one command it will run, you click Run, done.

That's it — no Terminal required.

Why the third step? (click to expand)

OVO's build is not yet signed with an Apple Developer ID (the $99/yr membership is on the roadmap — see the milestone in Issues). Without a signature, macOS flags the app with com.apple.quarantine and refuses to launch it with the classic "OVO is damaged and can't be opened" dialog.

Install OVO.command runs a single command to clear that flag:

xattr -rd com.apple.quarantine /Applications/OVO.app

No sudo, no network, no background processes. The script is short and auditable — read it here before running: scripts/dmg-templates/Install OVO.command

Prefer to do it by hand?
xattr -rd com.apple.quarantine /Applications/OVO.app
open /Applications/OVO.app

If your /Applications/OVO.app happens to be owned by root (rare on recent macOS), prefix with sudo.

First launch bootstraps a Python runtime into ~/Library/Application Support/com.ovoment.ovo/runtime/ (≈1.5 GB, ~3 min, one-time). Subsequent launches are instant.

System requirements

  • macOS 13+ on Apple Silicon (M1 / M2 / M3 / M4). Intel Macs are not supported.
  • 16 GB RAM minimum (7B models); 32 GB+ recommended for 14B and above.
  • 10 GB free disk for runtime + a couple of models.

🚀 Quick start

  1. Launch OVO.
  2. Go to Models, pick a model (Qwen3, Llama 3.3, Gemma, Mistral, DeepSeek, …), click download.
  3. Open Chat and send a message — the local model answers, no network calls.
  4. Open a project folder in Code to use the IDE + Agent Chat.

🔌 API compatibility

Flavor Port Use case
Ollama 11435 Drop-in replacement for Ollama clients (Open WebUI, Page Assist, …)
OpenAI 11436 Point any OpenAI SDK at http://localhost:11436/v1
Native 11437 OVO-specific endpoints — model management, Wiki, streaming, voice

🤝 Claude Code integration (opt-in)

OVO can read your local Claude Code config so the same context reaches your local model:

  • CLAUDE.md — injected as system context
  • .claude/settings.json — preferences honoured
  • .claude/plugins/** — behaviour hints

Disabled by default. Flip it on in Settings → Claude Integration. OVO never touches claude.ai, API keys, session tokens, or anything that could affect your Claude account.

🛠️ Development

git clone https://github.com/ovoment/ovo-local-llm.git
cd ovo-local-llm

# frontend + Rust deps
npm install

# Python sidecar venv (dev uses $HOME cache, avoids SMB locks)
cd sidecar && uv sync && cd ..

# run the full stack in dev mode
npm run tauri dev

Release build: npm run tauri build — produces .app + .dmg under your Cargo target dir.

Deeper docs: docs/ARCHITECTURE.md · docs/ARCHITECTURE.en.md · docs/release/BUILD.md · docs/release/SECURITY.md · docs/release/PRIVACY.md

🧱 Architecture

  • Shell — Tauri 2 (Rust)
  • Frontend — React 18 + TypeScript + Tailwind + shadcn/ui + Monaco
  • Sidecar — Python 3.12 FastAPI, spawned by Rust, user-cached venv bootstrapped with a bundled uv
  • Runtimesmlx-lm, mlx-vlm, mlx-whisper, transformers, diffusers
  • Storage — SQLite (chats + Wiki), local filesystem (attachments, models)

☕ Support

OVO is a solo-developer project. Every coffee funds one more model architecture I can patch and support.

Support me on Ko-fi

📜 License

MIT — use it, fork it, ship it.

OVO about

Made with 🦉 by ben @ ovoment

About

Local Claude Code for Apple Silicon — AI coding agent + chat + image gen, zero cloud. MLX · Ollama/OpenAI API compatible.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages