#Multiple machines running clawdbot nodes

1 messages Β· Page 1 of 1 (latest)

raw valley
#

I wish to have a main clawdbot machine on a VPS as a main orchestrator. Then I would have another instance of clawdbot on my Mac so that I can access my mac relasted apps like reminders, notes or iMessage. The mac doesn't stay on all the time, but when it is on I want it to respond to requests from the main VPS orchestrator. Is this possible and how do I do it?

visual spireBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> βœ… Mark Solution

silent epochBOT
# raw valley I wish to have a main clawdbot machine on a VPS as a main orchestrator. Then I ...

This is a great question about Clawdbot's distributed architecture! 🦐

Based on my knowledge, yes, this is possible - Clawdbot supports a node pairing system where you can have multiple instances that communicate with each other. The VPS would be your "main" node, and your Mac would be a "paired" node.

Here's how it works:

  1. Node Pairing: Each Clawdbot instance can be paired with others using the nodes tool. The Mac would need to be approved as a paired node on the VPS.

  2. Discovery: When both instances are running and can reach each other (network connectivity), they can communicate.

  3. Routing: The VPS orchestrator can route requests to the Mac for macOS-specific tasks (iMessage, Reminders, Notes).

Key considerations:

  • Network reachability: Your Mac needs to be accessible from the VPS (you may need a VPN, tailscale, or expose the Clawdbot port)
  • Authentication: Node pairing requires explicit approval on both sides
  • When Mac is off: The VPS won't be able to reach it - you'd want fallback behavior or queued requests
#

To get started:

  1. Set up Clawdbot on both the VPS and Mac
  2. Configure both to be discoverable/accessible on the network
  3. Use clawdbot nodes commands to pair them

I'd recommend checking the official docs for the most current node pairing setup guide, as the exact commands may have evolved. Want me to look up the specific documentation?

raw valley
#

Provide the link for future clawdinators

silent epochBOT
raw valley
#

Multiple machines running clawdbot nodes

gentle agate
#

but what's the best way to have them shared skills and memory?

Mac node (clawdbot instance) would have mac-related skillls, say, accessing local files or controlling the computer. Cloud clawdbot won't be able to work with them. How does it work?

silent epochBOT
# gentle agate but what's the best way to have them shared skills and memory? Mac node (clawd...

Based on the docs and architecture, here's how multi-machine Clawdbot works with shared skills/memory:

Architecture Overview

VPS runs the Gateway (always-on, orchestrates everything)
Mac runs as a node (connects to VPS Gateway, exposes mac-specific capabilities)

[VPS - Gateway] ←───bridge/tunnel────→ [Mac - Node]
  - Channels (WhatsApp, etc.)              - system.run
  - Model + agent loop                     - canvas.*
  - Memory/skills (local)                  - camera.*
                                            - iMessage via cliPath

Setting It Up

#

1. VPS (Gateway host):

# Run gateway on VPS (loopback only, expose via SSH/Tailscale)
clawdbot gateway start

2. Mac (Node mode):

# Option A: Headless node host (connects to VPS)
clawdbot node run --host <vps-ip> --port 18789 --display-name "Mac Node"

# Option B: macOS app "Remote over SSH" (manages tunnel automatically)
# Settings β†’ General β†’ "Clawdbot runs" β†’ Remote over SSH

3. Pair them:

#
# On VPS:
clawdbot nodes pending
clawdbot nodes approve <requestId>

# Configure exec to use the node:
clawdbot config set tools.exec.host node
clawdbot config set tools.exec.node "Mac Node"

Skills Sharing

Skills are per-machine, but macOS skills work remotely:

# In SKILL.md
#
metadata: {"clawdbot":{"os":["darwin"]}}

From the docs:

"If the Gateway is running on Linux but a macOS node is connected... Clawdbot can treat macOS-only skills as eligible when the required binaries are present on that node. The agent should execute those skills via the nodes tool."

So the workflow is:

  1. Linux Gateway sees the skill in its prompt
  2. When invoked, it runs via nodes.run β†’ executes on Mac
  3. Mac-specific binaries (like imsg for iMessage) work naturally

Shared skills approach:

  • Put common skills in ~/.clawdbot/skills (shared across agents on same machine)
  • mac-specific skills stay on the Mac, gated with os: ["darwin"]

Memory Sharing

#

Memory is NOT automatically shared between machines. Memory files live in the workspace (~/clawd/memory/ by default).

Options for shared memory:

  1. Cloud sync β€” mount a shared drive (iCloud, Dropbox, NFS) for the memory folder
  2. Git sync β€” commit memory files to a private repo, pull on both machines
  3. Keep memories separate β€” each machine has its own context; the Gateway orchestrates which node handles what

Per the docs:

"Memory files are plain Markdown in the agent workspace... The files are the source of truth; the model only 'remembers' what gets written to disk."

For iMessage Specifically

The cleanest approach is what the docs suggest for iMessage:

{
#
  "channels": {
    "imessage": {
      "cliPath": "/path/to/imsg",
      "remoteHost": "user@mac-host"  // SSH to Mac for iMessage
    }
  }
}

The Mac doesn't need to run a full Clawdbot instance β€” just imsg via SSH. Much simpler!

Summary

Component VPS (Gateway) Mac (Node)
Gateway βœ… Runs here ❌ Connects via bridge