> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Рівні мислення

## Що це робить

* Вбудована директива в будь-якому вхідному тілі: `/t <level>`, `/think:<level>` або `/thinking <level>`.
* Рівні (псевдоніми): `off | minimal | low | medium | high | xhigh | adaptive | max`
  * minimal → "think"
  * low → "think hard"
  * medium → "think harder"
  * high → "ultrathink" (максимальний бюджет)
  * xhigh → "ultrathink+" (моделі GPT-5.2+ і Codex, а також зусилля Anthropic Claude Opus 4.7+)
  * adaptive → адаптивне мислення, кероване провайдером (підтримується для Claude 4.6 в Anthropic/Bedrock, Anthropic Claude Opus 4.7+ і динамічного мислення Google Gemini)
  * max → максимальне reasoning провайдера (Anthropic Claude Opus 4.7+; Ollama зіставляє це зі своїм найвищим нативним зусиллям `think`)
  * `x-high`, `x_high`, `extra-high`, `extra high` і `extra_high` зіставляються з `xhigh`.
  * `highest` зіставляється з `high`.
* Примітки щодо провайдерів:
  * Меню та селектори мислення керуються профілем провайдера. Provider plugins оголошують точний набір рівнів для вибраної моделі, включно з мітками на кшталт бінарного `on`.
  * `adaptive`, `xhigh` і `max` рекламуються лише для профілів провайдера/моделі, які їх підтримують. Типізовані директиви для непідтримуваних рівнів відхиляються з переліком чинних параметрів цієї моделі.
  * Наявні збережені непідтримувані рівні перепризначаються за рангом профілю провайдера. `adaptive` повертається до `medium` на неадаптивних моделях, тоді як `xhigh` і `max` повертаються до найбільшого підтримуваного рівня не-`off` для вибраної моделі.
  * Моделі Anthropic Claude 4.6 за замовчуванням використовують `adaptive`, якщо явний рівень мислення не задано.
  * Anthropic Claude Opus 4.8 і Opus 4.7 залишають мислення вимкненим, якщо ви явно не задасте рівень мислення. Провайдерське значення зусилля за замовчуванням для Opus 4.8 — `high` після ввімкнення адаптивного мислення.
  * Anthropic Claude Opus 4.7+ зіставляє `/think xhigh` з адаптивним мисленням плюс `output_config.effort: "xhigh"`, бо `/think` є директивою мислення, а `xhigh` — налаштуванням зусилля Opus.
  * Anthropic Claude Opus 4.7+ також надає `/think max`; він зіставляється з тим самим провайдерським шляхом максимального зусилля.
  * Прямі моделі DeepSeek V4 надають `/think xhigh|max`; обидва варіанти зіставляються з DeepSeek `reasoning_effort: "max"`, тоді як нижчі рівні не-`off` зіставляються з `high`.
  * Моделі DeepSeek V4, маршрутизовані через OpenRouter, надають `/think xhigh` і надсилають підтримувані OpenRouter значення `reasoning.effort` замість нативного верхньорівневого `reasoning_effort` DeepSeek. Нижчі рівні не-`off` зіставляються з `high`, а збережені перевизначення `max` повертаються до `xhigh`.
  * Моделі Ollama з підтримкою мислення надають `/think low|medium|high|max`; `max` зіставляється з нативним `think: "high"`, бо нативний API Ollama приймає рядки зусилля `low`, `medium` і `high`.
  * Моделі OpenAI GPT зіставляють `/think` через підтримку зусилля Responses API, специфічну для моделі. `/think off` надсилає `reasoning.effort: "none"` лише коли цільова модель це підтримує; інакше OpenClaw пропускає вимкнений payload reasoning замість надсилання непідтримуваного значення.
  * Користувацькі записи каталогу, сумісні з OpenAI, можуть увімкнути `/think xhigh`, задавши `models.providers.<provider>.models[].compat.supportedReasoningEfforts` так, щоб він містив `"xhigh"`. Це використовує ті самі метадані сумісності, що зіставляють вихідні payload зусилля reasoning OpenAI, тож меню, валідація сеансу, CLI агента й `llm-task` узгоджуються з поведінкою транспорту.
  * Застарілі налаштовані посилання OpenRouter Hunter Alpha пропускають ін’єкцію proxy reasoning, бо цей вилучений маршрут міг повертати текст фінальної відповіді через поля reasoning.
  * Google Gemini зіставляє `/think adaptive` з провайдерським динамічним мисленням Gemini. Запити Gemini 3 пропускають фіксований `thinkingLevel`, тоді як запити Gemini 2.5 надсилають `thinkingBudget: -1`; фіксовані рівні все одно зіставляються з найближчим Gemini `thinkingLevel` або бюджетом для цієї сім’ї моделей.
  * MiniMax M2.x (`minimax/MiniMax-M2*`) на Anthropic-сумісному streaming-шляху за замовчуванням використовує `thinking: { type: "disabled" }`, якщо ви явно не задасте мислення в параметрах моделі або параметрах запиту. Це запобігає витоку дельт `reasoning_content` з ненативного Anthropic stream-формату M2.x. MiniMax-M3 (і M3.x) є винятком: M3 випускає коректні блоки мислення Anthropic і повертає порожній вміст, коли мислення вимкнено, тому OpenClaw залишає M3 на провайдерському шляху пропущеного/адаптивного мислення.
  * Z.AI (`zai/*`) є бінарним (`on`/`off`) для більшості моделей GLM. GLM-5.2 — виняток: він надає `/think off|low|high|max`, зіставляє `low` і `high` з Z.AI `reasoning_effort: "high"` і зіставляє `max` з `reasoning_effort: "max"`.
  * Moonshot Kimi K2.7 Code (`moonshot/kimi-k2.7-code`) завжди думає. Його профіль надає лише `on`, а OpenClaw пропускає вихідне поле `thinking`, як того вимагає Moonshot. Інші моделі `moonshot/*` зіставляють `/think off` з `thinking: { type: "disabled" }`, а будь-який рівень не-`off` — з `thinking: { type: "enabled" }`. Коли мислення ввімкнено, Moonshot приймає лише `tool_choice` `auto|none`; OpenClaw нормалізує несумісні значення до `auto`.

