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?
#Multiple machines running clawdbot nodes
1 messages Β· Page 1 of 1 (latest)
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:
-
Node Pairing: Each Clawdbot instance can be paired with others using the
nodestool. The Mac would need to be approved as a paired node on the VPS. -
Discovery: When both instances are running and can reach each other (network connectivity), they can communicate.
-
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:
- Set up Clawdbot on both the VPS and Mac
- Configure both to be discoverable/accessible on the network
- Use
clawdbot nodescommands 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?
Provide the link for future clawdinators
Here's the pairing documentation for future reference:
π Clawdbot Node Pairing Guide:
https://docs.clawd.bot/start/pairing
This covers both:
- DM pairing - approving who can talk to your bot
- Node pairing - connecting your Mac as a paired node to the VPS gateway
Happy to help if you have more questions! π¦
Multiple machines running clawdbot nodes
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?
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:
- Linux Gateway sees the skill in its prompt
- When invoked, it runs via
nodes.runβ executes on Mac - Mac-specific binaries (like
imsgfor 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:
- Cloud sync β mount a shared drive (iCloud, Dropbox, NFS) for the memory folder
- Git sync β commit memory files to a private repo, pull on both machines
- 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 |