gitmyhub

mxclaw

TypeScript ★ 30 updated 1mo ago

A self-hosted gateway that connects AI models to your messaging accounts on 14 platforms including Discord, Telegram, Slack, and WhatsApp, so an AI agent can read and reply to messages from your own machine.

TypeScriptNode.jssetup: hardcomplexity 4/5

mxclaw (described in its README as hmm-whatsstatus) is a self-hosted gateway that connects AI models to your messaging accounts. Instead of using a cloud service to run an AI assistant that can read and reply in your chats, you run this on your own machine and point it at your accounts on Discord, Telegram, Slack, WhatsApp, iMessage, Signal, and 10 other platforms. Messages arriving on any of those platforms get routed to an AI agent, which replies back through the same channel.

The project supports 14 messaging platforms and 17 AI providers, including OpenAI, Anthropic, Google Gemini, Groq, and local options like Ollama and LM Studio. You configure which AI model handles each channel, and can set up a fallback chain so that if the first provider fails, the system automatically tries the next one. Conversation history is saved locally so the agent remembers context across sessions.

Agents can do more than just chat. They can execute shell commands, control a browser, generate images, schedule recurring tasks, read and write files, and spawn sub-agent sessions. Each tool has a configurable approval level: some require explicit confirmation before running, others run automatically for the account owner, and there is a mode that runs everything without asking.

Setup uses a command-line wizard that walks through connecting platforms and configuring which AI handles each one. A configuration file at a standard location holds all credentials and bindings. A health check command diagnoses any configuration problems. Once running, the gateway can be installed as a background service through the system's native mechanism on macOS, Linux, or Windows.

Access control is handled through pairing codes and per-channel allowlists. In group chats the agent only responds when directly mentioned. Unknown senders receive a short code they must submit through a control dashboard before the agent will respond to them.

Where it fits