Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
openclaw doctor is de reparatie- en migratietool voor OpenClaw. Het herstelt verouderde configuratie/status, controleert de gezondheid en biedt uitvoerbare reparatiestappen.
Snelstart
Headless- en automatiseringsmodi
- --yes
- --repair
- --repair --force
- --non-interactive
- --deep
Wat het doet (samenvatting)
Gezondheid, UI en updates
Gezondheid, UI en updates
- Optionele preflight-update voor git-installaties (alleen interactief).
- Controle op versheid van het UI-protocol (bouwt Control UI opnieuw wanneer het protocolschema nieuwer is).
- Gezondheidscontrole + prompt voor herstart.
- Skills-statussamenvatting (geschikt/ontbrekend/geblokkeerd) en pluginstatus.
Configuratie en migraties
Configuratie en migraties
- Configuratienormalisatie voor legacy-waarden.
- Migratie van Talk-configuratie van legacy platte
talk.*-velden naartalk.provider+talk.providers.<provider>. - Browsermigratiecontroles voor legacy Chrome-extensieconfiguraties en Chrome MCP-gereedheid.
- Waarschuwingen voor OpenCode-provideroverschrijvingen (
models.providers.opencode/models.providers.opencode-go). - Waarschuwingen voor Codex OAuth-shadowing (
models.providers.openai-codex). - Controle van OAuth TLS-vereisten voor OpenAI Codex OAuth-profielen.
- Waarschuwingen voor plugin-/tool-allowlists wanneer
plugins.allowbeperkend is maar het toolbeleid nog steeds om wildcard- of plugin-eigen tools vraagt. - Legacy-statusmigratie op schijf (sessions/agent dir/WhatsApp-auth).
- Migratie van legacy pluginmanifest-contractsleutels (
speechProviders,realtimeTranscriptionProviders,realtimeVoiceProviders,mediaUnderstandingProviders,imageGenerationProviders,videoGenerationProviders,webFetchProviders,webSearchProviders→contracts). - Migratie van legacy cron-store (
jobId,schedule.cron, delivery-/payloadvelden op topniveau, payloadprovider, eenvoudigenotify: truewebhook-fallbacktaken). - Opschoning van legacy runtimebeleid voor de volledige agent; runtimebeleid voor provider/model is de actieve routekiezer.
- Opschoning van verouderde pluginconfiguratie wanneer plugins zijn ingeschakeld; wanneer
plugins.enabled=false, worden verouderde pluginverwijzingen behandeld als inerte containment-configuratie en behouden.
Status en integriteit
Status en integriteit
- Inspectie van sessievergrendelingsbestanden en opschoning van verouderde vergrendelingen.
- Reparatie van sessietranscripten voor gedupliceerde prompt-herschrijftakken die zijn gemaakt door getroffen 2026.4.24-builds.
- Detectie van tombstones voor herstart-herstel van vastgelopen subagents, met
--fix-ondersteuning voor het wissen van verouderde afgebroken herstelvlaggen zodat startup het child niet blijft behandelen als door herstart afgebroken. - Controles op statusintegriteit en rechten (sessions, transcripts, state dir).
- Controles op rechten van configuratiebestanden (chmod 600) bij lokale uitvoering.
- Gezondheid van modelauthenticatie: controleert OAuth-verloop, kan tokens die bijna verlopen vernieuwen en rapporteert cooldown-/uitgeschakelde statussen van auth-profielen.
- Detectie van extra workspace-dir (
~/openclaw).
Gateway, services en supervisors
Gateway, services en supervisors
- Reparatie van sandboximage wanneer sandboxing is ingeschakeld.
- Legacy-servicemigratie en detectie van extra Gateways.
- Migratie van legacy-status voor Matrix-kanaal (in
--fix- /--repair-modus). - Runtimecontroles voor Gateway (service geïnstalleerd maar draait niet; gecachet launchd-label).
- Waarschuwingen over kanaalstatus (geprobed vanuit de draaiende Gateway).
- Kanaalspecifieke rechtencontroles staan onder
openclaw channels capabilities; Discord-spraakkanaalrechten worden bijvoorbeeld gecontroleerd metopenclaw channels capabilities --channel discord --target channel:<channel-id>. - Responsiviteitscontroles voor WhatsApp bij verslechterde eventloopgezondheid van de Gateway terwijl lokale TUI-clients nog draaien;
--fixstopt alleen geverifieerde lokale TUI-clients. - Reparatie van Codex-routes voor legacy
openai-codex/*-modelrefs in primaire modellen, fallbacks, heartbeat-/subagent-/compaction-overschrijvingen, hooks, kanaalmodeloverschrijvingen en sessieroutepins;--fixherschrijft ze naaropenai/*, verwijdert verouderde runtimepins voor sessie/volledige agent en laat canonieke OpenAI-agentrefs op de standaard Codex-harness staan. - Audit van supervisorconfiguratie (launchd/systemd/schtasks) met optionele reparatie.
- Opschoning van embedded proxy-omgeving voor Gateway-services die tijdens installatie of update shellwaarden
HTTP_PROXY/HTTPS_PROXY/NO_PROXYhebben vastgelegd. - Best-practicecontroles voor Gateway-runtime (Node versus Bun, paden van versiebeheerders).
- Diagnostiek voor Gateway-poortconflicten (standaard
18789).
Auth, beveiliging en koppeling
Auth, beveiliging en koppeling
- Beveiligingswaarschuwingen voor open DM-beleid.
- Gateway-authcontroles voor lokale tokenmodus (biedt tokengeneratie aan wanneer er geen tokenbron bestaat; overschrijft geen token-SecretRef-configuraties).
- Detectie van problemen met apparaatkoppeling (wachtende eerste koppelverzoeken, wachtende rol-/scope-upgrades, drift in verouderde lokale apparaat-tokencache en authdrift in gekoppelde records).
Workspace en shell
Workspace en shell
- systemd-linger-controle op Linux.
- Controle van bestandsgrootte van workspace-bootstrapbestanden (waarschuwingen voor truncatie/bijna-limiet voor contextbestanden).
- Gereedheidscontrole voor Skills voor de standaardagent; rapporteert toegestane skills met ontbrekende bins, env, config of OS-vereisten, en
--fixkan niet-beschikbare skills uitschakelen inskills.entries. - Statuscontrole en automatische installatie/upgrade van shellaanvulling.
- Gereedheidscontrole voor embeddingprovider voor geheugenzoekopdrachten (lokaal model, externe API-sleutel of QMD-binary).
- Controles voor broninstallatie (pnpm-workspace-mismatch, ontbrekende UI-assets, ontbrekende tsx-binary).
- Schrijft bijgewerkte configuratie + wizardmetadata.
Backfill en reset voor Dreams UI
De Dreams-scène van de Control UI bevat acties Backfill, Reset en Clear Grounded voor de grounded dreaming-workflow. Deze acties gebruiken RPC-methoden in doctor-stijl van de Gateway, maar ze maken geen deel uit van de reparatie/migratie van deopenclaw doctor CLI.
Wat ze doen:
- Backfill scant historische
memory/YYYY-MM-DD.md-bestanden in de actieve workspace, voert de grounded REM-dagboekpass uit en schrijft omkeerbare backfill-items naarDREAMS.md. - Reset verwijdert alleen die gemarkeerde backfill-dagboekitems uit
DREAMS.md. - Clear Grounded verwijdert alleen gestagede grounded-only kortetermijnitems die uit historische replay kwamen en nog geen live recall of dagelijkse ondersteuning hebben opgebouwd.
- ze bewerken
MEMORY.mdniet - ze voeren geen volledige doctor-migraties uit
- ze stagen grounded candidates niet automatisch naar de live kortetermijnpromotiestore tenzij je eerst expliciet het gestagede CLI-pad uitvoert
DREAMS.md het reviewoppervlak blijft.
Gedetailleerd gedrag en rationale
0. Optionele update (git-installaties)
0. Optionele update (git-installaties)
1. Configuratienormalisatie
1. Configuratienormalisatie
messages.ackReaction zonder kanaalspecifieke overschrijving), normaliseert doctor ze naar het huidige schema.Dat omvat legacy platte Talk-velden. De huidige openbare Talk-speechconfiguratie is talk.provider + talk.providers.<provider>, en realtime-spraakconfiguratie is talk.realtime.*. Doctor herschrijft oude talk.voiceId / talk.voiceAliases / talk.modelId / talk.outputFormat / talk.apiKey-vormen naar de providermap, en herschrijft legacy realtime-selectors op topniveau (talk.mode, talk.transport, talk.brain, talk.model, talk.voice) naar talk.realtime.Doctor waarschuwt ook wanneer plugins.allow niet leeg is en toolbeleid
wildcard- of plugin-eigen toolitems gebruikt. tools.allow: ["*"] matcht alleen tools
van plugins die daadwerkelijk laden; het omzeilt de exclusieve plugin-
allowlist niet. Doctor schrijft plugins.bundledDiscovery: "compat" voor gemigreerde
legacy allowlist-configuraties om bestaand gedrag van gebundelde providers te behouden, en
wijst daarna naar de strengere instelling "allowlist".2. Migraties van legacy configuratiesleutels
2. Migraties van legacy configuratiesleutels
openclaw doctor uit te voeren.Doctor zal:- Uitleggen welke legacy-sleutels zijn gevonden.
- De migratie tonen die is toegepast.
~/.openclaw/openclaw.jsonherschrijven met het bijgewerkte schema.
openclaw doctor --fix uit te voeren; het herschrijft openclaw.json niet bij startup. Cron-taakstoremigraties worden ook afgehandeld door openclaw doctor --fix.Huidige migraties:routing.allowFrom→channels.whatsapp.allowFromrouting.groupChat.requireMention→channels.whatsapp/telegram/imessage.groups."*".requireMentionrouting.groupChat.historyLimit→messages.groupChat.historyLimitrouting.groupChat.mentionPatterns→messages.groupChat.mentionPatternschannels.telegram.requireMention→channels.telegram.groups."*".requireMention- geconfigureerde kanaalconfiguraties zonder zichtbaar antwoordbeleid →
messages.groupChat.visibleReplies: "message_tool" routing.queue→messages.queuerouting.bindings→ bovenliggendbindingsrouting.agents/routing.defaultAgentId→agents.list+agents.list[].default- verouderde
talk.voiceId/talk.voiceAliases/talk.modelId/talk.outputFormat/talk.apiKey→talk.provider+talk.providers.<provider> - verouderde bovenliggende realtime Talk-selectors (
talk.mode/talk.transport/talk.brain/talk.model/talk.voice) +talk.provider/talk.providers→talk.realtime routing.agentToAgent→tools.agentToAgentrouting.transcribeAudio→tools.media.audio.modelsmessages.tts.<provider>(openai/elevenlabs/microsoft/edge) →messages.tts.providers.<provider>messages.tts.provider: "edge"enmessages.tts.providers.edge→messages.tts.provider: "microsoft"enmessages.tts.providers.microsoftchannels.discord.voice.tts.<provider>(openai/elevenlabs/microsoft/edge) →channels.discord.voice.tts.providers.<provider>channels.discord.accounts.<id>.voice.tts.<provider>(openai/elevenlabs/microsoft/edge) →channels.discord.accounts.<id>.voice.tts.providers.<provider>plugins.entries.voice-call.config.tts.<provider>(openai/elevenlabs/microsoft/edge) →plugins.entries.voice-call.config.tts.providers.<provider>plugins.entries.voice-call.config.tts.provider: "edge"enplugins.entries.voice-call.config.tts.providers.edge→provider: "microsoft"enproviders.microsoftplugins.entries.voice-call.config.provider: "log"→"mock"plugins.entries.voice-call.config.twilio.from→plugins.entries.voice-call.config.fromNumberplugins.entries.voice-call.config.streaming.sttProvider→plugins.entries.voice-call.config.streaming.providerplugins.entries.voice-call.config.streaming.openaiApiKey|sttModel|silenceDurationMs|vadThreshold→plugins.entries.voice-call.config.streaming.providers.openai.*bindings[].match.accountID→bindings[].match.accountId- Verplaats voor kanalen met benoemde
accountsmaar achtergebleven kanaalwaarden op bovenliggend niveau voor één account die accountgebonden waarden naar het gepromoveerde account dat voor dat kanaal is gekozen (accounts.defaultvoor de meeste kanalen; Matrix kan een bestaand overeenkomend benoemd/default-doel behouden) identity→agents.list[].identityagent.*→agents.defaults+tools.*(tools/elevated/exec/sandbox/subagents)agent.model/allowedModels/modelAliases/modelFallbacks/imageModelFallbacks→agents.defaults.models+agents.defaults.model.primary/fallbacks+agents.defaults.imageModel.primary/fallbacks- verwijder
agents.defaults.llm; gebruikmodels.providers.<id>.timeoutSecondsvoor time-outs van trage providers/modellen browser.ssrfPolicy.allowPrivateNetwork→browser.ssrfPolicy.dangerouslyAllowPrivateNetworkbrowser.profiles.*.driver: "extension"→"existing-session"- verwijder
browser.relayBindHost(verouderde relaisinstelling voor extensies) - verouderde
models.providers.*.api: "openai"→"openai-completions"(Gateway-opstarten slaat ook providers over waarvanapiis ingesteld op een toekomstige of onbekende enumwaarde in plaats van gesloten te falen) - verwijder
plugins.entries.codex.config.codexDynamicToolsProfile; de Codex-appserver houdt Codex-native werkruimtetools altijd native
- Als twee of meer
channels.<channel>.accounts-items zijn geconfigureerd zonderchannels.<channel>.defaultAccountofaccounts.default, waarschuwt doctor dat fallbackroutering een onverwacht account kan kiezen. - Als
channels.<channel>.defaultAccountis ingesteld op een onbekende account-ID, waarschuwt doctor en vermeldt hij de geconfigureerde account-ID’s.
2b. OpenCode-provideroverschrijvingen
2b. OpenCode-provideroverschrijvingen
models.providers.opencode, opencode-zen of opencode-go handmatig hebt toegevoegd, overschrijft dit de ingebouwde OpenCode-catalogus van @mariozechner/pi-ai. Daardoor kunnen modellen op de verkeerde API worden gezet of kunnen kosten op nul worden gezet. Doctor waarschuwt zodat je de overschrijving kunt verwijderen en API-routering + kosten per model kunt herstellen.2c. Browsermigratie en gereedheid voor Chrome MCP
2c. Browsermigratie en gereedheid voor Chrome MCP
browser.profiles.*.driver: "extension"wordt"existing-session"browser.relayBindHostwordt verwijderd
defaultProfile: "user" of een geconfigureerd existing-session-profiel gebruikt:- controleert of Google Chrome op dezelfde host is geïnstalleerd voor standaardprofielen met automatisch verbinden
- controleert de gedetecteerde Chrome-versie en waarschuwt wanneer die lager is dan Chrome 144
- herinnert je eraan om foutopsporing op afstand in de inspectiepagina van de browser in te schakelen (bijvoorbeeld
chrome://inspect/#remote-debugging,brave://inspect/#remote-debuggingofedge://inspect/#remote-debugging)
- een Chromium-gebaseerde browser 144+ op de gateway-/node-host
- de browser die lokaal draait
- foutopsporing op afstand ingeschakeld in die browser
- goedkeuring van de eerste toestemmingsprompt voor koppelen in de browser
responsebody, PDF-export, downloadonderschepping en batchacties vereisen nog steeds een beheerde browser of een raw CDP-profiel.Deze controle is niet van toepassing op Docker-, sandbox-, remote-browser- of andere headless-flows. Die blijven raw CDP gebruiken.2d. OAuth TLS-vereisten
2d. OAuth TLS-vereisten
UNABLE_TO_GET_ISSUER_CERT_LOCALLY, een verlopen certificaat of een zelfondertekend certificaat), toont doctor platformspecifieke herstelbegeleiding. Op macOS met een Homebrew Node is de oplossing meestal brew postinstall ca-certificates. Met --deep wordt de test ook uitgevoerd als de gateway gezond is.2e. Codex OAuth-provideroverschrijvingen
2e. Codex OAuth-provideroverschrijvingen
models.providers.openai-codex hebt toegevoegd, kunnen die het ingebouwde Codex OAuth-providerpad overschaduwen dat nieuwere releases automatisch gebruiken. Doctor waarschuwt wanneer hij die oude transportinstellingen naast Codex OAuth ziet, zodat je de verouderde transportoverschrijving kunt verwijderen of herschrijven en het ingebouwde routerings-/fallbackgedrag terugkrijgt. Aangepaste proxy’s en alleen-headeroverschrijvingen worden nog steeds ondersteund en activeren deze waarschuwing niet.2f. Codex-routereparatie
2f. Codex-routereparatie
openai-codex/*-modelrefs. Native Codex-harnessroutering gebruikt canonieke openai/*-modelrefs; OpenAI-agentbeurten lopen via de Codex-appserverharness in plaats van via het OpenClaw PI OpenAI-pad.In de modus --fix / --repair herschrijft doctor betrokken default-agent- en per-agentrefs, inclusief primaire modellen, fallbacks, heartbeat-/subagent-/compaction-overschrijvingen, hooks, kanaalmodeloverschrijvingen en verouderde persistente sessieroutestatus:openai-codex/gpt-*wordtopenai/gpt-*.- Codex-intent gaat naar provider-/modelgebonden
agentRuntime.id: "codex"-items voor gerepareerde agentmodelrefs, zodatopenai-codex:...-authprofielen nog steeds kunnen worden geselecteerd nadat de modelrefopenai/*wordt. - Verouderde runtimeconfiguratie voor de hele agent en persistente sessieruntimepins worden verwijderd omdat runtimeselectie provider-/modelgebonden is.
- Bestaand provider-/modelruntimebeleid blijft behouden, tenzij de gerepareerde verouderde modelref Codex-routering nodig heeft om het oude authpad te behouden.
- Bestaande modelfallbacklijsten blijven behouden met herschreven verouderde items; gekopieerde instellingen per model verhuizen van de verouderde sleutel naar de canonieke
openai/*-sleutel. - Persistente sessie-
modelProvider/providerOverride,model/modelOverride, fallbackmeldingen en authprofielpins worden gerepareerd in alle ontdekte sessiestores van agents. /codex ...betekent “beheer of bind een native Codex-gesprek vanuit chat.”/acp ...ofruntime: "acp"betekent “gebruik de externe ACP/acpx-adapter.”
2g. Sessieroute-opschoning
2g. Sessieroute-opschoning
openclaw doctor --fix kan automatisch aangemaakte verouderde status wissen, zoals modelOverrideSource: "auto"-modelpins, runtimemodelmetadata, gepinde harness-ID’s, CLI-sessiebindingen en automatische authprofieloverschrijvingen wanneer hun eigenaarroute niet langer is geconfigureerd. Expliciete modelkeuzes van gebruikers of verouderde sessies worden gemeld voor handmatige beoordeling en blijven ongemoeid; wijzig ze met /model ..., /new of reset de sessie wanneer die route niet langer bedoeld is.3. Verouderde statusmigraties (schijfindeling)
3. Verouderde statusmigraties (schijfindeling)
- Sessiestore + transcripties:
- van
~/.openclaw/sessions/naar~/.openclaw/agents/<agentId>/sessions/
- van
- Agentmap:
- van
~/.openclaw/agent/naar~/.openclaw/agents/<agentId>/agent/
- van
- WhatsApp-authstatus (Baileys):
- van verouderde
~/.openclaw/credentials/*.json(behalveoauth.json) - naar
~/.openclaw/credentials/whatsapp/<accountId>/...(standaardaccount-ID:default)
- van verouderde
doctor --fix-wijzigingen veroorzaken.3a. Verouderde pluginmanifestmigraties
3a. Verouderde pluginmanifestmigraties
speechProviders, realtimeTranscriptionProviders, realtimeVoiceProviders, mediaUnderstandingProviders, imageGenerationProviders, videoGenerationProviders, webFetchProviders, webSearchProviders). Wanneer ze worden gevonden, biedt hij aan om ze naar het contracts-object te verplaatsen en het manifestbestand ter plekke te herschrijven. Deze migratie is idempotent; als de contracts-sleutel al dezelfde waarden heeft, wordt de verouderde sleutel verwijderd zonder de gegevens te dupliceren.3b. Verouderde cronstoremigraties
3b. Verouderde cronstoremigraties
~/.openclaw/cron/jobs.json, of cron.store wanneer overschreven) op oude taakvormen die de scheduler nog steeds accepteert voor compatibiliteit.Huidige cronopschoningen omvatten:jobId→idschedule.cron→schedule.expr- payloadvelden op topniveau (
message,model,thinking, …) →payload - leveringsvelden op topniveau (
deliver,channel,to,provider, …) →delivery - payload-
provider-leveringsaliassen → explicietedelivery.channel - eenvoudige legacy
notify: trueWebhook-fallbackjobs → explicietedelivery.mode="webhook"metdelivery.to=cron.webhook
notify: true-jobs alleen automatisch wanneer dat kan zonder gedrag te veranderen. Als een job legacy notify-fallback combineert met een bestaande niet-Webhook-leveringsmodus, waarschuwt doctor en laat die job staan voor handmatige beoordeling.Op Linux waarschuwt doctor ook wanneer de crontab van de gebruiker nog steeds legacy ~/.openclaw/bin/ensure-whatsapp.sh aanroept. Dat hostlokale script wordt niet onderhouden door de huidige OpenClaw en kan valse Gateway inactive-berichten naar ~/.openclaw/logs/whatsapp-health.log schrijven wanneer Cron de systemd-gebruikersbus niet kan bereiken. Verwijder de verouderde crontab-entry met crontab -e; gebruik openclaw channels status --probe, openclaw doctor en openclaw gateway status voor huidige gezondheidscontroles.3c. Opschoning van sessievergrendelingen
3c. Opschoning van sessievergrendelingen
--fix- / --repair-modus verwijdert het verouderde lockbestanden automatisch; anders drukt het een opmerking af en geeft het de instructie om opnieuw uit te voeren met --fix.3d. Reparatie van sessietranscript-branches
3d. Reparatie van sessietranscript-branches
--fix- / --repair-modus maakt doctor naast het origineel een back-up van elk getroffen bestand en herschrijft het transcript naar de actieve branch, zodat Gateway-geschiedenis en geheugenlezers geen dubbele beurten meer zien.4. Integriteitscontroles van status (sessiepersistentie, routering en veiligheid)
4. Integriteitscontroles van status (sessiepersistentie, routering en veiligheid)
- Statusmap ontbreekt: waarschuwt voor catastrofaal statusverlies, vraagt om de map opnieuw aan te maken en herinnert je eraan dat het ontbrekende gegevens niet kan herstellen.
- Machtigingen van statusmap: verifieert schrijfbaarheid; biedt aan om machtigingen te herstellen (en geeft een
chown-hint wanneer een mismatch in eigenaar/groep wordt gedetecteerd). - macOS-cloudgesynchroniseerde statusmap: waarschuwt wanneer status onder iCloud Drive (
~/Library/Mobile Documents/com~apple~CloudDocs/...) of~/Library/CloudStorage/...wordt gevonden, omdat door synchronisatie ondersteunde paden tragere I/O en lock-/synchronisatieraces kunnen veroorzaken. - Linux SD- of eMMC-statusmap: waarschuwt wanneer status naar een
mmcblk*-mountbron verwijst, omdat willekeurige I/O op SD of eMMC trager kan zijn en sneller kan slijten bij sessie- en referentiewrites. - Sessiemappen ontbreken:
sessions/en de sessiestoremap zijn vereist om geschiedenis te bewaren enENOENT-crashes te voorkomen. - Transcript komt niet overeen: waarschuwt wanneer recente sessie-items ontbrekende transcriptbestanden hebben.
- Hoofdsessie “1-regel JSONL”: markeert wanneer het hoofdtranscript slechts één regel heeft (geschiedenis stapelt zich niet op).
- Meerdere statusmappen: waarschuwt wanneer meerdere
~/.openclaw-mappen bestaan verspreid over homedirectories of wanneerOPENCLAW_STATE_DIRergens anders naartoe wijst (geschiedenis kan tussen installaties worden opgesplitst). - Herinnering voor externe modus: als
gateway.mode=remote, herinnert doctor je eraan het op de externe host uit te voeren (de status bevindt zich daar). - Machtigingen van configuratiebestand: waarschuwt als
~/.openclaw/openclaw.jsonleesbaar is voor groep/wereld en biedt aan dit aan te scherpen naar600.
5. Gezondheid van modelauthenticatie (OAuth-verloop)
5. Gezondheid van modelauthenticatie (OAuth-verloop)
--non-interactive slaat vernieuwingspogingen over.Wanneer een OAuth-vernieuwing permanent mislukt (bijvoorbeeld refresh_token_reused, invalid_grant, of een provider die aangeeft dat je opnieuw moet inloggen), meldt doctor dat opnieuw authenticeren vereist is en drukt het de exacte uit te voeren openclaw models auth login --provider ...-opdracht af.Doctor rapporteert ook auth-profielen die tijdelijk onbruikbaar zijn door:- korte cooldowns (rate limits/time-outs/authenticatiefouten)
- langere uitschakelingen (facturerings-/tegoedfouten)
6. Validatie van hooks-model
6. Validatie van hooks-model
hooks.gmail.model is ingesteld, valideert doctor de modelreferentie tegen de catalogus en allowlist en waarschuwt het wanneer deze niet kan worden opgelost of niet is toegestaan.7. Reparatie van sandboximage
7. Reparatie van sandboximage
7b. Opschoning van Plugin-installaties
7b. Opschoning van Plugin-installaties
openclaw doctor --fix- / openclaw doctor --repair-modus. Dit omvat verouderde gegenereerde afhankelijkheidsroots, oude install-stage-mappen, package-lokale restanten van eerdere gebundelde-Plugin-afhankelijkheidsreparatiecode en verweesde of herstelde beheerde npm-kopieen van gebundelde @openclaw/*-plugins die het huidige gebundelde manifest kunnen overschaduwen.Doctor kan ook ontbrekende downloadbare plugins opnieuw installeren wanneer configuratie ernaar verwijst maar het lokale Plugin-register ze niet kan vinden. Voorbeelden zijn materiele plugins.entries, geconfigureerde kanaal-/provider-/zoekinstellingen en geconfigureerde agent-runtimes. Tijdens package-updates vermijdt doctor het uitvoeren van package-manager-Plugin-reparatie terwijl het kernpackage wordt vervangen; voer openclaw doctor --fix opnieuw uit na de update als een geconfigureerde Plugin nog steeds herstel nodig heeft. Gateway-opstart en configuratie-herladen voeren geen package managers uit; Plugin-installaties blijven expliciet doctor-/install-/updatewerk.8. Gateway-servicemigraties en opschoonhints
8. Gateway-servicemigraties en opschoonhints
openclaw gateway status --deep of openclaw doctor --deep, verwijder vervolgens het duplicaat of stel OPENCLAW_SERVICE_REPAIR_POLICY=external in wanneer een systeem-supervisor de Gateway-levenscyclus beheert.8b. Startup Matrix-migratie
8b. Startup Matrix-migratie
--fix- / --repair-modus) een pre-migratiesnapshot en voert daarna de best-effort migratiestappen uit: legacy Matrix-statusmigratie en legacy versleutelde-statusvoorbereiding. Beide stappen zijn niet-fataal; fouten worden gelogd en het opstarten gaat door. In read-onlymodus (openclaw doctor zonder --fix) wordt deze controle volledig overgeslagen.8c. Apparaatkoppeling en auth-drift
8c. Apparaatkoppeling en auth-drift
- wachtende eerste koppelingsverzoeken
- wachtende rolupgrades voor al gekoppelde apparaten
- wachtende scope-upgrades voor al gekoppelde apparaten
- reparaties van publieke-sleutel-mismatches waarbij de apparaat-id nog steeds overeenkomt maar de apparaatidentiteit niet meer overeenkomt met het goedgekeurde record
- gekoppelde records zonder actief token voor een goedgekeurde rol
- gekoppelde tokens waarvan de scopes buiten de goedgekeurde koppelingsbaseline zijn gedrift
- lokaal gecachete apparaattoken-items voor de huidige machine die ouder zijn dan een tokenrotatie aan Gateway-zijde of verouderde scope-metadata bevatten
- inspecteer wachtende verzoeken met
openclaw devices list - keur het exacte verzoek goed met
openclaw devices approve <requestId> - roteer een vers token met
openclaw devices rotate --device <deviceId> --role <role> - verwijder een verouderd record en keur het opnieuw goed met
openclaw devices remove <deviceId>
9. Beveiligingswaarschuwingen
9. Beveiligingswaarschuwingen
10. systemd linger (Linux)
10. systemd linger (Linux)
11. Werkruimtestatus (Skills, plugins en legacy mappen)
11. Werkruimtestatus (Skills, plugins en legacy mappen)
- Skills-status: telt geschikte Skills, Skills met ontbrekende vereisten en door allowlist geblokkeerde Skills.
- Legacy werkruimtemappen: waarschuwt wanneer
~/openclawof andere legacy werkruimtemappen naast de huidige werkruimte bestaan. - Plugin-status: telt ingeschakelde/uitgeschakelde/mislukte plugins; vermeldt Plugin-ID’s voor eventuele fouten; rapporteert mogelijkheden van bundle-plugins.
- Plugin-compatibiliteitswaarschuwingen: markeert plugins die compatibiliteitsproblemen hebben met de huidige runtime.
- Plugin-diagnostiek: toont eventuele laadwaarschuwingen of fouten die door het Plugin-register zijn uitgegeven.
11b. Grootte van bootstrapbestand
11b. Grootte van bootstrapbestand
AGENTS.md, CLAUDE.md of andere geinjecteerde contextbestanden) dicht bij of boven het geconfigureerde tekenbudget zitten. Het rapporteert per bestand ruwe versus geinjecteerde tekentellingen, truncatiepercentage, truncatieoorzaak (max/file of max/total) en het totaal aantal geinjecteerde tekens als fractie van het totale budget. Wanneer bestanden worden getrunceerd of dicht bij de limiet zitten, drukt doctor tips af voor het afstellen van agents.defaults.bootstrapMaxChars en agents.defaults.bootstrapTotalMaxChars.11d. Opschoning van verouderde kanaal-Plugin
11d. Opschoning van verouderde kanaal-Plugin
openclaw doctor --fix een ontbrekende kanaal-Plugin verwijdert, verwijdert het ook de loshangende kanaalgebonden configuratie die naar die Plugin verwees: channels.<id>-items, Heartbeat-doelen die het kanaal noemden en agents.*.models["<channel>/*"]-overrides. Dit voorkomt Gateway-opstartlussen waarbij de kanaalruntime verdwenen is maar de configuratie de Gateway nog steeds vraagt zich eraan te binden.11c. Shell-aanvulling
11c. Shell-aanvulling
- Als het shellprofiel een traag dynamisch aanvullingspatroon gebruikt (
source <(openclaw completion ...)), upgradet doctor dit naar de snellere variant met gecachet bestand. - Als aanvulling in het profiel is geconfigureerd maar het cachebestand ontbreekt, regenereert doctor de cache automatisch.
- Als er helemaal geen aanvulling is geconfigureerd, vraagt doctor om deze te installeren (alleen interactieve modus; overgeslagen met
--non-interactive).
openclaw completion --write-state uit om de cache handmatig opnieuw te genereren.12. Gateway-authenticatiecontroles (lokaal token)
12. Gateway-authenticatiecontroles (lokaal token)
- Als tokenmodus een token nodig heeft en er geen tokenbron bestaat, biedt doctor aan er een te genereren.
- Als
gateway.auth.tokendoor SecretRef wordt beheerd maar niet beschikbaar is, waarschuwt doctor en overschrijft het niet met platte tekst. openclaw doctor --generate-gateway-tokenforceert generatie alleen wanneer er geen token-SecretRef is geconfigureerd.
12b. Alleen-lezen SecretRef-bewuste reparaties
12b. Alleen-lezen SecretRef-bewuste reparaties
openclaw doctor --fixgebruikt nu hetzelfde alleen-lezen SecretRef-samenvattingsmodel als statusfamilie-opdrachten voor gerichte configuratiereparaties.- Voorbeeld: Telegram
allowFrom/groupAllowFrom@username-reparatie probeert geconfigureerde botinloggegevens te gebruiken wanneer die beschikbaar zijn. - Als het Telegram-bottoken via SecretRef is geconfigureerd maar niet beschikbaar is in het huidige opdrachtpad, meldt doctor dat de inloggegevens geconfigureerd-maar-onbeschikbaar zijn en slaat automatische resolutie over in plaats van te crashen of het token onterecht als ontbrekend te rapporteren.
13. Gateway-gezondheidscontrole + herstart
13. Gateway-gezondheidscontrole + herstart
13b. Gereedheid van geheugenzoekfunctie
13b. Gereedheid van geheugenzoekfunctie
- QMD-backend: controleert of het
qmd-binaire bestand beschikbaar en startbaar is. Zo niet, dan wordt hersteladvies afgedrukt, inclusief het npm-pakket en een optie voor een handmatig binair pad. - Expliciete lokale provider: controleert op een lokaal modelbestand of een herkende externe/downloadbare model-URL. Als die ontbreekt, wordt voorgesteld om over te schakelen naar een externe provider.
- Expliciete externe provider (
openai,voyage, enz.): verifieert dat er een API-sleutel aanwezig is in de omgeving of auth store. Drukt bruikbare hersteltips af als die ontbreekt. - Automatische provider: controleert eerst de beschikbaarheid van het lokale model en probeert daarna elke externe provider in automatische-selectievolgorde.
openclaw memory status --deep om de embeddinggereedheid tijdens runtime te verifiëren.14. Kanaalstatuswaarschuwingen
14. Kanaalstatuswaarschuwingen
15. Supervisor-configuratieaudit + reparatie
15. Supervisor-configuratieaudit + reparatie
openclaw doctorvraagt om bevestiging voordat supervisorconfiguratie wordt herschreven.openclaw doctor --yesaccepteert de standaardreparatieprompts.openclaw doctor --repairpast aanbevolen oplossingen toe zonder prompts.openclaw doctor --repair --forceoverschrijft aangepaste supervisorconfiguraties.OPENCLAW_SERVICE_REPAIR_POLICY=externalhoudt doctor alleen-lezen voor de Gateway-servicelevenscyclus. Het rapporteert nog steeds servicestatus en voert niet-servicegerelateerde reparaties uit, maar slaat service-installatie/start/herstart/bootstrap, herschrijvingen van supervisorconfiguratie en opschoning van legacy services over omdat een externe supervisor die levenscyclus beheert.- Op Linux herschrijft doctor geen opdracht-/entrypointmetadata terwijl de overeenkomende systemd-Gateway-unit actief is. Het negeert ook inactieve niet-legacy extra Gateway-achtige units tijdens de scan op dubbele services, zodat begeleidende servicebestanden geen opschoningsruis veroorzaken.
- Als tokenauthenticatie een token vereist en
gateway.auth.tokendoor SecretRef wordt beheerd, valideert doctor bij service-installatie/-reparatie de SecretRef maar bewaart het geen opgeloste platte-teksttokenwaarden in de omgevingsmetadata van de supervisorservice. - Doctor detecteert beheerde
.env/SecretRef-ondersteunde serviceomgevingswaarden die oudere LaunchAgent-, systemd- of Windows Scheduled Task-installaties inline hebben ingesloten en herschrijft de servicemetadata zodat die waarden vanuit de runtimebron worden geladen in plaats van vanuit de supervisordefinitie. - Doctor detecteert wanneer de serviceopdracht nog steeds een oude
--portvastzet nadatgateway.portis gewijzigd en herschrijft de servicemetadata naar de huidige poort. - Als tokenauthenticatie een token vereist en de geconfigureerde token-SecretRef niet is opgelost, blokkeert doctor het installatie-/reparatiepad met bruikbare aanwijzingen.
- Als zowel
gateway.auth.tokenalsgateway.auth.passwordzijn geconfigureerd engateway.auth.modeniet is ingesteld, blokkeert doctor installatie/reparatie totdat de modus expliciet is ingesteld. - Voor Linux user-systemd-units omvatten doctortokendriftcontroles nu zowel
Environment=- alsEnvironmentFile=-bronnen bij het vergelijken van service-authmetadata. - Doctor-servicereparaties weigeren een Gateway-service van een ouder OpenClaw-binair bestand te herschrijven, stoppen of herstarten wanneer de configuratie voor het laatst door een nieuwere versie is geschreven. Zie Gateway-probleemoplossing.
- Je kunt altijd een volledige herschrijving forceren via
openclaw gateway install --force.
16. Gateway-runtime + poortdiagnostiek
16. Gateway-runtime + poortdiagnostiek
18789) en rapporteert waarschijnlijke oorzaken (Gateway draait al, SSH-tunnel).17. Best practices voor Gateway-runtime
17. Best practices voor Gateway-runtime
nvm, fnm, volta, asdf, enz.). WhatsApp- en Telegram-kanalen vereisen Node, en versiebeheerpaden kunnen na upgrades breken omdat de service je shell-init niet laadt. Doctor biedt aan te migreren naar een systeeminstallatie van Node wanneer die beschikbaar is (Homebrew/apt/choco).Nieuw geïnstalleerde of gerepareerde macOS LaunchAgents gebruiken een canoniek systeem-PATH (/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin) in plaats van het interactieve shell-PATH te kopiëren, zodat door Homebrew beheerde systeembinaries beschikbaar blijven terwijl Volta-, asdf-, fnm-, pnpm- en andere versiebeheermappen niet wijzigen welke Node-kinderprocessen worden gevonden. Linux-services behouden nog steeds expliciete omgevingsroots (NVM_DIR, FNM_DIR, VOLTA_HOME, ASDF_DATA_DIR, BUN_INSTALL, PNPM_HOME) en stabiele user-bin-mappen, maar geraden fallbackmappen van versiebeheerders worden alleen naar het service-PATH geschreven wanneer die mappen op schijf bestaan.18. Configuratieschrijven + wizardmetadata
18. Configuratieschrijven + wizardmetadata
19. Werkruimtetips (back-up + geheugensysteem)
19. Werkruimtetips (back-up + geheugensysteem)