🦞 OpenClaw Setup — From Zero to AI Assistant
Complete decision tree for first-time setup. Every layer, every choice.
Decision Point
Action / Install Step
Choice / Option
Configuration
Use Case / End State
Layer 1: Hardware — What Are You Running On?
%%{init: {'theme': 'dark', 'themeVariables': {'fontSize': '14px'}}}%%
flowchart TD
START([🦞 I want to set up OpenClaw]) --> HW{What hardware do you have?}
HW -->|Desktop/Laptop| HW_DESK{Operating System?}
HW -->|Server/VPS| HW_SERVER[Linux VPS
DigitalOcean, Hetzner,
AWS, etc.]
HW -->|Single Board| HW_SBC{Which SBC?}
HW -->|Nothing yet| HW_BUY{Budget?}
HW_DESK -->|macOS| MAC[Mac — Apple Silicon
or Intel]
HW_DESK -->|Linux| LINUX[Linux Desktop
Ubuntu, Debian, Fedora]
HW_DESK -->|Windows| WIN[Windows 11
via WSL2]
HW_SBC -->|Raspberry Pi 4/5| PI[Raspberry Pi
ARM64, 4GB+ RAM]
HW_SBC -->|Other ARM| ARM[Other ARM SBC
Orange Pi, etc.]
HW_BUY -->|Under $100| BUY_PI[Get a Raspberry Pi 5
4GB = $60, 8GB = $80]
HW_BUY -->|$100-500| BUY_MINI[Used Mac Mini M1/M2
or Linux mini PC]
HW_BUY -->|$500+| BUY_NEW[Mac Mini M4 $499
or MacBook Air $1099]
MAC --> NODE_REQ[✅ Requirements Met:
Node.js 22+]
LINUX --> NODE_REQ
WIN --> WSL[Install WSL2 first
wsl --install] --> NODE_REQ
PI --> NODE_REQ
ARM --> NODE_REQ
HW_SERVER --> NODE_REQ
BUY_PI --> PI
BUY_MINI --> MAC
BUY_NEW --> MAC
NODE_REQ --> INSTALL[npm i -g openclaw
openclaw onboard]
style START fill:#f0883e,stroke:#f0883e,color:#000
style HW fill:#f0883e,stroke:#f0883e,color:#000
style HW_DESK fill:#f0883e,stroke:#f0883e,color:#000
style HW_BUY fill:#f0883e,stroke:#f0883e,color:#000
style HW_SBC fill:#f0883e,stroke:#f0883e,color:#000
style INSTALL fill:#3fb950,stroke:#3fb950,color:#000
style NODE_REQ fill:#3fb950,stroke:#3fb950,color:#000
style WSL fill:#3fb950,stroke:#3fb950,color:#000
style MAC fill:#58a6ff,stroke:#58a6ff,color:#000
style LINUX fill:#58a6ff,stroke:#58a6ff,color:#000
style WIN fill:#58a6ff,stroke:#58a6ff,color:#000
style PI fill:#58a6ff,stroke:#58a6ff,color:#000
style ARM fill:#58a6ff,stroke:#58a6ff,color:#000
style HW_SERVER fill:#58a6ff,stroke:#58a6ff,color:#000
style BUY_PI fill:#58a6ff,stroke:#58a6ff,color:#000
style BUY_MINI fill:#58a6ff,stroke:#58a6ff,color:#000
style BUY_NEW fill:#58a6ff,stroke:#58a6ff,color:#000
Layer 2: LLM Provider — Where Does the Brain Come From?
%%{init: {'theme': 'dark', 'themeVariables': {'fontSize': '14px'}}}%%
flowchart TD
INSTALL([openclaw onboard]) --> LLM{LLM Provider?}
LLM -->|Cloud API — Best Quality| CLOUD{Which provider?}
LLM -->|Local LLM — Free & Private| LOCAL{Local setup}
LLM -->|Free Tier — $0 Cost| FREE{Free options}
LLM -->|Proxy/Gateway| PROXY{Proxy services}
CLOUD -->|Recommended| ANTH[Anthropic
Claude Opus / Sonnet
Best for agents]
CLOUD --> OAI[OpenAI
GPT-5.2 / Codex
Great for coding]
CLOUD --> GOOG[Google
Gemini 2.5 Flash
Fast & cheap]
CLOUD --> XAI[xAI / Grok
Good for search]
LOCAL --> OLLAMA[Ollama
Qwen3, Llama 3.3,
DeepSeek R1]
LOCAL --> VLLM[vLLM
Higher performance
needs GPU]
FREE --> OR_FREE[OpenRouter Free
Llama 3.3 70B, DeepSeek R1
50 req/day]
FREE --> GAIS[Google AI Studio
Gemini Flash free
20 req/day]
FREE --> GROQ[Groq / Cerebras
Ultra-fast inference
Free tiers]
PROXY --> OR[OpenRouter
100+ models, one API key]
PROXY --> VERCEL[Vercel AI Gateway]
PROXY --> CF[Cloudflare AI Gateway]
PROXY --> VEN[Venice AI
Privacy-first]
ANTH --> CONFIG_MODEL[Set in config:
agents.defaults.model.primary]
OAI --> CONFIG_MODEL
GOOG --> CONFIG_MODEL
XAI --> CONFIG_MODEL
OLLAMA --> CONFIG_MODEL
VLLM --> CONFIG_MODEL
OR_FREE --> CONFIG_MODEL
GAIS --> CONFIG_MODEL
GROQ --> CONFIG_MODEL
OR --> CONFIG_MODEL
VERCEL --> CONFIG_MODEL
CF --> CONFIG_MODEL
VEN --> CONFIG_MODEL
CONFIG_MODEL --> COST{Monthly budget?}
COST -->|$0| COST_FREE[Local LLM or free tiers
Limited quality/speed]
COST -->|$5-20| COST_LOW[Sonnet for daily use
Haiku for cron jobs]
COST -->|$20-50| COST_MID[Opus for chat
Sonnet for automation]
COST -->|$50+| COST_HIGH[Opus everywhere
Multiple agents
Heavy cron]
style INSTALL fill:#3fb950,stroke:#3fb950,color:#000
style LLM fill:#f0883e,stroke:#f0883e,color:#000
style CLOUD fill:#f0883e,stroke:#f0883e,color:#000
style LOCAL fill:#f0883e,stroke:#f0883e,color:#000
style FREE fill:#f0883e,stroke:#f0883e,color:#000
style PROXY fill:#f0883e,stroke:#f0883e,color:#000
style COST fill:#f0883e,stroke:#f0883e,color:#000
style ANTH fill:#58a6ff,stroke:#58a6ff,color:#000
style OAI fill:#58a6ff,stroke:#58a6ff,color:#000
style GOOG fill:#58a6ff,stroke:#58a6ff,color:#000
style XAI fill:#58a6ff,stroke:#58a6ff,color:#000
style OLLAMA fill:#58a6ff,stroke:#58a6ff,color:#000
style VLLM fill:#58a6ff,stroke:#58a6ff,color:#000
style OR_FREE fill:#58a6ff,stroke:#58a6ff,color:#000
style GAIS fill:#58a6ff,stroke:#58a6ff,color:#000
style GROQ fill:#58a6ff,stroke:#58a6ff,color:#000
style OR fill:#58a6ff,stroke:#58a6ff,color:#000
style VERCEL fill:#58a6ff,stroke:#58a6ff,color:#000
style CF fill:#58a6ff,stroke:#58a6ff,color:#000
style VEN fill:#58a6ff,stroke:#58a6ff,color:#000
style CONFIG_MODEL fill:#bc8cff,stroke:#bc8cff,color:#000
style COST_FREE fill:#bc8cff,stroke:#bc8cff,color:#000
style COST_LOW fill:#bc8cff,stroke:#bc8cff,color:#000
style COST_MID fill:#bc8cff,stroke:#bc8cff,color:#000
style COST_HIGH fill:#bc8cff,stroke:#bc8cff,color:#000
Layer 3: Channel — How Do You Talk to It?
%%{init: {'theme': 'dark', 'themeVariables': {'fontSize': '14px'}}}%%
flowchart TD
READY([Model configured]) --> CHAN{How do you want
to talk to it?}
CHAN -->|Mobile first| MOBILE{Phone messaging}
CHAN -->|Desktop first| DESKTOP{Desktop apps}
CHAN -->|Team/Group| TEAM{Collaboration}
CHAN -->|Just CLI| CLI[Terminal only
No channel needed
Use Control UI]
MOBILE -->|Easiest setup| TELE[Telegram ⭐
Create bot via BotFather
Paste token, done]
MOBILE -->|Most popular| WA[WhatsApp
QR code pairing
Uses your phone number]
MOBILE -->|Privacy focused| SIG[Signal
signal-cli setup
More complex]
MOBILE -->|Apple ecosystem| IMSG[iMessage
Requires Mac host
BlueBubbles server]
DESKTOP --> DISC[Discord
Create bot in Dev Portal
Servers + DMs]
DESKTOP --> SLACK[Slack
Bolt SDK app
Workspace install]
DESKTOP --> IRC_C[IRC
Any IRC server
Lightweight]
TEAM --> DISC
TEAM --> SLACK
TEAM --> GCHAT[Google Chat
Workspace app
HTTP webhook]
TEAM --> MSTEAMS[Microsoft Teams
Bot Framework
Enterprise]
TEAM --> MM[Mattermost
Self-hosted Slack alt]
TELE --> SECURITY{DM Security?}
WA --> SECURITY
SIG --> SECURITY
IMSG --> SECURITY
DISC --> SECURITY
SLACK --> SECURITY
CLI --> SECURITY
IRC_C --> SECURITY
GCHAT --> SECURITY
MSTEAMS --> SECURITY
MM --> SECURITY
SECURITY -->|Just me| SEC_ALLOW[allowFrom: your ID only
Locked to you]
SECURITY -->|Me + trusted| SEC_PAIR[Pairing mode
Approve new users]
SECURITY -->|Anyone| SEC_OPEN[Open mode
⚠️ Use with caution]
SEC_ALLOW --> MULTI_CHAN{Add more channels?}
SEC_PAIR --> MULTI_CHAN
SEC_OPEN --> MULTI_CHAN
MULTI_CHAN -->|Yes| CHAN
MULTI_CHAN -->|No| USE_CASES([→ Configure Use Cases])
style READY fill:#3fb950,stroke:#3fb950,color:#000
style CHAN fill:#f0883e,stroke:#f0883e,color:#000
style MOBILE fill:#f0883e,stroke:#f0883e,color:#000
style DESKTOP fill:#f0883e,stroke:#f0883e,color:#000
style TEAM fill:#f0883e,stroke:#f0883e,color:#000
style SECURITY fill:#f0883e,stroke:#f0883e,color:#000
style MULTI_CHAN fill:#f0883e,stroke:#f0883e,color:#000
style TELE fill:#58a6ff,stroke:#58a6ff,color:#000
style WA fill:#58a6ff,stroke:#58a6ff,color:#000
style SIG fill:#58a6ff,stroke:#58a6ff,color:#000
style IMSG fill:#58a6ff,stroke:#58a6ff,color:#000
style DISC fill:#58a6ff,stroke:#58a6ff,color:#000
style SLACK fill:#58a6ff,stroke:#58a6ff,color:#000
style CLI fill:#58a6ff,stroke:#58a6ff,color:#000
style IRC_C fill:#58a6ff,stroke:#58a6ff,color:#000
style GCHAT fill:#58a6ff,stroke:#58a6ff,color:#000
style MSTEAMS fill:#58a6ff,stroke:#58a6ff,color:#000
style MM fill:#58a6ff,stroke:#58a6ff,color:#000
style SEC_ALLOW fill:#bc8cff,stroke:#bc8cff,color:#000
style SEC_PAIR fill:#bc8cff,stroke:#bc8cff,color:#000
style SEC_OPEN fill:#bc8cff,stroke:#bc8cff,color:#000
style USE_CASES fill:#f778ba,stroke:#f778ba,color:#000
Layer 4: Use Cases — What Do You Want It to Do?
%%{init: {'theme': 'dark', 'themeVariables': {'fontSize': '14px'}}}%%
flowchart TD
UC([Channel connected!
Now what?]) --> GOAL{Primary use case?}
GOAL -->|Personal Assistant| PA[Daily briefings
Calendar mgmt
Reminders
Web search]
GOAL -->|Coding Agent| CODE[Code generation
Debugging
Git automation
PR reviews]
GOAL -->|Business/Research| BIZ[Market research
Data analysis
Report generation
Competitive intel]
GOAL -->|Trading/Finance| TRADE[Market scanners
Delta screeners
Earnings tracking
Options flow]
GOAL -->|Content/Social| CONTENT[Newsletter digests
Social monitoring
LinkedIn automation
Content pipeline]
GOAL -->|Home/Infra| HOME[Server monitoring
Self-healing
Smart home
IoT control]
PA --> ENHANCE{Enhance with...}
CODE --> ENHANCE
BIZ --> ENHANCE
TRADE --> ENHANCE
CONTENT --> ENHANCE
HOME --> ENHANCE
ENHANCE --> E_CRON[⏰ Cron Jobs
Scheduled tasks
Automated reports]
ENHANCE --> E_MULTI[👥 Multi-Agent
Specialized agents
Different models per role]
ENHANCE --> E_BROWSER[🌐 Browser Automation
Scraping, logins
JS-heavy sites]
ENHANCE --> E_MEMORY[🧠 Memory & RAG
Long-term recall
Knowledge base]
ENHANCE --> E_SKILLS[🔧 Skills
ClawHub marketplace
Custom skills]
ENHANCE --> E_NODES[📱 Node Pairing
Phone camera/location
Remote devices]
ENHANCE --> E_HOOKS[🪝 Webhooks
Gmail hooks
GitHub events
External triggers]
E_CRON --> DONE([🦞 You're Running OpenClaw!])
E_MULTI --> DONE
E_BROWSER --> DONE
E_MEMORY --> DONE
E_SKILLS --> DONE
E_NODES --> DONE
E_HOOKS --> DONE
style UC fill:#3fb950,stroke:#3fb950,color:#000
style GOAL fill:#f0883e,stroke:#f0883e,color:#000
style ENHANCE fill:#f0883e,stroke:#f0883e,color:#000
style PA fill:#f778ba,stroke:#f778ba,color:#000
style CODE fill:#f778ba,stroke:#f778ba,color:#000
style BIZ fill:#f778ba,stroke:#f778ba,color:#000
style TRADE fill:#f778ba,stroke:#f778ba,color:#000
style CONTENT fill:#f778ba,stroke:#f778ba,color:#000
style HOME fill:#f778ba,stroke:#f778ba,color:#000
style E_CRON fill:#bc8cff,stroke:#bc8cff,color:#000
style E_MULTI fill:#bc8cff,stroke:#bc8cff,color:#000
style E_BROWSER fill:#bc8cff,stroke:#bc8cff,color:#000
style E_MEMORY fill:#bc8cff,stroke:#bc8cff,color:#000
style E_SKILLS fill:#bc8cff,stroke:#bc8cff,color:#000
style E_NODES fill:#bc8cff,stroke:#bc8cff,color:#000
style E_HOOKS fill:#bc8cff,stroke:#bc8cff,color:#000
style DONE fill:#3fb950,stroke:#3fb950,color:#000
Complete Path — Quick Reference
%%{init: {'theme': 'dark', 'themeVariables': {'fontSize': '14px'}}}%%
flowchart LR
A[1. Pick Hardware
Mac/Linux/Pi/VPS] --> B[2. Install Node 22+
npm i -g openclaw]
B --> C[3. Pick LLM
Cloud/Local/Free]
C --> D[4. openclaw onboard
Enter API key]
D --> E[5. Pick Channel
Telegram recommended]
E --> F[6. Configure Security
allowFrom / pairing]
F --> G[7. openclaw start
Send first message!]
G --> H[8. Add Use Cases
Cron, skills, agents]
style A fill:#58a6ff,stroke:#58a6ff,color:#000
style B fill:#3fb950,stroke:#3fb950,color:#000
style C fill:#58a6ff,stroke:#58a6ff,color:#000
style D fill:#3fb950,stroke:#3fb950,color:#000
style E fill:#58a6ff,stroke:#58a6ff,color:#000
style F fill:#bc8cff,stroke:#bc8cff,color:#000
style G fill:#3fb950,stroke:#3fb950,color:#000
style H fill:#f778ba,stroke:#f778ba,color:#000