## Порядок визначення

1. Вбудована директива в повідомленні (застосовується лише до цього повідомлення).
2. Перевизначення сеансу (задається надсиланням повідомлення, що містить лише директиву).
3. Типове значення для агента (`agents.list[].thinkingDefault` у конфігурації).
4. Глобальне типове значення (`agents.defaults.thinkingDefault` у конфігурації).
5. Резервний варіант: оголошене провайдером типове значення, якщо доступне; інакше моделі з підтримкою reasoning визначаються як `medium` або найближчий підтримуваний рівень не-`off` для цієї моделі, а моделі без reasoning залишаються `off`.

## Налаштування типового значення сеансу

* Надішліть повідомлення, яке містить **лише** директиву (пробіли дозволені), наприклад `/think:medium` або `/t high`.
* Це закріплюється для поточного сеансу (за замовчуванням окремо для кожного відправника). Використовуйте `/think default`, щоб очистити перевизначення сеансу й успадкувати налаштоване/провайдерське типове значення; псевдоніми: `inherit`, `clear`, `reset` і `unpin`.
* `/think off` зберігає явне перевизначення вимкнення. Воно вимикає мислення, доки ви не зміните або не очистите перевизначення сеансу.
* Надсилається відповідь-підтвердження (`Thinking level set to high.` / `Thinking disabled.`). Якщо рівень недійсний (наприклад, `/thinking big`), команда відхиляється з підказкою, а стан сеансу залишається без змін.
* Надішліть `/think` (або `/think:`) без аргументу, щоб побачити поточний рівень мислення.

