Infrastructure: - Created LXC 224 (openclaw-lxc) at 10.10.0.224 - 2 CPU cores, 4GB RAM, 32GB disk - Docker-in-LXC with AppArmor unconfined - OpenClaw installed via npm with MiniMax M2.1 and Discord integration Documentation: - productivity/openclaw/CONTEXT.md - Comprehensive technology overview - productivity/openclaw/troubleshooting.md - Complete troubleshooting guide - productivity/openclaw/README.md - Quick reference - productivity/openclaw/DEPLOYMENT_STATUS.md - Deployment checklist and status Configuration: - Added OpenClaw keywords to CLAUDE.md auto-loading rules - Updated server-configs/hosts.yml with openclaw host entry - Backed up LXC config to server-configs/proxmox/lxc/224.conf - Created .env.example template in server-configs/openclaw/ Status: Fully operational - Gateway accessible at http://10.10.0.224:18789 (SSH tunnel required) - Discord bot connected and online - MiniMax M2.1 model configured (200K context window) - Daemon running as systemd service Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
6.1 KiB
6.1 KiB
OpenClaw Personal AI Assistant - Technology Context
Overview
OpenClaw is an open-source personal AI assistant that runs locally with autonomous agent capabilities. Originally created as "Clawdbot" by Peter Steinberger, now community-maintained as OpenClaw.
Deployment: LXC 224 (10.10.0.224) Status: Deployment in progress Primary Use: Personal automation, task management, Discord integration
Architecture
Gateway-Centric Design
- Gateway Daemon: Single control plane for all operations
- Messaging: Handles chat platform integrations (Discord, Telegram, etc.)
- Tool Execution: Sandboxed code execution via nested Docker containers
- Client Connections: WebSocket and HTTP API for external integrations
Key Components
- OpenClaw Gateway - Node.js application, port 18789
- Docker-in-Docker Sandbox - Isolated execution environment
- Persistent Workspace -
/workspacefor file operations and memory - Configuration Layer -
openclaw.json+ environment variables
AI Provider Integration
Current Provider: MiniMax M2.1
- Model: MiniMax-M2.1 (200K context window)
- API Type: Anthropic-compatible messages API
- Endpoint: https://api.minimax.io/anthropic
- Authentication: Bearer token via
MINIMAX_API_KEY
Model Selection:
- Primary:
minimax/MiniMax-M2.1(standard, balanced performance) - Fast variant:
minimax/MiniMax-M2.1-lightning(lower latency, lower cost)
Pricing (per 1M tokens):
- M2.1: $0.50 input / $1.50 output
- M2.1 Lightning: $0.30 input / $0.90 output
Discord Integration
Bot Configuration:
- Policy: DM pairing (secure by default)
- Intents Required: Message Content + Server Members
- Permissions: View/Send/History + Embeds + Files + Reactions
Access Control:
- DMs: Pairing code required (1-hour expiry)
- Guild channels: Can be enabled per-server with allowlists
- Mention requirement: Optional gating for shared channels
Message Handling:
- History context: 20 messages (configurable)
- File uploads: 8MB max (configurable)
- Response format: Markdown with embeds
Security Model
Sandboxing
- Docker-in-Docker: Code execution isolated in nested containers
- AppArmor: Unconfined profile required for container nesting
- UID: Runs as non-root
nodeuser (UID 1000) inside container
Secrets Management
- Storage: Environment variables via
.envfile - Interpolation:
${VAR_NAME}syntax in openclaw.json - Scope: Secrets only accessible to gateway process
Network Isolation
- Bridge Network:
openclaw-netisolates from other services - Exposed Ports: Only 18789 (gateway) accessible on host network
- Outbound: Requires internet access for AI API calls
Operational Patterns
Standard Operations
# Start OpenClaw
docker compose up -d
# View logs
docker compose logs -f openclaw-gateway
# Restart after config changes
docker compose restart openclaw-gateway
# Stop service
docker compose down
Pairing Management
# List pending pairing requests
docker compose exec openclaw-gateway openclaw pairing list discord
# Approve pairing
docker compose exec openclaw-gateway openclaw pairing approve discord <code>
# Revoke access
docker compose exec openclaw-gateway openclaw pairing revoke discord <user_id>
Diagnostics
# Health check
docker compose exec openclaw-gateway openclaw doctor
# Channel status
docker compose exec openclaw-gateway openclaw channels status --probe
# Model configuration
docker compose exec openclaw-gateway openclaw models list
Configuration Updates
# Edit configuration
nano openclaw.json
# Restart to apply changes
docker compose restart openclaw-gateway
# Verify changes
docker compose logs openclaw-gateway | grep "Configuration loaded"
Resource Usage Patterns
Expected Baseline:
- Idle: ~200MB RAM, <5% CPU
- Active chat: ~500MB RAM, 10-20% CPU
- Browser automation: ~1GB RAM, 30-50% CPU
- Concurrent operations: Up to 2GB RAM
Disk Usage:
- Application: ~500MB
- Workspace files: Variable (user-dependent)
- Logs: ~50MB/week (with rotation)
- Docker images: ~1GB
Network:
- AI API calls: ~10-100KB per request
- Discord: WebSocket connection (minimal bandwidth)
- File uploads: Up to 8MB per message
Integration Points
Current Integrations
- Discord: DM-based personal assistant
- MiniMax API: AI model provider
- Docker: Sandboxed execution environment
Potential Future Integrations
- n8n: Workflow automation triggers (not currently configured)
- Home Assistant: Smart home control via API
- Additional chat platforms: Telegram, Signal, WhatsApp
- Browser automation skills: Web scraping, form filling
Troubleshooting Quick Reference
| Issue | Solution |
|---|---|
| Gateway won't start | Check docker compose logs for errors; verify .env secrets |
| Discord not connecting | Verify DISCORD_BOT_TOKEN and intents enabled |
| "Used disallowed intents" error | Enable Message Content Intent in Discord portal |
| Pairing code not working | Check expiry (1 hour), regenerate if needed |
| High memory usage | Check for stuck browser automation processes |
| MiniMax API errors | Verify MINIMAX_API_KEY, check API quota |
References
- Official Docs: https://docs.openclaw.ai/
- GitHub: https://github.com/openclaw/openclaw
- Discord Setup: https://docs.openclaw.ai/channels/discord
- MiniMax Provider: https://docs.openclaw.ai/providers/minimax
- MiniMax Platform: https://platform.minimax.io/
Maintenance Notes
Update Strategy:
- Auto-updates: Gateway pulls
:latesttag on restart - Breaking changes: Check release notes before updating
- Rollback: Pin specific version tag if needed
Backup Strategy:
- Configuration:
openclaw.json+.env(version controlled template) - Workspace:
/opt/openclaw/workspace(contains agent memory/files) - Logs: Optional retention for debugging
Monitoring:
- Health check: HTTP endpoint at http://10.10.0.224:18789/health
- Discord connectivity: Verify bot status in server member list
- Resource usage: Monitor via Proxmox dashboard