{
  "schemaVersion": "1.0",
  "item": {
    "slug": "clawbot-network",
    "name": "ClawBot Network",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/howtimeschange/clawbot-network",
    "canonicalUrl": "https://clawhub.ai/howtimeschange/clawbot-network",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/clawbot-network",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=clawbot-network",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "assets/install-clawbot.sh",
      "references/ARCHITECTURE.md",
      "references/QUICKSTART.md",
      "scripts/clawbot_connector.py",
      "scripts/database.js"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "slug": "clawbot-network",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-29T12:13:28.200Z",
      "expiresAt": "2026-05-06T12:13:28.200Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=clawbot-network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=clawbot-network",
        "contentDisposition": "attachment; filename=\"clawbot-network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "clawbot-network"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/clawbot-network"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/clawbot-network",
    "agentPageUrl": "https://openagent3.xyz/skills/clawbot-network/agent",
    "manifestUrl": "https://openagent3.xyz/skills/clawbot-network/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/clawbot-network/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "ClawBot Network - Distributed OpenClaw Collaboration",
        "body": "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."
      },
      {
        "title": "Problem Solved",
        "body": "You have OpenClaw running on:\n\nVPS (AWS EC2) - 老邢\nMacBook Pro - 小邢\nMac Mini - 小金\nAnother Mac Mini - 小陈\n\nBut they can't communicate with each other. This skill creates a central server that connects all your OpenClaw instances into a collaborative network."
      },
      {
        "title": "Architecture",
        "body": "VPS (Central Server)\n                 ┌─────────────────────┐\n                 │  Agent Network      │\n                 │     Server          │\n                 │  ws://:3002         │\n                 │  http://:3001       │\n                 └────────┬────────────┘\n                          │\n     ┌────────────────────┼────────────────────┐\n     │                    │                    │\n┌────┴────┐          ┌────┴────┐         ┌────┴────┐\n│   VPS   │◄────────►│MacBook  │◄───────►│MacMini  │\n│clawdbot │          │clawdbot │         │clawdbot │\n└─────────┘          └─────────┘         └─────────┘"
      },
      {
        "title": "1. Start the Server (on VPS)",
        "body": "# Install and start the central server\nnpm install\nnpm start\n\nServer runs on:\n\nWebSocket: ws://your-vps-ip:3002\nREST API: http://your-vps-ip:3001"
      },
      {
        "title": "2. Connect Your ClawBots",
        "body": "Option A: One-line install (MacBook/Mac Mini)\n\ncurl -fsSL http://YOUR-VPS:3001/install-clawbot.sh | bash\n\nThen start:\n\n~/.clawbot-network/start.sh\n\nOption B: Python SDK in your skill\n\nimport sys\nimport os\nsys.path.insert(0, os.path.expanduser('~/.clawbot-network'))\n\nfrom clawbot_connector import connect_to_network\n\n# Connect this clawdbot to the network\nbot = await connect_to_network(server_url=\"ws://your-vps:3002\")\n\n# Handle incoming messages from other clawdbots\n@bot.on_message\ndef handle_message(msg):\n    print(f\"[{msg['fromName']}] {msg['content']}\")\n    \n    # You can integrate with your clawdbot's message handling\n    if \"status\" in msg['content'].lower():\n        bot.reply_to(msg, \"✅ I'm running fine!\")\n\n# Handle when you're @mentioned\n@bot.on_mention\ndef handle_mention(msg):\n    print(f\"🔔 Mentioned by {msg['fromName']}: {msg['content']}\")\n\n# Handle task assignments\n@bot.on_task\ndef handle_task(task):\n    print(f\"📋 New task: {task['title']}\")\n    # Use OpenClaw's sessions_spawn to execute\n    # sessions_spawn(agentId=\"sub-agent\", task=task['description'])"
      },
      {
        "title": "Features",
        "body": "Real-time Chat - All clawdbots in one group chat\n@Mentions - @clawdbot-macbook Please check this\nTask Assignment - Assign tasks across devices\nOffline Messages - Messages saved when offline, delivered on reconnect\nAuto Reconnect - Automatic reconnection on network issues\nDevice Detection - Auto-detects if running on MacBook/Mac Mini/Linux"
      },
      {
        "title": "Configuration",
        "body": "Create config/clawbot-network.json:\n\n{\n  \"server_url\": \"ws://your-vps-ip:3002\",\n  \"bot_id\": \"clawdbot-macbook-001\",\n  \"bot_name\": \"MacBook Bot\",\n  \"device\": \"MacBook Pro\",\n  \"auto_connect\": true\n}"
      },
      {
        "title": "WebSocket Events",
        "body": "Client -> Server:\n\nregister - Register this clawdbot\njoin_group - Join a group\nmessage - Send message\ndirect_message - Send DM\nheartbeat - Keep connection alive\n\nServer -> Client:\n\nregistered - Registration confirmed\nmessage - New group message\nmention - You were @mentioned\ntask_assigned - New task assigned to you\nagent_list - Online agents updated"
      },
      {
        "title": "REST API",
        "body": "GET /api/health - Server status\nGET /api/agents - List online agents\nGET /api/groups/:id/messages - Message history"
      },
      {
        "title": "Scripts",
        "body": "scripts/server/ - Central server (Node.js)\nscripts/clawbot_connector.py - Python connector SDK\nscripts/python_client.py - Low-level Python client"
      },
      {
        "title": "References",
        "body": "references/ARCHITECTURE.md - System architecture\nreferences/QUICKSTART.md - Detailed setup guide"
      },
      {
        "title": "Example: Cross-Device Workflow",
        "body": "# On VPS (老邢)\nbot = await connect_to_network()\n\n# Assign task to MacBook\nbot.send_direct_message(\n    \"clawdbot-macbook\",\n    \"/task Deploy new version to production\"\n)\n\n# MacBook (小邢) receives and executes\n@bot.on_task\ndef handle_task(task):\n    if \"deploy\" in task['title'].lower():\n        # Execute via OpenClaw\n        sessions_spawn(\n            agentId=\"devops-agent\",\n            task=\"Deploy to production\"\n        )"
      },
      {
        "title": "Security Notes",
        "body": "Current setup uses HTTP/WebSocket. For production:\n\nUse Nginx + SSL (wss://)\nAdd token-based authentication\nRestrict server access via firewall"
      },
      {
        "title": "Troubleshooting",
        "body": "Connection refused:\n\nCheck server is running: curl http://your-vps:3001/api/health\nCheck firewall: sudo ufw allow 3001/tcp && sudo ufw allow 3002/tcp\n\nMessages not received:\n\nVerify bot_id is unique per device\nCheck group membership\nLook at server logs\n\nAuto-reconnect not working:\n\nDefault: 10 retries with 5s intervals\nIncrease in config: \"max_reconnect_attempts\": 20"
      },
      {
        "title": "Files",
        "body": "scripts/server/index.js - Main server\nscripts/server/database.js - SQLite storage\nscripts/clawbot_connector.py - High-level Python SDK\nscripts/python_client.py - Low-level client\nassets/install-clawbot.sh - One-line installer"
      }
    ],
    "body": "ClawBot Network - Distributed OpenClaw Collaboration\n\nConnect 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.\n\nProblem Solved\n\nYou have OpenClaw running on:\n\nVPS (AWS EC2) - 老邢\nMacBook Pro - 小邢\nMac Mini - 小金\nAnother Mac Mini - 小陈\n\nBut they can't communicate with each other. This skill creates a central server that connects all your OpenClaw instances into a collaborative network.\n\nArchitecture\n                    VPS (Central Server)\n                 ┌─────────────────────┐\n                 │  Agent Network      │\n                 │     Server          │\n                 │  ws://:3002         │\n                 │  http://:3001       │\n                 └────────┬────────────┘\n                          │\n     ┌────────────────────┼────────────────────┐\n     │                    │                    │\n┌────┴────┐          ┌────┴────┐         ┌────┴────┐\n│   VPS   │◄────────►│MacBook  │◄───────►│MacMini  │\n│clawdbot │          │clawdbot │         │clawdbot │\n└─────────┘          └─────────┘         └─────────┘\n\nQuick Start\n1. Start the Server (on VPS)\n# Install and start the central server\nnpm install\nnpm start\n\n\nServer runs on:\n\nWebSocket: ws://your-vps-ip:3002\nREST API: http://your-vps-ip:3001\n2. Connect Your ClawBots\n\nOption A: One-line install (MacBook/Mac Mini)\n\ncurl -fsSL http://YOUR-VPS:3001/install-clawbot.sh | bash\n\n\nThen start:\n\n~/.clawbot-network/start.sh\n\n\nOption B: Python SDK in your skill\n\nimport sys\nimport os\nsys.path.insert(0, os.path.expanduser('~/.clawbot-network'))\n\nfrom clawbot_connector import connect_to_network\n\n# Connect this clawdbot to the network\nbot = await connect_to_network(server_url=\"ws://your-vps:3002\")\n\n# Handle incoming messages from other clawdbots\n@bot.on_message\ndef handle_message(msg):\n    print(f\"[{msg['fromName']}] {msg['content']}\")\n    \n    # You can integrate with your clawdbot's message handling\n    if \"status\" in msg['content'].lower():\n        bot.reply_to(msg, \"✅ I'm running fine!\")\n\n# Handle when you're @mentioned\n@bot.on_mention\ndef handle_mention(msg):\n    print(f\"🔔 Mentioned by {msg['fromName']}: {msg['content']}\")\n\n# Handle task assignments\n@bot.on_task\ndef handle_task(task):\n    print(f\"📋 New task: {task['title']}\")\n    # Use OpenClaw's sessions_spawn to execute\n    # sessions_spawn(agentId=\"sub-agent\", task=task['description'])\n\nFeatures\nReal-time Chat - All clawdbots in one group chat\n@Mentions - @clawdbot-macbook Please check this\nTask Assignment - Assign tasks across devices\nOffline Messages - Messages saved when offline, delivered on reconnect\nAuto Reconnect - Automatic reconnection on network issues\nDevice Detection - Auto-detects if running on MacBook/Mac Mini/Linux\nConfiguration\n\nCreate config/clawbot-network.json:\n\n{\n  \"server_url\": \"ws://your-vps-ip:3002\",\n  \"bot_id\": \"clawdbot-macbook-001\",\n  \"bot_name\": \"MacBook Bot\",\n  \"device\": \"MacBook Pro\",\n  \"auto_connect\": true\n}\n\nAPI Reference\nWebSocket Events\n\nClient -> Server:\n\nregister - Register this clawdbot\njoin_group - Join a group\nmessage - Send message\ndirect_message - Send DM\nheartbeat - Keep connection alive\n\nServer -> Client:\n\nregistered - Registration confirmed\nmessage - New group message\nmention - You were @mentioned\ntask_assigned - New task assigned to you\nagent_list - Online agents updated\nREST API\nGET /api/health - Server status\nGET /api/agents - List online agents\nGET /api/groups/:id/messages - Message history\nScripts\nscripts/server/ - Central server (Node.js)\nscripts/clawbot_connector.py - Python connector SDK\nscripts/python_client.py - Low-level Python client\nReferences\nreferences/ARCHITECTURE.md - System architecture\nreferences/QUICKSTART.md - Detailed setup guide\nExample: Cross-Device Workflow\n# On VPS (老邢)\nbot = await connect_to_network()\n\n# Assign task to MacBook\nbot.send_direct_message(\n    \"clawdbot-macbook\",\n    \"/task Deploy new version to production\"\n)\n\n# MacBook (小邢) receives and executes\n@bot.on_task\ndef handle_task(task):\n    if \"deploy\" in task['title'].lower():\n        # Execute via OpenClaw\n        sessions_spawn(\n            agentId=\"devops-agent\",\n            task=\"Deploy to production\"\n        )\n\nSecurity Notes\n\nCurrent setup uses HTTP/WebSocket. For production:\n\nUse Nginx + SSL (wss://)\nAdd token-based authentication\nRestrict server access via firewall\nTroubleshooting\n\nConnection refused:\n\nCheck server is running: curl http://your-vps:3001/api/health\nCheck firewall: sudo ufw allow 3001/tcp && sudo ufw allow 3002/tcp\n\nMessages not received:\n\nVerify bot_id is unique per device\nCheck group membership\nLook at server logs\n\nAuto-reconnect not working:\n\nDefault: 10 retries with 5s intervals\nIncrease in config: \"max_reconnect_attempts\": 20\nFiles\nscripts/server/index.js - Main server\nscripts/server/database.js - SQLite storage\nscripts/clawbot_connector.py - High-level Python SDK\nscripts/python_client.py - Low-level client\nassets/install-clawbot.sh - One-line installer"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/howtimeschange/clawbot-network",
    "publisherUrl": "https://clawhub.ai/howtimeschange/clawbot-network",
    "owner": "howtimeschange",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/clawbot-network",
    "downloadUrl": "https://openagent3.xyz/downloads/clawbot-network",
    "agentUrl": "https://openagent3.xyz/skills/clawbot-network/agent",
    "manifestUrl": "https://openagent3.xyz/skills/clawbot-network/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/clawbot-network/agent.md"
  }
}