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

推荐订阅源

博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
有赞技术团队
有赞技术团队
aimingoo的专栏
aimingoo的专栏
WordPress大学
WordPress大学
人人都是产品经理
人人都是产品经理
酷 壳 – CoolShell
酷 壳 – CoolShell
L
LangChain Blog
Blog — PlanetScale
Blog — PlanetScale
阮一峰的网络日志
阮一峰的网络日志
Microsoft Azure Blog
Microsoft Azure Blog
云风的 BLOG
云风的 BLOG
Google DeepMind News
Google DeepMind News
T
The Blog of Author Tim Ferriss
G
Google Developers Blog
Hugging Face - Blog
Hugging Face - Blog
Y
Y Combinator Blog
D
DataBreaches.Net
Engineering at Meta
Engineering at Meta
MyScale Blog
MyScale Blog
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
The GitHub Blog
The GitHub Blog
Recent Announcements
Recent Announcements

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.