3-Node OpenClaw Configuration Strategy
Nodes Overview
| Node | Location | Purpose | Network |
|---|---|---|---|
| MacBook | Local | Primary dev, voice clone | Standard |
| Lenovo | Home server | Secondary, always-on | Standard |
| China Node | China | Kimi access via VPN | VPN required |
Configuration Strategy
Option 1: MacBook as Source of Truth
MacBook (master config):
- Full development setup
- Voice clone (pBB5VQYD9w7wdRFiArsB)
- All API keys
- International endpoints
Lenovo (sync from Mac):
- Same as Mac but no voice clone
- Sync via:
sync_openclaw_settings.sh
China Node (separate config):
- China-specific endpoints (moonshot.cn)
- VPN-routed traffic
- Different API keys if needed
Option 2: Environment-Based Configs
Create 3 config files:
~/.openclaw/
├── openclaw.json # Current/active
├── openclaw.json.macbook # MacBook specific
├── openclaw.json.lenovo # Lenovo specific
├── openclaw.json.china # China node specific
└── switch-config.sh # Switch between them
Switch script:
#!/bin/bash
# switch-config.sh macbook|lenovo|china
NODE=$1
if [ -f ~/.openclaw/openclaw.json.$NODE ]; then
cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.backup
cp ~/.openclaw/openclaw.json.$NODE ~/.openclaw/openclaw.json
openclaw gateway restart
echo "Switched to $NODE config"
else
echo "Config for $NODE not found"
fiOption 3: Git-Based Config Management
Setup:
# Create private config repo
cd ~/.openclaw
git init
git add openclaw.json agents/ skills/
git commit -m "Initial config"
# Add remote (private repo)
git remote add origin [email protected]:youruser/openclaw-config.gitOn each node:
# Clone and symlink
git clone [email protected]:youruser/openclaw-config.git ~/.openclaw-config
ln -sf ~/.openclaw-config/openclaw.json ~/.openclaw/openclaw.jsonUpdate workflow:
# Make changes on any node
git add .
git commit -m "Update API key"
git push
# Pull on other nodes
git pull
openclaw gateway restartKey Differences by Node
MacBook (Primary)
- Voice clone: pBB5VQYD9w7wdRFiArsB
- ElevenLabs: Full access
- Models: All providers
- Endpoints: International
Lenovo (Secondary)
- No voice clone (or use Mac’s)
- Same API keys
- Same models
- Endpoints: International
China Node
- Different endpoints:
- Kimi:
https://api.moonshot.cn/v1(not .com) - Other APIs: May need mirrors
- Kimi:
- VPN routing:
- Traffic through VPN
- DNS may differ
- API keys:
- May need China-specific keys
- Some services blocked
Sync Workflow
Daily (automated)
# On Lenovo, cron job every hour
*/30 * * * * ~/sync-from-macbook.shManual (when needed)
# MacBook → Lenovo
./sync_openclaw_settings.sh lenovo@home-server
# MacBook → China (separate script)
./sync_to_china.shRecommended: Hybrid Approach
For MacBook + Lenovo:
- Use sync scripts (already built)
- MacBook = source of truth
- Lenovo = mirror
For China node:
- Separate config file
- Manual sync when needed
- Different endpoints
Quick Commands
# Check which config is active
grep 'baseUrl' ~/.openclaw/openclaw.json | head -3
# Backup current config
cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.$(date +%Y%m%d)
# Switch to China config
cp ~/.openclaw/openclaw.json.china ~/.openclaw/openclaw.json
openclaw gateway restart
# View all node statuses
openclaw status --allDecision Matrix
| Task | MacBook | Lenovo | China |
|---|---|---|---|
| Voice clone gen | ✅ Primary | ❌ No | ❌ No |
| API key updates | ✅ Source | 🔄 Sync | 🔄 Manual |
| Model testing | ✅ Full | ✅ Full | ⚠️ Limited |
| 24/7 runtime | ❌ No | ✅ Yes | ✅ Yes |
| TTS (ElevenLabs) | ✅ Yes | ✅ Yes | ⚠️ VPN needed |
Next Steps
- Choose strategy (recommend: MacBook source + China separate)
- Set up China node config (different endpoints)
- Test sync MacBook ↔ Lenovo
- Document China-specific settings
Want me to:
- Create the China-specific config?
- Set up the git-based sync?
- Build the switch-config script?