Skip to content

Repository files navigation

⚠️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.

OpenMausBot

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.

TypeScriptReactElectronAgentsPRs


Download the latest OpenMausBot for macOS (.dmg)Download the latest OpenMausBot for Windows (.exe)

macOS: Apple silicon · signed & notarized · one-click .dmg · Windows: 64-bit · one-click installer, no admin rights · both always the latest · all releases



OpenMausBot — a Telegram-style chat app where every chat is a real AI agent

Why

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, and grok CLIs 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.1 owns 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.

Features

🧠 Pick a brain per bot

A model picker with a provider rail — Claude and Codex models side by side, defaults marked, unavailable providers dimmed with the reason. Switch a bot's model mid-conversation.

Model picker with provider rail

🖥️ Every bot gets a computer

Open the Computer panel and the bot's cloud desktop spins up on its own — live screen preview while it works, "Open desktop" to take over in your browser, or point the bot at this Mac instead.

Computer panel with live screen preview

🙋 Bots ask before they act

Shell commands, file edits, and questions surface as inline cards — Allow / Deny / answer in chat. A permission broker turns every risky action into a decision you make, for cloud and local computers alike.

Approval and question cards in chat

🔌 Connected apps

A one-click marketplace over Composio Connect: Gmail, Slack, GitHub, Notion, Linear and hundreds more. OAuth once, and every bot can use them as tools.

Connected apps marketplace

🗂 Manage bots like chats

Right-click any bot: pin, mark unread, edit profile, duplicate, copy conversation ID, hide, delete. It's a messaging app — your agents behave like contacts.

Bot context menu

🔑 Keys once, everything lights up

Paste credentials in App Settings — they persist locally and the provider fleet hot-reloads instantly. Secrets are write-only: the UI only ever sees "configured" flags.

App-level settings with API keys

🎧 Bots that talk back

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.

How it works

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 · …")]
Loading
LayerWhereWhat it does
Driversserver/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.
Harnessserver/harness/Registry (configs → live instances) and the fan-in event bus every client folds.
APIserver/index.tsBots, turns, approvals, model catalog, computer lifecycle, connectors, config — HTTP + SSE.
Voiceserver/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.
Appsrc/The chat shell. Server-backed store, one reducer, zero client-side transports.
Desktopelectron/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.

Quick start

Released builds: the harness server is embedded, so macOS and Windows need no separate server setup.

DownloadInstall
macOS (Apple silicon)OpenMausBot.dmgDrag it to Applications, open it. Signed & notarized.
Windows (x64)OpenMausBot-setup.exeRun 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 running

Requirements: 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

Desktop capability status

CapabilitymacOSUbuntu 24.04 XorgUbuntu 24.04 Wayland
Packaged app, embedded harness, local agent CLIsSupportedBetaBeta
Composio and Box/cloud computersSupportedBetaBeta
Local screen preview and computer controlSupportedPlannedPlanned after compositor validation
Native on-device dictationSupportedPlannedPlanned

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:

CredentialWhat it enablesWhere to get it
Composio Connect key (ck_…)Connect Gmail, GitHub, Slack, Notion, and other apps to your botsComposio Connect setup guide
Composio API key (ak_…)Browse the full app catalog with official names and logosComposio project API key guide
Box API keyGive bots an isolated remote Linux computer with a desktop and terminalBox API key guide
ElevenLabs keyRead replies aloud, and call your botsElevenLabs 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/

Status

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.

License

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.

About

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages