openclaw/docs/help/testing-live.md
Vincent Koc fa3bc9a244
docs: fix and reciprocate cross-page links across install, help, reference, start, and web (#143773)
Closes link-kind audit findings for docs/install/, docs/help/, docs/reference/,
docs/start/, docs/web/ and docs/nodes/.

- start/hubs: point the Model providers hub entry at the provider directory
  (/providers) instead of the /providers/models quickstart duplicate.
- Add the missing reciprocal links the audit found: Cloudflare Containers,
  Kubernetes and Ansible from Docker and the Linux server page; macOS VMs from
  iMessage and the Linux server page; Podman from the sandbox Podman backend;
  Updating from Migrating; Docker from the Configuration page; Backups,
  Bootstrapping and Default AGENTS.md from Agent workspace; Bootstrapping from
  the BOOTSTRAP template; Tests from the two help testing pages; Session
  management deep dive from Context engine; Transcript hygiene from Session and
  Session pruning; SecretRef credential surface from Auth credential semantics;
  Device model database from the Nodes macOS section; RPC adapters from Signal
  and iMessage; Personal assistant setup from Getting started; Onboarding from
  the macOS platform page; The Lobster from Control UI settings; Release
  performance sweep from Dependency locking; Release policy from Release
  channels; Full release validation and Update and plugin tests from RELEASING.
- help/index: list the Scripts page under Testing.
- help/faq-first-run: add the Models FAQ to Related (was one-directional).
- reference/credits: replace the two off-topic Related links with the lore and
  pull-request-review-flow pages.
- reference/rich-output-protocol: replace the unrelated RPC adapters link with
  the Control UI hosted-embeds section that actually renders [embed ...].
- web/lobster: add a Related section.
- glossary: 17 append-only zh-CN sources for the new list-item link labels, each
  inserted beside a related existing term rather than at the end of the array.
2026-09-10 15:35:25 +09:00

8.7 KiB

summary read_when title sidebarTitle
Live (network-touching) tests: model matrix, CLI backends, ACP, media providers, credentials
Running live model matrix / CLI backend / ACP / media-provider smokes
Debugging live-test credential resolution
Adding a new provider-specific live test
Testing: live suites Live tests

For quick start, QA runners, unit/integration suites, and Docker flows, see Testing. This page covers live (network-touching) tests: model matrix, CLI backends, ACP, media providers, and credential handling.

This page is an index. The live testing kit is documented on six pages, one per reader job. Open the page that matches your task.

Page Read it when
Quick live smokes and the Android node sweep You want a fast ad hoc smoke or an Android node sweep.
Live model smoke (profile keys) You are smoking a provider or model through the direct and gateway layers.
CLI backend and APNs lanes You are driving a local CLI backend, or checking APNs proxy reachability.
ACP bind and Codex app-server lanes You are debugging an ACP bind or the Codex app-server harness.
OpenAI long context and the live model matrix You need the long-context proof runs, the recipes, or the curated model lists.
Media provider live lanes You are running an image, music, video, or other media provider sweep.

Live tests vs your real gateway

Live suites and ad hoc smokes must never disturb a gateway that is already serving real traffic (yours or another operator's):

  • Bring your own gateway: use the in-process gateway (Layer 2 on Live model smoke) or start a dev instance with an isolated state dir (OPENCLAW_STATE_DIR=<scratch>) and a free port. Do not bind the default gateway port (18789) while a real gateway is running on it.
  • Do not openclaw gateway stop/restart (or launchctl/systemctl/tmux equivalents) a service you did not start in this session — that is the operator's live instance. Get explicit approval first.
  • Need realistic data? Copy the live state/DB into your dev state dir and test against the copy. In-place migrations of a live gateway's state also require explicit approval.

Credentials (never commit)

Live tests discover credentials the same way the CLI does. Practical implications:

  • If the CLI works, live tests should find the same keys.

  • If a live test says "no creds", debug the same way you'd debug openclaw models list / model selection.

  • An OpenClaw live suite that cannot resolve its credentials must skip visibly in the reporter with Vitest test-context skip(reason) or fail; it must never pass green without reaching the provider, because a green run that did not reach the provider is not live evidence.

  • Per-agent auth profiles: SQLite credential rows in ~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite (this is what "profile keys" means in the live tests)

  • Config: ~/.openclaw/openclaw.json (or OPENCLAW_CONFIG_PATH)

  • Legacy OAuth dir: ~/.openclaw/credentials/ (copied into the staged live home when present, but not the main profile-key store)

  • Local live runs copy the active config (with agents.*.workspace / agentDir overrides stripped) and stage each agent's canonical SQLite auth credential/state rows through the auth-store reader/writer APIs, not by copying its database or the rest of its directory. Agent sessions, workspace/, and sandboxes/ data are not staged. The runner also copies the legacy credentials/ dir and supported external CLI auth files/dirs (.claude.json, .claude/.credentials.json, .claude/settings*.json, .claude/backups, .codex/auth.json, .codex/config.toml, .gemini, .minimax) into a temp test home.

If you want to rely on env keys, export them before local tests or use the Docker runners on the lane pages listed above with an explicit OPENCLAW_PROFILE_FILE.

Where each section moved

Every section heading from the previous single-page version keeps its anchor here, so an existing link such as /help/testing-live#live-codex-app-server-harness-smoke still resolves. Each entry points at the page that now holds the content.

  • Testing - unit, integration, QA, and Docker suites
  • Tests - index of the testing reference, one page per reader job