From ee11ddb01936529e8eb19bd723f70d6e1fd4f69f Mon Sep 17 00:00:00 2001 From: "openclaw-docs-sync[bot]" Date: Tue, 21 Apr 2026 05:20:24 +0000 Subject: [PATCH] chore(sync): mirror docs from openclaw/openclaw@e4adb0b0e313bfe13170abfac4205ec5a43c5d8a --- .openclaw-sync/source.json | 4 ++-- docs/concepts/model-providers.md | 2 ++ docs/plugins/architecture.md | 25 +++++++++++++------------ docs/plugins/sdk-provider-plugins.md | 21 +++++++++++---------- docs/tools/thinking.md | 6 ++++-- 5 files changed, 32 insertions(+), 26 deletions(-) diff --git a/.openclaw-sync/source.json b/.openclaw-sync/source.json index 6f9592b25..16d2d9c17 100644 --- a/.openclaw-sync/source.json +++ b/.openclaw-sync/source.json @@ -1,5 +1,5 @@ { "repository": "openclaw/openclaw", - "sha": "0da5e0e34e39ba7570bc13c972f2af8ce863233a", - "syncedAt": "2026-04-21T05:15:52.915Z" + "sha": "e4adb0b0e313bfe13170abfac4205ec5a43c5d8a", + "syncedAt": "2026-04-21T05:20:23.654Z" } diff --git a/docs/concepts/model-providers.md b/docs/concepts/model-providers.md index ec81192ab..f2f9dfc22 100644 --- a/docs/concepts/model-providers.md +++ b/docs/concepts/model-providers.md @@ -43,6 +43,7 @@ For model selection rules, see [/concepts/models](/concepts/models). `matchesContextOverflowError`, `classifyFailoverReason`, `isCacheTtlEligible`, `buildMissingAuthMessage`, `suppressBuiltInModel`, `augmentModelCatalog`, `isBinaryThinking`, `supportsXHighThinking`, + `supportsAdaptiveThinking`, `resolveDefaultThinkingLevel`, `applyConfigDefaults`, `isModernModelRef`, `prepareRuntimeAuth`, `resolveUsageAuth`, `fetchUsageSnapshot`, and `onModelSelected`. @@ -133,6 +134,7 @@ Typical split: discovery and config merging - `isBinaryThinking`: provider owns binary on/off thinking UX - `supportsXHighThinking`: provider opts selected models into `xhigh` +- `supportsAdaptiveThinking`: provider opts selected models into `adaptive` - `resolveDefaultThinkingLevel`: provider owns default `/think` policy for a model family - `applyConfigDefaults`: provider applies provider-specific global defaults diff --git a/docs/plugins/architecture.md b/docs/plugins/architecture.md index c336f9278..57cd3673f 100644 --- a/docs/plugins/architecture.md +++ b/docs/plugins/architecture.md @@ -658,7 +658,7 @@ Provider plugins now have two layers: `buildAuthDoctorHint`, `matchesContextOverflowError`, `classifyFailoverReason`, `isCacheTtlEligible`, `buildMissingAuthMessage`, `suppressBuiltInModel`, `augmentModelCatalog`, - `isBinaryThinking`, `supportsXHighThinking`, + `isBinaryThinking`, `supportsXHighThinking`, `supportsAdaptiveThinking`, `resolveDefaultThinkingLevel`, `isModernModelRef`, `prepareRuntimeAuth`, `resolveUsageAuth`, `fetchUsageSnapshot`, `createEmbeddingProvider`, `buildReplayPolicy`, @@ -724,16 +724,17 @@ The "When to use" column is the quick decision guide. | 32 | `augmentModelCatalog` | Synthetic/final catalog rows appended after discovery | Provider needs synthetic forward-compat rows in `models list` and pickers | | 33 | `isBinaryThinking` | On/off reasoning toggle for binary-thinking providers | Provider exposes only binary thinking on/off | | 34 | `supportsXHighThinking` | `xhigh` reasoning support for selected models | Provider wants `xhigh` on only a subset of models | -| 35 | `resolveDefaultThinkingLevel` | Default `/think` level for a specific model family | Provider owns default `/think` policy for a model family | -| 36 | `isModernModelRef` | Modern-model matcher for live profile filters and smoke selection | Provider owns live/smoke preferred-model matching | -| 37 | `prepareRuntimeAuth` | Exchange a configured credential into the actual runtime token/key just before inference | Provider needs a token exchange or short-lived request credential | -| 38 | `resolveUsageAuth` | Resolve usage/billing credentials for `/usage` and related status surfaces | Provider needs custom usage/quota token parsing or a different usage credential | -| 39 | `fetchUsageSnapshot` | Fetch and normalize provider-specific usage/quota snapshots after auth is resolved | Provider needs a provider-specific usage endpoint or payload parser | -| 40 | `createEmbeddingProvider` | Build a provider-owned embedding adapter for memory/search | Memory embedding behavior belongs with the provider plugin | -| 41 | `buildReplayPolicy` | Return a replay policy controlling transcript handling for the provider | Provider needs custom transcript policy (for example, thinking-block stripping) | -| 42 | `sanitizeReplayHistory` | Rewrite replay history after generic transcript cleanup | Provider needs provider-specific replay rewrites beyond shared compaction helpers | -| 43 | `validateReplayTurns` | Final replay-turn validation or reshaping before the embedded runner | Provider transport needs stricter turn validation after generic sanitation | -| 44 | `onModelSelected` | Run provider-owned post-selection side effects | Provider needs telemetry or provider-owned state when a model becomes active | +| 35 | `supportsAdaptiveThinking` | `adaptive` thinking support for selected models | Provider wants `adaptive` shown only for models with provider-managed adaptive thinking | +| 36 | `resolveDefaultThinkingLevel` | Default `/think` level for a specific model family | Provider owns default `/think` policy for a model family | +| 37 | `isModernModelRef` | Modern-model matcher for live profile filters and smoke selection | Provider owns live/smoke preferred-model matching | +| 38 | `prepareRuntimeAuth` | Exchange a configured credential into the actual runtime token/key just before inference | Provider needs a token exchange or short-lived request credential | +| 39 | `resolveUsageAuth` | Resolve usage/billing credentials for `/usage` and related status surfaces | Provider needs custom usage/quota token parsing or a different usage credential | +| 40 | `fetchUsageSnapshot` | Fetch and normalize provider-specific usage/quota snapshots after auth is resolved | Provider needs a provider-specific usage endpoint or payload parser | +| 41 | `createEmbeddingProvider` | Build a provider-owned embedding adapter for memory/search | Memory embedding behavior belongs with the provider plugin | +| 42 | `buildReplayPolicy` | Return a replay policy controlling transcript handling for the provider | Provider needs custom transcript policy (for example, thinking-block stripping) | +| 43 | `sanitizeReplayHistory` | Rewrite replay history after generic transcript cleanup | Provider needs provider-specific replay rewrites beyond shared compaction helpers | +| 44 | `validateReplayTurns` | Final replay-turn validation or reshaping before the embedded runner | Provider transport needs stricter turn validation after generic sanitation | +| 45 | `onModelSelected` | Run provider-owned post-selection side effects | Provider needs telemetry or provider-owned state when a model becomes active | `normalizeModelId`, `normalizeTransport`, and `normalizeConfig` first check the matched provider plugin, then fall through other hook-capable provider plugins @@ -805,7 +806,7 @@ api.registerProvider({ - Anthropic uses `resolveDynamicModel`, `capabilities`, `buildAuthDoctorHint`, `resolveUsageAuth`, `fetchUsageSnapshot`, `isCacheTtlEligible`, - `resolveDefaultThinkingLevel`, `applyConfigDefaults`, `isModernModelRef`, + `supportsAdaptiveThinking`, `resolveDefaultThinkingLevel`, `applyConfigDefaults`, `isModernModelRef`, and `wrapStreamFn` because it owns Claude 4.6 forward-compat, provider-family hints, auth repair guidance, usage endpoint integration, prompt-cache eligibility, auth-aware config defaults, Claude diff --git a/docs/plugins/sdk-provider-plugins.md b/docs/plugins/sdk-provider-plugins.md index b55847ef5..7cc4c0f5e 100644 --- a/docs/plugins/sdk-provider-plugins.md +++ b/docs/plugins/sdk-provider-plugins.md @@ -535,16 +535,17 @@ API key auth, and dynamic model resolution. | 31 | `augmentModelCatalog` | Synthetic forward-compat rows | | 32 | `isBinaryThinking` | Binary thinking on/off | | 33 | `supportsXHighThinking` | `xhigh` reasoning support | - | 34 | `resolveDefaultThinkingLevel` | Default `/think` policy | - | 35 | `isModernModelRef` | Live/smoke model matching | - | 36 | `prepareRuntimeAuth` | Token exchange before inference | - | 37 | `resolveUsageAuth` | Custom usage credential parsing | - | 38 | `fetchUsageSnapshot` | Custom usage endpoint | - | 39 | `createEmbeddingProvider` | Provider-owned embedding adapter for memory/search | - | 40 | `buildReplayPolicy` | Custom transcript replay/compaction policy | - | 41 | `sanitizeReplayHistory` | Provider-specific replay rewrites after generic cleanup | - | 42 | `validateReplayTurns` | Strict replay-turn validation before the embedded runner | - | 43 | `onModelSelected` | Post-selection callback (e.g. telemetry) | + | 34 | `supportsAdaptiveThinking` | Adaptive thinking support | + | 35 | `resolveDefaultThinkingLevel` | Default `/think` policy | + | 36 | `isModernModelRef` | Live/smoke model matching | + | 37 | `prepareRuntimeAuth` | Token exchange before inference | + | 38 | `resolveUsageAuth` | Custom usage credential parsing | + | 39 | `fetchUsageSnapshot` | Custom usage endpoint | + | 40 | `createEmbeddingProvider` | Provider-owned embedding adapter for memory/search | + | 41 | `buildReplayPolicy` | Custom transcript replay/compaction policy | + | 42 | `sanitizeReplayHistory` | Provider-specific replay rewrites after generic cleanup | + | 43 | `validateReplayTurns` | Strict replay-turn validation before the embedded runner | + | 44 | `onModelSelected` | Post-selection callback (e.g. telemetry) | Prompt tuning note: diff --git a/docs/tools/thinking.md b/docs/tools/thinking.md index 160bfa6d0..414914e20 100644 --- a/docs/tools/thinking.md +++ b/docs/tools/thinking.md @@ -16,10 +16,11 @@ title: "Thinking Levels" - medium → “think harder” - high → “ultrathink” (max budget) - xhigh → “ultrathink+” (GPT-5.2 + Codex models and Anthropic Claude Opus 4.7 effort) - - adaptive → provider-managed adaptive thinking (supported for Anthropic Claude 4.6 and Opus 4.7) + - adaptive → provider-managed adaptive thinking (supported for Claude 4.6 on Anthropic/Bedrock and Anthropic Claude Opus 4.7) - `x-high`, `x_high`, `extra-high`, `extra high`, and `extra_high` map to `xhigh`. - `highest`, `max` map to `high`. - Provider notes: + - `adaptive` is only advertised in native command menus and pickers for providers/models that declare adaptive thinking support. It remains accepted as a typed directive for compatibility with existing configs and aliases. - Anthropic Claude 4.6 models default to `adaptive` when no explicit thinking level is set. - Anthropic Claude Opus 4.7 does not default to adaptive thinking. Its API effort default remains provider-owned unless you explicitly set a thinking level. - Anthropic Claude Opus 4.7 maps `/think xhigh` to adaptive thinking plus `output_config.effort: "xhigh"`, because `/think` is a thinking directive and `xhigh` is the Opus 4.7 effort setting. @@ -109,7 +110,8 @@ title: "Thinking Levels" - Picking another level writes the session override immediately via `sessions.patch`; it does not wait for the next send and it is not a one-shot `thinkingOnce` override. - The first option is always `Default ()`, where the resolved default comes from the active session model: `adaptive` for Claude 4.6 on Anthropic, `off` for Anthropic Claude Opus 4.7 unless configured, `low` for other reasoning-capable models, `off` otherwise. - The picker stays provider-aware: - - most providers show `off | minimal | low | medium | high | adaptive` + - most providers show `off | minimal | low | medium | high` + - Anthropic/Bedrock Claude 4.6 shows `off | minimal | low | medium | high | adaptive` - Anthropic Claude Opus 4.7 shows `off | minimal | low | medium | high | xhigh | adaptive` - Z.AI shows binary `off | on` - `/think:` still works and updates the same stored session level, so chat directives and the picker stay in sync.