## Застосування за агентом

* **Вбудований OpenClaw**: визначений рівень передається до внутрішньопроцесного рантайму агента OpenClaw.
* **Бекенд Claude CLI**: рівні не-`off` передаються до Claude Code як `--effort` під час використання `claude-cli`; див. [бекенди CLI](/uk/gateway/cli-backends).

## Швидкий режим (/fast)

* Рівні: `auto|on|off|default`.
* Повідомлення, що містить лише директиву, перемикає перевизначення швидкого режиму сеансу й відповідає `Fast mode set to auto.`, `Fast mode enabled.` або `Fast mode disabled.`. Використовуйте `/fast default`, щоб очистити перевизначення сеансу й успадкувати налаштоване типове значення; псевдоніми: `inherit`, `clear`, `reset` і `unpin`.
* Надішліть `/fast` (або `/fast status`) без режиму, щоб побачити поточний ефективний стан швидкого режиму.
* OpenClaw визначає швидкий режим у такому порядку:
  1. Вбудоване перевизначення або перевизначення лише директивою `/fast auto|on|off` (`/fast default` очищає цей шар)
  2. Перевизначення сеансу
  3. Типове значення для агента (`agents.list[].fastModeDefault`)
  4. Конфігурація для моделі: `agents.defaults.models["<provider>/<model>"].params.fastMode`
  5. Резервний варіант: `off`
* `auto` зберігає режим сеансу/конфігурації як auto, але визначає кожен новий виклик моделі незалежно. Виклики, що починаються до auto-відсікання, мають увімкнений швидкий режим; пізніші retry, fallback, tool-result або continuation виклики стартують із вимкненим швидким режимом. Відсікання за замовчуванням становить 60 секунд; задайте `agents.defaults.models["<provider>/<model>"].params.fastAutoOnSeconds` для активної моделі, щоб змінити його.
* Для `openai/*` швидкий режим зіставляється з пріоритетною обробкою OpenAI через надсилання `service_tier=priority` у підтримуваних запитах Responses.
* Для моделей `openai/*` / `openai-codex/*`, підкріплених Codex, швидкий режим надсилає той самий прапорець `service_tier=priority` у Codex Responses. Нативні turns app-server Codex отримують tier лише під час `turn/start` або старту/відновлення thread, тож `auto` не може змінити tier для вже запущеного app-server turn; він застосовується до наступного model turn, який запускає OpenClaw.
* Для прямих публічних запитів `anthropic/*`, включно з трафіком з OAuth-аутентифікацією, надісланим до `api.anthropic.com`, швидкий режим зіставляється з service tiers Anthropic: `/fast on` задає `service_tier=auto`, `/fast off` задає `service_tier=standard_only`.
* Для `minimax/*` на Anthropic-сумісному шляху `/fast on` (або `params.fastMode: true`) переписує `MiniMax-M2.7` на `MiniMax-M2.7-highspeed`.
* Явні параметри моделі Anthropic `serviceTier` / `service_tier` перевизначають типове значення швидкого режиму, коли задано обидва. OpenClaw усе одно пропускає ін’єкцію service-tier Anthropic для не-Anthropic proxy base URLs.
* `/status` показує `Fast`, коли швидкий режим увімкнено, і `Fast:auto`, коли налаштований режим — auto.

## Директиви докладності (/verbose або /v)

