
























@@ -63,8 +63,8 @@ loopback/private fallbacks are rejected by design.
63636464Live tests are split into two layers so we can isolate failures:
656566-- “Direct model” tells us the provider/model can answer at all with the given key.
67-- “Gateway smoke” tells us the full gateway+agent pipeline works for that model (sessions, history, tools, sandbox policy, etc.).
66+- "Direct model" tells us the provider/model can answer at all with the given key.
67+- "Gateway smoke" tells us the full gateway+agent pipeline works for that model (sessions, history, tools, sandbox policy, etc.).
68686969### Layer 1: Direct model completion (no gateway)
7070@@ -89,7 +89,7 @@ Live tests are split into two layers so we can isolate failures:
8989- By default: profile store and env fallbacks
9090- Set `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1` to enforce **profile store** only
9191- Why this exists:
92-- Separates “provider API is broken / key is invalid” from “gateway agent pipeline is broken”
92+- Separates "provider API is broken / key is invalid" from "gateway agent pipeline is broken"
9393- Contains small, isolated regressions (example: OpenAI Responses/Codex Responses reasoning replay + tool-call flows)
94949595### Layer 2: Gateway + dev agent smoke (what "@openclaw" actually does)
@@ -99,7 +99,7 @@ Live tests are split into two layers so we can isolate failures:
9999- Spin up an in-process gateway
100100- Create/patch a `agent:dev:*` session (model override per run)
101101- Iterate models-with-keys and assert:
102-- “meaningful” response (no tools)
102+- "meaningful" response (no tools)
103103- a real tool invocation works (read probe)
104104- optional extra tool probes (exec+read probe)
105105- OpenAI regression paths (tool-call-only → follow-up) keep working
@@ -115,13 +115,13 @@ Live tests are split into two layers so we can isolate failures:
115115- `OPENCLAW_LIVE_GATEWAY_MODELS=all` is an alias for the modern allowlist
116116- Or set `OPENCLAW_LIVE_GATEWAY_MODELS="provider/model"` (or comma list) to narrow
117117- Modern/all gateway sweeps default to a curated high-signal cap; set `OPENCLAW_LIVE_GATEWAY_MAX_MODELS=0` for an exhaustive modern sweep or a positive number for a smaller cap.
118-- How to select providers (avoid “OpenRouter everything”):
118+- How to select providers (avoid "OpenRouter everything"):
119119- `OPENCLAW_LIVE_GATEWAY_PROVIDERS="google,google-antigravity,google-gemini-cli,openai,anthropic,zai,minimax"` (comma allowlist)
120120- Tool + image probes are always on in this live test:
121121- `read` probe + `exec+read` probe (tool stress)
122122- image probe runs when the model advertises image input support
123123- Flow (high level):
124-- Test generates a tiny PNG with “CAT” + random code (`src/gateway/live-image-probe.ts`)
124+- Test generates a tiny PNG with "CAT" + random code (`src/gateway/live-image-probe.ts`)
125125- Sends it via `agent` `attachments: [{ mimeType: "image/png", content: "<base64>" }]`
126126- Gateway parses attachments into `images[]` (`src/gateway/server-methods/agent.ts` + `src/gateway/chat-attachments.ts`)
127127- Embedded agent forwards a multimodal user message to the model
@@ -367,16 +367,16 @@ Notes:
367367- `google-antigravity/...` uses the Antigravity OAuth bridge (Cloud Code Assist-style agent endpoint).
368368- `google-gemini-cli/...` uses the local Gemini CLI on your machine (separate auth + tooling quirks).
369369- Gemini API vs Gemini CLI:
370-- API: OpenClaw calls Google’s hosted Gemini API over HTTP (API key / profile auth); this is what most users mean by “Gemini”.
370+- API: OpenClaw calls Google's hosted Gemini API over HTTP (API key / profile auth); this is what most users mean by "Gemini".
371371- CLI: OpenClaw shells out to a local `gemini` binary; it has its own auth and can behave differently (streaming/tool support/version skew).
372372373373## Live: model matrix (what we cover)
374374375-There is no fixed “CI model list” (live is opt-in), but these are the **recommended** models to cover regularly on a dev machine with keys.
375+There is no fixed "CI model list" (live is opt-in), but these are the **recommended** models to cover regularly on a dev machine with keys.
376376377377### Modern smoke set (tool calling + image)
378378379-This is the “common models” run we expect to keep working:
379+This is the "common models" run we expect to keep working:
380380381381- OpenAI (non-Codex): `openai/gpt-5.5`
382382- OpenAI Codex OAuth: `openai-codex/gpt-5.5`
@@ -404,7 +404,7 @@ Pick at least one per provider family:
404404Optional additional coverage (nice to have):
405405406406- xAI: `xai/grok-4.3` (or latest available)
407-- Mistral: `mistral/`… (pick one “tools” capable model you have enabled)
407+- Mistral: `mistral/`… (pick one "tools" capable model you have enabled)
408408- Cerebras: `cerebras/`… (if you have access)
409409- LM Studio: `lmstudio/`… (local; tool calling depends on API mode)
410410@@ -433,9 +433,9 @@ Do not hardcode "all models" in docs. The authoritative list is whatever `discov
433433Live tests discover credentials the same way the CLI does. Practical implications:
434434435435- If the CLI works, live tests should find the same keys.
436-- If a live test says “no creds”, debug the same way you’d debug `openclaw models list` / model selection.
436+- If a live test says "no creds", debug the same way you'd debug `openclaw models list` / model selection.
437437438-- Per-agent auth profiles: `~/.openclaw/agents/<agentId>/agent/auth-profiles.json` (this is what “profile keys” means in the live tests)
438+- Per-agent auth profiles: `~/.openclaw/agents/<agentId>/agent/auth-profiles.json` (this is what "profile keys" means in the live tests)
439439- Config: `~/.openclaw/openclaw.json` (or `OPENCLAW_CONFIG_PATH`)
440440- Legacy state dir: `~/.openclaw/credentials/` (copied into the staged live home when present, but not the main profile-key store)
441441- Live local runs copy the active config, per-agent `auth-profiles.json` files, legacy `credentials/`, and supported external CLI auth dirs into a temp test home by default; staged live homes skip `workspace/` and `sandboxes/`, and `agents.*.workspace` / `agentDir` path overrides are stripped so probes stay off your real host workspace.
@@ -584,4 +584,4 @@ request. Plugin dependencies are expected to be present before runtime load.
584584585585## Related
586586587-- [Testing](/help/testing) — unit, integration, QA, and Docker suites
587+- [Testing](/help/testing) - unit, integration, QA, and Docker suites
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。