Areas we serve

Self-Hosted OpenMausBot: Open-Source Grok Bot With Real Computers

Grok Bot turned agents into a contact list: different personalities, one shared cloud computer, you watch them work in chat. Fine until you want Claude on one bot, Codex on another, transcripts on your disk, and a human "allow" before someone else's API key runs rm -rf.

OpenMausBot (MausBot, formerly OpenGrokBot) is the open-source take: ~12k GitHub stars, Apache 2.0, Electron chat UI plus a local harness server on 127.0.0.1:8799. Each sidebar bot is a real agent running through the claude, codex, or grok CLI you already pay for. Data lives in ~/.openmausbot, not a vendor's multi-tenant bucket. Not affiliated with xAI, Meta, OpenAI, or Manus; the maintainer is explicit about that and about scam coins using the name.

What it actually does

Picture a messaging app where your agents are contacts:

  • One model per bot. Switch mid-conversation; unavailable providers show up dimmed with a reason.
  • Every bot gets a computer. Spin up a cloud Linux desktop (via Boat), an isolated local VM, or on macOS/Ubuntu Xorg with explicit opt-in, control your actual machine through Cua Driver.
  • Approval cards. Shell, file edits, and risky steps surface inline: Allow, Deny, or answer in chat. Same broker for cloud and local sandboxes.
  • 500+ apps. Composio Sessions for Gmail, Slack, GitHub, Notion, Linear, OAuth once per workspace.
  • Channels and teams. Work vs personal rosters, shared instructions, import whole departments from Markdown on BotMRR, share presets without leaking keys.
  • Routines and webhooks. Schedules and signed hooks queue work while your laptop sleeps; local receiver on 127.0.0.1:8800 by default.

Under the hood: React app on port 5199 talks HTTP + SSE to the harness; drivers normalize Claude/Codex/Grok stream protocols; optional MCP server for Cursor or Claude Desktop with a bounded control plane (no credential export). Headless openmausbot run works for CI-style jobs.

Why self-host the server?

Most people start on a Mac or Windows desktop download. The interesting hosting story is always-on server mode: routines that fire at 9 a.m. Montreal time, webhooks from your site, bots coordinating while every laptop is closed.

Your transcripts, your box. Chats, configs, and NDJSON runtime logs stay on the VPS or home server you control. Pair phones and browsers with short codes; no shared SaaS inbox for agent memory.

Bring your own engines. Subscriptions and API keys you already have; no proxy that sees every prompt. Custom ACP engines and OpenAI-compatible endpoints plug in through config.

Reach it safely. Upstream docs warn never to expose port 8799 on the public internet. Use Tailscale (openmausbot serve --tailscale), managed tunnel after openmausbot login, or Docker + Caddy on your own domain under deploy/.

Canadian VPS fit. A Beauharnois or Toronto CloudBox with Ubuntu 24.04, 2 vCPU and 4 GB RAM matches their VPS guide. You still need outbound HTTPS to model providers; connector traffic for Composio/Boat is separate. For privacy questionnaires, "agent harness and SQLite transcripts in our Canadian VM, pairing required, no anonymous admin" is a cleaner answer than closed Grok Bot or Meta Muse clouds.

Caveats. Boat cloud computers and Composio are third-party paid services. Webhook delivery needs the harness running or a relay. Ubuntu Wayland host control is disabled by design. API keys in config are plaintext with 0600 perms, not encrypted at rest. Early software: hosted mobile polish still in flight.

Getting it running on a server

Fast path (Node 24+, unprivileged user):

curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo useradd --create-home --shell /bin/bash maus
sudo -iu maus

npx openmausbot setup
npx openmausbot login          # optional: managed public HTTPS address
npx openmausbot serve --tunnel # or --tailscale, or --no-open behind nginx

Docker path: clone the repo, copy deploy/.env.example, set DOMAIN=maus.yourdomain.ca, docker compose up -d. Sign in engine CLIs inside the container or baked image, pair your desktop app, install browser deps if bots need to click the web.

Desktop-only: signed macOS DMG, Windows installer, Ubuntu .deb from GitHub releases. Companion mode can pair over Tailscale to a VPS harness so your chat UI stays local while compute stays on the server.

Who it's for (and who should skip it)

Good fit: power users who liked Grok Bot's roster UX but want open source and mixed models; small teams running overnight digests and inbox triage on a VPS; devs wiring MCP or openmausbot team apply in CI with export folders.

Skip it: if you need a single simple chat window (use Open WebUI). If you cannot tolerate approval-driven agent loops. If you expect zero integration setup (engines, Composio keys, pairing). If you wanted Kortix-style company-as-code governance at scale, look at CompanyOS instead; OpenMausBot is personal/team chat-first.

Hosting help

OpenMausBot on a Canadian VPS is mostly systemd, TLS in front of the pairing endpoint, disk for ~/.openmausbot, and sane egress rules before you give a bot Gmail write access.

Talk with Swift Host if you want a box sized for always-on agents, Tailscale vs public tunnel tradeoffs, and backups of the app data directory. We are in St. Albert and actually answer the phone.

Tags:
  • OpenMausBot
  • AI Agents
  • Grok Bot
  • Self-Hosted
  • Electron

Need Help With Your Hosting?

Tell us about your application — we respond within 1 hour with honest recommendations.