Omi captures your screen and conversations, transcribes in real-time, generates summaries and action items, and gives you an AI chat that remembers everything you've seen and heard. Works on desktop, phone and wearables. Fully open source.
Trusted by 300,000+ professionals.
git clone https://github.com/BasedHardware/omi.git && cd omi/desktop && ./run.sh --yoloBuilds the macOS app, connects to the cloud backend, and launches. No env files, no credentials, no local backend.
Requirements: macOS 14+, Xcode (includes Swift & code signing), Node.js
Run Omi entirely on your Mac — no Firebase, no cloud services, no account required.
Prerequisites:
- Ollama installed and running (
brew install ollama && ollama serve) - A model downloaded:
ollama pull llama3(or any model you prefer)
One-command start:
cd desktop && ./run-local.shThat's it. The script will:
- Start the Rust backend on port 10201 (LOCAL_MODE=1)
- Start the Python backend on port 8080 (LOCAL_MODE=1)
- Skip Firebase auth, Firestore, GCS, Deepgram, and Pinecone entirely
- Route all AI through your local Ollama instance
Smoke test:
curl http://127.0.0.1:10201/v4/local/statusConfigure the local LLM — edit desktop/Backend-Rust/.env.local:
LOCAL_LLM_BASE_URL=http://localhost:11434/v1 # your Ollama endpoint
LOCAL_LLM_MODEL=llama3 # your model nameStop services:
./run-local.sh --stopFor troubleshooting, see desktop/Desktop/Sources/LocalDiagnosticsView.swift (built into the app's Settings → Troubleshooting panel when running in local mode).
Full Installation
For local development with the full backend stack:
- Install prerequisites
xcode-select --install
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh- Clone and configure
git clone https://github.com/BasedHardware/omi.git
cd omi/desktop
cp Backend-Rust/.env.example Backend-Rust/.env- Build and run
./run.shSee desktop/README.md for environment variables and credential setup.
cd app && bash setup.sh ios # or: bash setup.sh androidHow it works
┌─────────────────────────────────────────────────────────┐
│ Your Devices │
│ │
│ ┌──────────┐ ┌──────────────┐ ┌───────────────────┐ │
│ │ Omi │ │ macOS App │ │ Mobile App │ │
│ │ Wearable │ │ (Swift/Rust) │ │ (Flutter) │ │
│ └────┬─────┘ └──────┬───────┘ └────────┬──────────┘ │
│ │ BLE │ HTTPS/WS │ │
└───────┼────────────────┼───────────────────┼─────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────────────────────┐
│ Omi Backend (Python) │
│ │
│ ┌─────────┐ ┌──────────┐ ┌─────────┐ ┌──────────┐ │
│ │ Listen │ │ Pusher │ │ VAD │ │ Diarizer │ │
│ │ (REST) │ │ (WS) │ │ (GPU) │ │ (GPU) │ │
│ └─────────┘ └──────────┘ └─────────┘ └──────────┘ │
│ │
│ ┌─────────┐ ┌──────────┐ ┌─────────┐ ┌──────────┐ │
│ │ Deepgram│ │ Firestore│ │ Redis │ │ LLMs │ │
│ │ (STT) │ │ (DB) │ │ (Cache) │ │ (AI) │ │
│ └─────────┘ └──────────┘ └─────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────┘
| Component | Path | Stack |
|---|---|---|
| macOS app | desktop/ |
Swift, SwiftUI, Rust backend |
| Mobile app | app/ |
Flutter (iOS & Android) |
| Backend API | backend/ |
Python, FastAPI, Firebase |
| Firmware | omi/ |
nRF, Zephyr, C |
| Omi Glass | omiGlass/ |
ESP32-S3, C |
| SDKs | sdks/ |
React Native, Swift, Python |
| AI Personas | web/personas-open-source/ |
Next.js |
- App Development Guide
- Example Apps — GitHub, Slack, OmiMentor
- Audio Streaming Apps
- Custom Chat Tools
- Submit to App Store
- API Reference — REST endpoints for memories, conversations, action items
- Python SDK
- Swift SDK
- React Native SDK
- MCP Server — Model Context Protocol integration
Open-source AI wearables that pair with the mobile app for 24h+ continuous capture.
- Buy Omi
- Buy Omi Glass Dev Kit — ESP32-S3, camera + audio
- Open Source Hardware Designs
- Buying Guide
- Build the Device
- Flash Firmware
- Integrate Your Wearable
- Hardware Specs
MIT — see LICENSE





