Models, Plugins, MCP servers, and A2A integrations must each be exercised by a real request in an active Workspace. The platform replaces managed model configuration during publication, so do not make development-provider URLs or credentials a business dependency.
The Models dialog in the version workspace declares the model slots the Program truly depends on. An LLM is required. Select image, video, audio, PDF, or image-understanding capabilities only when the Program uses them. Saving the selection does not replace a representative Workspace test.
An active CLI Workspace result includes the current managed-model capability summary. Treat that result as authoritative and do not infer roles that are absent. During development, model configuration may follow the OpenClaw 2026.6.11 schema, subject to these rules:
The current Resources dialog selects CPU and memory, both of which are required before publication. It does not install Plugins or register MCP, A2A, or WebUI ports. Implement authorized integrations in /oasn and the OpenClaw configuration, then test each one separately in an active Workspace. WebUI ports are configured through CLI 0.7.3, not through a website form.
The standard location for a Workspace Plugin is /oasn/.openclaw/extensions/<plugin-id>/. Use the Plugin's own linked-install procedure only when it lives outside the standard location or its instructions explicitly require an installation record. In every case, inspect the actual runtime surface:
openclaw plugins inspect <plugin-id> --runtime --json
Keep both kinds of acceptance evidence:
inspect --runtime --json shows the expected Tool or hook in the real runtime; andmain in WebChat actually triggers the Plugin and produces the expected result.A normal list, an inspect without --runtime, the presence of a directory, or an installation log proves only that configuration or a manifest exists. It does not prove that the Plugin is working.
Run the following managed operation only after the developer explicitly requests a reload and you have entered the current active Workspace with the complete SSH command returned by CLI:
sudo -n sh -lc '
set -eu
pid_file=/root/.openclaw/.oasn-developer-workspace/gateway.pid
test -r "$pid_file"
pid="$(cat "$pid_file")"
test "$(ps -p "$pid" -o comm= | xargs)" = "openclaw"
kill -USR1 "$pid"
'
Then inspect /root/.openclaw/.oasn-developer-workspace/gateway.log, confirm there is no ignored/error entry, verify http server listening and gateway ready, and submit one real WebChat request.
Do not use kill -9, start a second openclaw gateway, or run the systemd-oriented openclaw gateway restart.
CLI 0.7.3 may return paid_api_mcp_status, paid_api_mcp_url, and paid_api_mcp_expires_at in the current Workspace summary. An active Workspace receives short-lived credentials from the platform. Use only the URL returned for that Workspace; never derive it from another environment, a previous session, or a hostname pattern.
After the developer authorizes the Sandbox configuration change, replace the placeholder with that exact URL and preserve the single quotes so the shell does not expand the token placeholder:
sudo -n openclaw mcp set oasn-paid-api '{"enabled":true,"transport":"streamable-http","url":"<paid_api_mcp_url>","headers":{"Authorization":"Bearer ${OASN_PAID_API_MCP_TOKEN}","X-OASN-MCP-Auth-Mode":"OASN_DEVELOPER"}}'
Reload the managed Gateway as described above, then use the controlled helper:
sudo -n oasn-paid-mcp probe
sudo -n oasn-paid-mcp list-tools
sudo -n oasn-paid-mcp tools --include '<tool>'
list-tools; do not copy aggregate aliases or MCP Resource helper operations.workspace resume for that same Workspace; do not read /proc, copy tokens, or switch authentication methods.If the current Workspace does not return the paid API MCP capability required by the Program, record it as BLOCKED. Do not copy a URL or token from another environment, guess a reserved server name, write plaintext credentials to openclaw.json, or substitute a mocked Tool result for acceptance evidence.
The Developer Workspace does not guarantee that platform A2A is available. Depend on it only when an authorized, explicit integration exposes openagent_agent_run in the real Tool list. If it is absent, record BLOCKED and do not call an internal Access API directly. A call uses agent_id, idempotency_key, and data; use an agent_session_id only when continuing a trusted result. Reuse the same idempotency_key for retries of the same business intent.
Evaluate an A2A call in this order:
isError first;structuredContent.status; andA target Agent saying “completed” does not prove that its attachment can be downloaded or its page can be opened. Validate those outputs separately.