OpenClaw: Personal AI Assistant Multi-Channel yang Self-Hosted
Pelajari cara setup OpenClaw, gateway AI self-hosted yang menghubungkan WhatsApp, Telegram, Discord, Slack, dan 20+ channel lainnya ke AI assistant pribadimu. Full control, no cloud lock-in.
OpenClaw: Personal AI Assistant Multi-Channel yang Self-Hosted
Introduction
Bayangkan punya AI assistant yang bisa kamu hubungi dari mana sajaβWhatsApp, Telegram, Discord, bahkan iMessageβtanpa harus bergantung pada layanan cloud yang mahal atau mengorbankan privasi data. OpenClaw adalah solusinya.
OpenClaw adalah self-hosted gateway yang menjembatani aplikasi chat favoritmu dengan AI assistant. Kamu menjalankan satu Gateway process di mesin sendiri (laptop, VPS, atau Raspberry Pi), dan itu menjadi jembatan antara messaging apps dan AI assistant yang selalu tersedia.
π¦ EXFOLIATE! EXFOLIATE! β The space lobster motto
Kenapa OpenClaw berbeda?
- Self-hosted: Berjalan di hardware kamu, aturan kamu yang berlaku
- Multi-channel: Satu Gateway melayani WhatsApp, Telegram, Discord, Slack, Signal, dan 20+ channel lainnya secara bersamaan
- Agent-native: Dibangun untuk AI agents dengan tool use, sessions, memory, dan multi-agent routing
- Open source: MIT licensed, komunitas-driven
- No vendor lock-in: Pilih model dan provider sesuka hati
Fakta menarik: OpenClaw mendukung lebih banyak channel daripada kebanyakan commercial AI assistantβdan kamu punya full control atas semuanya.
Prerequisites
Sebelum mulai, pastikan kamu punya:
- Node.js 22+ (direkomendasikan Node 24)
- API key dari provider pilihanmu (OpenAI, Anthropic, atau lainnya)
- Terminal/CLI access
- 5 menit waktu untuk setup dasar
Supported Platforms
- Desktop OS: macOS, Linux, Windows (via WSL2)
- Mobile: iOS app, Android app (companion nodes)
- Server: VPS, Raspberry Pi, atau machine apapun yang bisa run Node
Core Concepts
Arsitektur OpenClaw
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β MESSAGING CHANNELS β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β WhatsApp β Telegram β Discord β Slack β Signal β iMessage β β Google Chat β IRC β Matrix β Teams β LINE β Mattermost β ... β ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββ β βΌ βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β OPENCLAW GATEWAY β β (Control Plane) β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β β’ Session Management β’ Channel Routing β β β’ Multi-Agent Support β’ Message Streaming β β β’ Tool Orchestration β’ Presence & Typing β β β’ Security & Auth β’ Cron & Automation β ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββ β ββββββββββββββββββββΌβββββββββββββββββββ β β β βΌ βΌ βΌ βββββββββββββββββ βββββββββββββββββ βββββββββββββββββ β PI AGENT β β CLI / Web β β MOBILE APPS β β (AI Runtime) β β Control UI β β iOS / Androidβ βββββββββββββββββ βββββββββββββββββ βββββββββββββββββ
Komponen Utama
1. Gateway Single control plane untuk semua operasi. Menangani session management, channel connections, routing, dan tool orchestration.
2. Pi Agent AI runtime yang memproses messages dan menjalankan tools. Support streaming responses untuk output panjang.
3. Channels Connectors ke berbagai messaging platforms. Setiap channel punya konfigurasi sendiri tapi dikoordinasi oleh Gateway.
4. Skills "Instructions" yang mengajari agent cara menggunakan tools. AgentSkills-compatible format.
5. Nodes Companion apps untuk iOS dan Android. Menambahkan kemampuan camera, voice, canvas, dan device commands.
Session Model
- Main Session: Direct messages collapse ke satu session per user
- Group Sessions: Isolated per group dengan mention-based activation
- Multi-Agent: Route berbeda channels/accounts ke isolated agents dengan workspace terpisah
Step-by-Step: Instalasi OpenClaw
Method 1: Quick Install (Recommended)
macOS/Linux:
curl -fsSL https://openclaw.ai/install.sh | bash
Windows (PowerShell):
iwr -useb https://openclaw.ai/install.ps1 | iex
Method 2: NPM Global Install
npm install -g openclaw@latest
Atau dengan pnpm/bun:
pnpm add -g openclaw@latest # atau bun add -g openclaw@latest
Method 3: From Source
Untuk development atau custom builds:
git clone https://github.com/openclaw/openclaw.git cd openclaw pnpm install pnpm build pnpm openclaw onboard --install-daemon
Step-by-Step: Onboarding & Setup
1. Run Onboarding Wizard
openclaw onboard --install-daemon
Wizard ini akan:
- Setup auth configuration
- Configure gateway settings
- Optional: setup channels
- Install gateway as system service (launchd/systemd)
2. Verify Gateway Status
openclaw gateway status
Kalau service running, outputnya akan menunjukkan status dan port.
3. Open Control UI
openclaw dashboard
Atau langsung buka browser ke http://127.0.0.1:18789/
4. Test dengan Agent
openclaw agent --message "Hello, introduce yourself!"
Step-by-Step: Connect Channels
# Login dan scan QR code openclaw channels login whatsapp # Pairing untuk DM security openclaw pairing approve +1234567890
Konfigurasi tambahan (optional):
{ channels: { whatsapp: { allowFrom: ["+1234567890", "+1987654321"], groups: { "*": { requireMention: true } } } } }
Telegram
- Buat bot via @BotFather di Telegram
- Copy bot token
- Configure di OpenClaw:
openclaw config set channels.telegram.botToken YOUR_BOT_TOKEN
Atau di config file:
{ channels: { telegram: { botToken: "YOUR_BOT_TOKEN_HERE" } } }
Discord
- Buat bot di Discord Developer Portal
- Enable Message Content Intent
- Invite bot ke server
- Configure:
{ channels: { discord: { botToken: "YOUR_DISCORD_BOT_TOKEN", dmPolicy: "pairing" // atau "open" untuk public } } }
Slack
- Create Slack App
- Enable Socket Mode
- Add OAuth scopes:
app_mentions:read,chat:write,channels:history - Install to workspace
- Configure:
{ channels: { slack: { appToken: "xapp-...", botToken: "xoxb-...", dmPolicy: "pairing" } } }
Step-by-Step: Multi-Agent Routing
Salah satu fitur powerful OpenClaw adalah kemampuan route berbeda channels ke isolated agents.
Scenario: Personal + Work Agents
{ agents: { personal: { workspace: "~/.openclaw/workspace-personal", channels: ["telegram", "whatsapp"] }, work: { workspace: "~/.openclaw/workspace-work", channels: ["slack", "discord"], model: "claude-sonnet-4" } } }
Hasilnya:
- Telegram/WhatsApp messages β Personal agent dengan context pribadi
- Slack/Discord messages β Work agent dengan context kerja
- Masing-masing punya memory, skills, dan config terpisah
Deep Dive: Skills System
Apa itu Skills?
Skills adalah "instructions" yang mengajari agent cara menggunakan tools. Format AgentSkills-compatible dengan YAML frontmatter.
Struktur Skill
skills/ βββ my-awesome-skill/ βββ SKILL.md # Main instruction file βββ references/ # Optional reference docs βββ scripts/ # Optional helper scripts
SKILL.md Format
--- name: weather-checker description: Check weather for any location metadata: { "openclaw": { "emoji": "π€οΈ", "requires": { "env": ["OPENWEATHER_API_KEY"] } } } --- # Weather Checker Skill When the user asks about weather: 1. Use the `web_fetch` tool to call OpenWeather API 2. Parse the response for temperature, humidity, and conditions 3. Present the information in a friendly format Example API call: https://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}
Skill Locations & Precedence
- Bundled skills: Shipped dengan OpenClaw install
- Managed skills:
~/.openclaw/skills - Workspace skills:
<workspace>/skills(highest precedence)
ClawHub - Skills Registry
Browse dan install skills dari clawhub.com:
# Install skill clawhub install weather-forecaster # Update all skills clawhub update --all
Deep Dive: Security & Pairing
DM Pairing (Default)
Untuk channel dengan DM support, OpenClaw menggunakan pairing system:
- Unknown sender mengirim pesan
- Bot replies dengan pairing code
- Owner approves:
openclaw pairing approve <sender> - Sender ditambahkan ke allowlist
Configuration Options
{ channels: { telegram: { dmPolicy: "pairing", // "pairing" | "open" allowFrom: ["*"] // "*" = allow all (hanya jika dmPolicy="open") } } }
Security Checklist
# Run security audit openclaw doctor # Check DM policies openclaw config check dm-policies
Best Practices:
- Keep
dmPolicy: "pairing"untuk personal use - Use
requireMention: trueuntuk groups - Regularly review pairing allowlist
- Never expose Gateway ke public internet tanpa auth
Deep Dive: Mobile Nodes
iOS Node
Features:
- Voice Wake: "Hey Claw" wake word activation
- Talk Mode: Continuous voice conversation
- Canvas: Visual workspace yang dikontrol agent
- Camera: Snap photos dan screen recording
- Location: Share location ke agent
Setup:
- Install OpenClaw app dari App Store
- Scan QR code dari Gateway atau enter setup code manually
- Grant necessary permissions
Android Node
Features:
- Connect Tab: Setup code pairing
- Chat Sessions: Direct chat dengan agent
- Voice Tab: Voice conversation
- Canvas: Visual workspace
- Device Commands: Notifications, SMS, contacts, calendar, photos
Setup:
- Install OpenClaw app dari Play Store
- Open Connect tab
- Enter setup code atau scan QR
Advanced: Voice & Talk Mode
Voice Wake (macOS/iOS)
Configure wake word detection:
{ nodes: { voicewake: { enabled: true, keyword: "hey claw", sensitivity: 0.5 } } }
Talk Mode
Continuous voice conversation tanpa wake word di setiap turn:
# Via CLI openclaw talk --mode continuous # Via config
{ nodes: { talk: { enabled: true, ttsProvider: "elevenlabs", // atau "system" sttProvider: "whisper" } } }
Advanced: Canvas & A2UI
Canvas adalah agent-driven visual workspace. Agent bisa push UI elements yang kamu control.
How It Works
- Agent calls
canvas.present()dengan UI definition - Canvas renders di macOS/iOS/Android app
- User interacts dengan UI
- Events dikirim balik ke agent
Example: Dashboard UI
Agent bisa create dashboard seperti:
canvas.present({ type: "dashboard", widgets: [ { type: "weather", location: "Surabaya" }, { type: "tasks", filter: "today" }, { type: "calendar", days: 7 } ] })
Advanced: Cron & Automation
Cron Jobs
Schedule automated tasks:
{ cron: { jobs: [ { id: "morning-briefing", schedule: "0 7 * * *", action: "agent", message: "Give me a morning briefing with weather and calendar" }, { id: "backup-check", schedule: "0 2 * * 0", // Sunday 2 AM action: "exec", command: "/scripts/check-backups.sh" } ] } }
Webhooks
Receive external events:
{ webhooks: { entries: [ { path: "/github", secret: "your-webhook-secret", handler: "skills/github-webhook" } ] } }
Advanced: Remote Access
Tailscale Integration
Secure remote access via Tailscale:
{ gateway: { tailscale: { mode: "serve" // "off" | "serve" | "funnel" } } }
- serve: Tailnet-only access
- funnel: Public HTTPS (requires password auth)
SSH Tunnel
Alternative remote access:
# Create tunnel ssh -R 18789:127.0.0.1:18789 user@your-server # Or use autossh for persistent tunnel autossh -M 0 -f -T -N -R 18789:127.0.0.1:18789 user@your-server
Advanced: Docker Deployment
FROM node:24-alpine WORKDIR /app # Install OpenClaw RUN npm install -g openclaw@latest # Create config directory RUN mkdir -p /root/.openclaw # Copy config COPY openclaw.json /root/.openclaw/ # Expose port EXPOSE 18789 # Run gateway CMD ["openclaw", "gateway", "--port", "18789"]
docker-compose.yml:
version: '3.8' services: openclaw: build: . ports: - "18789:18789" volumes: - ./openclaw.json:/root/.openclaw/openclaw.json - openclaw-data:/root/.openclaw restart: unless-stopped volumes: openclaw-data:
Best Practices
1. Use Strong Models
Untuk kualitas terbaik dan lower prompt-injection risk, gunakan model terkuat yang tersedia.
2. Configure Proper Pairing
Jangan buka DM policy ke public kecuali memang diperlukan. Pairing system ada untuk alasan keamanan.
3. Use Workspace Isolation
Untuk use cases berbeda (personal vs work), gunakan separate workspaces dengan isolated agents.
4. Monitor Token Usage
Gunakan /status command atau Control UI untuk memonitor usage dan biaya.
5. Regular Updates
openclaw update --channel stable openclaw doctor # Check health
6. Backup Configuration
# Backup config directory tar -czf openclaw-backup.tar.gz ~/.openclaw/ # Restore tar -xzf openclaw-backup.tar.gz -C ~/
Common Mistakes
β Mistake 1: Exposing Gateway Without Auth
# JANGAN INI openclaw gateway --bind 0.0.0.0
Solusi: Gunakan Tailscale atau SSH tunnel untuk remote access.
β Mistake 2: Opening DM Policy to Public
{ channels: { telegram: { dmPolicy: "open", allowFrom: ["*"] // BERBAHAYA untuk bot publik tanpa filtering } } }
Solusi: Gunakan dmPolicy: "pairing" atau implement custom filtering logic.
β Mistake 3: Not Running Doctor
Solusi: Run openclaw doctor secara regular untuk catch issues early.
β Mistake 4: Ignoring Skill Security
Solusi: Baca skill code sebelum enable. Treat third-party skills sebagai untrusted code.
Troubleshooting
Gateway Won't Start
# Check logs openclaw gateway --verbose # Check port conflict lsof -i :18789 # Reset config openclaw config reset
Channel Connection Issues
# Re-login openclaw channels login whatsapp # Check channel status openclaw channels status
Agent Not Responding
# Check agent logs openclaw agent --message "test" --verbose # Verify model config openclaw config check models
Memory Issues
# Check session size openclaw sessions list --verbose # Prune old sessions openclaw sessions prune --older-than 7d
Summary & Next Steps
Key Takeaways
- OpenClaw = Self-hosted Gateway - Control penuh, no cloud dependency
- Multi-Channel - 20+ messaging platforms dari satu Gateway
- Agent-Native - Built untuk AI dengan tools, memory, dan sessions
- Secure by Default - Pairing system, allowlists, dan sandbox options
- Extensible - Skills system untuk menambah capabilities
Supported Channels (20+)
WhatsApp, Telegram, Discord, Slack, Signal, iMessage, BlueBubbles, IRC, Microsoft Teams, Matrix, Feishu, LINE, Mattermost, Nextcloud Talk, Nostr, Synology Chat, Tlon, Twitch, Zalo, Zalo Personal, WebChat
Next Steps
- Install OpenClaw dan run onboarding wizard
- Connect your favorite channel (WhatsApp, Telegram, dll)
- Explore the Control UI untuk chat, config, dan sessions
- Install skills dari ClawHub
- Setup mobile nodes untuk akses dari smartphone
- Join the community di Discord
References
- Website: https://openclaw.ai
- Documentation: https://docs.openclaw.ai
- GitHub: https://github.com/openclaw/openclaw
- ClawHub (Skills): https://clawhub.com
- Discord Community: https://discord.gg/clawd
- License: MIT
OpenClaw is built by the community, for the community. EXFOLIATE! π¦