Testing
Testen: livesuites
Voor een snelle start, QA-runners, unit-/integratiesuites en Docker-flows, zie Tests. Deze pagina behandelt live tests (met netwerktoegang): modelmatrix, CLI-backends, ACP, mediaproviders en verwerking van inloggegevens.
Live tests versus je echte Gateway
Live suites en ad-hocrooktests mogen nooit een Gateway verstoren die al echt verkeer verwerkt (van jou of een andere beheerder):
- Gebruik je eigen Gateway: gebruik de Gateway in hetzelfde proces (laag 2 hieronder) of start een
ontwikkelinstantie met een geïsoleerde statusmap (
OPENCLAW_STATE_DIR=<scratch>) en een vrije poort. Bind niet aan de standaardpoort van de Gateway (18789) terwijl daarop een echte Gateway actief is. - Voer geen
openclaw gateway stop/restart(oflaunchctl/systemctl/tmux- equivalenten) uit op een service die je niet in deze sessie hebt gestart — dat is de live instantie van de beheerder. Vraag eerst uitdrukkelijke toestemming. - Realistische gegevens nodig? Kopieer de live status/database naar je ontwikkelstatusmap en test met de kopie. Voor rechtstreekse migraties van de status van een live Gateway is eveneens uitdrukkelijke toestemming vereist.
Live: lokale rooktestopdrachten
Exporteer vóór ad-hoc-livecontroles de benodigde providersleutel naar de procesomgeving.
Veilige mediarooktest:
pnpm openclaw infer tts convert --local --json \ --text "OpenClaw live-rooktest." \ --output /tmp/openclaw-live-smoke.mp3Veilige rooktest voor gereedheid van spraakoproepen:
pnpm openclaw voicecall setup --jsonpnpm openclaw voicecall smoke --to "+15555550123"voicecall smoke is een proefuitvoering, tenzij --yes ook aanwezig is; gebruik --yes alleen
wanneer je daadwerkelijk wilt bellen. Voor Twilio, Telnyx en Plivo vereist een
geslaagde gereedheidscontrole een openbare Webhook-URL; lokale/private
loopback-URL's worden geweigerd omdat die providers ze niet kunnen bereiken.
Live: controle van Android-Node-mogelijkheden
- Test:
src/gateway/android-node.capabilities.live.test.ts - Script:
pnpm android:test:integration - Doel: roep elke opdracht aan die momenteel wordt aangeboden door een verbonden Android-Node en controleer het opdrachtcontract.
- Bereik:
- Vooraf geconfigureerde/handmatige installatie (de suite installeert, start of koppelt de app niet).
- Opdrachtgewijze Gateway-validatie van
node.invokevoor de geselecteerde Android-Node.
- Vereiste voorafgaande configuratie:
- Android-app is al verbonden met en gekoppeld aan de Gateway.
- App blijft op de voorgrond.
- Toestemmingen/toestemming voor opname verleend voor de mogelijkheden waarvan je verwacht dat ze slagen.
- Optionele doeloverschrijvingen:
OPENCLAW_ANDROID_NODE_IDofOPENCLAW_ANDROID_NODE_NAME.OPENCLAW_ANDROID_GATEWAY_URL/OPENCLAW_ANDROID_GATEWAY_TOKEN/OPENCLAW_ANDROID_GATEWAY_PASSWORD.
- Volledige details over de Android-configuratie: Android-app
Live: modelrooktest (profielsleutels)
Live modeltests zijn opgesplitst in twee lagen, zodat fouten geïsoleerd blijven:
- 'Direct model' geeft aan of de provider/het model überhaupt met de opgegeven sleutel kan antwoorden.
- 'Gateway-rooktest' geeft aan of de volledige Gateway- en agentpijplijn voor dat model werkt (sessies, geschiedenis, tools, sandboxbeleid enzovoort).
De beheerde modellijsten hieronder bevinden zich in src/agents/live-model-filter.ts en
veranderen in de loop van de tijd; beschouw de arrays daar als de bron van waarheid, niet deze
pagina.
MiniMax M3 gebruikt minimax/MiniMax-M3 als standaardreferentie voor provider/model.
Laag 1: directe modelaanvulling (zonder Gateway)
- Test:
src/agents/models.profiles.live.test.ts - Doel:
- Gevonden modellen opsommen
- Gebruik
getApiKeyForModelom modellen te selecteren waarvoor je inloggegevens hebt - Voer per model een kleine aanvulling uit (en waar nodig gerichte regressietests)
- Inschakelen:
pnpm test:live(ofOPENCLAW_LIVE_TEST=1als je Vitest rechtstreeks aanroept)- Stel
OPENCLAW_LIVE_MODELS=modern,smallofall(alias voormodern) in om deze suite daadwerkelijk uit te voeren; anders wordt deze overgeslagen, zodatpnpm test:liveop zichzelf gericht blijft op de Gateway-rooktest.
- Modellen selecteren:
OPENCLAW_LIVE_MODELS=modernvoert de beheerde prioriteitenlijst met veelzeggende resultaten uit (zie Live: modelmatrix)OPENCLAW_LIVE_MODELS=smallvoert de beheerde prioriteitenlijst voor kleine modellen uitOPENCLAW_LIVE_MODELS=allis een alias voormodern- of
OPENCLAW_LIVE_MODELS="openai/gpt-5.6-luna,anthropic/claude-opus-4-6,..."(door komma's gescheiden acceptatielijst) - Lokale uitvoeringen met kleine Ollama-modellen gebruiken standaard
http://127.0.0.1:11434; stelOPENCLAW_LIVE_OLLAMA_BASE_URLalleen in voor LAN-, aangepaste of Ollama Cloud-eindpunten. - Moderne/volledige en kleine controles gebruiken standaard de lengte van hun beheerde lijst als limiet; stel
OPENCLAW_LIVE_MAX_MODELS=0in voor een volledige controle van het geselecteerde profiel of op een positief getal voor een lagere limiet. - Volledige controles gebruiken
OPENCLAW_LIVE_TEST_TIMEOUT_MSals time-out voor de volledige directe-modeltest. Standaard: 60 minuten. - Directe-modelprobes worden standaard met 20-voudige parallelliteit uitgevoerd; stel
OPENCLAW_LIVE_MODEL_CONCURRENCYin om dit te overschrijven.
- Providers selecteren:
OPENCLAW_LIVE_PROVIDERS="google,google-antigravity,google-gemini-cli"(door komma's gescheiden acceptatielijst)
- Herkomst van sleutels:
- Standaard: profielopslag en terugvalopties uit de omgeving
- Stel
OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1in om uitsluitend profielopslag af te dwingen
- Waarom dit bestaat:
- Maakt onderscheid tussen 'provider-API is defect/sleutel is ongeldig' en 'Gateway-agentpijplijn is defect'
- Bevat kleine, geïsoleerde regressies (voorbeeld: opnieuw afspelen van redeneringen en toolaanroepflows van OpenAI Responses/Codex Responses)
Laag 2: Gateway + rooktest met ontwikkelagent (wat '@openclaw' daadwerkelijk doet)
- Test:
src/gateway/gateway-models.profiles.live.test.ts - Doel:
- Start een Gateway in hetzelfde proces
- Maak/wijzig een
agent:dev:*-sessie (modeloverschrijving per uitvoering) - Doorloop modellen-met-sleutels en controleer:
- 'betekenisvol' antwoord (zonder tools)
- een echte toolaanroep werkt (leesprobe)
- optionele aanvullende toolprobes (uitvoer- en leesprobe)
- OpenAI-regressiepaden (alleen toolaanroep -> vervolgstap) blijven werken
- Probedetails (zodat je fouten snel kunt verklaren):
read-probe: de test schrijft een noncebestand in de werkruimte en vraagt de agent om dit viareadte lezen en de nonce terug te geven.exec+read-probe: de test vraagt de agent om viaexeceen nonce naar een tijdelijk bestand te schrijven en dit vervolgens viareadterug te lezen.- afbeeldingsprobe: de test voegt een gegenereerde PNG toe (kat + willekeurige code) en verwacht dat het model
cat <CODE>retourneert. - Implementatiereferentie:
src/gateway/gateway-models.profiles.live.test.tsentest/helpers/live-image-probe.ts.
- Inschakelen:
pnpm test:live(ofOPENCLAW_LIVE_TEST=1als je Vitest rechtstreeks aanroept)
- Modellen selecteren:
- Standaard: de beheerde prioriteitenlijst met veelzeggende resultaten (
modern) OPENCLAW_LIVE_GATEWAY_MODELS=smallvoert de beheerde lijst met kleine modellen uit via de volledige Gateway- en agentpijplijnOPENCLAW_LIVE_GATEWAY_MODELS=allis een alias voormodern- Of stel
OPENCLAW_LIVE_GATEWAY_MODELS="provider/model"(of een door komma's gescheiden lijst) in om de selectie te beperken - Moderne/volledige en kleine Gateway-controles gebruiken standaard de lengte van hun beheerde lijst als limiet; stel
OPENCLAW_LIVE_GATEWAY_MAX_MODELS=0in voor een volledige geselecteerde controle of op een positief getal voor een lagere limiet.
- Standaard: de beheerde prioriteitenlijst met veelzeggende resultaten (
- Providers selecteren (vermijd 'alles via OpenRouter'):
OPENCLAW_LIVE_GATEWAY_PROVIDERS="google,google-antigravity,google-gemini-cli,openai,anthropic,zai,minimax"(door komma's gescheiden acceptatielijst)
- Tool- en afbeeldingsprobes zijn in deze live test altijd ingeschakeld:
read-probe +exec+read-probe (toolbelasting)- afbeeldingsprobe wordt uitgevoerd wanneer het model ondersteuning voor afbeeldingsinvoer aangeeft
- Flow (op hoofdlijnen):
- Test genereert een kleine PNG met 'CAT' + willekeurige code (
test/helpers/live-image-probe.ts) - Verstuurt deze via
agentattachments: [{ mimeType: "image/png", content: "<base64>" }] - Gateway verwerkt bijlagen tot
images[](src/gateway/server-methods/agent.ts+src/gateway/chat-attachments.ts) - Ingebedde agent stuurt een multimodaal gebruikersbericht door naar het model
- Controle: antwoord bevat
cat+ de code (OCR-tolerantie: kleine fouten toegestaan)
- Test genereert een kleine PNG met 'CAT' + willekeurige code (
Live: rooktest voor CLI-backend (Claude, Gemini of andere lokale CLI's)
- Test:
src/gateway/gateway-cli-backend.live.test.ts - Doel: valideer de Gateway- en agentpijplijn met een lokale CLI-backend, zonder je standaardconfiguratie te wijzigen.
- Backendspecifieke standaardwaarden voor rooktests staan bij de
cli-backend.ts-definitie van de verantwoordelijke Plugin. - Inschakelen:
pnpm test:live(ofOPENCLAW_LIVE_TEST=1als je Vitest rechtstreeks aanroept)OPENCLAW_LIVE_CLI_BACKEND=1
- Standaardwaarden:
- Standaardprovider/-model:
claude-cli/claude-sonnet-4-6 - Het gedrag voor opdrachten, argumenten en afbeeldingen komt uit de metadata van de verantwoordelijke CLI-backend-Plugin.
- Standaardprovider/-model:
- Overschrijvingen (optioneel):
OPENCLAW_LIVE_CLI_BACKEND_MODEL="claude-cli/claude-sonnet-4-6"OPENCLAW_LIVE_CLI_BACKEND_COMMAND="/full/path/to/claude"OPENCLAW_LIVE_CLI_BACKEND_ARGS='["-p","--output-format","json"]'OPENCLAW_LIVE_CLI_BACKEND_IMAGE_PROBE=1om een echte afbeeldingsbijlage te verzenden (paden worden in de prompt ingevoegd). Standaard uitgeschakeld in Docker-recepten.OPENCLAW_LIVE_CLI_BACKEND_IMAGE_ARG="--image"om afbeeldingsbestandspaden als CLI-argumenten door te geven in plaats van ze in de prompt in te voegen.OPENCLAW_LIVE_CLI_BACKEND_IMAGE_MODE="repeat"(of"list") om te bepalen hoe afbeeldingsargumenten worden doorgegeven wanneerIMAGE_ARGis ingesteld.OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1om een tweede beurt te verzenden en de hervattingsflow te valideren.OPENCLAW_LIVE_CLI_BACKEND_MODEL_SWITCH_PROBE=1om de continuïteitsprobe voor Claude Sonnet -> Opus binnen dezelfde sessie in te schakelen wanneer het geselecteerde model een wisseldoel ondersteunt. Standaard uitgeschakeld, ook in Docker-recepten.OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=1om de MCP-/tool-loopbackprobe in te schakelen. Standaard uitgeschakeld in Docker-recepten.
Voorbeeld:
OPENCLAW_LIVE_CLI_BACKEND=1 \ OPENCLAW_LIVE_CLI_BACKEND_MODEL="claude-cli/claude-sonnet-4-6" \ pnpm test:live src/gateway/gateway-cli-backend.live.test.tsEenvoudige rooktest voor Gemini MCP-configuratie:
OPENCLAW_LIVE_TEST=1 \ pnpm test:live src/agents/cli-runner/bundle-mcp.gemini.live.test.tsHierbij wordt Gemini niet gevraagd om een antwoord te genereren. De test schrijft dezelfde systeeminstellingen
die OpenClaw aan Gemini geeft en voert vervolgens gemini --debug mcp list uit om aan te tonen dat een
opgeslagen transport: "streamable-http"-server wordt genormaliseerd naar Gemini's HTTP MCP-
vorm en verbinding kan maken met een lokale streamable-HTTP MCP-server.
Docker-recept:
pnpm test:docker:live-cli-backendDocker-recepten voor één provider:
pnpm test:docker:live-cli-backend:claudepnpm test:docker:live-cli-backend:claude-subscriptionpnpm test:docker:live-cli-backend:geminiOpmerkingen:
- De Docker-runner bevindt zich op
scripts/test-live-cli-backend-docker.sh. - Deze voert de live rooktest voor de CLI-backend binnen de Docker-image van de repository uit als de niet-rootgebruiker
node. - Deze haalt de metadata voor de CLI-rooktest op uit de verantwoordelijke plugin en installeert vervolgens het bijbehorende Linux-CLI-pakket (
@anthropic-ai/claude-codeof@google/gemini-cli) in een beschrijfbaar voorvoegsel met cache opOPENCLAW_DOCKER_CLI_TOOLS_DIR(standaard:~/.cache/openclaw/docker-cli-tools). codex-cliis niet langer een gebundelde CLI-backend; gebruik in plaats daarvanopenai/*met de Codex-app-serverruntime (zie Live: rooktest voor de Codex-app-serverharness).pnpm test:docker:live-cli-backend:claude-subscriptionvereist overdraagbare OAuth voor een Claude Code-abonnement via~/.claude/.credentials.jsonmetclaudeAiOauth.subscriptionTypeof viaCLAUDE_CODE_OAUTH_TOKENuitclaude setup-token. Eerst wordt directeclaude -pin Docker aangetoond, waarna twee Gateway-beurten voor de CLI-backend worden uitgevoerd zonder omgevingsvariabelen met Anthropic-API-sleutels te behouden. Deze abonnementsroute schakelt de Claude MCP-/tool- en afbeeldingsprobes standaard uit, omdat deze de gebruikslimieten van het aangemelde abonnement verbruiken en Anthropic het facturerings- en snelheidslimietgedrag van de Claude Agent SDK /claude -pkan wijzigen zonder een OpenClaw-release.- Claude en Gemini ondersteunen via de bovenstaande vlaggen dezelfde reeks probes (tekstbeurt, afbeeldingsclassificatie, aanroep van de MCP-tool
cron, continuïteit bij modelwisseling), maar geen van deze probes wordt standaard uitgevoerd. Schakel ze per vlag in wanneer nodig.
Live: bereikbaarheid van APNs via een HTTP/2-proxy
- Test:
src/infra/push-apns-http2.live.test.ts - Doel: via een lokale HTTP CONNECT-proxy een tunnel naar Apples sandbox-APNs-eindpunt maken, het HTTP/2-validatieverzoek van APNs verzenden en controleren of Apples echte
403 InvalidProviderToken-antwoord via het proxypad terugkomt. - Inschakelen:
OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_APNS_REACHABILITY=1 pnpm test:live src/infra/push-apns-http2.live.test.ts
- Optionele time-out:
OPENCLAW_LIVE_APNS_TIMEOUT_MS=30000
Live: ACP-bindingsrooktest (/acp spawn ... --bind here)
- Test:
src/gateway/gateway-acp-bind.live.test.ts - Doel: de echte ACP-flow voor het binden van gesprekken valideren met een live ACP-agent:
- verzend
/acp spawn <agent> --bind here - bind ter plekke een synthetisch gesprek via een berichtkanaal
- verzend een normaal vervolgbericht in datzelfde gesprek
- controleer of het vervolgbericht in het transcript van de gebonden ACP-sessie terechtkomt
- verzend
- Inschakelen:
pnpm test:live src/gateway/gateway-acp-bind.live.test.tsOPENCLAW_LIVE_ACP_BIND=1
- Standaardwaarden:
- ACP-agents in Docker:
claude,codex,gemini - ACP-agent voor directe
pnpm test:live ...:claude - Synthetisch kanaal: gesprekscontext in de stijl van een Slack-DM
- ACP-backend:
acpx
- ACP-agents in Docker:
- Overschrijvingen:
OPENCLAW_LIVE_ACP_BIND_AGENT=claudeOPENCLAW_LIVE_ACP_BIND_AGENT=codexOPENCLAW_LIVE_ACP_BIND_AGENT=droidOPENCLAW_LIVE_ACP_BIND_AGENT=geminiOPENCLAW_LIVE_ACP_BIND_AGENT=opencodeOPENCLAW_LIVE_ACP_BIND_AGENTS=claude,codex,geminiOPENCLAW_LIVE_ACP_BIND_AGENT_COMMAND='npx -y @agentclientprotocol/claude-agent-acp@<version>'OPENCLAW_LIVE_ACP_BIND_CODEX_MODEL=gpt-5.6-lunaOPENCLAW_LIVE_ACP_BIND_OPENCODE_MODEL=opencode/kimi-k2.6OPENCLAW_LIVE_ACP_BIND_IMAGE_PROBE=1(ofon/true/yes) om de afbeeldingsprobe geforceerd in te schakelen; elke andere waarde schakelt deze geforceerd uit. Wordt standaard uitgevoerd voor elke agent behalveopencode.OPENCLAW_LIVE_ACP_BIND_REQUIRE_CRON=1OPENCLAW_LIVE_ACP_BIND_PARENT_MODEL=openai/gpt-5.6-luna
- Opmerkingen:
- Deze route gebruikt het Gateway-oppervlak
chat.sendmet uitsluitend voor beheerders bestemde synthetische velden voor de oorspronkelijke route, zodat tests context van berichtkanalen kunnen koppelen zonder te doen alsof er extern wordt afgeleverd. - Wanneer
OPENCLAW_LIVE_ACP_BIND_AGENT_COMMANDniet is ingesteld, gebruikt de test het ingebouwde agentregister van de ingesloten pluginacpxvoor de geselecteerde ACP-harnessagent. - Het maken van een gebonden-sessie-Cron via MCP gebeurt standaard naar beste vermogen, omdat externe ACP-harnassen MCP-aanroepen kunnen annuleren nadat het bewijs voor de binding/afbeelding is geslaagd; stel
OPENCLAW_LIVE_ACP_BIND_REQUIRE_CRON=1in om deze Cron-probe na de binding strikt te maken.
- Deze route gebruikt het Gateway-oppervlak
Voorbeeld:
OPENCLAW_LIVE_ACP_BIND=1 \ OPENCLAW_LIVE_ACP_BIND_AGENT=claude \ pnpm test:live src/gateway/gateway-acp-bind.live.test.tsDocker-recept:
pnpm test:docker:live-acp-bindDocker-recepten voor één agent:
pnpm test:docker:live-acp-bind:claudepnpm test:docker:live-acp-bind:codexpnpm test:docker:live-acp-bind:droidpnpm test:docker:live-acp-bind:geminipnpm test:docker:live-acp-bind:opencodeDocker-opmerkingen:
- De Docker-runner bevindt zich op
scripts/test-live-acp-bind-docker.sh. - Standaard voert deze de ACP-bindingsrooktest achtereenvolgens uit tegen de gezamenlijke live CLI-agents:
claude,codexen vervolgensgemini. - Gebruik
OPENCLAW_LIVE_ACP_BIND_AGENTS=claude,OPENCLAW_LIVE_ACP_BIND_AGENTS=codex,OPENCLAW_LIVE_ACP_BIND_AGENTS=droid,OPENCLAW_LIVE_ACP_BIND_AGENTS=geminiofOPENCLAW_LIVE_ACP_BIND_AGENTS=opencodeom de matrix te beperken. - Deze plaatst het bijbehorende CLI-authenticatiemateriaal in de container en installeert vervolgens, indien ontbrekend, de gevraagde live CLI (
@anthropic-ai/claude-code,@openai/codex, Factory Droid viahttps://app.factory.ai/cli,@google/gemini-cliofopencode-ai). De ACP-backend zelf is het ingesloten pakketacpx/runtimeuit de officiële pluginacpx. - De Droid-Docker-variant plaatst
~/.factoryvoor instellingen, geeftFACTORY_API_KEYdoor en vereist die API-sleutel, omdat lokale Factory-OAuth-/sleutelbosauthenticatie niet overdraagbaar is naar de container. Deze gebruikt de ingebouwde registervermeldingdroid exec --output-format acpvan ACPX. - De OpenCode-Docker-variant is een strikte regressieroute voor één agent. Deze schrijft een tijdelijk standaardmodel
OPENCODE_CONFIG_CONTENTuitOPENCLAW_LIVE_ACP_BIND_OPENCODE_MODEL(standaardopencode/kimi-k2.6). - Directe aanroepen van de CLI
acpxzijn uitsluitend een handmatig/alternatief pad om gedrag buiten de Gateway te vergelijken. De Docker-rooktest voor ACP-binding gebruikt de ingesloten runtimebackendacpxvan OpenClaw.
Live: rooktest voor de Codex-app-serverharness
- Doel: de plugin-eigen Codex-harness valideren via de normale Gateway-
methode
agent:- laad de gebundelde plugin
codex - selecteer een OpenAI-model via
/model <ref> --runtime codex - verzend een eerste Gateway-agentbeurt met het gevraagde denkniveau
- verzend een tweede beurt naar dezelfde OpenClaw-sessie en controleer of de app-serverthread kan worden hervat
- voer
/codex statusen/codex modelsuit via hetzelfde Gateway-opdrachtpad - voer optioneel twee door Guardian beoordeelde shell-probes met verhoogde rechten uit: één onschuldige opdracht die moet worden goedgekeurd en één upload met een nepgeheim die moet worden geweigerd, zodat de agent om bevestiging vraagt
- laad de gebundelde plugin
- Test:
src/gateway/gateway-codex-harness.live.test.ts - Inschakelen:
OPENCLAW_LIVE_CODEX_HARNESS=1 - Basismodel van de harness:
openai/gpt-5.6-luna - Standaardselectie voor een nieuwe OpenAI-API-sleutel:
openai/gpt-5.6 - Standaarddenkniveau:
low - Modeloverschrijving:
OPENCLAW_LIVE_CODEX_HARNESS_MODEL=openai/<model> - Overschrijving van denkniveau:
OPENCLAW_LIVE_CODEX_HARNESS_THINKING=<level> - Controle van inspanningsniveau voor een niet-standaardmodel:
OPENCLAW_LIVE_CODEX_HARNESS_EXPECTED_EFFORT=<level> - Matrixoverschrijving:
OPENCLAW_LIVE_CODEX_HARNESS_TARGETS=<model>=<thinking>,... - Authenticatiemodus:
OPENCLAW_LIVE_CODEX_HARNESS_AUTH=codex-auth(standaard) gebruikt de gekopieerde Codex-aanmelding;api-keygebruiktOPENAI_API_KEYvia de Codex-app-server. - Optionele afbeeldingsprobe:
OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=1 - Optionele MCP-/toolprobe:
OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=1 - Optionele Guardian-probe:
OPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=1 - Optionele hervattingsstresstest:
OPENCLAW_LIVE_CODEX_HARNESS_RESUME_STRESS=1voegt vier geschiedenisbeurten toe en sluit en herstart vervolgens de Gateway en Codex-app-server drie keer, waarbij dezelfde systeemeigen thread-id en gespreksgeschiedenis vereist blijven. Overschrijf de begrensde aantallen metOPENCLAW_LIVE_CODEX_HARNESS_RESUME_STRESS_HISTORY_TURNS(1-20) enOPENCLAW_LIVE_CODEX_HARNESS_RESUME_STRESS_RESTARTS(1-10). - Optionele uitwaaierstresstest: stel
OPENCLAW_LIVE_CODEX_HARNESS_SUBAGENT_PROBE=1enOPENCLAW_LIVE_CODEX_HARNESS_SUBAGENT_COUNT(1-12) in. De harness start elk onderliggend proces gelijktijdig, wacht op elke definitieve uitvoering en controleert elk uniek antwoord van een onderliggend proces en elke systeemeigen thread-identiteit. - Optionele Compaction-stresstest:
OPENCLAW_LIVE_CODEX_HARNESS_COMPACTION_STRESS=1genereert begrensde uitvoer van systeemeigen tools, vereist automatische Compaction-gebeurtenissen, controleert het opgeslagen aantal Compaction-bewerkingen en het terughalen van verborgen markeringen, herstart de Gateway en de fysieke Codex-app-server en herhaalt vervolgens de uitvoer- en Compaction-golf. Stem de begrensde werklast af metOPENCLAW_LIVE_CODEX_HARNESS_COMPACTION_STRESS_TURNS(1-8) enOPENCLAW_LIVE_CODEX_HARNESS_LARGE_OUTPUT_BYTES(100000-800000). - Volledige directe-API-context:
OPENCLAW_LIVE_CODEX_HARNESS_FULL_CONTEXT=1past de contextlimiet922000en de totale Compaction-limiet700000toe, verzendt compacte begrensde gebruikersbeurten, voert per golf twee expliciete systeemeigen Compaction-controlepunten uit en gaat na elk controlepunt verder met latere beurten. Dit vereistOPENCLAW_LIVE_CODEX_HARNESS_AUTH=api-keyplus een absoluut padOPENCLAW_LIVE_CODEX_HARNESS_MODEL_CATALOG. De catalogus moet het geselecteerde model beschikbaar stellen metmax_context_window: 922000, zodat Codex de overschrijving niet terugbrengt tot het normale catalogusvenster. De gewone stresstest met verlaagde drempelwaarden hierboven behoudt de strengere controles voor automatische Compaction en het vasthouden van verborgen markeringen. - Optionele probe voor afmelding van lusdoorgifte:
OPENCLAW_LIVE_CODEX_HARNESS_DISABLE_LOOP_RELAY=1 - De gevraagde denkvoorkeur kan worden toegewezen aan het dichtstbijzijnde inspanningsniveau dat
Codex voor dat model aanbiedt. Luna wijst bijvoorbeeld
minimaltoe aanlow. - Bekende Codex-catalogusmodellen leiden dat exacte systeemeigen inspanningsniveau automatisch af. Bij overschrijvingen met onbekende modellen moet het verwachte toegewezen inspanningsniveau worden vermeld.
- De rooktest dwingt provider/model
agentRuntime.id: "codex"af, zodat een defecte Codex- harness niet kan slagen door ongemerkt terug te vallen op OpenClaw. - Authenticatie: authenticatie van de Codex-app-server via de lokale aanmelding voor het Codex-abonnement, of
OPENAI_API_KEYwanneerOPENCLAW_LIVE_CODEX_HARNESS_AUTH=api-key. Docker kan~/.codex/auth.jsonen~/.codex/config.tomlkopiëren voor uitvoeringen met een abonnement.
Lokaal recept:
OPENCLAW_LIVE_CODEX_HARNESS=1 \ OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=1 \ OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=1 \ OPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=1 \ OPENCLAW_LIVE_CODEX_HARNESS_MODEL=openai/gpt-5.6-luna \ pnpm test:live -- src/gateway/gateway-codex-harness.live.test.tsDocker-recept:
pnpm test:docker:live-codex-harnessStresstest voor herstarten en geschiedenis:
OPENCLAW_LIVE_CODEX_HARNESS_RESUME_STRESS=1 \pnpm test:docker:live-codex-harnessStresstest voor uitwaaiering, grote uitvoer, Compaction en herstarten:
OPENCLAW_LIVE_CODEX_HARNESS_AUTH=api-key \ OPENCLAW_LIVE_CODEX_HARNESS_SUBAGENT_PROBE=1 \ OPENCLAW_LIVE_CODEX_HARNESS_SUBAGENT_COUNT=8 \ OPENCLAW_LIVE_CODEX_HARNESS_RESUME_STRESS=1 \ OPENCLAW_LIVE_CODEX_HARNESS_COMPACTION_STRESS=1 \ pnpm test:docker:live-codex-harnessCompaction-stresstest voor het volledige invoerbudget van systeemeigen Codex 922000:
OPENCLAW_LIVE_CODEX_HARNESS=1 \ OPENCLAW_LIVE_CODEX_HARNESS_AUTH=api-key \ OPENCLAW_LIVE_CODEX_HARNESS_FULL_CONTEXT=1 \ OPENCLAW_LIVE_CODEX_HARNESS_MODEL_CATALOG=/absolute/path/to/models-api-1m.json \ OPENCLAW_LIVE_CODEX_HARNESS_MODEL=openai/gpt-5.6-terra \ OPENCLAW_LIVE_CODEX_HARNESS_THINKING=medium \ OPENCLAW_LIVE_CODEX_HARNESS_COMPACTION_STRESS_TURNS=8 \ OPENCLAW_LIVE_CODEX_HARNESS_LARGE_OUTPUT_BYTES=800000 \ pnpm test:live -- src/gateway/gateway-codex-harness.live.test.tsSysteemeigen Codex-matrix voor GPT-5.6:
OPENCLAW_LIVE_CODEX_HARNESS_AUTH=api-key \ OPENCLAW_LIVE_CODEX_HARNESS_TARGETS='openai/gpt-5.6-sol=ultra,openai/gpt-5.6-terra=ultra,openai/gpt-5.6-luna=max' \ pnpm test:docker:live-codex-harnessLive: herhaalde Compaction met OpenAI
- Doel: voer de ingebedde OpenClaw
openai-responses-agentlus uit via ten minste twee echte automatische compactions en controleer vervolgens of een duurzame markering behouden blijft. - Test:
src/agents/sessions/agent-session.openai-compaction.live.test.ts - Inschakelen:
OPENCLAW_LIVE_OPENAI_COMPACTION=1 - Standaardmodel:
gpt-5.6-luna - Modeloverschrijving:
OPENCLAW_LIVE_OPENAI_COMPACTION_MODEL=<model> - De normale stresstestmodus gebruikt een kleiner clientcontextbudget om met begrensde API-kosten hetzelfde echte compaction-pad te bereiken.
- De volledige-contextmodus stelt het clientbudget in op
922000en de compaction-reserve op222000, zodat automatische compaction begint bij700000. Deze modus vereist ook een waargenomen invoeraantal van de provider boven de272000-prijsgrens voor lange context.
Begrensd live-recept:
OPENCLAW_LIVE_TEST=1 \ OPENCLAW_LIVE_OPENAI_COMPACTION=1 \ pnpm test:live -- src/agents/sessions/agent-session.openai-compaction.live.test.tsRecept met volledig 922000-invoerbudget:
OPENCLAW_LIVE_TEST=1 \ OPENCLAW_LIVE_OPENAI_COMPACTION=1 \ OPENCLAW_LIVE_OPENAI_COMPACTION_FULL=1 \ OPENCLAW_LIVE_OPENAI_COMPACTION_MODEL=gpt-5.6-terra \ pnpm test:live -- src/agents/sessions/agent-session.openai-compaction.live.test.tsStandaardwaarde voor een nieuwe OpenAI API-sleutel:
OPENCLAW_LIVE_GATEWAY_OPENAI_API_DEFAULT=1 \ OPENCLAW_LIVE_GATEWAY_PROVIDERS=openai \ OPENCLAW_LIVE_GATEWAY_THINKING=off \ pnpm test:live -- src/gateway/gateway-models.profiles.live.test.tsDit bewijs laat OPENCLAW_LIVE_GATEWAY_MODELS oningesteld, bepaalt het model via
de nieuwe selectienaad voor afleiding tijdens onboarding, controleert openai/gpt-5.6 en
voert vervolgens een echte Gateway-beurt uit met dat bepaalde model.
GPT-5.6-matrix voor ingebedde OpenClaw:
OPENCLAW_LIVE_GATEWAY_THINKING=ultra \ OPENCLAW_LIVE_GATEWAY_PROVIDERS=openai \ OPENCLAW_LIVE_GATEWAY_MODELS='openai/gpt-5.6-sol,openai/gpt-5.6-terra,openai/gpt-5.6-luna' \ pnpm test:live -- src/gateway/gateway-models.profiles.live.test.tsDocker-opmerkingen:
- De Docker-runner bevindt zich in
scripts/test-live-codex-harness-docker.sh. - Deze geeft
OPENAI_API_KEYdoor, kopieert Codex CLI-authenticatiebestanden wanneer die aanwezig zijn, installeert@openai/codexin een schrijfbaar aangekoppeld npm- voorvoegsel, bereidt de bronstructuur voor en voert vervolgens alleen de live-test van de Codex-harness uit. - Docker schakelt de probes voor afbeeldingen, MCP/tools en Guardian standaard in. Stel
OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=0ofOPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=0ofOPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=0in wanneer je een beperktere foutopsporingsrun nodig hebt. - Docker gebruikt dezelfde expliciete Codex-runtimeconfiguratie, zodat verouderde aliassen of OpenClaw- fallback een regressie in de Codex-harness niet kunnen verbergen.
- Matrixdoelen worden achtereenvolgens in één container uitgevoerd. Het Docker-script schaalt zijn standaardtime-out van 35 minuten met het aantal doelen; elke time-out van een buitenliggende shell of CI moet dezelfde totale tijd toestaan. Canonieke CI houdt elk GPT-5.6-doel in een afzonderlijke shard.
Aanbevolen live-recepten
Smalle, expliciete toelatingslijsten zijn het snelst en het minst instabiel:
-
Eén model, rechtstreeks (zonder Gateway):
OPENCLAW_LIVE_MODELS="openai/gpt-5.6-luna" pnpm test:live src/agents/models.profiles.live.test.ts
-
Rechtstreeks profiel voor een klein model:
OPENCLAW_LIVE_MODELS=small pnpm test:live src/agents/models.profiles.live.test.ts
-
Gateway-profiel voor een klein model:
OPENCLAW_LIVE_GATEWAY_MODELS=small pnpm test:live src/gateway/gateway-models.profiles.live.test.ts
-
Ollama Cloud API-rooktest:
OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_OLLAMA=1 OPENCLAW_LIVE_OLLAMA_BASE_URL=https://ollama.com OPENCLAW_LIVE_OLLAMA_MODEL=glm-5.1:cloud OPENCLAW_LIVE_OLLAMA_WEB_SEARCH=0 pnpm test:live -- extensions/ollama/ollama.live.test.ts
-
Eén model, Gateway-rooktest:
OPENCLAW_LIVE_GATEWAY_MODELS="openai/gpt-5.6-luna" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts
-
Toolaanroepen bij meerdere providers:
OPENCLAW_LIVE_GATEWAY_MODELS="openai/gpt-5.6-luna,anthropic/claude-opus-4-6,google/gemini-3.5-flash,deepseek/deepseek-v4-flash,zai/glm-5.1,minimax/MiniMax-M3" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts
-
Rechtstreekse rooktest voor Z.AI Coding Plan GLM-5.2:
ZAI_CODING_LIVE_TEST=1 pnpm test:live src/agents/zai.live.test.ts
-
Google-focus (Gemini API-sleutel + Antigravity):
- Gemini (API-sleutel):
OPENCLAW_LIVE_GATEWAY_MODELS="google/gemini-3.5-flash" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts - Antigravity (OAuth):
OPENCLAW_LIVE_GATEWAY_MODELS="google-antigravity/claude-opus-4-6-thinking,google-antigravity/gemini-3-pro-high" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts
- Gemini (API-sleutel):
-
Google-rooktest voor adaptief denken (
qa manualvanuit de privé-QA-CLI — vereistOPENCLAW_ENABLE_PRIVATE_QA_CLI=1en een broncheckout; zie QA-overzicht):- Dynamische standaardwaarde van Gemini 3:
OPENCLAW_ENABLE_PRIVATE_QA_CLI=1 pnpm openclaw qa manual --provider-mode live-frontier --model google/gemini-3.1-pro-preview --alt-model google/gemini-3.1-pro-preview --message '/think adaptive Reply exactly: GEMINI_ADAPTIVE_OK' --timeout-ms 180000 - Dynamisch budget van Gemini 2.5:
OPENCLAW_ENABLE_PRIVATE_QA_CLI=1 pnpm openclaw qa manual --provider-mode live-frontier --model google/gemini-2.5-flash --alt-model google/gemini-2.5-flash --message '/think adaptive Reply exactly: GEMINI25_ADAPTIVE_OK' --timeout-ms 180000
- Dynamische standaardwaarde van Gemini 3:
Opmerkingen:
google/...gebruikt de Gemini API (API-sleutel).google-antigravity/...gebruikt de Antigravity OAuth-bridge (agentendpoint in Cloud Code Assist-stijl).google-gemini-cli/...gebruikt de lokale Gemini CLI op je computer (afzonderlijke authenticatie en eigenaardigheden van de tooling).- Gemini API versus Gemini CLI:
- API: OpenClaw roept Google's gehoste Gemini API aan via HTTP (API-sleutel/profielauthenticatie); dit is wat de meeste gebruikers met "Gemini" bedoelen.
- CLI: OpenClaw voert een lokaal
gemini-binair bestand uit via de shell; dit heeft eigen authenticatie en kan zich anders gedragen (streaming/toolondersteuning/versieverschillen).
Live: modelmatrix (wat we dekken)
Live is optioneel, dus er is geen vaste "CI-modellenlijst". OPENCLAW_LIVE_MODELS=modern / OPENCLAW_LIVE_GATEWAY_MODELS=modern (en hun alias all) voeren de samengestelde prioriteitenlijst uit HIGH_SIGNAL_LIVE_MODEL_PRIORITY in src/agents/live-model-filter.ts uit, in deze prioriteitsvolgorde:
| Provider/model | Opmerkingen |
|---|---|
anthropic/claude-opus-5 |
|
anthropic/claude-opus-4-8 |
|
anthropic/claude-sonnet-5 |
|
anthropic/claude-sonnet-4-6 |
|
anthropic/claude-opus-4-7 |
|
google/gemini-3.1-pro-preview |
Gemini API |
google/gemini-3.5-flash |
Gemini API |
cohere/command-a-plus-05-2026 |
|
moonshot/kimi-k3 |
|
anthropic/claude-opus-4-6 |
|
deepseek/deepseek-v4-flash |
|
deepseek/deepseek-v4-pro |
|
minimax/MiniMax-M3 |
|
openai/gpt-5.5 |
|
openrouter/openai/gpt-5.2-chat |
|
openrouter/minimax/minimax-m2.7 |
|
opencode-go/glm-5 |
|
openrouter/ai21/jamba-large-1.7 |
|
xai/grok-4.5 |
|
xai/grok-4.20-0309-reasoning |
|
zai/glm-5.1 |
|
fireworks/accounts/fireworks/models/glm-5p1 |
|
minimax-portal/minimax-m3 |
De samengestelde lijst met kleine modellen (OPENCLAW_LIVE_MODELS=small / OPENCLAW_LIVE_GATEWAY_MODELS=small), uit SMALL_LIVE_MODEL_PRIORITY:
| Provider/model |
|---|
lmstudio/qwen/qwen3.5-9b |
vllm/qwen/qwen3-8b |
sglang/qwen/qwen3-8b |
ollama/gemma3:4b |
openrouter/qwen/qwen3.5-9b |
openrouter/z-ai/glm-5.1 |
openrouter/z-ai/glm-5 |
zai/glm-5.1 |
Opmerkingen over de moderne lijst:
- De providers
codexencodex-clizijn uitgesloten van de standaard moderne sweep (ze dekken het gedrag van de CLI-backend/ACP, dat hierboven afzonderlijk wordt getest).openai/gpt-5.5zelf routeert standaard via de harness van de Codex-appserver; zie Live: rooktest voor de harness van de Codex-appserver. fireworks,google,openrouterenxaivoeren in de moderne sweep alleen hun expliciet samengestelde model-id's uit (geen automatische uitbreiding naar "elk model van deze provider").- Neem ten minste één model met afbeeldingsondersteuning (vision-varianten uit de Claude/Gemini/OpenAI-familie enzovoort) op in
OPENCLAW_LIVE_GATEWAY_MODELSom de afbeeldingsprobe uit te voeren.
Voer een Gateway-rooktest met tools en afbeeldingen uit voor een handmatig gekozen set van verschillende providers:
OPENCLAW_LIVE_GATEWAY_MODELS="openai/gpt-5.6-luna,anthropic/claude-opus-4-6,google/gemini-3.1-pro-preview,google/gemini-3.5-flash,google-antigravity/claude-opus-4-6-thinking,deepseek/deepseek-v4-flash,zai/glm-5.1,minimax/MiniMax-M3" pnpm test:live src/gateway/gateway-models.profiles.live.test.tsOptionele aanvullende dekking buiten de samengestelde lijsten (prettig om te hebben; kies een model met ondersteuning voor "tools" dat je hebt ingeschakeld):
- Mistral:
mistral/... - Cerebras:
cerebras/...(als je toegang hebt) - LM Studio:
lmstudio/...(lokaal; toolaanroepen zijn afhankelijk van de API-modus)
Aggregators / alternatieve gateways
Als je sleutels hebt ingeschakeld, kun je ook testen via:
- OpenRouter:
openrouter/...(honderden modellen; gebruikopenclaw models scanom kandidaten met ondersteuning voor tools en afbeeldingen te vinden) - OpenCode:
opencode/...voor Zen enopencode-go/...voor Go (authenticatie viaOPENCODE_API_KEY/OPENCODE_ZEN_API_KEY)
Meer providers die je in de live-matrix kunt opnemen (als je referenties/configuratie hebt):
- Ingebouwd:
anthropic,cerebras,github-copilot,google,google-antigravity,google-gemini-cli,google-vertex,groq,mistral,openai,openrouter,opencode,opencode-go,xai,zai - Via
models.providers(aangepaste endpoints):minimax(cloud/API), plus elke OpenAI-/Anthropic-compatibele proxy (LM Studio, vLLM, LiteLLM enzovoort)
Referenties (nooit committen)
Live-tests vinden referenties op dezelfde manier als de CLI. Praktische gevolgen:
-
Als de CLI werkt, zouden live-tests dezelfde sleutels moeten vinden.
-
Als een live-test "no creds" meldt, spoor je dit op dezelfde manier op als
openclaw models list/ modelselectie. -
Authenticatieprofielen per agent:
~/.openclaw/agents/<agentId>/agent/auth-profiles.json(dit wordt in de live-tests bedoeld met "profile keys") -
Configuratie:
~/.openclaw/openclaw.json(ofOPENCLAW_CONFIG_PATH) -
Verouderde OAuth-map:
~/.openclaw/credentials/(wordt indien aanwezig naar de voorbereide live-homemap gekopieerd, maar is niet de primaire opslag voor profielsleutels) -
Lokale live-runs kopiëren de actieve configuratie (waarbij overschrijvingen van
agents.*.workspace/agentDirzijn verwijderd) en deauth-profiles.jsonvan elke agent — niet de rest van de map van die agent, zodat gegevens uitworkspace/ensandboxes/nooit in de voorbereide homedirectory terechtkomen — plus de verouderde mapcredentials/en ondersteunde authenticatiebestanden/-mappen van externe CLI's (.claude.json,.claude/.credentials.json,.claude/settings*.json,.claude/backups,.codex/auth.json,.codex/config.toml,.gemini,.minimax) naar een tijdelijke test-homedirectory.
Als je omgevingssleutels wilt gebruiken, exporteer je ze vóór lokale tests of gebruik je de
onderstaande Docker-runners met een expliciete OPENCLAW_PROFILE_FILE.
Deepgram live (audiotranscriptie)
- Test:
extensions/deepgram/audio.live.test.ts - Inschakelen:
DEEPGRAM_API_KEY=... DEEPGRAM_LIVE_TEST=1 pnpm test:live extensions/deepgram/audio.live.test.ts
BytePlus-coderingsplan live
- Test:
extensions/byteplus/live.test.ts - Inschakelen:
BYTEPLUS_API_KEY=... BYTEPLUS_LIVE_TEST=1 pnpm test:live extensions/byteplus/live.test.ts - Optionele modeloverschrijving:
BYTEPLUS_CODING_MODEL=ark-code-latest
ComfyUI-workflowmedia live
- Test:
extensions/comfy/comfy.live.test.ts - Inschakelen:
OPENCLAW_LIVE_TEST=1 COMFY_LIVE_TEST=1 pnpm test:live -- extensions/comfy/comfy.live.test.ts - Bereik:
- Voert de gebundelde comfy-paden voor afbeeldingen, video en
music_generateuit - Slaat elke mogelijkheid over tenzij
plugins.entries.comfy.config.<capability>is geconfigureerd - Nuttig na wijzigingen aan het indienen, pollen of downloaden van comfy-workflows of aan Plugin-registratie
- Voert de gebundelde comfy-paden voor afbeeldingen, video en
Live afbeeldingsgeneratie
- Test:
test/image-generation.runtime.live.test.ts - Opdracht:
pnpm test:live test/image-generation.runtime.live.test.ts - Testharnas:
pnpm test:live:media image - Bereik:
- Somt elke geregistreerde provider-Plugin voor het genereren van afbeeldingen op
- Gebruikt reeds geëxporteerde omgevingsvariabelen van providers vóór het testen
- Gebruikt standaard live/API-sleutels uit de omgeving vóór opgeslagen authenticatieprofielen, zodat verouderde testsleutels in
auth-profiles.jsonechte shellreferenties niet maskeren - Slaat providers zonder bruikbare authenticatie/profiel/model over
- Voert elke geconfigureerde provider uit via de gedeelde runtime voor het genereren van afbeeldingen:
<provider>:generate<provider>:editwanneer de provider ondersteuning voor bewerken declareert
- Huidige meegeleverde providers die worden gedekt:
deepinfrafalgoogleminimaxopenaiopenroutervydraxai
- Optionele beperking:
OPENCLAW_LIVE_IMAGE_GENERATION_PROVIDERS="openai,google,openrouter,xai"OPENCLAW_LIVE_IMAGE_GENERATION_PROVIDERS="deepinfra"OPENCLAW_LIVE_IMAGE_GENERATION_MODELS="openai/gpt-image-2,google/gemini-3.1-flash-image,openrouter/google/gemini-3.1-flash-image-preview,xai/grok-imagine-image"OPENCLAW_LIVE_IMAGE_GENERATION_CASES="google:flash-generate,google:pro-edit,openrouter:generate,xai:default-generate,xai:default-edit"
- Optioneel authenticatiegedrag:
OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1om authenticatie via de profielopslag af te dwingen en uitsluitend via de omgeving ingestelde overschrijvingen te negeren
Voeg voor het meegeleverde CLI-pad een infer-smoketest toe nadat de live
test voor de provider/runtime slaagt:
OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_INFER_CLI_TEST=1 pnpm test:live -- test/image-generation.infer-cli.live.test.tsopenclaw infer image providers --jsonopenclaw infer image generate \ --model google/gemini-3.1-flash-image \ --prompt "Minimale vlakke testafbeelding: één blauw vierkant op een witte achtergrond, zonder tekst." \ --output ./openclaw-infer-image-smoke.png \ --jsonDit dekt het verwerken van CLI-argumenten, de resolutie van configuratie/standaardagent, activering van meegeleverde plugins, de gedeelde runtime voor het genereren van afbeeldingen en het live providerverzoek. De afhankelijkheden van de Plugin moeten aanwezig zijn voordat de runtime wordt geladen.
Live muziekgeneratie
- Test:
extensions/music-generation-providers.live.test.ts - Inschakelen:
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/music-generation-providers.live.test.ts - Testharnas:
pnpm test:live:media music - Bereik:
- Test het gedeelde pad van de meegeleverde provider voor muziekgeneratie
- Dekt momenteel
fal,google,minimaxenopenrouter - Gebruikt reeds geëxporteerde omgevingsvariabelen van providers vóór het testen
- Gebruikt standaard live/API-sleutels uit de omgeving vóór opgeslagen authenticatieprofielen, zodat verouderde testsleutels in
auth-profiles.jsonechte shellreferenties niet maskeren - Slaat providers zonder bruikbare authenticatie/profiel/model over
- Voert beide gedeclareerde runtimemodi uit wanneer deze beschikbaar zijn:
generatemet alleen een prompt als invoereditwanneer de providercapabilities.edit.enableddeclareert
comfyheeft een eigen afzonderlijk livebestand en maakt geen deel uit van deze gedeelde testronde
- Optionele beperking:
OPENCLAW_LIVE_MUSIC_GENERATION_PROVIDERS="google,minimax"OPENCLAW_LIVE_MUSIC_GENERATION_MODELS="google/lyria-3-clip-preview,minimax/music-2.6"
- Optioneel authenticatiegedrag:
OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1om authenticatie via de profielopslag af te dwingen en uitsluitend via de omgeving ingestelde overschrijvingen te negeren
Live videogeneratie
- Test:
extensions/video-generation-providers.live.test.ts - Inschakelen:
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/video-generation-providers.live.test.ts - Testharnas:
pnpm test:live:media video - Bereik:
- Test het gedeelde pad van de meegeleverde provider voor videogeneratie voor
alibaba,byteplus,deepinfra,fal,google,minimax,openai,openrouter,pixverse,qwen,runway,together,vydra,xai - Gebruikt standaard het releaseveilige smoketestpad: één tekst-naar-videoverzoek per provider, een kreeftenprompt van één seconde en een limiet per providerbewerking uit
OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS(standaard180000) - Slaat FAL standaard over omdat wachtrijvertraging aan de kant van de provider de releasetijd kan domineren; geef
OPENCLAW_LIVE_VIDEO_GENERATION_PROVIDERS="fal"door (of wis de lijst met over te slaan providers) om deze expliciet uit te voeren - Gebruikt reeds geëxporteerde omgevingsvariabelen van providers vóór het testen
- Gebruikt standaard live/API-sleutels uit de omgeving vóór opgeslagen authenticatieprofielen, zodat verouderde testsleutels in
auth-profiles.jsonechte shellreferenties niet maskeren - Slaat providers zonder bruikbare authenticatie/profiel/model over
- Voert standaard alleen
generateuit - Stel
OPENCLAW_LIVE_VIDEO_GENERATION_FULL_MODES=1in om ook gedeclareerde transformatiemodi uit te voeren wanneer deze beschikbaar zijn:imageToVideowanneer de providercapabilities.imageToVideo.enableddeclareert en de geselecteerde provider/het geselecteerde model in de gedeelde testronde lokale afbeeldingsinvoer uit een buffer accepteertvideoToVideowanneer de providercapabilities.videoToVideo.enableddeclareert en de geselecteerde provider/het geselecteerde model in de gedeelde testronde lokale video-invoer uit een buffer accepteert
- Huidige gedeclareerde maar overgeslagen
imageToVideo-provider in de gedeelde testronde:vydra(lokale afbeeldingsinvoer uit een buffer wordt in dit traject niet ondersteund)
- Providerspecifieke dekking voor Vydra:
OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_VYDRA_VIDEO=1 pnpm test:live -- extensions/vydra/vydra.live.test.ts- Dat bestand voert
veo3tekst-naar-video uit plus eenkling-traject voor afbeelding-naar-video dat standaard een externe afbeeldings-URL als fixture gebruikt (OPENCLAW_LIVE_VYDRA_KLING_IMAGE_URLom dit te overschrijven).
- Providerspecifieke dekking voor xAI:
OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_XAI_VIDEO=1 pnpm test:live -- extensions/xai/xai.live.test.ts -t "classic Grok Imagine"- De klassieke variant genereert eerst een vierkante lokale PNG als eerste frame, laat geometrie weg, vraagt een afbeelding-naar-videoclip van één seconde aan, peilt tot voltooiing en verifieert de gedownloade buffer.
OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_XAI_VIDEO=1 pnpm test:live -- extensions/xai/xai.live.test.ts -t "Grok Imagine Video 1.5"- De 1.5-variant genereert een lokale PNG als eerste frame, vraagt een 1080P-afbeelding-naar-videoclip van één seconde aan, peilt tot voltooiing en verifieert de gedownloade buffer.
- Huidige live dekking voor
videoToVideo:runwayalleen wanneer het geselecteerde model wordt omgezet naargen4_aleph
- Huidige gedeclareerde maar overgeslagen
videoToVideo-providers in de gedeelde testronde:alibaba,google,openai,qwen,xaiomdat deze paden momenteel externehttp(s)-referentie-URL's vereisen in plaats van lokale invoer uit een buffer
- Test het gedeelde pad van de meegeleverde provider voor videogeneratie voor
- Optionele beperking:
OPENCLAW_LIVE_VIDEO_GENERATION_PROVIDERS="deepinfra,google,openai,runway"OPENCLAW_LIVE_VIDEO_GENERATION_MODELS="google/veo-3.1-fast-generate-preview,openai/sora-2,runway/gen4_aleph"OPENCLAW_LIVE_VIDEO_GENERATION_SKIP_PROVIDERS=""om elke provider in de standaardtestronde op te nemen, inclusief FALOPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS=60000om voor een intensieve smoketest de limiet voor elke providerbewerking te verlagen
- Optioneel authenticatiegedrag:
OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1om authenticatie via de profielopslag af te dwingen en uitsluitend via de omgeving ingestelde overschrijvingen te negeren
Live mediaharnas
- Opdracht:
pnpm test:live:media - Ingangspunt:
test/e2e/qa-lab/media/hosted-media-provider-live.ts, datpnpm test:live -- <suite-test-file>per geselecteerde suite uitvoert, zodat Heartbeat- en stillemodusgedrag consistent blijven met anderepnpm test:live-uitvoeringen. - Doel:
- Voert de gedeelde live suites voor afbeeldingen, muziek en video uit via één repo-eigen ingangspunt
- Laadt ontbrekende omgevingsvariabelen van providers automatisch uit
~/.profile - Beperkt elke suite standaard automatisch tot providers die momenteel bruikbare authenticatie hebben
- Vlaggen:
--providers <csv>algemeen providerfilter;--image-providers/--music-providers/--video-providersbeperken een filter tot één suite--all-providersslaat het automatische filter op basis van authenticatie over--allow-emptysluit af met0wanneer na het filteren geen uitvoerbare providers overblijven--quiet/--no-quietworden doorgegeven aantest:live
- Voorbeelden:
pnpm test:live:mediapnpm test:live:media image video --providers openai,google,minimaxpnpm test:live:media video --video-providers openai,runway --all-providerspnpm test:live:media music --quiet
Gerelateerd
- Testen - unit-, integratie-, QA- en Docker-suites