Skip to content
Abo -25% LAUNCH-SUB
Claws -25% LAUNCH-CLAWS

OpenClaw-Konfigurationsreferenz

5 min Lesezeit Configuration Zuletzt aktualisiert 10. February 2026

Was openclaw.json macht

Die openclaw.json-Datei ist die Hauptkonfigurationsdatei deiner OpenClaw-Instanz. Sie steuert, wie das Gateway Nutzer authentifiziert, welchen LLM-Anbieter du nutzt und welche Messenger-Kanäle aktiv sind.

ClawHosters generiert diese Datei automatisch basierend auf deinen Dashboard-Einstellungen. Wenn du deinen LLM-Anbieter änderst, einen Telegram-Bot hinzufügst oder andere Einstellungen aktualisierst, erstellt ClawHosters die Konfiguration neu und deployt sie auf deine Instanz.

Du musst diese Datei nicht manuell bearbeiten, es sei denn, du verbindest dich per SSH für erweiterte Konfiguration.

Dateispeicherort

Auf deiner Instanz ist die Konfigurationsdatei gespeichert unter:

text
/root/.openclaw/openclaw.json

Das ist ein Bind-Mount von /opt/openclaw/dotopenclaw/openclaw.json auf dem Host-System. Änderungen an einem der beiden Pfade betreffen dieselbe Datei.

Konfigurationsstruktur

Die Datei ist ein JSON-Objekt mit vier übergeordneten Abschnitten. Nicht alle Abschnitte sind auf jeder Instanz vorhanden — sie werden nur eingefügt, wenn sie relevant sind.

json
{
  "gateway": { ... },
  "env": { ... },
  "agents": { ... },
  "channels": { ... }
}

gateway (Immer vorhanden)

Steuert, wie das OpenClaw-Gateway läuft und Anfragen authentifiziert.

json
{
  "gateway": {
    "mode": "local",
    "trustedProxies": [
      "172.16.0.0/12",
      "10.0.0.0/8",
      "127.0.0.1"
    ],
    "auth": {
      "mode": "token",
      "token": "sha256-gehashter-token"
    },
    "controlUi": {
      "allowInsecureAuth": true
    }
  }
}
Feld Typ Beschreibung
mode string Immer "local" für ClawHosters-Instanzen
trustedProxies array IP-Bereiche, die Anfragen weiterleiten dürfen (für nginx)
auth.mode string Authentifizierungsmethode — immer "token"
auth.token string SHA256-gehashter Gateway-Token für Web-UI-Zugriff
controlUi.allowInsecureAuth boolean Erlaubt Token-basierte Auth ohne Geräte-Pairing

Der Gateway-Abschnitt wird immer generiert, auch auf Instanzen ohne konfiguriertes LLM oder Messenger.

env (Bedingt)

Enthält API-Schlüssel für den gewählten LLM-Anbieter. Dieser Abschnitt ist nur vorhanden, wenn du ein LLM konfiguriert hast.

json
{
  "env": {
    "ANTHROPIC_API_KEY": "sk-ant-..."
  }
}

Nur der relevante Schlüssel für deinen Anbieter wird eingefügt:

Anbieter Umgebungsvariable
Anthropic ANTHROPIC_API_KEY
OpenAI OPENAI_API_KEY
OpenRouter OPENROUTER_API_KEY
Google GEMINI_API_KEY
DeepSeek DEEPSEEK_API_KEY

Wenn kein LLM konfiguriert ist (Instanz im "Kein LLM"-Modus), wird dieser Abschnitt komplett weggelassen.

agents (Bedingt)

Gibt das Standard-LLM-Modell für die Instanz an. Nur vorhanden, wenn ein LLM konfiguriert ist.

json
{
  "agents": {
    "defaults": {
      "model": {
        "primary": "anthropic/claude-3-haiku"
      }
    }
  }
}
Feld Typ Beschreibung
agents.defaults.model.primary string Das Standardmodell im provider/model-Format

Das Format des Model-Strings variiert je nach Anbieter:

Anbieter Beispiel
Anthropic claude-3-haiku (kein Provider-Präfix)
OpenAI openai/gpt-4o
OpenRouter openrouter/anthropic/claude-3-opus
Google google/gemini-pro
DeepSeek deepseek/deepseek-chat

Anthropic-Modelle sind ein Sonderfall — sie haben keinen Provider-Präfix im Model-String.

channels (Bedingt)

Konfiguriert Messenger-Integrationen. Jeder Kanal wird nur einbezogen, wenn er in deinem Dashboard eingerichtet wurde.

