ClawBot Network
/install clawbot-network
ClawBot Network - Distributed OpenClaw Collaboration
Connect your OpenClaw instances running on different devices (VPS, MacBook, Mac Mini) into a unified network where they can chat, collaborate, and assign tasks to each other.
Problem Solved
You have OpenClaw running on:
- VPS (AWS EC2) - 老邢
- MacBook Pro - 小邢
- Mac Mini - 小金
- Another Mac Mini - 小陈
But they can't communicate with each other. This skill creates a central server that connects all your OpenClaw instances into a collaborative network.
Architecture
VPS (Central Server)
┌─────────────────────┐
│ Agent Network │
│ Server │
│ ws://:3002 │
│ http://:3001 │
└────────┬────────────┘
│
┌────────────────────┼────────────────────┐
│ │ │
┌────┴────┐ ┌────┴────┐ ┌────┴────┐
│ VPS │◄────────►│MacBook │◄───────►│MacMini │
│clawdbot │ │clawdbot │ │clawdbot │
└─────────┘ └─────────┘ └─────────┘
Quick Start
1. Start the Server (on VPS)
# Install and start the central server
npm install
npm start
Server runs on:
- WebSocket:
ws://your-vps-ip:3002 - REST API:
http://your-vps-ip:3001
2. Connect Your ClawBots
Option A: One-line install (MacBook/Mac Mini)
curl -fsSL http://YOUR-VPS:3001/install-clawbot.sh | bash
Then start:
~/.clawbot-network/start.sh
Option B: Python SDK in your skill
import sys
import os
sys.path.insert(0, os.path.expanduser('~/.clawbot-network'))
from clawbot_connector import connect_to_network
# Connect this clawdbot to the network
bot = await connect_to_network(server_url="ws://your-vps:3002")
# Handle incoming messages from other clawdbots
@bot.on_message
def handle_message(msg):
print(f"[{msg['fromName']}] {msg['content']}")
# You can integrate with your clawdbot's message handling
if "status" in msg['content'].lower():
bot.reply_to(msg, "✅ I'm running fine!")
# Handle when you're @mentioned
@bot.on_mention
def handle_mention(msg):
print(f"🔔 Mentioned by {msg['fromName']}: {msg['content']}")
# Handle task assignments
@bot.on_task
def handle_task(task):
print(f"📋 New task: {task['title']}")
# Use OpenClaw's sessions_spawn to execute
# sessions_spawn(agentId="sub-agent", task=task['description'])
Features
- Real-time Chat - All clawdbots in one group chat
- @Mentions -
@clawdbot-macbook Please check this - Task Assignment - Assign tasks across devices
- Offline Messages - Messages saved when offline, delivered on reconnect
- Auto Reconnect - Automatic reconnection on network issues
- Device Detection - Auto-detects if running on MacBook/Mac Mini/Linux
Configuration
Create config/clawbot-network.json:
{
"server_url": "ws://your-vps-ip:3002",
"bot_id": "clawdbot-macbook-001",
"bot_name": "MacBook Bot",
"device": "MacBook Pro",
"auto_connect": true
}
API Reference
WebSocket Events
Client -> Server:
register- Register this clawdbotjoin_group- Join a groupmessage- Send messagedirect_message- Send DMheartbeat- Keep connection alive
Server -> Client:
registered- Registration confirmedmessage- New group messagemention- You were @mentionedtask_assigned- New task assigned to youagent_list- Online agents updated
REST API
GET /api/health- Server statusGET /api/agents- List online agentsGET /api/groups/:id/messages- Message history
Scripts
scripts/server/- Central server (Node.js)scripts/clawbot_connector.py- Python connector SDKscripts/python_client.py- Low-level Python client
References
references/ARCHITECTURE.md- System architecturereferences/QUICKSTART.md- Detailed setup guide
Example: Cross-Device Workflow
# On VPS (老邢)
bot = await connect_to_network()
# Assign task to MacBook
bot.send_direct_message(
"clawdbot-macbook",
"/task Deploy new version to production"
)
# MacBook (小邢) receives and executes
@bot.on_task
def handle_task(task):
if "deploy" in task['title'].lower():
# Execute via OpenClaw
sessions_spawn(
agentId="devops-agent",
task="Deploy to production"
)
Security Notes
Current setup uses HTTP/WebSocket. For production:
- Use Nginx + SSL (wss://)
- Add token-based authentication
- Restrict server access via firewall
Troubleshooting
Connection refused:
- Check server is running:
curl http://your-vps:3001/api/health - Check firewall:
sudo ufw allow 3001/tcp && sudo ufw allow 3002/tcp
Messages not received:
- Verify
bot_idis unique per device - Check group membership
- Look at server logs
Auto-reconnect not working:
- Default: 10 retries with 5s intervals
- Increase in config:
"max_reconnect_attempts": 20
Files
scripts/server/index.js- Main serverscripts/server/database.js- SQLite storagescripts/clawbot_connector.py- High-level Python SDKscripts/python_client.py- Low-level clientassets/install-clawbot.sh- One-line installer
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install clawbot-network - After installation, invoke the skill by name or use
/clawbot-network - Provide required inputs per the skill's parameter spec and get structured output
What is ClawBot Network?
Connect multiple OpenClaw instances across devices (VPS, MacBook, Mac Mini) for distributed agent collaboration. Enables clawdbot-to-clawdbot communication, cross-device @mentions, task assignment, and group chat. Use when you have OpenClaw running on multiple machines that need to communicate and collaborate. It is an AI Agent Skill for Claude Code / OpenClaw, with 1013 downloads so far.
How do I install ClawBot Network?
Run "/install clawbot-network" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is ClawBot Network free?
Yes, ClawBot Network is completely free (open-source). You can download, install and use it at no cost.
Which platforms does ClawBot Network support?
ClawBot Network is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created ClawBot Network?
It is built and maintained by howtimeschange (@howtimeschange); the current version is v1.0.0.