Naar hoofdinhoud gaan
Een agentruntime is het component dat eigenaar is van één voorbereide modellus: het ontvangt de prompt, stuurt modeluitvoer aan, verwerkt native tool-aanroepen en geeft de afgeronde beurt terug aan OpenClaw. Runtimes zijn gemakkelijk te verwarren met providers, omdat beide dicht bij de modelconfiguratie verschijnen. Het zijn verschillende lagen:
LaagVoorbeeldenWat het betekent
Provideropenai, anthropic, github-copilotHoe OpenClaw authenticeert, modellen ontdekt en modelverwijzingen benoemt.
Modelgpt-5.5, claude-opus-4-6Het model dat voor de agentbeurt is geselecteerd.
Agentruntimeopenclaw, codex, copilot, claude-cliDe laag-niveau lus of backend die de voorbereide beurt uitvoert.
KanaalTelegram, Discord, Slack, WhatsAppWaar berichten OpenClaw binnenkomen en verlaten.
Je ziet in code ook het woord harness. Een harness is de implementatie die een agentruntime levert. De gebundelde Codex-harness implementeert bijvoorbeeld de codex-runtime. Publieke configuratie gebruikt agentRuntime.id op provider- of modelvermeldingen; runtime-sleutels voor hele agents zijn legacy en worden genegeerd. openclaw doctor --fix verwijdert oude runtime-pins voor hele agents en herschrijft legacy runtime-modelverwijzingen naar canonieke provider/model-verwijzingen plus modelgebonden runtimebeleid waar dat nodig is. Er zijn twee runtimefamilies:
  • Ingebedde harnesses draaien binnen de voorbereide agentlus van OpenClaw. Vandaag is dit de ingebouwde openclaw-runtime plus geregistreerde plugin-harnesses zoals codex en copilot.
  • CLI-backends draaien een lokaal CLI-proces terwijl de modelverwijzing canoniek blijft. Bijvoorbeeld anthropic/claude-opus-4-8 met een modelgebonden agentRuntime.id: "claude-cli" betekent “selecteer het Anthropic model, voer uit via Claude CLI.” claude-cli is geen ingebedde harness-id en mag niet worden doorgegeven aan AgentHarness-selectie.
De copilot-harness is een afzonderlijke, opt-in externe plugin-harness voor de GitHub Copilot CLI; zie GitHub Copilot-agentruntime voor de gebruikersgerichte keuze tussen PI, Codex en GitHub Copilot-agentruntime.

Codex-oppervlakken

