Loading...
Loading...
Deploy and configure OpenClaw AI assistant with multi-model support and messaging channel integrations
npx skill4agent add aradotso/hermes-skills openclaw-deployment-installerSkill by ara.so — Hermes Skills collection.
curl -fsSL https://raw.githubusercontent.com/miaoxworld/OpenClawInstaller/main/install.sh | bash# Clone repository
git clone https://github.com/miaoxworld/OpenClawInstaller.git
cd OpenClawInstaller
# Add execute permissions
chmod +x install.sh config-menu.sh
# Run installer
./install.sh
# If permission issues on macOS, install OpenClaw first
npm install -g openclaw# Start service (background daemon)
openclaw gateway start
# Stop service
openclaw gateway stop
# Restart service
openclaw gateway restart
# Check service status
openclaw gateway status
# Run in foreground (debugging)
openclaw gateway
# View logs
openclaw logs
# Follow logs in real-time
openclaw logs --follow# Open configuration file
openclaw config
# Run onboarding wizard
openclaw onboard
# Diagnose configuration issues
openclaw doctor
# Health check
openclaw health
# Set configuration values
openclaw config set <key> <value>
# Set model
openclaw models set <provider> <model># Export conversation history
openclaw export --format json
# Clear memory
openclaw memory clear
# Backup data
openclaw backup# Run configuration menu from installation directory
bash ~/.openclaw/config-menu.sh
# Or download and run directly
curl -fsSL https://raw.githubusercontent.com/miaoxworld/OpenClawInstaller/main/config-menu.sh | bashv1/responses# Environment variables (stored in ~/.openclaw/env)
export ANTHROPIC_API_KEY="your-api-key-here"
export ANTHROPIC_BASE_URL="https://custom-api-endpoint.com" # Optional
# Configure via CLI
openclaw models set anthropic claude-sonnet-4-5-20250929v1/responsesv1/chat/completions# Environment variables
export OPENAI_API_KEY="your-api-key-here"
export OPENAI_BASE_URL="https://custom-api-endpoint.com/v1" # Optional
# Configure via CLI
openclaw models set openai gpt-4o~/.openclaw/openclaw.json{
"models": {
"providers": {
"anthropic-custom": {
"baseUrl": "https://your-api-proxy.com",
"apiKey": "${ANTHROPIC_API_KEY}",
"models": [
{
"id": "claude-sonnet-4-5-20250929",
"name": "claude-sonnet-4-5-20250929",
"api": "anthropic-messages",
"input": ["text"],
"contextWindow": 200000,
"maxTokens": 8192
}
]
}
}
}
}# Install Ollama first: https://ollama.ai
ollama pull llama3
# Configure OpenClaw
openclaw models set ollama llama3# In Telegram, message @BotFather
/newbot
# Follow prompts, get Bot Token# Message @userinfobot
# Copy your User ID~/.openclaw/openclaw.json{
"telegram": {
"token": "123456789:ABCdefGHIjklMNOpqrsTUVwxyz",
"userId": "987654321"
}
}bot{
"discord": {
"token": "your-bot-token",
"channelId": "1234567890123456789"
}
}im:messageim:message:send_as_botim:chat:readonlyim.message.receive_v1{
"feishu": {
"appId": "cli_xxxxxxxxx",
"appSecret": "your-app-secret"
}
}# Run configuration menu → WhatsApp option
# Scan QR code displayed in terminal
# Restart gateway after login
openclaw gateway restart~/.openclaw/
├── openclaw.json # Core configuration (models, channels, skills)
├── env # Environment variables (API keys, base URLs)
├── backups/ # Configuration backups
└── logs/ # Log files (managed by OpenClaw)~/.openclaw/env# Anthropic Claude
export ANTHROPIC_API_KEY="sk-ant-xxxxx"
export ANTHROPIC_BASE_URL="https://custom-endpoint.com" # Optional
# OpenAI GPT
export OPENAI_API_KEY="sk-xxxxx"
export OPENAI_BASE_URL="https://custom-endpoint.com/v1" # Optional
# Google Gemini
export GEMINI_API_KEY="your-gemini-key"
# OpenRouter
export OPENROUTER_API_KEY="sk-or-xxxxx"
# Groq
export GROQ_API_KEY="gsk_xxxxx"
# Mistral AI
export MISTRAL_API_KEY="your-mistral-key"~/.openclaw/openclaw.json{
"models": {
"default": "claude-sonnet-4-5-20250929",
"providers": {
"anthropic": {
"apiKey": "${ANTHROPIC_API_KEY}",
"models": ["claude-sonnet-4-5-20250929"]
}
}
},
"telegram": {
"token": "${TELEGRAM_BOT_TOKEN}",
"userId": "123456789"
},
"discord": {
"token": "${DISCORD_BOT_TOKEN}",
"channelId": "987654321"
},
"memory": {
"enabled": true,
"maxMessages": 1000
},
"skills": {
"enabled": true,
"directory": "~/.openclaw/skills"
}
}# After configuring AI model
openclaw doctor
# Test specific model
openclaw models test anthropic claude-sonnet-4-5-20250929# Skills are Markdown files in ~/.openclaw/skills/
mkdir -p ~/.openclaw/skills
cat > ~/.openclaw/skills/weather.md << 'EOF'
# Weather Information
You can fetch weather information for any city.
## Usage
When user asks about weather:
1. Extract city name
2. Use curl to fetch from weather API
3. Format and present results
EOF
# Restart gateway to load skills
openclaw gateway restart# Check if gateway is running
openclaw gateway status
# View recent logs
openclaw logs --tail 50
# Watch logs in real-time
openclaw logs --follow
# Health check with detailed output
openclaw health --verbose# Change to different model
openclaw models set anthropic claude-opus-4-5
# Change to different provider
openclaw models set openai gpt-4o
# Verify current model
openclaw config get models.default# Backup all configuration and data
openclaw backup --output ~/openclaw-backup-$(date +%Y%m%d).tar.gz
# Restore from backup
openclaw restore ~/openclaw-backup-20260517.tar.gz
# Export conversations only
openclaw export --format json --output ~/conversations.json# Check for errors
openclaw doctor
# View detailed logs
openclaw logs --level debug
# Verify Node.js version
node --version # Should be v22+
# Check environment variables
source ~/.openclaw/env
echo $ANTHROPIC_API_KEY# Test API key manually
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-4-5-20250929","max_tokens":10,"messages":[{"role":"user","content":"Hi"}]}'
# For custom base URL
curl https://your-custom-endpoint.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-4-5-20250929","max_tokens":10,"messages":[{"role":"user","content":"Hi"}]}'# Verify bot token and user ID
cat ~/.openclaw/openclaw.json | grep -A 3 telegram
# Check logs for errors
openclaw logs | grep telegram
# Test bot manually
curl https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/getMe# Check configuration
openclaw config get discord.channelId
# View logs
openclaw logs | grep discordopenclaw logs | grep feishu# Re-authenticate by reconfiguring
bash ~/.openclaw/config-menu.sh
# Select WhatsApp → Scan new QR code
# Restart gateway
openclaw gateway restart# Clear old memory
openclaw memory clear --before 2026-01-01
# Reduce context window in config
openclaw config set memory.maxMessages 500
# Monitor resource usage
openclaw health --verbose# Verify baseUrl format (no /v1 suffix)
echo $ANTHROPIC_BASE_URL # Should be: https://api.example.com
# Test endpoint
curl $ANTHROPIC_BASE_URL/v1/messages -H "x-api-key: $ANTHROPIC_API_KEY" -H "anthropic-version: 2023-06-01" -d '{"model":"claude-sonnet-4-5-20250929","max_tokens":10,"messages":[{"role":"user","content":"test"}]}'v1/responses# Verify endpoint supports Responses API
curl $OPENAI_BASE_URL/responses \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-4o","input":[{"role":"user","content":"test"}],"max_tokens":10}'
# If 404, your endpoint doesn't support Responses API# Stop service
openclaw gateway stop
# Backup data
openclaw backup
# Uninstall
npm uninstall -g openclaw
rm -rf ~/.openclaw
# Reinstall
curl -fsSL https://raw.githubusercontent.com/miaoxworld/OpenClawInstaller/main/install.sh | bash~/.openclaw/openclaw.json{
"models": {
"default": "claude-sonnet-4-5-20250929",
"fallback": ["gpt-4o", "gemini-2.0-flash"],
"providers": {
"anthropic": { "apiKey": "${ANTHROPIC_API_KEY}" },
"openai": { "apiKey": "${OPENAI_API_KEY}" },
"google": { "apiKey": "${GEMINI_API_KEY}" }
}
}
}# Create skill for morning briefing
cat > ~/.openclaw/skills/morning-briefing.md << 'EOF'
# Morning Briefing
Every day at 8 AM, send a summary of:
- Today's calendar events
- Weather forecast
- Important reminders
## Schedule
- Time: 08:00
- Timezone: UTC
EOF
openclaw gateway restart~/.openclaw/openclaw.json{
"system": {
"prompt": "You are a helpful AI assistant named OpenClaw. You have persistent memory across conversations and can proactively send messages. Be concise and friendly."
}
}