- TAILSCALE-COMMS-FIX.md: Complete diagnosis of cross-machine communication - USER.md: Context about Mike and operational preferences - Supporting documentation for fleet coordination protocols
98 lines
3.3 KiB
Markdown
98 lines
3.3 KiB
Markdown
# TAILSCALE-COMMS-FIX.md - Fleet Communication Diagnosis & Solutions
|
|
|
|
## Current Status
|
|
|
|
### Network Connectivity ✅
|
|
- **5070** (100.95.216.79): Pingable, 8-112ms latency
|
|
- **Beast** (100.101.122.4): Pingable, 68-196ms latency
|
|
- **Mac** (100.65.158.123): Local machine
|
|
|
|
### OpenClaw Session Communication ❌
|
|
**Problem**: OpenClaw sessions are local-only (`agent:main:main`) and cannot reach other instances
|
|
**Root Cause**: Gateway bind is loopback (`ws://127.0.0.1:18789`) - other machines can't connect
|
|
|
|
### SSH Access ❌
|
|
- **5070**: Connection refused (port 22)
|
|
- **Beast**: Connection timeout
|
|
- **Need**: SSH access for fallback communication in deliberation protocol
|
|
|
|
## Solutions to Implement
|
|
|
|
### Option 1: Enable SSH Access
|
|
**For each machine:**
|
|
```bash
|
|
# On 5070 (Linux):
|
|
sudo systemctl enable sshd
|
|
sudo systemctl start sshd
|
|
sudo ufw allow 22/tcp # if firewall active
|
|
|
|
# On Beast (Windows):
|
|
# Enable OpenSSH Server via Windows Features or:
|
|
Add-WindowsCapability -Online -Name OpenSSH.Server
|
|
Start-Service sshd
|
|
Set-Service -Name sshd -StartupType 'Automatic'
|
|
```
|
|
|
|
### Option 2: OpenClaw Gateway Bridge
|
|
**Configure one machine as bridge/relay:**
|
|
- Change gateway bind from loopback to Tailscale IP
|
|
- Other instances connect as clients to that gateway
|
|
- Requires coordination to avoid conflicts
|
|
|
|
### Option 3: Alternative Communication Channel
|
|
**Implement file-based messaging:**
|
|
- Shared directory over Tailscale (SMB/NFS)
|
|
- Each bot writes messages to shared location
|
|
- Poll for incoming messages during deliberation
|
|
|
|
### Option 4: HTTP API Communication
|
|
**Custom REST endpoints:**
|
|
- Each machine runs simple HTTP server on Tailscale IP
|
|
- Deliberation messages sent via POST requests
|
|
- Lightweight alternative to SSH
|
|
|
|
## Immediate Action Plan
|
|
|
|
### Phase 1: SSH Enablement
|
|
1. **Mac → 5070**: Test SSH enablement via current Discord session
|
|
2. **Mac → Beast**: Coordinate SSH enablement via Discord
|
|
3. **Verify**: Test `ssh mike@100.95.216.79` and `ssh mike@100.101.122.4`
|
|
|
|
### Phase 2: Deliberation Testing
|
|
Once SSH works:
|
|
1. **Test**: Cross-machine message exchange
|
|
2. **Document**: Working communication protocol
|
|
3. **Update**: DELIBERATION-PROTOCOL.md with working commands
|
|
|
|
### Phase 3: Fallback Development
|
|
If SSH fails:
|
|
1. **Implement**: HTTP-based messaging system
|
|
2. **Create**: Fleet communication skill
|
|
3. **Test**: Deliberation with new protocol
|
|
|
|
## Testing Commands
|
|
|
|
```bash
|
|
# Test SSH connectivity:
|
|
ssh -o ConnectTimeout=5 mike@100.95.216.79 "echo 'Connected to 5070'"
|
|
ssh -o ConnectTimeout=5 mike@100.101.122.4 "echo 'Connected to Beast'"
|
|
|
|
# Test file-based messaging (if shared storage available):
|
|
echo "Test from Mac" > /shared/fleet-comms/mac-$(date +%s).txt
|
|
|
|
# Test HTTP endpoints (if implemented):
|
|
curl -X POST http://100.95.216.79:8080/fleet-message -d "Test from Mac"
|
|
```
|
|
|
|
## Current Blockers
|
|
|
|
1. **SSH Services**: Not running/accessible on 5070 and Beast
|
|
2. **Gateway Configuration**: Local-only binding prevents cross-machine OpenClaw sessions
|
|
3. **Authentication**: Need to ensure proper SSH key or password auth
|
|
4. **Firewall**: May be blocking SSH (port 22) on target machines
|
|
|
|
## Next Steps
|
|
|
|
**Priority**: Enable SSH access on 5070 and Beast for deliberation protocol to work
|
|
**Fallback**: Develop alternative communication method if SSH setup fails
|
|
**Long-term**: Consider gateway bridge setup for native OpenClaw cross-machine communication |