| name | clawbridge-dashboard |
| description | ClawBridge mobile-first dashboard with Cloudflare tunnel remote access |
ClawBridge Dashboard Integration
Purpose: Provides mobile-first dashboard access to Heretek OpenClaw with zero-config remote access via Cloudflare Tunnel.
Source: https://github.com/dreamwing/clawbridge
License: MIT
Installation
Quick Install
curl -sL https://clawbridge.app/install.sh | bash
Manual Install
git clone https://github.com/dreamwing/clawbridge.git /opt/clawbridge
cd /opt/clawbridge
npm install
cp .env.example .env
Configuration
Environment File (.env)
CLAWBRIDGE_PORT=3000
CLAWBRIDGE_HOST=0.0.0.0
OPENCLAW_GATEWAY_URL=http://localhost:18789
CLAWBRIDGE_ACCESS_KEY=your-access-key-here
CLOUDFLARE_TUNNEL_ENABLED=true
CLOUDFLARE_TUNNEL_DOMAIN=
SESSION_TIMEOUT=3600
Gateway Configuration (openclaw.json)
Add to openclaw.json:
{
"dashboard": {
"clawbridge": {
"enabled": true,
"port": 3000,
"accessKey": "${CLAWBRIDGE_ACCESS_KEY}",
"allowedOrigins": ["*"],
"cloudflareTunnel": {
"enabled": true
}
}
}
}
Cloudflare Tunnel Setup
One-Command Setup
curl -sL https://clawbridge.app/install.sh | bash -s -- --tunnel
Manual Tunnel Configuration
- Install cloudflared:
curl -L --output cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared.deb
curl -L --output cloudflared.rpm https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.rpm
sudo rpm -i cloudflared.rpm
brew install cloudflared
- Create Tunnel:
cloudflared tunnel create clawbridge-openclaw
- Configure Tunnel (
~/.cloudflared/config.yml):
tunnel: clawbridge-openclaw
credentials-file: /root/.cloudflared/tunnel-credentials.json
ingress:
- hostname: openclaw-dashboard.trycloudflare.com
service: http://localhost:3000
- service: http_status:404
- Run Tunnel:
cloudflared tunnel run clawbridge-openclaw
- Persistent Service (systemd):
sudo nano /etc/systemd/system/cloudflared-clawbridge.service
[Unit]
Description=Cloudflare Tunnel for ClawBridge Dashboard
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/cloudflared tunnel run clawbridge-openclaw
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable cloudflared-clawbridge
sudo systemctl start cloudflared-clawbridge
sudo systemctl status cloudflared-clawbridge
Access Key Authentication
Generate Access Key
openssl rand -hex 32
Configure Access Key
- Add to ClawBridge
.env:
CLAWBRIDGE_ACCESS_KEY=<generated-key>
- Add to OpenClaw Gateway
openclaw.json:
{
"dashboard": {
"clawbridge": {
"accessKey": "<same-key>"
}
}
}
API Authentication
curl -H "Authorization: Bearer your-access-key" \
http://localhost:3000/api/agents
wscat -c ws://localhost:3000/ws -H "Authorization: Bearer your-access-key"
Usage
Start Dashboard
cd /opt/clawbridge
npm start
Access Dashboard
Mobile PWA
- Open URL on mobile browser (Safari/Chrome)
- Tap "Share" → "Add to Home Screen"
- Launch from home screen as native app
Features
| Feature | Description |
|---|
| Live Activity Feed | Real-time WebSocket streaming of agent events |
| Token Economy | Track token usage and costs per agent/model |
| Cost Control Center | 10 automated cost diagnostics |
| Memory Timeline | Visual timeline of episodic memories |
| Mission Control | Trigger cron jobs, restart services |
| System Health | CPU, RAM, disk, temperature monitoring |
| Agent Management | Start/stop/restart agents |
Troubleshooting
| Issue | Solution |
|---|
| Tunnel not connecting | Run cloudflared tunnel list to verify |
| Access denied | Verify access key matches in both configs |
| WebSocket failed | Check port 3000 is accessible |
| PWA not installing | Clear browser cache, retry |
Security Notes
- ✅ MIT licensed - open source, auditable
- ✅ Cloudflare Tunnel - no open firewall ports
- ✅ Access key auth - token-based authentication
- ✅ Encrypted traffic - TLS via Cloudflare
- ⚠️ Never commit
.env - contains access keys
- ⚠️ Rotate keys periodically - security best practice
References