CLI commands
Diagnose
openclaw doctor
Zustandsprüfungen + Schnellreparaturen für Gateway und Kanäle.
Verwandt:
- Fehlerbehebung: Fehlerbehebung
- Sicherheitsprüfung: Sicherheit
Beispiele
openclaw doctor
openclaw doctor --repair
openclaw doctor --deep
openclaw doctor --repair --non-interactive
openclaw doctor --generate-gateway-token
Optionen
--no-workspace-suggestions: Workspace-Speicher-/Suchvorschläge deaktivieren--yes: Standardwerte ohne Nachfrage akzeptieren--repair: empfohlene Reparaturen außerhalb von Diensten ohne Nachfrage anwenden; Installationen und Neuschreibungen des Gateway-Diensts erfordern weiterhin interaktive Bestätigung oder explizite Gateway-Befehle--fix: Alias für--repair--force: aggressive Reparaturen anwenden, einschließlich Überschreiben benutzerdefinierter Dienstkonfiguration bei Bedarf--non-interactive: ohne Eingabeaufforderungen ausführen; nur sichere Migrationen und Reparaturen außerhalb von Diensten--generate-gateway-token: ein Gateway-Token generieren und konfigurieren--deep: Systemdienste nach zusätzlichen Gateway-Installationen durchsuchen und aktuelle Gateway-Supervisor-Übergaben bei Neustarts melden
Hinweise:
- Im Nix-Modus (
OPENCLAW_NIX_MODE=1) funktionieren schreibgeschützte Doctor-Prüfungen weiterhin, aberdoctor --fix,doctor --repair,doctor --yesunddoctor --generate-gateway-tokensind deaktiviert, weilopenclaw.jsonunveränderlich ist. Bearbeiten Sie stattdessen die Nix-Quelle für diese Installation; für nix-openclaw verwenden Sie den agent-first Schnellstart. - Interaktive Eingabeaufforderungen (wie Schlüsselbund-/OAuth-Korrekturen) werden nur ausgeführt, wenn stdin ein TTY ist und
--non-interactivenicht gesetzt ist. Headless-Ausführungen (Cron, Telegram, kein Terminal) überspringen Eingabeaufforderungen. - Leistung: Nicht interaktive
doctor-Ausführungen überspringen das vorzeitige Laden von Plugins, damit Headless-Zustandsprüfungen schnell bleiben. Interaktive Sitzungen laden Plugins weiterhin vollständig, wenn eine Prüfung deren Beitrag benötigt. --fix(Alias für--repair) schreibt ein Backup nach~/.openclaw/openclaw.json.bakund entfernt unbekannte Konfigurationsschlüssel, wobei jede Entfernung aufgelistet wird.doctor --fix --non-interactivemeldet fehlende oder veraltete Gateway-Dienstdefinitionen, installiert oder schreibt sie aber außerhalb des Update-Reparaturmodus nicht neu. Führen Sieopenclaw gateway installfür einen fehlenden Dienst aus oderopenclaw gateway install --force, wenn Sie den Launcher absichtlich ersetzen möchten.- Zustandsintegritätsprüfungen erkennen jetzt verwaiste Transkriptdateien im Sitzungsverzeichnis. Das Archivieren als
.deleted.<timestamp>erfordert eine interaktive Bestätigung;--fix,--yesund Headless-Ausführungen lassen sie unverändert. - Doctor durchsucht außerdem
~/.openclaw/cron/jobs.json(odercron.store) nach veralteten Cron-Job-Strukturen und kann sie direkt neu schreiben, bevor der Scheduler sie zur Laufzeit automatisch normalisieren muss. - Unter Linux warnt Doctor, wenn die Crontab des Benutzers weiterhin das veraltete
~/.openclaw/bin/ensure-whatsapp.shausführt; dieses Skript wird nicht mehr gewartet und kann falsche WhatsApp-Gateway-Ausfälle protokollieren, wenn Cron die systemd-Benutzerbus-Umgebung fehlt. - Wenn WhatsApp aktiviert ist, prüft Doctor auf eine beeinträchtigte Gateway-Event-Loop, während lokale
openclaw-tui-Clients noch laufen.doctor --fixstoppt nur verifizierte lokale TUI-Clients, damit WhatsApp-Antworten nicht hinter veralteten TUI-Aktualisierungsschleifen eingereiht werden. - Doctor schreibt veraltete
openai-codex/*-Modellreferenzen in kanonischeopenai/*-Referenzen um, über primäre Modelle, Fallbacks, Heartbeat-/Subagent-/Compaction-Overrides, Hooks, Kanalmodell-Overrides und veraltete Sitzungsrouten-Pins hinweg.--fixwähltagentRuntime.id: "codex"nur aus, wenn das Codex-Plugin installiert und aktiviert ist, dencodex-Harness bereitstellt und nutzbares OAuth hat; andernfalls wählt esagentRuntime.id: "pi", damit die Route auf dem standardmäßigen OpenClaw-Runner bleibt. - Doctor bereinigt veralteten Plugin-Abhängigkeits-Staging-Zustand, der von älteren OpenClaw-Versionen erstellt wurde. Er repariert außerdem fehlende herunterladbare Plugins, die von der Konfiguration referenziert werden, etwa
plugins.entries, konfigurierte Kanäle, konfigurierte Provider-/Sucheinstellungen oder konfigurierte Agent-Runtimes. Während Paketaktualisierungen überspringt Doctor die Paketmanager-Plugin-Reparatur, bis der Pakettausch abgeschlossen ist; führen Sie anschließend erneutopenclaw doctor --fixaus, falls ein konfiguriertes Plugin weiterhin wiederhergestellt werden muss. Wenn der Download fehlschlägt, meldet Doctor den Installationsfehler und behält den konfigurierten Plugin-Eintrag für den nächsten Reparaturversuch bei. - Doctor repariert veraltete Plugin-Konfiguration, indem fehlende Plugin-IDs aus
plugins.allow/plugins.entriesentfernt werden, plus passende verwaiste Kanalkonfiguration, Heartbeat-Ziele und Kanalmodell-Overrides, wenn die Plugin-Erkennung fehlerfrei ist. - Doctor isoliert ungültige Plugin-Konfiguration, indem der betroffene Eintrag
plugins.entries.<id>deaktiviert und seine ungültigeconfig-Nutzlast entfernt wird. Der Gateway-Start überspringt bereits nur dieses fehlerhafte Plugin, sodass andere Plugins und Kanäle weiterlaufen können. - Setzen Sie
OPENCLAW_SERVICE_REPAIR_POLICY=external, wenn ein anderer Supervisor den Gateway-Lebenszyklus besitzt. Doctor meldet weiterhin Gateway-/Dienstzustand und wendet Reparaturen außerhalb von Diensten an, überspringt aber Dienstinstallation/-start/-neustart/-bootstrap und die Bereinigung veralteter Dienste. - Unter Linux ignoriert Doctor inaktive zusätzliche Gateway-ähnliche systemd-Units und schreibt Befehls-/Entry-Point-Metadaten für einen laufenden systemd-Gateway-Dienst während der Reparatur nicht neu. Stoppen Sie zuerst den Dienst oder verwenden Sie
openclaw gateway install --force, wenn Sie den aktiven Launcher absichtlich ersetzen möchten. - Doctor migriert veraltete flache Talk-Konfiguration (
talk.voiceId,talk.modelIdund ähnliche) automatisch nachtalk.provider+talk.providers.<provider>. - Wiederholte
doctor --fix-Ausführungen melden/wenden keine Talk-Normalisierung mehr an, wenn der einzige Unterschied die Reihenfolge von Objektschlüsseln ist. - Doctor enthält eine Prüfung der Bereitschaft für Speichersuche und kann
openclaw configure --section modelempfehlen, wenn Embedding-Anmeldedaten fehlen. - Doctor warnt, wenn kein Befehlsbesitzer konfiguriert ist. Der Befehlsbesitzer ist das menschliche Operatorkonto, das Owner-only-Befehle ausführen und gefährliche Aktionen genehmigen darf. DM-Pairing lässt jemanden nur mit dem Bot sprechen; wenn Sie einen Absender genehmigt haben, bevor der Bootstrap für den ersten Besitzer existierte, setzen Sie
commands.ownerAllowFromexplizit. - Doctor warnt, wenn Agenten im Codex-Modus konfiguriert sind und persönliche Codex-CLI-Assets im Codex-Home des Operators vorhanden sind. Lokale Codex-App-Server-Starts verwenden isolierte agentenspezifische Homes; verwenden Sie daher
openclaw migrate codex --dry-run, um Assets zu inventarisieren, die bewusst übertragen werden sollten. - Doctor warnt, wenn für den Standardagenten erlaubte Skills in der aktuellen Laufzeitumgebung nicht verfügbar sind, weil Binaries, Umgebungsvariablen, Konfiguration oder Betriebssystemanforderungen fehlen.
doctor --fixkann diese nicht verfügbaren Skills mitskills.entries.<skill>.enabled=falsedeaktivieren; installieren/konfigurieren Sie stattdessen die fehlende Voraussetzung, wenn Sie den Skill aktiv halten möchten. - Wenn der Sandbox-Modus aktiviert ist, Docker aber nicht verfügbar ist, meldet Doctor eine aussagekräftige Warnung mit Abhilfe (
install Dockeroderopenclaw config set agents.defaults.sandbox.mode off). - Wenn veraltete Sandbox-Registry-Dateien (
~/.openclaw/sandbox/containers.jsonoder~/.openclaw/sandbox/browsers.json) vorhanden sind, meldet Doctor sie;openclaw doctor --fixmigriert gültige Einträge in geshardete Registry-Verzeichnisse und isoliert ungültige veraltete Dateien. - Wenn
gateway.auth.token/gateway.auth.passwordvon SecretRef verwaltet und im aktuellen Befehlspfad nicht verfügbar sind, meldet Doctor eine schreibgeschützte Warnung und schreibt keine Klartext-Fallback-Anmeldedaten. - Wenn die Kanal-SecretRef-Inspektion in einem Korrekturpfad fehlschlägt, fährt Doctor fort und meldet eine Warnung, anstatt frühzeitig zu beenden.
- Nach Zustandsverzeichnis-Migrationen warnt Doctor, wenn aktivierte Standardkonten für Telegram oder Discord von Env-Fallback abhängen und
TELEGRAM_BOT_TOKENoderDISCORD_BOT_TOKENfür den Doctor-Prozess nicht verfügbar ist. - Die automatische Auflösung von Telegram-
allowFrom-Benutzernamen (doctor --fix) erfordert ein auflösbares Telegram-Token im aktuellen Befehlspfad. Wenn die Token-Inspektion nicht verfügbar ist, meldet Doctor eine Warnung und überspringt die automatische Auflösung für diesen Durchlauf.
macOS: launchctl-Env-Overrides
Wenn Sie zuvor launchctl setenv OPENCLAW_GATEWAY_TOKEN ... (oder ...PASSWORD) ausgeführt haben, überschreibt dieser Wert Ihre Konfigurationsdatei und kann dauerhafte „unauthorized“-Fehler verursachen.
launchctl getenv OPENCLAW_GATEWAY_TOKEN
launchctl getenv OPENCLAW_GATEWAY_PASSWORD
launchctl unsetenv OPENCLAW_GATEWAY_TOKEN
launchctl unsetenv OPENCLAW_GATEWAY_PASSWORD