Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

222 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.

TypeScript React Electron Agents PRs


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

Quick start

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

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/

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

885 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages