omi Documentation

AI that sees your screen, listens to your conversations and tells you what to do

13,146 stars Dart Dart 1 file Β· ~10,200 tokens #ai#app#bci#c#flutter#friend#mobile#necklace
RAW Doc

File: README.md

Quick Start

macOS

sh
git clone https://github.com/BasedHardware/omi.git && cd omi/desktop/macos && ./run.sh --yolo

Builds 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

Windows

powershell
git clone https://github.com/BasedHardware/omi.git
cd omi\desktop\windows
npm install
copy .env.example .env
npm run dev

Starts the Windows desktop app from source using the public config in .env.example.

Requirements: Node.js

For development worktrees, run the baseline local setup once. It installs the Git hooks and syncs the pinned backend Python environment used by selected pre-push checks; mobile and desktop runtime environments remain opt-in.

bash
make setup

Full Installation

For local development with the full backend stack:

  1. Install prerequisites
bash
xcode-select --install
uv --version
  1. Clone and configure
bash
git clone https://github.com/BasedHardware/omi.git
cd omi/desktop/macos
cp ../../backend/.env.example ../../backend/.env
  1. Build and run
bash
./run.sh

See desktop/macos/README.md for environment variables and credential setup.

Mobile App

bash
cd app && bash setup.sh ios    # or: bash setup.sh android

How it works

text
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      Your Devices                       β”‚
β”‚                                                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚ Omi      β”‚  β”‚ macOS App    β”‚  β”‚ Mobile App        β”‚  β”‚
β”‚  β”‚ Wearable β”‚  β”‚ (Swift/Python) β”‚  β”‚ (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/macos/ Swift, SwiftUI, Python desktop 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/ Device (Python/Swift/RN + multi-lang protocol)
AI Personas web/personas-open-source/ Next.js

Documentation

Getting Started

Building Apps

API & SDKs

Architecture

Omi Hardware

Open-source AI wearables that pair with the mobile app for 24h+ continuous capture.

License

MIT β€” see LICENSE


File: docs/README.md

Mintlify Starter Kit

Click on Use this template to copy the Mintlify starter kit. The starter kit contains examples including

  • Guide pages
  • Navigation
  • Customizations
  • API Reference pages
  • Use of popular components

/Development

Install the Mintlify CLI to preview the documentation changes locally. To install, use the following command

text
npm i mintlify

Run the following command at the root of your documentation (where docs.json is)

text
mintlify dev

Publishing Changes

Install our Github App to auto propagate changes from your repo to your deployment. Changes will be deployed to production automatically after pushing to the default branch. Find the link to install on your dashboard.

Troubleshooting

  • Mintlify dev isn't running - Run mintlify install it'll re-install dependencies.
  • Page loads as a 404 - Make sure you are running in a folder with docs.json