Перейти к основному содержанию

Что делает

  • Встроенная директива в любом входящем теле: /t <level>, /think:<level> или /thinking <level>.
  • Уровни (псевдонимы): off | minimal | low | medium | high | xhigh | adaptive | max
    • minimal → “думай”
    • low → “думай глубоко”
    • medium → “думай глубже”
    • 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 → максимальное рассуждение поставщика (Anthropic Claude Opus 4.7+; Ollama сопоставляет это со своим максимальным нативным усилием think)
    • x-high, x_high, extra-high, extra high и extra_high сопоставляются с xhigh.
    • highest сопоставляется с high.
  • Примечания по поставщикам:
    • Меню и селекторы мышления управляются профилем поставщика. Plugin поставщика объявляют точный набор уровней для выбранной модели, включая метки вроде бинарного 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. Сохраненные переопределения 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 опускает отключенную полезную нагрузку рассуждения вместо отправки неподдерживаемого значения.
    • Пользовательские записи каталога, совместимые с OpenAI, могут включить /think xhigh, задав models.providers.<provider>.models[].compat.supportedReasoningEfforts так, чтобы он включал "xhigh". Для этого используются те же метаданные совместимости, которые сопоставляют исходящие полезные нагрузки усилия рассуждения OpenAI, поэтому меню, проверка сессии, CLI агента и llm-task согласованы с поведением транспорта.
    • Устаревшие настроенные ссылки OpenRouter Hunter Alpha пропускают инъекцию прокси-рассуждения, потому что этот выведенный из эксплуатации маршрут мог возвращать текст финального ответа через поля рассуждения.
    • Google Gemini сопоставляет /think adaptive с динамическим мышлением Gemini под управлением поставщика. Запросы Gemini 3 опускают фиксированный thinkingLevel, а запросы Gemini 2.5 отправляют thinkingBudget: -1; фиксированные уровни по-прежнему сопоставляются с ближайшим Gemini thinkingLevel или бюджетом для этого семейства моделей.
    • MiniMax M2.x (minimax/MiniMax-M2*) на Anthropic-совместимом потоковом пути по умолчанию использует thinking: { type: "disabled" }, если вы явно не задаете мышление в параметрах модели или параметрах запроса. Это предотвращает утечку дельт reasoning_content из ненативного потокового формата Anthropic у 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. Откат: объявленное поставщиком значение по умолчанию, когда доступно; иначе модели с поддержкой рассуждения разрешаются в medium или ближайший поддерживаемый уровень не off для этой модели, а модели без рассуждения остаются 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.

Быстрый режим (/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, но разрешает каждый новый вызов модели независимо. Вызовы, которые начинаются до автоматического порога, получают включенный быстрый режим; последующие повторные попытки, откаты, вызовы с результатами инструментов или продолжения запускаются с выключенным быстрым режимом. Порог по умолчанию равен 60 секундам; задайте agents.defaults.models["<provider>/<model>"].params.fastAutoOnSeconds на активной модели, чтобы изменить его.
  • Для openai/* быстрый режим сопоставляется с приоритетной обработкой OpenAI путем отправки service_tier=priority в поддерживаемых запросах Responses.
  • Для моделей openai/* / openai-codex/* на базе Codex быстрый режим отправляет тот же флаг service_tier=priority в Codex Responses. Нативные ходы сервера приложений Codex получают уровень только при turn/start или запуске/возобновлении потока, поэтому auto не может переназначить уровень уже выполняющегося хода сервера приложений; он применяется к следующему ходу модели, который запускает OpenClaw.
  • Для прямых публичных запросов anthropic/*, включая OAuth-аутентифицированный трафик, отправляемый в api.anthropic.com, быстрый режим сопоставляется с уровнями сервиса 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 по-прежнему пропускает инъекцию уровня сервиса Anthropic для базовых URL прокси, не относящихся к Anthropic.
  • /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>, когда доступно. Эти сводки инструментов отправляются сразу при запуске каждого инструмента (отдельными пузырями), а не как потоковые дельты.
  • Сводки сбоев инструментов остаются видимыми в обычном режиме, но суффиксы с сырыми деталями ошибок скрыты, если подробность не full.
  • Когда подробность равна full, выводы инструментов также пересылаются после завершения (отдельным пузырем, усеченные до безопасной длины). Если вы переключаете /verbose on|full|off во время выполняющегося запуска, последующие пузыри инструментов учитывают новую настройку.
  • agents.defaults.toolProgressDetail управляет формой сводок инструментов /verbose и строк инструментов в черновиках прогресса. Используйте "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)

  • Уровни: on|off|stream.
  • Сообщение только с директивой переключает, показываются ли блоки мышления в ответах.
  • Когда включено, рассуждение отправляется как отдельное сообщение с префиксом Thinking.
  • stream: передает рассуждение потоком, пока ответ генерируется, когда активный канал поддерживает предпросмотр рассуждения, затем отправляет финальный ответ без рассуждения.
  • Псевдоним: /reason.
  • Отправьте /reasoning (или /reasoning:) без аргумента, чтобы увидеть текущий уровень рассуждения.
  • Порядок разрешения: встроенная директива, затем переопределение сессии, затем значение по умолчанию для агента (agents.list[].reasoningDefault), затем глобальное значение по умолчанию (agents.defaults.reasoningDefault), затем откат (off).
Некорректные теги рассуждений локальной модели обрабатываются консервативно. Закрытые блоки <think>...</think> остаются скрытыми в обычных ответах, а незакрытые рассуждения после уже видимого текста также скрываются. Если ответ полностью обернут в один незакрытый открывающий тег и иначе был бы доставлен как пустой текст, OpenClaw удаляет некорректный открывающий тег и доставляет оставшийся текст.

Связанные материалы

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 сохраняется как устаревший список меток. Браузерный интерфейс не хранит собственный список регулярных выражений провайдеров; 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, чтобы согласия compat.supportedReasoningEfforts отражались при проверке на стороне plugin.
  • Опубликованные устаревшие хуки (supportsXHighThinking, isBinaryThinking и resolveDefaultThinkingLevel) остаются адаптерами совместимости, но новые пользовательские наборы уровней должны использовать resolveThinkingProfile.
  • Строки/настройки по умолчанию Gateway предоставляют thinkingLevels, thinkingOptions и thinkingDefault, чтобы клиенты ACP/чата отображали те же идентификаторы и метки профилей, которые использует проверка во время выполнения.