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