openclaw/docs/concepts
Peter Steinberger 97bbbc2271
feat(agents): derive a provider-declared default utility model when unset (#103769)
* feat(agents): derive a provider-declared default utility model when unset

When agents.defaults.utilityModel is not set, utility tasks (titles, progress
narration) now use the primary provider's declared small model
(modelCatalog.providers.<id>.defaultUtilityModel: OpenAI -> gpt-5.6-luna,
Anthropic -> claude-haiku-4-5). Auth is inherent because derivation follows
the agent's primary provider. Setting utilityModel to an empty string
disables utility routing entirely; narration turns on automatically when a
default resolves and stays off otherwise.

Formatting/lint/tests verified on Testbox (oxfmt, oxlint, plugins:inventory,
docs:map, import-cycles, check:test-types, 4 test files).

* fix(ai): drop the temperature parameter for models that reject it

The GPT-5.6 family 400s on temperature via the Responses API (live-verified:
gpt-5.6-luna/-terra reject it; gpt-5.5 and gpt-5.4-mini/nano accept it).
supportsOpenAITemperature gates all three OpenAI payload builders, with a
catalog compat override (compat.supportsTemperature) declared for the 5.6
family in the openai manifest. Without this, utility tasks (titles,
narration) would fail once gpt-5.6-luna becomes the derived default.

Gates on Testbox: oxfmt, oxlint, plugins:inventory, import-cycles,
check:test-types, 6 test files. Live proof on Testbox: gpt-5.6-luna and
claude-haiku-4-5 one-shot completions succeed with temperature requested.

* fix(agents): carry the primary model's auth profile onto the derived utility default

A primary like openai/gpt-5.5@work previously reached utility tasks via the
profiled fallback; the derived default shares the provider, so its trailing
auth profile carries over instead of silently switching to default
credentials (Codex review). Gates on Testbox: oxfmt, check:test-types, tests.

* docs: realign the manifest provider-fields table after adding defaultUtilityModel
2026-07-10 17:40:11 +01:00
..
active-memory.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
agent-loop.md docs: correct cron self-hosted idle watchdog wording 2026-07-09 14:26:05 +05:30
agent-runtimes.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
agent-workspace.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
agent.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
architecture.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
channel-docking.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
commitments.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
compaction.md fix: replies fail when memory flush is exhausted (#100618) 2026-07-06 06:41:16 +01:00
context-engine.md feat(memory-wiki): isolate vaults per agent (#103349) 2026-07-10 05:19:13 +01:00
context.md fix(context): show transcript conversation in /context map 2026-07-09 16:56:13 +05:30
delegate-architecture.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
dreaming.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
experimental-features.md fix(agents): keep exec visible for lean local models (#101607) 2026-07-07 12:46:26 +01:00
features.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
managed-worktrees.md feat(gateway): session worktree targeting, branch listing, and server-side session groups (#103432) 2026-07-10 15:51:35 +01:00
mantis-slack-desktop-runbook.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
mantis.md ci(mantis): add web UI chat proof lane (#100472) 2026-07-07 10:54:35 +01:00
markdown-formatting.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
memory-builtin.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
memory-honcho.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
memory-qmd.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
memory-search.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
memory.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
message-lifecycle-refactor.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
messages.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
model-failover.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
model-providers.md feat(openai): default new setups to GPT-5.6 (#103581) 2026-07-10 10:22:58 +01:00
models.md feat(agents): derive a provider-declared default utility model when unset (#103769) 2026-07-10 17:40:11 +01:00
multi-agent.md feat(memory-wiki): isolate vaults per agent (#103349) 2026-07-10 05:19:13 +01:00
oauth.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
parallel-specialist-lanes.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
personal-agent-benchmark-pack.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
presence.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
progress-drafts.md feat(agents): derive a provider-declared default utility model when unset (#103769) 2026-07-10 17:40:11 +01:00
qa-e2e-automation.md test(qa): migrate channel thread and DM isolation scenarios (#101112) 2026-07-06 17:52:38 -07:00
qa-matrix.md test(qa): migrate channel thread and DM isolation scenarios (#101112) 2026-07-06 17:52:38 -07:00
queue-steering.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
queue.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
retry.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
session-pruning.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
session-tool.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
session.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
soul.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
streaming.md fix(mattermost): preserve text-block boundaries in draft preview (#87322) (#87449) 2026-07-10 14:32:11 +01:00
system-prompt.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
timezone.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
typebox.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
typing-indicators.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
usage-tracking.md feat: show provider plan usage (5h/weekly/credits) in the chat context popover, keep API cost for API billing (#102784) 2026-07-09 15:36:13 +01:00