docs: refresh isolated cron model switch refs

This commit is contained in:
Peter Steinberger 2026-04-04 14:53:40 +01:00
parent 9cc300be78
commit 3e5bcc8cb2
No known key found for this signature in database
3 changed files with 59 additions and 0 deletions

View File

@ -90,6 +90,23 @@ model selection instead. Configured fallback chains still apply, but a plain
model override with no explicit per-job fallback list no longer appends the
agent primary as a hidden extra retry target.
Model-selection precedence for isolated jobs is:
1. Gmail hook model override (when the run came from Gmail and that override is allowed)
2. Per-job payload `model`
3. Stored cron session model override
4. Agent/default model selection
Fast mode follows the resolved live selection too. If the selected model config
has `params.fastMode`, isolated cron uses that by default. A stored session
`fastMode` override still wins over config in either direction.
If an isolated run hits a live model-switch handoff, cron retries with the
switched provider/model and persists that live selection before retrying. When
the switch also carries a new auth profile, cron persists that auth profile
override too. Retries are bounded: after the initial attempt plus 2 switch
retries, cron aborts instead of looping forever.
## Delivery and output
| Mode | What happens |

View File

@ -50,6 +50,19 @@ model selection instead. Configured fallback chains still apply, but a plain
model override with no explicit per-job fallback list no longer appends the
agent primary as a hidden extra retry target.
Note: isolated cron model precedence is Gmail-hook override first, then per-job
`--model`, then any stored cron-session model override, then the normal
agent/default selection.
Note: isolated cron fast mode follows the resolved live model selection. Model
config `params.fastMode` applies by default, but a stored session `fastMode`
override still wins over config.
Note: if an isolated run throws `LiveSessionModelSwitchError`, cron persists the
switched provider/model (and switched auth profile override when present) before
retrying. The outer retry loop is bounded to 2 switch retries after the initial
attempt, then aborts instead of looping forever.
Note: failure notifications use `delivery.failureDestination` first, then
global `cron.failureDestination`, and finally fall back to the job's primary
announce target when no explicit failure destination is configured.

View File

@ -1046,6 +1046,35 @@ for usage/billing and raise limits as needed.
</Accordion>
<Accordion title="Why did an isolated cron run switch models or retry once?">
That is usually the live model-switch path, not duplicate scheduling.
Isolated cron can persist a runtime model handoff and retry when the active
run throws `LiveSessionModelSwitchError`. The retry keeps the switched
provider/model, and if the switch carried a new auth profile override, cron
persists that too before retrying.
Related selection rules:
- Gmail hook model override wins first when applicable.
- Then per-job `model`.
- Then any stored cron-session model override.
- Then the normal agent/default model selection.
The retry loop is bounded. After the initial attempt plus 2 switch retries,
cron aborts instead of looping forever.
Debug:
```bash
openclaw cron runs --id <jobId> --limit 50
openclaw tasks show <runId-or-sessionKey>
```
Docs: [Cron jobs](/automation/cron-jobs), [cron CLI](/cli/cron).
</Accordion>
<Accordion title="How do I install skills on Linux?">
Use native `openclaw skills` commands or drop skills into your workspace. The macOS Skills UI isn't available on Linux.
Browse skills at [https://clawhub.ai](https://clawhub.ai).