Edwin 🦞 ​

Any OS gateway for AI agents across WhatsApp, Telegram, Discord, iMessage, and more.
Send a message, get an agent response from your pocket. Plugins add Mattermost and more.
Edwin connects chat apps to coding agents like Pi through a single Gateway process. It powers the Edwin assistant and supports local or remote setups.
How it works ​
mermaid
flowchart LR
A["Chat apps + plugins"] --> B["Gateway"]
B --> C["Pi agent"]
B --> D["CLI"]
B --> E["Web Control UI"]
B --> F["Edwin Desktop"]
B --> G["iOS and Android nodes"]The Gateway is the single source of truth for sessions, routing, and channel connections.
Key capabilities ​
Quick start ​
Need the full install and dev setup? See Quick start.
Dashboard ​
Open the browser Control UI after the Gateway starts.
- Local default: http://127.0.0.1:18789/
- Remote access: Web surfaces and Tailscale

Configuration (optional) ​
Config lives at ~/.edwin/edwin.json.
- If you do nothing, Edwin uses the bundled Pi binary in RPC mode with per-sender sessions.
- If you want to lock it down, start with
channels.whatsapp.allowFromand (for groups) mention rules.
Example:
json5
{
channels: {
whatsapp: {
allowFrom: ["+15555550123"],
groups: { "*": { requireMention: true } },
},
},
messages: { groupChat: { mentionPatterns: ["@edwin"] } },
}