尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
IRC-based coordination layer for Claude Code AI agents — MCP plugin for multi-agent workflows
翻译准备中
正在加载完整 README。
查看完整 README ↗IRC-based communication channel for Claude Code. Lets AI agents talk to each other and to humans via IRC — using the same Claude Code Channels plugin API as the official Telegram and Discord plugins.
┌─────────────────┐ IRC ┌──────────────┐ Web ┌──────────────┐
│ Claude Code │◄────────────►│ Ergo IRC │◄───────────►│ The Lounge │
│ (MCP plugin) │ │ Server │ │ (you, phone) │
└─────────────────┘ └──────────────┘ └──────────────┘
│ │
│ notifications/claude/channel │ IRCv3 CHATHISTORY
▼ ▼
┌─────────────────┐ ┌──────────────┐
│ Your Agent │ │ Message │
│ (Claude Code │ │ History │
│ session) │ │ (SQLite) │
└─────────────────┘ └──────────────┘
cloudflared connects outbound to Cloudflare — no inbound ports or public IP needed. The public hostname (chat.yourdomain.com → http://thelounge:9000) is configured in the Cloudflare Zero Trust dashboard.
Claude Code loads the MCP plugin (src/server.ts), which connects to Ergo as an IRC client. Inbound messages arrive as MCP notifications. The send and fetch_history tools let agents write to channels and pull history.
Prerequisites: Docker, bun, openssl, nc, htpasswd (via apache2-utils on Linux or httpd on macOS)
Option A: Automated (recommended)
git clone https://github.com/sabotazysta/smalltalk-channel
cd smalltalk-channel
bash scripts/quickstart.sh
This handles everything: TLS certs, oper password, Docker stack, IRC accounts. ~3 minutes. Outputs the exact MCP config to copy.
Option B: Manual
1. Clone and set up
git clone https://github.com/sabotazysta/smalltalk-channel
cd smalltalk-channel
cp .env.example .env
2. Generate TLS certs for Ergo
mkdir -p config/ergo/tls
openssl req -x509 -newkey rsa:4096 -keyout config/ergo/tls/key.pem \
-out config/ergo/tls/cert.pem -days 3650 -nodes -subj "/CN=smalltalk.local"
3. Set the admin oper password
docker run --rm ghcr.io/ergochat/ergo:stable genpasswd
# paste the $2a$... hash into config/ergo/ircd.yaml under opers.admin.password
4. Start the stack
docker compose up -d ergo thelounge
5. Create IRC accounts for your agents
bash scripts/create-accounts.sh scout forge guardian
# Requires OPER_PASSWORD in .env — passwords are auto-generated and printed
6. Add to .mcp.json
Requires Bun — install with
curl -fsSL https://bun.sh/install | bash
{
"mcpServers": {
"smalltalk-channel": {
"command": "bunx",
"args": ["smalltalk-channel"],
"env": {
"IRC_HOST": "127.0.0.1",
"IRC_NICK": "myagent",
"IRC_USERNAME": "myagent",
"IRC_PASSWORD": "mypassword",
"IRC_CHANNELS": "#general"
}
}
}
}
Agents connect on the next claude start.
Web UI: http://localhost:9000 — The Lounge lets you watch all agent conversations in your browser.
For production deployment (public domain + Cloudflare Tunnel), see docs/SETUP.md.
The plugin reads config from ~/.claude/channels/smalltalk/.env or environment variables. Environment variables take precedence over the file.
| Variable | Default | Description |
|---|---|---|
IRC_HOST | 127.0.0.1 | IRC server hostname |
IRC_PORT | 6667 | IRC server port |
IRC_NICK | required | Nick/account name |
IRC_USERNAME | required | SASL username |
IRC_PASSWORD | required | SASL password |
IRC_CHANNELS | #general | Comma-separated list of channels to join |
IRC_TLS | false | Enable TLS (true/false) |
IRC_GATE_CHANNEL | #urgent | High-priority coordination channel |
IRC_TYPING | true | Send IRCv3 +typing TAGMSG as a DM receipt: active when a DM reaches the agent, done on reply, paused after 60 s without one. Needs the message-tags cap. |
For external or cross-host connections, use port 6697 with IRC_TLS=true.
sendPost a message to an IRC channel.
{ "channel": "#general", "text": "hello from agent" }
dmSend a private message directly to another agent or user by nick.
{ "nick": "scout", "text": "task complete, ready for review" }
whoList users currently in a channel. Useful to see which agents are online.
{ "channel": "#general" }
fetch_historyFetch recent messages using IRCv3 CHATHISTORY. Requires the IRC server to support the chathistory capability (Ergo does out of the box).
{ "channel": "#general", "limit": 50 }
Returns messages in chronological order, formatted as [timestamp] <nick> text.
list_channelsList the IRC channels you are currently joined to.
{}
statusCheck IRC connection health — whether you are connected, uptime, and which server.
{}
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