3.0 KiB
3.0 KiB
OpenClaw Agent Guide
This document provides a comprehensive technical reference for AI agents to manage the OpenClaw deployment in this repository.
🏗️ Architecture & Configuration Lifecycle
1. Source of Truth
The configuration for OpenClaw is centralized in the openclaw-bootstrap-config ConfigMap within openclaw.secret.yaml.
- Active File:
openclaw.json
2. Bootstrap Process
OpenClaw uses an initContainer to bootstrap the configuration:
- The
openclaw-bootstrap-configvolume is mounted at/mnt/config. - The
initContainercopies/mnt/config/openclaw.jsonto the persistent data volume at/mnt/data/openclaw.json. - The main
openclawcontainer identifies the persistent volume at/home/node/.openclaw.
3. Applying Changes
To update the configuration:
- Modify the
openclaw.jsonblock in openclaw.secret.yaml. - Apply the manifest:
kubectl apply -f openclaw/openclaw.secret.yaml - Rotate Deployment: You MUST restart the pod to trigger the
initContainerbootstrap:kubectl rollout restart deployment openclaw -n openclaw
🔧 Configuration Reference (openclaw.json)
gateway
Controls the main server behavior and security.
trustedProxies: List of IPs to trust forX-Forwarded-Forheaders (e.g.,["127.0.0.1"]).controlUi.dangerouslyDisableDeviceAuth: Set totrueto allow login via token/password without device identity verification (useful for initial setup).port: Default18789. Controlled viaOPENCLAW_GATEWAY_PORTenv var in the manifest.
agents.defaults
Global defaults for all agents launched by the gateway.
model.primary: The default LLM (e.g.,google/gemini-flash-latest).model.fallbacks: List of model IDs to use if the primary fail.contextTokens: Maximum context window (e.g.,200000).
models.providers
Definition of external LLM sources.
ollama:baseUrl:http://127.0.0.1:11434(proxied via sidecar).apiKey: Required for discovery (e.g.,ollama-local).models: Array of model objects withid,contextWindow, etc.
google: Built-in provider. UsesGEMINI_API_KEYenvironment variable.
channels
Messaging platform integrations.
telegram:enabled:true|false.dmPolicy:pairing(default) |allowlist(skip approval).allowFrom: Array of numeric user IDs (e.g.,["306373425"]) allowed to DM the bot.
plugins (Extensions)
Platform extensions (e.g., WhatsApp, Telegram).
entries.<pluginId>.enabled: Enable/disable specific extension logic.entries.<pluginId>.config: Plugin-specific settings object.
skills
Modular tool capabilities.
allowBundled: Allowlist of built-in skills.load.extraDirs: Additional paths to scan forSKILL.mdfiles.entries.<skillKey>.env: Environment variables injected into the skill run.