Quick reference for commands and configuration
# Basic model config
model: "openai/gpt-4o"
# With custom settings
model: "anthropic/claude-3-5-sonnet-20241022"
modelSettings:
temperature: 0.7
maxTokens: 4096
topP: 0.9
# Using local Ollama
model: "ollama/llama3"
# Using OpenRouter (many models)
model: "openrouter/anthropic/claude-3.5-sonnet"
channels:
discord:
enabled: true
token: "${DISCORD_BOT_TOKEN}"
channels:
- "general"
- "help"
whatsapp:
enabled: true
sessionFile: "./whatsapp-session.json"
telegram:
enabled: true
botToken: "${TELEGRAM_BOT_TOKEN}"
allowedUsers:
- user_id_1
- user_id_2
memory:
enabled: true
provider: "pinecone"
apiKey: "${PINECONE_API_KEY}"
environment: "us-west1-gcp"
index: "openclaw-memory"
# What to remember
rememberChannels: true
rememberUsers: true
maxHistoryPerChannel: 100
# Auto-forget settings
forgetAfter: "30d" # 30 days
semanticSearch: true
similarityThreshold: 0.75
voice:
enabled: true
provider: "elevenlabs"
apiKey: "${ELEVENLABS_API_KEY}"
voiceId: "rachel" # or custom voice
# Speech-to-text
sttProvider: "deepgram"
sttApiKey: "${DEEPGRAM_API_KEY}"
# Audio settings
language: "en"
autoRespond: false # require user to start
cron:
- name: "daily-briefing"
enabled: true
schedule: "0 8 * * *" # 8 AM daily
action:
type: "message"
channel: "discord"
content: "Good morning! Here's your daily update..."
- name: "weekly-report"
schedule: "0 18 * * fri" # Friday 6 PM
action:
type: "message"
channel: "slack"
content: "Weekly report ready!"
- name: "hourly-check"
schedule: "0 * * * *" # Every hour
version: '3.8'
services:
openclaw:
image: openclaw/openclaw
container_name: openclaw
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- ./gateway.yaml:/app/gateway.yaml
- ./data:/app/data
environment:
- OPENCLAW_API_KEY=${OPENCLAW_API_KEY}
- OPENCLAW_LOG_LEVEL=info
networks:
- openclaw-net
networks:
openclaw-net:
name: "my-openclaw"
version: "1.0"
# Model configuration
model: "openai/gpt-4o"
modelSettings:
temperature: 0.7
maxTokens: 4096
# Channels
channels:
discord:
enabled: true
token: "${DISCORD_TOKEN}"
whatsapp:
enabled: false
telegram:
enabled: false
# Skills
skills:
enabled:
- browser
- files
- memory
# Memory
memory:
enabled: true
provider: "pinecone"
apiKey: "${PINECONE_KEY}"
# Voice
voice:
enabled: false
# System prompt
systemPrompt: |
You are OpenClaw, a helpful AI assistant.
Be concise and friendly.
# Cron jobs
cron:
- name: "morning"
enabled: false
schedule: "0 9 * * *"
# /etc/systemd/system/openclaw.service
[Unit]
Description=OpenClaw AI Agent
After=network.target
[Service]
Type=simple
User=openclaw
WorkingDirectory=/opt/openclaw
ExecStart=/usr/bin/openclaw start
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
# Port in use
lsof -i :3000
kill -9 [PID]
# Clear memory
rm -rf ./data/memory/*
# Reset WhatsApp
rm ./whatsapp-session.json
openclaw connect whatsapp --reset
# Clear cache
npm cache clean --force
# Validate config
openclaw config validate