* Рівні: `on` (мінімальний) | `full` | `off` (типовий).
* Повідомлення, що містить лише директиву, перемикає докладність сеансу й відповідає `Verbose logging enabled.` / `Verbose logging disabled.`; недійсні рівні повертають підказку без зміни стану.
* `/verbose off` зберігає явне перевизначення сеансу; очистьте його через UI сеансів, вибравши `inherit`.
* Авторизовані відправники зовнішніх каналів можуть зберігати перевизначення докладності сеансу. Внутрішнім клієнтам gateway/webchat потрібен `operator.admin`, щоб зберігати його.
* Вбудована директива впливає лише на це повідомлення; інакше застосовуються типові значення сеансу/глобальні типові значення.
* Надішліть `/verbose` (або `/verbose:`) без аргументу, щоб побачити поточний рівень докладності.
* Коли докладність увімкнена, агенти, що випускають структуровані результати інструментів, надсилають кожен виклик інструмента назад як окреме повідомлення лише з метаданими, з префіксом `<emoji> <tool-name>: <arg>`, коли доступно. Ці підсумки інструментів надсилаються щойно кожен інструмент стартує (окремі bubbles), а не як streaming deltas.
* Підсумки збоїв інструментів залишаються видимими у звичайному режимі, але суфікси сирих деталей помилок приховані, якщо докладність не `full`.
* Коли докладність — `full`, виходи інструментів також пересилаються після завершення (окремий bubble, обрізаний до безпечної довжини). Якщо ви перемкнете `/verbose on|full|off`, поки виконання триває, наступні bubbles інструментів дотримуватимуться нового налаштування.
* `agents.defaults.toolProgressDetail` керує формою підсумків інструментів `/verbose` і рядків інструментів у progress-draft. Використовуйте `"explain"` (типово) для компактних зрозумілих людині міток на кшталт `🛠️ Exec: checking JS syntax`; використовуйте `"raw"`, коли також хочете додавати сиру команду/деталі для налагодження. Перевизначення для агента `agents.list[].toolProgressDetail` має пріоритет над типовим значенням.
  * `explain`: `🛠️ Exec: check JS syntax for /tmp/app.js`
  * `raw`: `🛠️ Exec: check JS syntax for /tmp/app.js, node --check /tmp/app.js`

## Директиви трасування Plugin (/trace)

* Рівні: `on` | `off` (типовий).
* Повідомлення, що містить лише директиву, перемикає вивід трасування Plugin для сеансу й відповідає `Plugin trace enabled.` / `Plugin trace disabled.`.
* Вбудована директива впливає лише на це повідомлення; інакше застосовуються типові значення сеансу/глобальні типові значення.
* Надішліть `/trace` (або `/trace:`) без аргументу, щоб побачити поточний рівень трасування.
* `/trace` вужчий за `/verbose`: він показує лише рядки трасування/налагодження, що належать Plugin, наприклад підсумки налагодження Active Memory.
* Рядки трасування можуть з’являтися в `/status` і як наступне діагностичне повідомлення після звичайної відповіді асистента.

## Видимість reasoning (/reasoning)

* Рівні: `on|off|stream`.
* Повідомлення, що містить лише директиву, перемикає, чи показуються блоки мислення у відповідях.
* Коли ввімкнено, reasoning надсилається як **окреме повідомлення** з префіксом `Thinking`.
* `stream`: транслює reasoning під час генерації відповіді, коли активний канал підтримує попередні перегляди reasoning, а потім надсилає фінальну відповідь без reasoning.
* Псевдонім: `/reason`.
* Надішліть `/reasoning` (або `/reasoning:`) без аргументу, щоб побачити поточний рівень reasoning.
* Порядок визначення: вбудована директива, потім перевизначення сеансу, потім типове значення для агента (`agents.list[].reasoningDefault`), потім глобальне типове значення (`agents.defaults.reasoningDefault`), потім резервний варіант (`off`).

Неправильно сформовані теги міркування локальної моделі обробляються консервативно. Закриті блоки `<think>...</think>` залишаються прихованими у звичайних відповідях, а незакрите міркування після вже видимого тексту також приховується. Якщо відповідь повністю обгорнута в один незакритий відкривальний тег і інакше була б доставлена як порожній текст, OpenClaw видаляє неправильно сформований відкривальний тег і доставляє решту тексту.

## Пов’язане

* Документація режиму підвищених прав розміщена в [Режимі підвищених прав](/uk/tools/elevated).