Telegram

json
{
  "channels": {
    "telegram": {
      "enabled": true,
      "botToken": "123456789:ABCdefGHIjklMNOpqrsTUVwxyz",
      "dmPolicy": "owner_only",
      "allowFrom": ["*"]
    }
  }
}
Feld Typ Beschreibung
enabled boolean Ob Telegram aktiv ist
botToken string Dein Telegram-Bot-Token vom BotFather
dmPolicy string "owner_only" oder "open" — wer den Bot anschreiben darf
allowFrom array Erlaubte Nutzer-IDs bei dmPolicy "open"

Discord

json
{
  "channels": {
    "discord": {
      "enabled": true,
      "token": "bot-token-hier",
      "dm": {
        "enabled": true,
        "policy": "pairing",
        "allowFrom": ["*"]
      }
    }
  }
}
Feld Typ Beschreibung
enabled boolean Ob Discord aktiv ist
token string Discord-Bot-Token
dm.enabled boolean Ob Direktnachrichten erlaubt sind
dm.policy string "pairing" erfordert zuerst Geräte-Pairing
dm.allowFrom array Erlaubte Nutzer-IDs für DMs

Slack

json
{
  "channels": {
    "slack": {
      "enabled": true,
      "botToken": "xoxb-...",
      "appToken": "xapp-..."
    }
  }
}
Feld Typ Beschreibung
enabled boolean Ob Slack aktiv ist
botToken string Slack-Bot-Token (beginnt mit xoxb-)
appToken string Slack-App-Level-Token (beginnt mit xapp-)

WhatsApp

json
{
  "channels": {
    "whatsapp": {
      "enabled": true,
      "dmPolicy": "owner_only"
    }
  }
}
Feld Typ Beschreibung
enabled boolean Ob WhatsApp aktiv ist
dmPolicy string "owner_only" oder "open"
allowFrom array Erlaubte Nutzer-IDs bei Policy "open"

Minimal- vs Voll-Beispiel

Eine frisch erstellte Instanz ohne LLM oder Messenger hat nur den Gateway-Abschnitt:

json
{
  "gateway": {
    "mode": "local",
    "trustedProxies": ["172.16.0.0/12", "10.0.0.0/8", "127.0.0.1"],
    "auth": {
      "mode": "token",
      "token": "a1b2c3d4..."
    },
    "controlUi": {
      "allowInsecureAuth": true
    }
  }
}

Eine voll konfigurierte Instanz mit Anthropic-LLM und Telegram:

json
{
  "gateway": {
    "mode": "local",
    "trustedProxies": ["172.16.0.0/12", "10.0.0.0/8", "127.0.0.1"],
    "auth": {
      "mode": "token",
      "token": "a1b2c3d4..."
    },
    "controlUi": {
      "allowInsecureAuth": true
    }
  },
  "env": {
    "ANTHROPIC_API_KEY": "sk-ant-api03-..."
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "claude-3-haiku"
      }
    }
  },
  "channels": {
    "telegram": {
      "enabled": true,
      "botToken": "123456789:ABCdef...",
      "dmPolicy": "owner_only",
      "allowFrom": ["*"]
    }
  }
}

Wie Konfigurationsänderungen angewendet werden

Wenn du Einstellungen in deinem Dashboard aktualisierst:

  1. ClawHosters generiert openclaw.json mit deinen neuen Einstellungen neu
  2. Die Datei wird per SCP auf deine Instanz hochgeladen
  3. Der doctor --fix-Befehl läuft, um Plugin-Änderungen anzuwenden
  4. Deine Instanz übernimmt die neue Konfiguration

Dieser Vorgang dauert einige Sekunden. Während des Updates läuft deine Instanz weiter — es gibt keine Ausfallzeit für Konfigurationsänderungen.

Manuelle Bearbeitung per SSH

Wenn du dich per SSH mit deiner Instanz verbindest, kannst du die Konfiguration unter /root/.openclaw/openclaw.json einsehen. Du kannst sie manuell bearbeiten, aber beachte:

  • Änderungen über das Dashboard überschreiben deine manuellen Bearbeitungen
  • Ungültiges JSON verhindert den Start des Gateways
  • Ein fehlender gateway-Abschnitt bricht die Authentifizierung

Wenn du die Konfiguration kaputt machst, nutze den "Redeployment"-Button in deinem Dashboard, um sie aus deinen gespeicherten Einstellungen neu zu generieren.

Verwandte Dokumentation

Verwandte Dokumentation