I rebuilt Siri AI from scratch and open sourced it Developer wassgha released OpenDex, an open-source desktop app that turns any LLM into a hands-free voice assistant with a cinematic interface. The app supports fully offline operation on Mac with Apple Intelligence and offers customizable models, voice engines, and themes. A voice-first, open-source AI assistant for your desktop. Wake it, talk to it, and a tool-using agent talks back โ€” in a cinematic interface you choose. Or browse every version on the Releases https://github.com/wassgha/opendex/releases page. The app auto-updates : it checks GitHub Releases on launch and hourly , downloads new versions in the background, and prompts you to restart when one is ready. OpenDex is a desktop app that turns any LLM into a hands-free, Iron-Man-style voice assistant . Say the wake word or push to talk , speak naturally, and the agent thinks, uses tools, and replies out loud โ€” streaming its answer into a live visualization. It's a harness , not a single bot: the model, the voice, the wake/transcription engines, the on-screen theme, the greeting, and the agent's skills are all configurable, and it can run fully offline and free local speech in, local speech recognition, system voice out โ€” and on a Mac with Apple Intelligence, even the model runs on-device, so the whole loop is free with no key. - ๐ŸŽ™๏ธ Voice-first loop โ€” wake word โ†’ listen โ†’ think with tools โ†’ speak, plus natural follow-ups and opt-in barge-in interrupt mid-reply . - ๐Ÿง  Bring any model โ€” pick your provider in setup: Apple Intelligence on-device, free, no key โ€” macOS , your own OpenAI or Anthropic key, or the Vercel AI Gateway one key โ†’ Claude, GPT, Gemini, and more . An OpenDex hosted subscription โ€” sign in, no keys, cloud-synced โ€” is coming soon. - ๐Ÿ†“ Free & offline option โ€” Vosk wake word + local Whisper transcription WASM, no signup and your OS's built-in voice. No data leaves the machine except the LLM call. - ๐Ÿ”Œ Pluggable voice I/O โ€” wake via push-to-talk, Vosk, or Web Speech; transcribe via local Whisper/Vosk, OpenAI, or Web Speech; speak via ElevenLabs or system TTS. - ๐ŸŽจ Full-interface themes โ€” the theme is the whole UI: a cinematic Jarvis HUD with an animated arc reactor, a minimal Talking Dot , or a Typing Cursor terminal. All react to your voice. - ๐Ÿ› ๏ธ Agentic skills with a permission gate โ€” the agent can take real actions e.g. open apps & URLs ; sensitive actions pop an Allow once / Always / Deny prompt that's remembered per skill. - ๐Ÿ–ฅ๏ธ Computer-use opt-in โ€” let it see the screen and drive the mouse & keyboard to operate apps for you. Works with any vision model screenshots stream back as images , and stays behind the permission gate. - ๐Ÿ” Secure by design โ€” API keys are encrypted with your OS keychain and live only in the main process, never in the UI. OpenDex is fully theamable, you can change anything about the user interface and make it yours. | First-run setup | Minimal "typing cursor" theme | |---|---| git clone https://github.com/wassgha/opendex.git cd opendex pnpm install pnpm dev launches the OpenDex desktop window On first launch a short onboarding wizard walks you through choosing a model provider, voice, wake/transcription engine, theme, and greeting. Everything is changeable later from the Settings gear โš™ . Pick where the thinking happens โ€” every part of the loop can be free/offline: Model: Apple Intelligence on-device, free, no key โ€” macOS only , your own OpenAI / Anthropic key, or the Vercel AI Gateway one key, any provider . Voice out: "System voice" free or ElevenLabs key . Voice in: local Whisper / Vosk free, offline, one-time model download or OpenAI Whisper key . Wake: push-to-talk / Vosk free, offline or Web Speech browser . On a Mac with Apple Intelligence enabled, the whole loop model + speech + voice runs locally with no keys at all . Keys are normally entered in-app and stored encrypted. For development you can seed them via .env used only as a fallback : cp .env.local.example .env | Variable | Purpose | |---|---| AI GATEWAY API KEY | chat via the Vercel AI Gateway | OPENAI API KEY | chat via OpenAI directly, and/or OpenAI Whisper transcription | ANTHROPIC API KEY | chat via Anthropic Claude directly | ELEVENLABS API KEY | ElevenLabs TTS skip if using the system voice | TAVILY API KEY | web-search tool optional | The chat provider needs oneof AI GATEWAY API KEY / OPENAI API KEY / ANTHROPIC API KEY โ€” matching the provider you select. Apple Intelligence needs none. The agent's capabilities are skills โ€” declarative tool bundles. Sensitive ones run behind a permission gate: when the model wants to act, OpenDex pauses and asks, and your choice Allow once / Always / Never is remembered. Built-in skills today: Open apps & URLs , and Control the computer screen capture + mouse/keyboard โ€” opt-in, off by default . Computer-use setup macOS :enableControl the computerinSettings โ†’ Skills & tools, then grant OpenDexScreen RecordingandAccessibilitypermission inSystem Settings โ†’ Privacy & Security without them, screenshots come back blank and clicks do nothing . It's powerful โ€” keep the permission onAsk, and "Allow once" covers the whole task it's working on. - Electron shell + secure agent/TTS-over-IPC - Config, onboarding & OS-keychain key storage - Full-interface themes Jarvis HUD ยท Talking Dot ยท Typing Cursor - Pluggable wake-word + speech-to-text incl. free offline Whisper & Vosk - Skills + permission gate Open apps & URLs - Computer-use โ€” screen capture + mouse/keyboard control, gated & opt-in - Pluggable model providers โ€” Apple on-device, OpenAI/Anthropic keys, AI Gateway - OpenDex hosted subscription โ€” sign in, no keys, cloud-synced settings & history - MCP servers + more built-in skills shell, filesystem, โ€ฆ - Signed GitHub releases + auto-update | Command | Description | |---|---| pnpm dev | run the app with hot reload | pnpm build | build main/preload/renderer into out/ | pnpm start | run the built app | pnpm dist | package installers mac/win/linux via electron-builder | pnpm typecheck | tsc --noEmit | pnpm smoke:chat briefing | exercise the agent loop without Electron | Electron ยท electron-vite ยท React 19 ยท Tailwind CSS 4 ยท Vercel AI SDK v6 ยท ElevenLabs ยท Vosk ยท transformers.js Whisper โ€” all local speech engines are WASM. The only native module is nut.js computer-use input control ; it ships prebuilt N-API binaries per platform. MIT /wassgha/opendex/blob/main/LICENSE โ€” contributions welcome.