## Heartbeat

* Тіло перевірки Heartbeat — це налаштований запит Heartbeat (за замовчуванням: `Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.`). Вбудовані директиви в повідомленні Heartbeat застосовуються як зазвичай (але уникайте зміни стандартних налаштувань сесії з Heartbeat).
* Доставка Heartbeat за замовчуванням надсилає лише фінальне корисне навантаження. Щоб також надіслати окреме повідомлення `Thinking` (коли воно доступне), задайте `agents.defaults.heartbeat.includeReasoning: true` або для окремого агента `agents.list[].heartbeat.includeReasoning: true`.

## Вебінтерфейс чату

* Селектор міркування у вебчаті віддзеркалює збережений рівень сесії зі сховища/конфігурації вхідної сесії під час завантаження сторінки.
* Вибір іншого рівня одразу записує перевизначення сесії через `sessions.patch`; він не чекає наступного надсилання і не є одноразовим перевизначенням `thinkingOnce`.
* Перший варіант завжди є вибором очищення перевизначення. Він показує `Inherited: <resolved level>`, включно з `Inherited: Off`, коли успадковане міркування вимкнено.
* Явні варіанти селектора використовують прямі мітки своїх рівнів, зберігаючи мітки провайдера, коли вони наявні (наприклад, `Maximum` для варіанта `max` з міткою провайдера).
* Селектор використовує `thinkingLevels`, повернуті рядком/стандартними налаштуваннями сесії Gateway, а `thinkingOptions` зберігається як застарілий список міток. Браузерний UI не зберігає власний список регулярних виразів провайдерів; plugins володіють наборами рівнів для конкретних моделей.
* `/think:<level>` досі працює й оновлює той самий збережений рівень сесії, тож директиви чату та селектор залишаються синхронізованими.

## Профілі провайдерів

* Plugins провайдерів можуть надавати `resolveThinkingProfile(ctx)`, щоб визначати підтримувані моделлю рівні та стандартне значення.
* Plugins провайдерів, які проксіюють моделі Claude, мають повторно використовувати `resolveClaudeThinkingProfile(modelId)` з `openclaw/plugin-sdk/provider-model-shared`, щоб прямі каталоги Anthropic і проксі-каталоги залишалися узгодженими.
* Кожен рівень профілю має збережений канонічний `id` (`off`, `minimal`, `low`, `medium`, `high`, `xhigh`, `adaptive` або `max`) і може містити відображувану `label`. Бінарні провайдери використовують `{ id: "low", label: "on" }`.
* Хуки профілів отримують об’єднані факти каталогу, коли вони доступні, включно з `reasoning`, `compat.thinkingFormat` і `compat.supportedReasoningEfforts`. Використовуйте ці факти, щоб показувати бінарні або користувацькі профілі лише тоді, коли налаштований контракт запиту підтримує відповідне корисне навантаження.
* Tool plugins, яким потрібно перевіряти явне перевизначення міркування, мають використовувати `api.runtime.agent.resolveThinkingPolicy({ provider, model })` разом з `api.runtime.agent.normalizeThinkingLevel(...)`; вони не мають зберігати власні списки рівнів провайдерів/моделей.
* Tool plugins із доступом до налаштованих метаданих користувацької моделі можуть передавати `catalog` у `resolveThinkingPolicy`, щоб opt-in-и `compat.supportedReasoningEfforts` відображалися у валідації на боці Plugin.
* Опубліковані застарілі хуки (`supportsXHighThinking`, `isBinaryThinking` і `resolveDefaultThinkingLevel`) залишаються як адаптери сумісності, але нові набори користувацьких рівнів мають використовувати `resolveThinkingProfile`.
* Рядки/стандартні налаштування Gateway надають `thinkingLevels`, `thinkingOptions` і `thinkingDefault`, щоб клієнти ACP/чату відображали ті самі ідентифікатори та мітки профілів, які використовує runtime-валідація.
