fix(cli): infer provider lists respect selected agent (#123884)

* fix(cli): require inference provider owners

* test(cli): type provider owner fixtures

* chore: leave infer release note to release
This commit is contained in:
Peter Steinberger
2026-08-14 16:45:37 -07:00
committed by GitHub
parent 722e1ff48e
commit 72e67904be
14 changed files with 264 additions and 52 deletions
+8 -3
View File
@@ -106,6 +106,11 @@ A good infer-based skill maps common user intents to the right subcommand, inclu
- For `image describe`, `--file` accepts local paths and HTTP(S) URLs; remote URLs go through the normal media-fetch SSRF policy.
- Stateless execution commands (`model run`, `image *`, `audio *`, `video *`, `web *`, `embedding *`) default to local. Gateway-managed state commands (`tts status`) default to gateway.
- The local path never requires the gateway to be running.
- Provider inventory commands whose `configured` state can come from saved agent auth accept
`--agent <id>`. Without it, they use `agents.defaults.systemAgent.agentId` or the sole configured
agent; explicit multi-agent fleets with no system owner must pass `--agent`. The provider catalog
remains aggregate; `--agent` scopes saved-auth and per-agent selection facts. Gateway-owned TTS
provider state remains Gateway-global, so `tts providers --gateway` does not accept `--agent`.
- Generated image and video `--output` files are staged beside the destination and replace it only after the complete buffer is written; a failed write leaves an existing destination unchanged.
- Local `model run` is a lean one-shot provider completion: it resolves the configured agent model and auth but does not start a chat-agent turn, load tools, or open bundled MCP servers.
- `model run --file` attaches image files (auto-detected MIME type) to the prompt; repeat `--file` for multiple images. Non-image files are rejected — use `infer audio transcribe` or `infer video describe` instead.
@@ -121,7 +126,7 @@ openclaw infer model run --prompt "Reply with exactly: smoke-ok" --json
openclaw infer model run --prompt "Summarize this changelog entry" --model openai/gpt-5.4 --json
openclaw infer model run --prompt "Describe this image in one sentence" --file ./photo.jpg --model google/gemini-2.5-flash --json
openclaw infer model run --prompt "Use more reasoning here" --thinking high --json
openclaw infer model providers --json
openclaw infer model providers --agent <id> --json
openclaw infer model inspect --model gpt-5.6-sol --json
```
@@ -254,7 +259,7 @@ Search and fetch.
openclaw infer web search --query "OpenClaw docs" --json
openclaw infer web search --query "OpenClaw infer web providers" --json
openclaw infer web fetch --url https://docs.openclaw.ai/cli/infer --json
openclaw infer web providers --json
openclaw infer web providers --agent <id> --json
```
`web providers` lists available, configured, and selected providers for search and fetch.
@@ -266,7 +271,7 @@ Vector creation and embedding-provider inspection.
```bash
openclaw infer embedding create --text "friendly lobster" --json
openclaw infer embedding create --text "customer support ticket: delayed shipment" --model openai/text-embedding-3-large --json
openclaw infer embedding providers --json
openclaw infer embedding providers --agent <id> --json
```
## JSON output