⚠️ No affiliation with any cryptocurrency. OpenMausBot has no token. Any coin using the OpenMausBot, Maus, or SupaMaus name is not created, endorsed, or affiliated with this project or its maintainer. I have received no tokens, payment, or allocation from anyone, and I will not be endorsing any token.
Your own team of AI bots, in a chat app.
An open-source version of Grok Bot — bring-your-own-agent, local-first, on the models you already have.
Every bot in the sidebar is a real agent — Claude or Codex running locally under the hood — with its own personality, its own model, its own cloud computer, and its own connected apps. Talk to them like contacts. Watch them work. Approve what matters.
macOS: Apple silicon · signed & notarized · one-click .dmg · Windows: 64-bit · one-click installer, no admin rights · both always the latest · all releases
One assistant in one box is the wrong shape for agents. OpenMausBot is an open-source take on Grok Bot — it keeps the idea (AI as a messaging app: a roster of bots you chat with, each with its own personality, memory of its thread, model, computer, and apps) and rebuilds it open, local-first, and on the agents you already have:
- Bring your own agents. Bots run on the
claude,codex, andgrokCLIs installed on your own machine — your existing logins and subscriptions, no new accounts, no proxy in the middle. - Local first. One small harness server on
127.0.0.1owns every agent process. Transcripts, keys, and events live in~/.openmausbot, not a cloud. - Agents with hands. Each bot can get a real computer — a cloud Linux desktop it drives while you watch live, or your own Mac — plus 500+ apps through Composio Connect.
Press the speaker on any reply, or switch a bot to read its answers out as they land — so you can listen to what ran overnight while you make breakfast. Hit call and it's a conversation: it hears you, tells you what it's doing while it works, and asks for approvals out loud.
Bring your own ElevenLabs key — paste it once in App Settings, pick a voice, and every bot can talk. Give a bot its own voice and a room stops sounding like one person.
Also in the box: streaming replies with tool-run activity chips · native macOS dictation from the composer mic (on-device Apple speech recognition — desktop app) · SupaMaus cursor mascots with role-aware expressions · screenshots of the bot's work folded into the transcript.
Two processes. The app holds no transports of its own — it sends typed commands over HTTP and folds one SSE event stream into state. The harness server owns every agent process and normalizes each provider's native protocol into one canonical runtime event stream (logged per-thread as NDJSON).
flowchart LR
subgraph app ["App — React + Tailwind (5199)"]
UI[Chat UI · model picker · computer panel]
end
subgraph server ["Harness server (127.0.0.1:8799)"]
REG[Driver registry] --> BUS[Event bus → SSE]
BROKER[Permission broker]
end
subgraph agents ["Agents on your computer"]
CL[claude CLI]
CX[codex CLI]
GR[grok CLI]
end
UI -- "HTTP commands" --> server
BUS -- "one SSE stream" --> UI
REG --> CL & CX & GR
CL & CX & GR -- "permission requests" --> BROKER
server -- "Box API" --> BOX[("Cloud computer<br/>box.ascii.dev")]
server -- "Composio Connect" --> APPS[("Gmail · Slack · GitHub · …")]
| Layer | Where | What it does |
|---|---|---|
| Drivers | server/drivers/ |
One per provider: Claude, Codex, and Grok Build over their local CLIs (stream-JSON / JSON-RPC / ACP), plus a cloud-computer agent. Unknown drivers degrade to "unavailable", never crash the fleet. |
| Harness | server/harness/ |
Registry (configs → live instances) and the fan-in event bus every client folds. |
| API | server/index.ts |
Bots, turns, approvals, model catalog, computer lifecycle, connectors, config — HTTP + SSE. |
| Voice | server/tts/ |
ElevenLabs, bring your own key. Runs on the harness so the key never reaches the UI; markdown is rewritten into something worth hearing before it is spoken. |
| App | src/ |
The chat shell. Server-backed store, one reducer, zero client-side transports. |
| Desktop | electron/ |
macOS, Windows, and Ubuntu shells with an embedded harness and explicit platform capabilities; Apple speech, local screen capture, and the current CUA bridge remain macOS-only. |
Released builds: the harness server is embedded, so macOS and Windows need no separate server setup.
| Download | Install | |
|---|---|---|
| macOS (Apple silicon) | OpenMausBot.dmg | Drag it to Applications, open it. Signed & notarized. |
| Windows (x64) | OpenMausBot-setup.exe | Run it — one-click, per-user, no admin rights. The installer isn't code-signed yet, so SmartScreen shows "unknown publisher": More info → Run anyway. |
Ubuntu Desktop beta: build the .deb or AppImage from source using the commands below. Release downloads
will be linked here once Linux publishing is enabled. See the Ubuntu Desktop guide for
installation, capabilities, and troubleshooting.
From source:
git clone https://github.com/milind-soni/OpenMausBot && cd OpenMausBot
pnpm install
pnpm dev:server # harness server → 127.0.0.1:8799
pnpm dev # app → http://127.0.0.1:5199
pnpm dev:desktop # Electron shell; keep the two commands above runningRequirements: macOS, Windows, or Ubuntu 24.04 x64, Node 24+, pnpm, and at least one agent CLI — claude,
codex, or grok — installed and logged in. They appear
in the model picker automatically.
Package the desktop application:
pnpm package:mac # macOS: DMG + ZIP; requires Swift/Xcode tools
pnpm package:win # Windows: installer + ZIP
pnpm package:linux # Ubuntu x64: .deb + AppImage; no Swift required| Capability | macOS | Ubuntu 24.04 Xorg | Ubuntu 24.04 Wayland |
|---|---|---|---|
| Packaged app, embedded harness, local agent CLIs | Supported | Beta | Beta |
| Composio and Box/cloud computers | Supported | Beta | Beta |
| Local screen preview and computer control | Supported | Planned | Planned after compositor validation |
| Native on-device dictation | Supported | Planned | Planned |
Unavailable native features fail closed on Ubuntu without blocking chat or cloud features. Linux local computer control, Wayland capture/automation, dictation, and ARM64 are tracked in #29 and are not claimed by the baseline package.
These credentials are optional — local chat works without them. Paste a key once in App Settings (gear in the sidebar footer) when you want to enable its integration:
| Credential | What it enables | Where to get it |
|---|---|---|
Composio Connect key (ck_…) |
Connect Gmail, GitHub, Slack, Notion, and other apps to your bots | Composio Connect setup guide |
Composio API key (ak_…) |
Browse the full app catalog with official names and logos | Composio project API key guide |
| Box API key | Give bots an isolated remote Linux computer with a desktop and terminal | Box API key guide |
| ElevenLabs key | Read replies aloud, and call your bots | ElevenLabs API keys |
Composio and Box are third-party services with their own accounts and terms. Box is a paid service after its trial, and using a cloud computer may incur charges.
pnpm typecheck # app + server
pnpm test # unit, driver, API, and desktop capability tests
pnpm build # typecheck + production build
pnpm check:electron # syntax-check Electron main/preload files
pnpm package:win # Windows installer + zip → release/
pnpm package:linux # Ubuntu x64 .deb + AppImage → release/Early but real — the loop works end to end: message → agent → streamed reply → tools → approvals →
computer use. macOS and Windows have released builds; Ubuntu 24.04 x64 packages are in beta with the
capability limits above. Rough edges to expect: routines are a placeholder and sidebar sections aren't built yet.
Voice needs an ElevenLabs key, and calls are macOS-only for now (they ride the same on-device dictation as
the composer mic) — see docs/voice-mode.md for the design and the known gaps.
Contributions welcome — the driver SPI in server/contracts.ts is deliberately
small; adding a provider is one file in server/drivers/ plus a one-line registration.
MIT © 2026 Milind Soni and contributors.
OpenMausBot is an independent, open-source project inspired by Grok Bot. It is not affiliated with, endorsed by, or associated with xAI; "Grok" is a trademark of its respective owner.





