






















@@ -287,8 +287,10 @@ load local files from plain paths.
287287## Inputs / outputs
288288289289- `output: "json"` (default) tries to parse JSON and extract text + session id.
290-- For Gemini CLI JSON output, OpenClaw reads reply text from `response` and
291- usage from `stats` when `usage` is missing or empty.
290+- For Gemini CLI JSON output, OpenClaw reads reply text from `response` and usage
291+ from `stats` when `usage` is missing or empty. The bundled Gemini CLI default
292+ uses `stream-json`, but old `--output-format json` overrides still use the
293+ JSON parser.
292294- `output: "jsonl"` parses JSONL streams and extracts the final agent message plus session
293295 identifiers when present.
294296- `output: "text"` treats stdout as the final response.
@@ -318,8 +320,11 @@ The bundled Anthropic plugin registers a default for `claude-cli`:
318320The bundled Google plugin also registers a default for `google-gemini-cli`:
319321320322- `command: "gemini"`
321-- `args: ["--output-format", "json", "--prompt", "{prompt}"]`
322-- `resumeArgs: ["--resume", "{sessionId}", "--output-format", "json", "--prompt", "{prompt}"]`
323+- `args: ["--skip-trust", "--output-format", "stream-json", "--prompt", "{prompt}"]`
324+- `resumeArgs: ["--skip-trust", "--resume", "{sessionId}", "--output-format", "stream-json", "--prompt", "{prompt}"]`
325+- `output: "jsonl"`
326+- `resumeOutput: "jsonl"`
327+- `jsonlDialect: "gemini-stream-json"`
323328- `imageArg: "@"`
324329- `imagePathScope: "workspace"`
325330- `modelArg: "--model"`
@@ -330,9 +335,13 @@ Prerequisite: the local Gemini CLI must be installed and available as
330335`gemini` on `PATH` (`brew install gemini-cli` or
331336`npm install -g @google/gemini-cli`).
332337333-Gemini CLI JSON notes:
338+Gemini CLI output notes:
334339335-- Reply text is read from the JSON `response` field.
340+- The default `stream-json` parser reads assistant `message` events, tool events,
341+ final `result` usage, and fatal Gemini error events.
342+- If you override Gemini args to `--output-format json`, OpenClaw normalizes that
343+ backend back to `output: "json"` and reads reply text from the JSON `response`
344+ field.
336345- Usage falls back to `stats` when `usage` is absent or empty.
337346- `stats.cached` is normalized into OpenClaw `cacheRead`.
338347- If `stats.input` is missing, OpenClaw derives input tokens from
@@ -372,8 +381,10 @@ api.registerTextTransforms({
372381rewrites streamed assistant deltas and parsed final text before OpenClaw handles
373382its own control markers and channel delivery.
374383375-For CLIs that emit Claude Code stream-json compatible JSONL, set
376-`jsonlDialect: "claude-stream-json"` on that backend's config.
384+For CLIs that emit provider-specific JSONL events, set `jsonlDialect` on that
385+backend's config. Supported dialects are `claude-stream-json` for Claude
386+Code-compatible streams and `gemini-stream-json` for Gemini CLI `stream-json`
387+events.
377388378389## Native compaction ownership
379390此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。