De meeste verwarring komt doordat verschillende oppervlakken de naam Codex delen:
OppervlakOpenClaw-naam/configuratieWat het doet
Native Codex app-server-runtimeopenai/*-modelverwijzingenDraait OpenAI-ingebedde agentbeurten via Codex app-server. Dit is de gebruikelijke ChatGPT/Codex-abonnementsconfiguratie.
Codex OAuth-authprofielenopenai OAuth-profielenSlaat ChatGPT/Codex-abonnementsauthenticatie op die de Codex app-server-harness gebruikt.
Codex ACP-adapterruntime: "acp", agentId: "codex"Draait Codex via het externe ACP/acpx-besturingsvlak. Gebruik dit alleen wanneer expliciet om ACP/acpx wordt gevraagd.
Native Codex chat-besturingscommandoset/codex ...Koppelt, hervat, stuurt, stopt en inspecteert Codex app-server-threads vanuit chat.
OpenAI Platform API-route voor niet-agentoppervlakkenopenai/* plus API-sleutel-authGebruikt voor directe OpenAI-API’s zoals afbeeldingen, embeddings, spraak en realtime.
Die oppervlakken zijn bewust onafhankelijk. Het inschakelen van de codex-plugin maakt de native app-serverfuncties beschikbaar; openclaw doctor --fix is eigenaar van legacy legacy Codex-routereparatie en het opruimen van verouderde sessiepins. Het selecteren van openai/* voor een agentmodel betekent nu “draai dit via Codex”, tenzij een niet-agent OpenAI API-oppervlak wordt gebruikt. De gebruikelijke ChatGPT/Codex-abonnementsconfiguratie gebruikt Codex OAuth voor authenticatie, maar houdt de modelverwijzing op openai/* en selecteert de codex-runtime:
{
  agents: {
    defaults: {
      model: "openai/gpt-5.5",
    },
  },
}
Dat betekent dat OpenClaw een OpenAI-modelverwijzing selecteert en daarna de Codex app-server- runtime vraagt om de ingebedde agentbeurt uit te voeren. Het betekent niet “gebruik API-facturering” en het betekent niet dat het kanaal, de modelprovidercatalogus of de OpenClaw-sessieopslag Codex wordt. Wanneer de gebundelde codex-plugin is ingeschakeld, moet natuurlijke-taalbesturing van Codex het native /codex-commando-oppervlak (/codex bind, /codex threads, /codex resume, /codex steer, /codex stop) gebruiken in plaats van ACP. Gebruik ACP voor Codex alleen wanneer de gebruiker expliciet om ACP/acpx vraagt of het ACP- adapterpad test. Claude Code, Gemini CLI, OpenCode, Cursor en vergelijkbare externe harnesses gebruiken nog steeds ACP. Dit is de beslisboom voor agents:
  1. Als de gebruiker vraagt om Codex koppelen/besturen/thread/hervatten/sturen/stoppen, gebruik dan het native /codex-commando-oppervlak wanneer de gebundelde codex-plugin is ingeschakeld.
  2. Als de gebruiker vraagt om Codex als de ingebedde runtime of de normale abonnementsgebaseerde Codex-agentervaring wil, gebruik dan openai/<model>.
  3. Als de gebruiker expliciet OpenClaw voor een OpenAI-model kiest, houd de modelverwijzing op openai/<model> en stel provider/model-runtimebeleid in op agentRuntime.id: "openclaw". Een geselecteerd openai OAuth-profiel wordt intern gerouteerd via OpenClaw’s Codex-auth-transport.
  4. Als legacy-configuratie nog legacy Codex-modelverwijzingen bevat, repareer die dan naar openai/<model> met openclaw doctor --fix; doctor behoudt de Codex-auth- route door provider/modelgebonden agentRuntime.id: "codex" toe te voegen waar de oude modelverwijzing dat impliceerde. Legacy codex-cli/*-modelverwijzingen worden gerepareerd naar dezelfde openai/<model> Codex app-server-route; OpenClaw behoudt niet langer een gebundelde Codex CLI-backend.
  5. Als de gebruiker expliciet ACP, acpx of Codex ACP-adapter zegt, gebruik dan ACP met runtime: "acp" en agentId: "codex".
  6. Als het verzoek gaat over Claude Code, Gemini CLI, OpenCode, Cursor, Droid of een andere externe harness, gebruik dan ACP/acpx, niet de native subagentruntime.
Je bedoelt…Gebruik…
Codex app-server chat-/threadbesturing/codex ... vanuit de gebundelde codex-plugin
Codex app-server ingebedde agentruntimeopenai/*-agentmodelverwijzingen
OpenAI Codex OAuthopenai OAuth-profielen
Claude Code of andere externe harnessACP/acpx
Zie voor de splitsing van OpenAI-familieprefixen OpenAI en Modelproviders. Zie voor het ondersteuningscontract van de Codex-runtime Codex harness-runtime.

Runtime-eigenaarschap

Verschillende runtimes zijn eigenaar van verschillende delen van de lus.
OppervlakOpenClaw ingebedCodex app-server
Eigenaar van modellusOpenClaw via de OpenClaw ingebedde runnerCodex app-server
Canonieke threadstatusOpenClaw-transcriptCodex-thread, plus OpenClaw-transcriptspiegel
Dynamische OpenClaw-toolsNative OpenClaw-toollusOverbrugd via de Codex-adapter
Native shell- en bestandstoolsOpenClaw-padCodex-native tools, overbrugd via native hooks waar ondersteund
ContextengineNative OpenClaw-contextsamenstellingOpenClaw-projecten stellen context samen in de Codex-beurt
CompactionOpenClaw of geselecteerde contextengineCodex-native Compaction, met OpenClaw-meldingen en spiegelonderhoud
KanaalleveringOpenClawOpenClaw
Deze eigendomssplitsing is de belangrijkste ontwerpregel:
  • Als OpenClaw eigenaar is van het oppervlak, kan OpenClaw normaal plugin-hookgedrag leveren.
  • Als de native runtime eigenaar is van het oppervlak, heeft OpenClaw runtime-events of native hooks nodig.
  • Als de native runtime eigenaar is van de canonieke threadstatus, moet OpenClaw context spiegelen en projecteren, niet niet-ondersteunde internals herschrijven.

Runtimeselectie

OpenClaw kiest een ingebedde runtime na provider- en modelresolutie:
  1. Modelgebonden runtimebeleid wint. Dit kan staan in een geconfigureerde provider- modelvermelding of in agents.defaults.models["provider/model"].agentRuntime / agents.list[].models["provider/model"].agentRuntime. Een provider-wildcard zoals agents.defaults.models["vllm/*"].agentRuntime wordt toegepast na exact modelbeleid, zodat dynamisch ontdekte providermodellen één runtime kunnen delen zonder exacte uitzonderingen per model te overschrijven.
  2. Providergebonden runtimebeleid komt daarna op models.providers.<provider>.agentRuntime.
  3. In auto-modus kunnen geregistreerde plugin-runtimes ondersteunde provider/model- paren claimen.
  4. Als geen runtime een beurt claimt in auto-modus, gebruikt OpenClaw openclaw als de compatibiliteitsruntime. Gebruik een expliciete runtime-id wanneer de run strikt moet zijn.
Runtime-pins voor hele sessies en hele agents worden genegeerd. Dat omvat OPENCLAW_AGENT_RUNTIME, sessiestatus agentHarnessId/agentRuntimeOverride, agents.defaults.agentRuntime en agents.list[].agentRuntime. Voer openclaw doctor --fix uit om verouderde runtimeconfiguratie voor hele agents te verwijderen en legacy runtime-modelverwijzingen om te zetten waar OpenClaw de bedoeling kan behouden. Expliciete provider/model-pluginruntimes falen gesloten. Bijvoorbeeld agentRuntime.id: "codex" op een provider of model betekent Codex of een duidelijke selectie-/runtimefout; het wordt nooit stilzwijgend teruggerouteerd naar OpenClaw. CLI-backendaliassen verschillen van ingebedde harness-id’s. De aanbevolen Claude CLI-vorm is:
{
  agents: {
    defaults: {
      model: "anthropic/claude-opus-4-8",
      models: {
        "anthropic/claude-opus-4-8": {
          agentRuntime: { id: "claude-cli" },
        },
      },
    },
  },
}
Legacy-verwijzingen zoals claude-cli/claude-opus-4-7 blijven ondersteund voor compatibiliteit, maar nieuwe configuratie moet de provider/het model canoniek houden en de uitvoeringsbackend in provider/model-runtimebeleid plaatsen. Legacy codex-cli/*-verwijzingen zijn anders: doctor migreert ze naar openai/* zodat ze via de Codex app-server-harness draaien in plaats van een Codex CLI- backend te behouden. auto-modus is bewust conservatief voor de meeste providers. OpenAI-agent- modellen zijn de uitzondering: niet-ingestelde runtime en auto lossen beide op naar de Codex- harness. Expliciete OpenClaw-runtimeconfiguratie blijft een opt-in compatibiliteitsroute voor openai/*-agentbeurten; wanneer deze wordt gecombineerd met een geselecteerd openai OAuth-profiel, routeert OpenClaw dat pad intern via het Codex-auth-transport terwijl de publieke modelverwijzing openai/* blijft. Verouderde OpenAI-runtime-sessiepins worden genegeerd door runtimeselectie en kunnen worden opgeschoond met openclaw doctor --fix. Als openclaw doctor waarschuwt dat de codex Plugin is ingeschakeld terwijl verouderde Codex-modelverwijzingen in de configuratie blijven staan, behandel dat dan als verouderde routeringsstatus. Voer openclaw doctor --fix uit om dit te herschrijven naar openai/* met de Codex-runtime.

GitHub Copilot-agentruntime

De externe @openclaw/copilot Plugin registreert een opt-in copilot-runtime die wordt ondersteund door de GitHub Copilot CLI (@github/copilot-sdk). Deze claimt de canonieke abonnementsprovider github-copilot en wordt nooit geselecteerd door auto. Meld je per model of per provider aan via agentRuntime.id:
{
  agents: {
    defaults: {
      model: "github-copilot/gpt-5.5",
      models: {
        "github-copilot/gpt-5.5": {
          agentRuntime: { id: "copilot" },
        },
      },
    },
  },
}
Het harnas claimt zijn provider, runtime, CLI-sessiesleutel en authenticatieprofiel- voorvoegsel in extensions/copilot/doctor-contract-api.ts, dat openclaw doctor automatisch laadt. Zie voor configuratie, authenticatie, transcriptspiegeling, Compaction, het declaratieve doctor-contract en de bredere PI versus Codex versus Copilot SDK-beslissing GitHub Copilot-agentruntime.

Compatibiliteitscontract

Wanneer een runtime geen OpenClaw is, moet deze documenteren welke OpenClaw-oppervlakken worden ondersteund. Gebruik deze vorm voor runtime-documentatie:
VraagWaarom dit belangrijk is
Wie is eigenaar van de modellus?Bepaalt waar retries, toolvoortzetting en beslissingen over het eindantwoord plaatsvinden.
Wie is eigenaar van de canonieke threadgeschiedenis?Bepaalt of OpenClaw de geschiedenis kan bewerken of deze alleen kan spiegelen.
Werken dynamische OpenClaw-tools?Messaging, sessies, Cron en tools die OpenClaw beheert, zijn hiervan afhankelijk.
Werken dynamische toolhooks?Plugins verwachten before_tool_call, after_tool_call en middleware rond tools die OpenClaw beheert.
Werken native toolhooks?Shell, patch en tools die door de runtime worden beheerd, hebben native hookondersteuning nodig voor beleid en observatie.
Draait de levenscyclus van de contextengine?Memory- en context-Plugins zijn afhankelijk van de levenscyclus voor assemble, ingest, after-turn en Compaction.
Welke Compaction-gegevens worden blootgesteld?Sommige Plugins hebben alleen meldingen nodig, terwijl andere bewaarde/verwijderde metadata nodig hebben.
Wat wordt bewust niet ondersteund?Gebruikers mogen geen OpenClaw-equivalentie aannemen waar de native runtime meer status beheert.
Het ondersteuningscontract van de Codex-runtime is gedocumenteerd in Codex-harnasruntime.

Statuslabels

Statusuitvoer kan zowel Execution- als Runtime-labels tonen. Lees ze als diagnostiek, niet als providernamen.
  • Een modelverwijzing zoals openai/gpt-5.5 vertelt je de geselecteerde provider/het geselecteerde model.
  • Een runtime-id zoals codex vertelt je welke lus de beurt uitvoert.
  • Een kanaallabel zoals Telegram of Discord vertelt je waar het gesprek plaatsvindt.
Als een run nog steeds een onverwachte runtime toont, inspecteer dan eerst het runtimebeleid van de geselecteerde provider/het geselecteerde model. Verouderde sessieruntime-pins bepalen de routering niet meer.

Gerelateerd