# OpenClaw AI Assistant Installation Guide ## Overview OpenClaw is a powerful AI assistant tool that provides a WebSocket gateway for AI interactions with support for multiple channels (Discord, Slack, etc.) and advanced features like browser control, voice commands, and device pairing. **Installation Date:** February 16, 2026 **OpenClaw Version:** 2026.2.15 (dc9808a) **Host:** seattle (100.82.197.124) **Installation Location:** `/root/openclaw` ## 🚀 Quick Access - **Tailscale HTTPS URL:** https://seattle.tail.vish.gg/ - **Local Access:** http://127.0.0.1:18789/ - **WebSocket:** wss://seattle.tail.vish.gg (via Tailscale) ## 📋 Prerequisites ### System Requirements - **Node.js:** v22+ (installed v22.22.0) - **Package Manager:** pnpm (installed globally) - **Operating System:** Linux (Ubuntu/Debian) - **Network:** Tailscale for secure remote access ### Dependencies Installed - Node.js upgraded from v20.20.0 to v22.22.0 - pnpm package manager - 1003+ npm packages for OpenClaw functionality ## 🔧 Installation Steps ### 1. System Preparation ```bash # Update system sudo apt update && sudo apt upgrade -y # Install Node.js v22 curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt-get install -y nodejs # Install pnpm globally npm install -g pnpm # Verify versions node --version # Should be v22.22.0+ pnpm --version ``` ### 2. Clone and Build OpenClaw ```bash # Clone the repository cd /root git clone https://github.com/openclaw/openclaw.git cd openclaw # Install dependencies pnpm install # Build the project pnpm build ``` ### 3. Initial Setup ```bash # Run setup command to create configuration pnpm openclaw setup # This creates configuration files in ~/.openclaw/ ``` ### 4. Network Configuration #### UFW Firewall Rules ```bash # Allow OpenClaw access from Tailscale network sudo ufw allow from 100.64.0.0/10 to any port 18789 comment "OpenClaw - Tailscale only" # Verify rule was added sudo ufw status verbose ``` #### Tailscale Configuration ```bash # Verify Tailscale is running tailscale status # Get this machine's Tailscale IP tailscale ip -4 ``` ## 🚀 Running OpenClaw ### Production Mode (Recommended) ```bash cd /root/openclaw # Start with Tailscale serve for HTTPS access pnpm openclaw gateway --port 18789 --bind loopback --tailscale serve --verbose --allow-unconfigured & ``` ### Development Mode ```bash # Start in foreground for debugging pnpm openclaw gateway --port 18789 --bind loopback --verbose --allow-unconfigured ``` ### Service Management ```bash # Check status pnpm openclaw status # View logs pnpm openclaw logs --follow # Stop gateway kill %1 # If running in background ``` ## 🌐 Access Methods ### 1. Tailscale HTTPS (Recommended) - **URL:** https://seattle.tail.vish.gg/ - **Features:** Full WebSocket support, secure HTTPS - **Requirements:** Must be connected to the same Tailscale network - **First-time setup:** Requires device pairing (see Device Pairing section below) ### 2. Local Access - **URL:** http://127.0.0.1:18789/ - **Features:** Full functionality when accessed locally - **Limitations:** Only accessible from the host machine ### 3. Direct IP Access - **URL:** http://100.82.197.124:18789/ - **Features:** Basic HTTP interface - **Limitations:** WebSocket connections require HTTPS (use Tailscale instead) ## 🔗 Device Pairing OpenClaw requires device pairing for security. When you first visit the web interface, you'll see "disconnected (1008): pairing required". ### Pairing Process 1. **Visit the web interface** from your device (triggers pairing request) 2. **On the server, list pending requests:** ```bash cd /root/openclaw pnpm openclaw devices list ``` 3. **Approve the pairing request:** ```bash pnpm openclaw devices approve ``` 4. **Refresh your browser** - the interface should now work ### Device Management Commands ```bash # List all devices (pending and paired) pnpm openclaw devices list # Approve a pending device pnpm openclaw devices approve # Reject a pending device pnpm openclaw devices reject # Revoke access for a paired device pnpm openclaw devices revoke ``` ## ⚙️ Configuration ### Configuration Files Location ``` ~/.openclaw/ ├── config.json # Main configuration ├── credentials.json # API keys and tokens └── sessions/ # Session data ``` ### Key Configuration Options ```json { "gateway": { "mode": "local", "bind": "loopback", "port": 18789 }, "agent": { "model": "anthropic/claude-opus-4-6", "context": "200k" } } ``` ## 🔐 Security Considerations ### Firewall Configuration - Port 18789 is restricted to Tailscale network (100.64.0.0/10) - No public internet access to OpenClaw gateway - HTTPS enforced for WebSocket connections ### Authentication - Control UI requires HTTPS or localhost access - Tailscale provides secure tunnel with automatic certificates - No additional authentication configured (uses --allow-unconfigured) ### Network Security - Tailscale serve mode provides automatic HTTPS certificates - All traffic encrypted via Tailscale's WireGuard protocol - Access limited to authorized Tailscale devices ## 🛠️ Troubleshooting ### Common Issues #### 1. Device Pairing Required **Symptom:** "disconnected (1008): pairing required" **Solution:** 1. Visit the web interface to trigger pairing request 2. Run `pnpm openclaw devices list` on the server 3. Approve the request with `pnpm openclaw devices approve ` 4. Refresh your browser #### 2. WebSocket Connection Failures **Symptom:** "control ui requires HTTPS or localhost (secure context)" **Solution:** Use Tailscale HTTPS URL instead of direct IP access #### 3. Port Already in Use ```bash # Kill existing process pnpm openclaw gateway --force --port 18789 # Or find and kill manually lsof -ti:18789 | xargs kill -9 ``` #### 3. Node.js Version Issues ```bash # Verify Node.js version node --version # Should be v22.22.0 or higher # If not, reinstall Node.js v22 ``` #### 4. Tailscale Serve Not Working ```bash # Check Tailscale status tailscale status # Restart Tailscale if needed sudo systemctl restart tailscaled # Verify serve configuration tailscale serve status ``` ### Log Files ```bash # OpenClaw logs tail -f /tmp/openclaw/openclaw-2026-02-16.log # System logs journalctl -u tailscaled -f ``` ## 📊 System Status ### Current Configuration - **Host:** seattle.tail.vish.gg - **Tailscale IP:** 100.82.197.124 - **Gateway Port:** 18789 - **Bind Mode:** loopback (with Tailscale serve) - **Agent Model:** anthropic/claude-opus-4-6 - **Context Window:** 200k tokens ### Installed Features - Device pairing (`/pair` command) - Phone control (`/phone` command) - Voice commands (`/voice` command) - Browser control service - Canvas hosting - Bonjour discovery ### Network Status - UFW firewall: Active with Tailscale rules - Tailscale: Connected and serving HTTPS - Gateway: Running in background - WebSocket: Available via wss://seattle.tail.vish.gg ## 🔄 Maintenance ### Regular Tasks ```bash # Update OpenClaw cd /root/openclaw git pull pnpm install pnpm build # Restart gateway kill %1 pnpm openclaw gateway --port 18789 --bind loopback --tailscale serve --verbose --allow-unconfigured & ``` ### Backup Configuration ```bash # Backup configuration tar -czf openclaw-config-$(date +%Y%m%d).tar.gz ~/.openclaw/ # Backup installation tar -czf openclaw-install-$(date +%Y%m%d).tar.gz /root/openclaw/ ``` ### Security Audit ```bash # Run security audit pnpm openclaw security audit --deep # Check for updates pnpm openclaw update check ``` ## 📚 Additional Resources - **OpenClaw Documentation:** https://docs.openclaw.ai/ - **CLI Reference:** https://docs.openclaw.ai/cli/gateway - **Tailscale Documentation:** https://tailscale.com/kb/ - **GitHub Repository:** https://github.com/openclaw/openclaw ## 🎯 Next Steps 1. **Configure API Keys:** Add your AI model API keys to `~/.openclaw/credentials.json` 2. **Set Up Channels:** Configure Discord, Slack, or other communication channels 3. **Customize Settings:** Modify `~/.openclaw/config.json` for your needs 4. **Security Review:** Run `pnpm openclaw security audit --deep` 5. **Monitoring:** Set up log monitoring and alerting --- **Installation completed successfully on February 16, 2026** **OpenClaw is now accessible at:** https://seattle.tail.vish.gg/