惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
博客园_首页
博客园 - 聂微东
T
Tailwind CSS Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
J
Java Code Geeks
The Cloudflare Blog
aimingoo的专栏
aimingoo的专栏
Martin Fowler
Martin Fowler
D
Docker
人人都是产品经理
人人都是产品经理
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
Microsoft Azure Blog
Microsoft Azure Blog
Recent Announcements
Recent Announcements
Apple Machine Learning Research
Apple Machine Learning Research
阮一峰的网络日志
阮一峰的网络日志
B
Blog RSS Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
Jina AI
Jina AI
博客园 - Franky
D
DataBreaches.Net

Recent Commits to openclaw:main

test: merge chat side-result checks · openclaw/openclaw@ddd2c2a test: merge cron history checks · openclaw/openclaw@f7eb746 test: merge responsive navigation shell checks · openclaw/openclaw@c2e4b47 docs(changelog): add codex oauth fixes · openclaw/openclaw@628e6cd test: merge navigation routing cases · openclaw/openclaw@5d8cecb Tests: mock channel registry bundled fallback · openclaw/openclaw@2b08233 Secrets: avoid broad web search discovery for single plugin config · openclaw/openclaw@a464f59 test: merge config view browser checks · openclaw/openclaw@20cf511 fix(status): align oauth health with runtime · openclaw/openclaw@eed7116 feat: add macOS screen snapshots for monitor preview (#67954) thanks … · openclaw/openclaw@f377db1 fix: report shared auth scopes in hello-ok (#67810) thanks @BunsDev · openclaw/openclaw@0b6c39b Auto-reply: avoid eager bundled route fallback · openclaw/openclaw@3ea1bf4 Tests: narrow session binding contract setup · openclaw/openclaw@54e4e16 fix(macOS): enable undo/redo in webchat composer text input (#34962) · openclaw/openclaw@00951dc Tests: speed up channel setup promotion · openclaw/openclaw@82b529a Docs: refresh agent instructions · openclaw/openclaw@5775fe2 fix(auth): serialize OAuth refresh across agents to fix #26322 (#67876) · openclaw/openclaw@8e79080 test: allow ollama public surface boundary test · openclaw/openclaw@7d4f1a6 Docs: add test performance guardrails · openclaw/openclaw@89706d3 Tests: restore context-engine usage proof · openclaw/openclaw@e4c4f95 Tests: slim context engine runtime coverage · openclaw/openclaw@74c198f ci: retry failed custom checkouts · openclaw/openclaw@0ee5baf test: trim duplicate provider auth onboarding cases · openclaw/openclaw@1ffc02e matrix: fix sessions_spawn --thread subagent session spawning (#67643) · openclaw/openclaw@1ce2596 test: reduce auth choice fixture churn · openclaw/openclaw@857b9cd test: mock health status config boundaries · openclaw/openclaw@9d5ab4a test: mock onboard config io boundary · openclaw/openclaw@299694d test: mock legacy state plugin boundaries · openclaw/openclaw@2713089 test: mock channel install boundaries · openclaw/openclaw@b945248 test: mock doctor preview channel boundaries · openclaw/openclaw@b1a3ad4
fix(cli): support image files in model probes · openclaw/...
steipete · 2026-04-29 · via Recent Commits to openclaw:main

@@ -107,18 +107,19 @@ and the shared capability runtime before the provider request is made.

107107108108

This table maps common inference tasks to the corresponding infer command.

109109110-

| Task | Command | Notes |

111-

| ----------------------- | ------------------------------------------------------------------------ | ----------------------------------------------------- |

112-

| Run a text/model prompt | `openclaw infer model run --prompt "..." --json` | Uses the normal local path by default |

113-

| Generate an image | `openclaw infer image generate --prompt "..." --json` | Use `image edit` when starting from an existing file |

114-

| Describe an image file | `openclaw infer image describe --file ./image.png --prompt "..." --json` | `--model` must be an image-capable `<provider/model>` |

115-

| Transcribe audio | `openclaw infer audio transcribe --file ./memo.m4a --json` | `--model` must be `<provider/model>` |

116-

| Synthesize speech | `openclaw infer tts convert --text "..." --output ./speech.mp3 --json` | `tts status` is gateway-oriented |

117-

| Generate a video | `openclaw infer video generate --prompt "..." --json` | Supports provider hints such as `--resolution` |

118-

| Describe a video file | `openclaw infer video describe --file ./clip.mp4 --json` | `--model` must be `<provider/model>` |

119-

| Search the web | `openclaw infer web search --query "..." --json` | |

120-

| Fetch a web page | `openclaw infer web fetch --url https://example.com --json` | |

121-

| Create embeddings | `openclaw infer embedding create --text "..." --json` | |

110+

| Task | Command | Notes |

111+

| ---------------------------- | --------------------------------------------------------------------------------------------- | ----------------------------------------------------- |

112+

| Run a text/model prompt | `openclaw infer model run --prompt "..." --json` | Uses the normal local path by default |

113+

| Run a model prompt on images | `openclaw infer model run --prompt "Describe this" --file ./image.png --model provider/model` | Repeat `--file` for multiple image inputs |

114+

| Generate an image | `openclaw infer image generate --prompt "..." --json` | Use `image edit` when starting from an existing file |

115+

| Describe an image file | `openclaw infer image describe --file ./image.png --prompt "..." --json` | `--model` must be an image-capable `<provider/model>` |

116+

| Transcribe audio | `openclaw infer audio transcribe --file ./memo.m4a --json` | `--model` must be `<provider/model>` |

117+

| Synthesize speech | `openclaw infer tts convert --text "..." --output ./speech.mp3 --json` | `tts status` is gateway-oriented |

118+

| Generate a video | `openclaw infer video generate --prompt "..." --json` | Supports provider hints such as `--resolution` |

119+

| Describe a video file | `openclaw infer video describe --file ./clip.mp4 --json` | `--model` must be `<provider/model>` |

120+

| Search the web | `openclaw infer web search --query "..." --json` | |

121+

| Fetch a web page | `openclaw infer web fetch --url https://example.com --json` | |

122+

| Create embeddings | `openclaw infer embedding create --text "..." --json` | |

122123123124

## Behavior

124125

@@ -131,15 +132,18 @@ This table maps common inference tasks to the corresponding infer command.

131132

- Gateway-managed state commands default to gateway.

132133

- The normal local path does not require the gateway to be running.

133134

- 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.

134-

- `model run --gateway` exercises Gateway routing, saved auth, provider selection, and the embedded runtime, but still runs as a raw model probe: it sends the supplied prompt without prior session transcript, bootstrap/AGENTS context, context-engine assembly, tools, or bundled MCP servers.

135+

- `model run --file` accepts image files, detects their MIME type, and sends them with the supplied prompt to the selected model. Repeat `--file` for multiple images.

136+

- `model run --file` rejects non-image inputs. Use `infer audio transcribe` for audio files and `infer video describe` for video files.

137+

- `model run --gateway` exercises Gateway routing, saved auth, provider selection, and the embedded runtime, but still runs as a raw model probe: it sends the supplied prompt and any image attachments without prior session transcript, bootstrap/AGENTS context, context-engine assembly, tools, or bundled MCP servers.

135138136139

## Model

137140138141

Use `model` for provider-backed text inference and model/provider inspection.

139142140143

```bash

141144

openclaw infer model run --prompt "Reply with exactly: smoke-ok" --json

142-

openclaw infer model run --prompt "Summarize this changelog entry" --provider openai --json

145+

openclaw infer model run --prompt "Summarize this changelog entry" --model openai/gpt-5.4 --json

146+

openclaw infer model run --prompt "Describe this image in one sentence" --file ./photo.jpg --model google/gemini-2.5-flash --json

143147

openclaw infer model providers --json

144148

openclaw infer model inspect --name gpt-5.5 --json

145149

```

@@ -154,11 +158,15 @@ openclaw infer model run --local --model google/gemini-2.5-flash --prompt "Reply

154158

openclaw infer model run --local --model groq/llama-3.1-8b-instant --prompt "Reply with exactly: pong" --json

155159

openclaw infer model run --local --model mistral/mistral-small-latest --prompt "Reply with exactly: pong" --json

156160

openclaw infer model run --local --model openai/gpt-4.1 --prompt "Reply with exactly: pong" --json

161+

openclaw infer model run --local --model ollama/qwen2.5vl:7b --prompt "Describe this image." --file ./photo.jpg --json

157162

```

158163159164

Notes:

160165161166

- Local `model run` is the narrowest CLI smoke for provider/model/auth health because it sends only the supplied prompt to the selected model.

167+

- Local `model run --file` keeps that lean path and attaches image content directly to the single user message. Common image files such as PNG, JPEG, and WebP work when their MIME type is detected as `image/*`; unsupported or unrecognized files fail before the provider is called.

168+

- `model run --file` is best when you want to test the selected multimodal text model directly. Use `infer image describe` when you want OpenClaw's image-understanding provider selection and default image-model routing.

169+

- The selected model must support image input; text-only models may reject the request at the provider layer.

162170

- `model run --prompt` must contain non-whitespace text; empty prompts are rejected before local providers or the Gateway are called.

163171

- Local `model run` exits non-zero when the provider returns no text output, so unreachable local providers and empty completions do not look like successful probes.

164172

- Use `model run --gateway` when you need to test Gateway routing, agent-runtime setup, or Gateway-managed provider state while keeping the model input raw. Use `openclaw agent` or chat surfaces when you want the full agent context, tools, memory, and session transcript.