---
read_when:
    - تنظیم تجزیه یا پیش‌فرض‌های دستورالعمل‌های تفکر، حالت سریع یا پرگویی
summary: نحو دستورهای /think، /fast، /verbose، /trace و قابلیت مشاهدهٔ استدلال
title: سطوح تفکر
x-i18n:
    generated_at: "2026-07-27T14:54:46Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: 80968ce58f642090ba0f807874e43eea1206cd31d919414c690b7537dc523658
    source_path: tools/thinking.md
    workflow: 16
---

## چه کاری انجام می‌دهد

- دستور درون‌خطی در هر بدنهٔ ورودی: `/t <level>`، `/think:<level>` یا `/thinking <level>`.
- سطح‌ها (نام‌های مستعار): `off | minimal | low | medium | high | xhigh | adaptive | max | ultra`، تقریباً متناظر با نردبان کلاسیک واژه‌های جادویی Anthropic یعنی "think" < "think hard" < "think harder" < "ultrathink":
  - minimal ~ "think"
  - low ~ "think hard"
  - medium ~ "think harder"
  - high ~ "ultrathink" (حداکثر بودجه)
  - xhigh ~ "ultrathink+" (مدل‌های GPT-5.2+ و Codex، به‌علاوهٔ effort در 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 این را به بالاترین effort بومی `think` خود نگاشت می‌کند)
  - ultra → حداکثر استدلال ارائه‌دهنده به‌همراه هماهنگ‌سازی پیش‌دستانهٔ عامل‌های فرعی، هنگامی که مدل/زمان‌اجرای انتخاب‌شده از آن پشتیبانی کند
  - `x-high`، `x_high`، `extra-high`، `extra high` و `extra_high` به `xhigh` نگاشت می‌شوند.
  - `highest` به `high` نگاشت می‌شود.
- نکات ارائه‌دهنده:
  - منوها و انتخاب‌گرهای تفکر بر اساس نمایهٔ ارائه‌دهنده هستند. Pluginهای ارائه‌دهنده مجموعهٔ دقیق سطح‌ها را برای مدل انتخاب‌شده، از جمله برچسب‌هایی مانند `on` دودویی، اعلام می‌کنند.
  - `adaptive`، `xhigh`، `max` و `ultra` فقط برای نمایه‌های ارائه‌دهنده/مدل/زمان‌اجرایی اعلام می‌شوند که از آن‌ها پشتیبانی می‌کنند. دستورهای تایپ‌شده برای سطح‌های پشتیبانی‌نشده با ارائهٔ گزینه‌های معتبر آن مدل رد می‌شوند.
  - سطح‌های پشتیبانی‌نشدهٔ ذخیره‌شدهٔ موجود بر اساس رتبهٔ نمایهٔ ارائه‌دهنده بازنگاشت می‌شوند. در مدل‌های غیرتطبیقی، `adaptive` به `medium` بازمی‌گردد، درحالی‌که `xhigh` و `max` به بالاترین سطح پشتیبانی‌شدهٔ غیرخاموش برای مدل انتخاب‌شده بازمی‌گردند.
  - مدل‌های Anthropic Claude 4.6 در صورت تنظیم‌نشدن سطح تفکر صریح، به‌طور پیش‌فرض از `adaptive` استفاده می‌کنند.
  - Anthropic Claude Opus 4.8 و Opus 4.7 تفکر را خاموش نگه می‌دارند، مگر اینکه سطح تفکری را صریحاً تنظیم کنید. پس از فعال‌شدن تفکر تطبیقی، پیش‌فرض effort متعلق به ارائه‌دهنده در Opus 4.8 برابر `high` است.
  - Anthropic Claude Opus 4.7+،‏ `/think xhigh` را به تفکر تطبیقی به‌همراه `output_config.effort: "xhigh"` نگاشت می‌کند، زیرا `/think` یک دستور تفکر و `xhigh` تنظیم effort در Opus است.
  - Anthropic Claude Opus 4.7+ همچنین `/think max` را ارائه می‌کند؛ این سطح به همان مسیر حداکثر effort متعلق به ارائه‌دهنده نگاشت می‌شود.
  - مدل‌های مستقیم DeepSeek V4،‏ `/think xhigh|max` را ارائه می‌کنند؛ هر دو به `reasoning_effort: "max"` در DeepSeek نگاشت می‌شوند، درحالی‌که سطح‌های پایین‌تر غیرخاموش به `high` نگاشت می‌شوند.
  - مدل‌های DeepSeek V4 مسیریابی‌شده از طریق OpenRouter،‏ `/think xhigh` را ارائه می‌کنند و به‌جای `reasoning_effort` سطح‌بالای بومی DeepSeek، مقادیر `reasoning.effort` پشتیبانی‌شده توسط OpenRouter را ارسال می‌کنند. سطح‌های پایین‌تر غیرخاموش به `high` نگاشت می‌شوند و بازنویسی‌های ذخیره‌شدهٔ `max` به `xhigh` بازمی‌گردند.
  - مدل‌های دارای قابلیت تفکر Ollama،‏ `/think low|medium|high|max` را ارائه می‌کنند؛ `max` به `think: "high"` بومی نگاشت می‌شود، زیرا API بومی Ollama رشته‌های effort یعنی `low`، `medium` و `high` را می‌پذیرد.
  - مدل‌های OpenAI GPT،‏ `/think` را از طریق پشتیبانی effort ویژهٔ هر مدل در Responses API نگاشت می‌کنند. `/think off` فقط زمانی `reasoning.effort: "none"` را ارسال می‌کند که مدل مقصد از آن پشتیبانی کند؛ در غیر این صورت، OpenClaw به‌جای ارسال مقداری پشتیبانی‌نشده، محمولهٔ استدلال غیرفعال را حذف می‌کند.
  - GPT-5.6 Sol و Terra،‏ `/think ultra` بومی را از طریق زمان‌اجرای Codex ارائه می‌کنند. GPT-5.6 Luna سطح‌ها را تا `max` ارائه می‌کند، زیرا کاتالوگ Codex آن Ultra را اعلام نمی‌کند.
  - زمان‌اجرای تعبیه‌شدهٔ OpenClaw،‏ `/think ultra` منطقی را برای GPT-5.6 Sol،‏ Terra و Luna ارائه می‌کند. این زمان‌اجرا حداکثر effort ارائه‌دهنده را ارسال می‌کند و راهنمای هماهنگ‌سازی پیش‌دستانهٔ عامل‌های فرعی در محدودهٔ اجرا را می‌افزاید.
  - ورودی‌های سفارشی کاتالوگ سازگار با OpenAI می‌توانند با تنظیم `models.providers.<provider>.models[].compat.supportedReasoningEfforts` به‌گونه‌ای که `"xhigh"` را شامل شود، استفاده از `/think xhigh` را فعال کنند. این کار از همان فرادادهٔ سازگاری استفاده می‌کند که محموله‌های effort استدلال خروجی OpenAI را نگاشت می‌کند، بنابراین منوها، اعتبارسنجی نشست، CLI عامل و `llm-task` با رفتار انتقال سازگار می‌مانند.
  - ارجاع‌های قدیمی پیکربندی‌شدهٔ OpenRouter Hunter Alpha از تزریق استدلال پروکسی صرف‌نظر می‌کنند، زیرا آن مسیر بازنشسته ممکن بود متن پاسخ نهایی را از طریق فیلدهای استدلال بازگرداند.
  - Google Gemini،‏ `/think adaptive` را به تفکر پویای متعلق به ارائه‌دهنده در Gemini نگاشت می‌کند. درخواست‌های Gemini 3 یک `thinkingLevel` ثابت را حذف می‌کنند، درحالی‌که درخواست‌های Gemini 2.5،‏ `thinkingBudget: -1` را ارسال می‌کنند؛ سطح‌های ثابت همچنان به نزدیک‌ترین `thinkingLevel` یا بودجهٔ Gemini برای آن خانوادهٔ مدل نگاشت می‌شوند.
  - 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/*`) برای بیشتر مدل‌های GLM دودویی (`on`/`off`) است. GLM-5.2 استثنا است: `/think off|low|high|max` را ارائه می‌کند، `low` و `high` را به `reasoning_effort: "high"` در Z.AI نگاشت می‌کند و `max` را به `reasoning_effort: "max"` نگاشت می‌کند.
  - Kimi K3 در Moonshot API ‏(`moonshot/kimi-k3`) همیشه در سطح `max` فکر می‌کند، `reasoning_effort: "max"` را ارسال می‌کند، فیلد `thinking` مربوط به K2 و بازنویسی‌های نمونه‌گیری ثابت را حذف می‌کند و گزینه‌های ابزار پشتیبانی‌شده توسط K3 را حفظ می‌کند. Kimi Code K3 ‏(`kimi/k3` و `kimi/k3[1m]`)،‏ `/think off|max` را ارائه می‌کند: حالت خاموش `thinking.type: "disabled"` را ارسال می‌کند، درحالی‌که حالت حداکثر تفکر تطبیقی را با حداکثر effort ارسال می‌کند. ارجاع‌های کنونی Kimi Code همچنین شامل `kimi/kimi-for-coding` و `kimi/kimi-for-coding-highspeed` هستند. Kimi K2.7 Code ‏(`moonshot/kimi-k2.7-code` و `moonshot/kimi-k2.7-code-highspeed`) همیشه فکر می‌کند، فقط `on` را ارائه می‌کند و هر دو `thinking` و `reasoning_effort` خروجی را حذف می‌کند. سایر مدل‌های `moonshot/*`،‏ `/think off` را به `thinking: { type: "disabled" }` و هر سطح غیر `off` را به `thinking: { type: "enabled" }` نگاشت می‌کنند. هنگامی که تفکر K2 فعال است، Moonshot فقط `tool_choice` `auto|none` را می‌پذیرد؛ OpenClaw مقادیر ناسازگار را به `auto` نرمال‌سازی می‌کند.

## ترتیب تفکیک

1. دستور درون‌خطی روی پیام (فقط بر همان پیام اعمال می‌شود).
2. بازنویسی نشست (با ارسال پیامی که فقط شامل دستور است تنظیم می‌شود).
3. پیش‌فرض هر عامل (`agents.entries.*.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**: هنگام استفاده از `claude-cli`، سطح‌های مشخص غیرخاموش به‌صورت `--effort` به Claude Code منتقل می‌شوند؛ `adaptive` پرچم‌های effort پیکربندی‌شده را حذف می‌کند و effort مؤثر را به محیط، تنظیمات و پیش‌فرض‌های مدل Claude Code واگذار می‌کند. [بک‌اندهای CLI](/fa/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.entries.*.fastModeDefault`)
  4. پیکربندی هر مدل: `agents.defaults.models["<provider>/<model>"].params.fastMode`
  5. بازگشت: `off`
- `auto` حالت نشست/پیکربندی را روی خودکار نگه می‌دارد، اما هر فراخوانی جدید مدل را مستقل تفکیک می‌کند. فراخوانی‌هایی که پیش از مهلت خودکار آغاز می‌شوند، حالت سریع را فعال دارند؛ فراخوانی‌های بعدیِ تلاش مجدد، بازگشت، نتیجهٔ ابزار یا ادامه با حالت سریع غیرفعال آغاز می‌شوند. مهلت به‌طور پیش‌فرض 60 ثانیه است؛ برای تغییر آن، `agents.defaults.models["<provider>/<model>"].params.fastAutoOnSeconds` را روی مدل فعال تنظیم کنید.
- برای `openai/*`، حالت سریع با ارسال `service_tier=priority` در درخواست‌های Responses پشتیبانی‌شده به پردازش اولویت‌دار OpenAI نگاشت می‌شود.
- برای مدل‌های `openai/*` / `openai-codex/*` مبتنی بر Codex، حالت سریع همان پرچم `service_tier=priority` را در Codex Responses ارسال می‌کند. نوبت‌های بومی app-server در Codex فقط هنگام `turn/start` یا شروع/ازسرگیری رشته، tier را دریافت می‌کنند؛ بنابراین `auto` نمی‌تواند tier یک نوبت app-server در حال اجرا را تغییر دهد و بر نوبت مدل بعدی که OpenClaw آغاز می‌کند اعمال می‌شود.
- برای درخواست‌های عمومی مستقیم `anthropic/*`، از جمله ترافیک احراز هویت‌شده با OAuth که به `api.anthropic.com` ارسال می‌شود، حالت سریع به tierهای سرویس 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 همچنان برای URLهای پایهٔ پروکسی غیر Anthropic از تزریق tier سرویس Anthropic صرف‌نظر می‌کند.
- `/status` هنگام فعال‌بودن حالت سریع، `Fast` و هنگامی که حالت پیکربندی‌شده خودکار است، `Fast:auto` را نمایش می‌دهد.

## دستورهای تفصیلی (/verbose یا /v)

- سطوح: `on` (حداقلی) | `full` | `off` (پیش‌فرض).
- پیامی که فقط شامل دستورالعمل باشد، حالت پرجزئیات نشست را تغییر می‌دهد و با `Verbose logging enabled.` / `Verbose logging disabled.` پاسخ می‌دهد؛ سطوح نامعتبر بدون تغییر وضعیت، یک راهنما برمی‌گردانند.
- `/verbose off` یک مقدار بازنویسی صریح برای نشست ذخیره می‌کند؛ برای پاک‌کردن آن، در رابط کاربری Sessions گزینه `inherit` را انتخاب کنید.
- فرستندگان مجاز کانال‌های خارجی می‌توانند مقدار بازنویسی حالت پرجزئیات نشست را ماندگار کنند. کلاینت‌های داخلی gateway/webchat برای ماندگارکردن آن به `operator.admin` نیاز دارند.
- دستورالعمل درون‌خطی فقط بر همان پیام اثر می‌گذارد؛ در غیر این صورت، پیش‌فرض‌های نشست/سراسری اعمال می‌شوند.
- برای مشاهده سطح فعلی حالت پرجزئیات، `/verbose` (یا `/verbose:`) را بدون آرگومان ارسال کنید.
- وقتی حالت پرجزئیات روشن است، عامل‌هایی که نتایج ساخت‌یافته ابزار تولید می‌کنند، هر فراخوانی ابزار را در قالب پیام جداگانه‌ای که فقط حاوی فراداده است بازمی‌فرستند و در صورت موجودبودن، پیشوند `<emoji> <tool-name>: <arg>` را به آن می‌افزایند. این خلاصه‌های ابزار به‌محض شروع هر ابزار (در حباب‌های جداگانه) ارسال می‌شوند، نه به‌شکل دلتاهای جریانی.
- خلاصه‌های شکست ابزار در حالت عادی قابل‌مشاهده می‌مانند، اما پسوندهای حاوی جزئیات خام خطا پنهان هستند، مگر اینکه حالت پرجزئیات روی `full` باشد.
- وقتی حالت پرجزئیات روی `full` است، خروجی ابزارها نیز پس از تکمیل ارسال می‌شود (در حبابی جداگانه و کوتاه‌شده تا طولی ایمن). اگر هنگام اجرای در حال انجام، `/verbose on|full|off` را تغییر دهید، حباب‌های بعدی ابزار از تنظیم جدید پیروی می‌کنند.
- `agents.defaults.toolProgressDetail` شکل خلاصه‌های ابزار `/verbose` و خطوط ابزار در پیش‌نویس پیشرفت را کنترل می‌کند. برای برچسب‌های فشرده و قابل‌فهم برای انسان، مانند `🛠️ Exec: checking JS syntax`، از `"explain"` (پیش‌فرض) استفاده کنید؛ اگر می‌خواهید فرمان/جزئیات خام نیز برای اشکال‌زدایی ضمیمه شود، از `"raw"` استفاده کنید. مقدار `agents.entries.*.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.entries.*.reasoningDefault`)، سپس پیش‌فرض سراسری (`agents.defaults.reasoningDefault`) و در نهایت مقدار جایگزین (`off`).

برچسب‌های استدلال نادرست مدل محلی با احتیاط مدیریت می‌شوند. بلوک‌های بسته‌شده `<think>...</think>` در پاسخ‌های عادی پنهان می‌مانند و استدلال بسته‌نشده پس از متن ازپیش‌قابل‌مشاهده نیز پنهان می‌شود. اگر یک پاسخ کاملاً در یک برچسب آغازین بسته‌نشده پیچیده شده باشد و در غیر این صورت به‌صورت متن خالی تحویل شود، OpenClaw برچسب آغازین نادرست را حذف می‌کند و متن باقی‌مانده را تحویل می‌دهد.

## مرتبط

- مستندات حالت ارتقایافته در [حالت ارتقایافته](/fa/tools/elevated) قرار دارد.

## Heartbeatها

- بدنه بررسی Heartbeat همان اعلان Heartbeat پیکربندی‌شده است (پیش‌فرض: `Follow the heartbeat monitor scratch context when provided. Recurring tasks are cron jobs; create or change their schedules with cron tools or the openclaw cron CLI, not heartbeat scratch. 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.entries.*.heartbeat.includeReasoning: true` را تنظیم کنید.

## رابط کاربری گفت‌وگوی وب

- هنگام بارگیری صفحه، انتخاب‌گر تفکر در گفت‌وگوی وب، سطح ذخیره‌شده نشست را از ذخیره‌گاه/پیکربندی نشست ورودی بازتاب می‌دهد.
- انتخاب سطحی دیگر، مقدار بازنویسی نشست را فوراً از طریق `sessions.patch` می‌نویسد؛ منتظر ارسال بعدی نمی‌ماند و یک مقدار بازنویسی یک‌باره `thinkingOnce` نیست.
- اگر هنگام ارسال، تغییرات انتخاب‌گر مدل، استدلال یا سرعت همچنان در حال اعمال باشند، ارسال تا اعمال همه وصله‌های در انتظار انتخاب‌گر صبر می‌کند؛ اگر تغییری شکست بخورد، پیام برای بازبینی ارسال‌نشده باقی می‌ماند.
- گزینه نخست همیشه گزینه پاک‌کردن مقدار بازنویسی است. این گزینه `Inherited: <resolved level>` را نمایش می‌دهد و هنگامی که تفکر ارث‌برده‌شده غیرفعال باشد، `Inherited: Off` را نیز شامل می‌شود.
- گزینه‌های صریح انتخاب‌گر از برچسب مستقیم سطح خود استفاده می‌کنند و در صورت وجود، برچسب‌های ارائه‌دهنده را حفظ می‌کنند (برای مثال، `Maximum` برای گزینه `max` دارای برچسب ارائه‌دهنده).
- انتخاب‌گر از `thinkingLevels` بازگردانده‌شده توسط ردیف/پیش‌فرض‌های نشست Gateway استفاده می‌کند و `thinkingOptions` به‌عنوان فهرست قدیمی برچسب‌ها حفظ می‌شود. رابط کاربری مرورگر فهرست عبارت‌های منظم ارائه‌دهندگان را نزد خود نگه نمی‌دارد؛ Pluginها مالک مجموعه‌سطوح مختص مدل هستند.
- `/think:<level>` همچنان کار می‌کند و همان سطح ذخیره‌شده نشست را به‌روزرسانی می‌کند؛ بنابراین دستورالعمل‌های گفت‌وگو و انتخاب‌گر همگام باقی می‌مانند.

## نمایه‌های ارائه‌دهنده

- Pluginهای ارائه‌دهنده می‌توانند `resolveThinkingProfile(ctx)` را ارائه کنند تا سطوح پشتیبانی‌شده و پیش‌فرض مدل را تعریف کنند.
- Pluginهای ارائه‌دهنده‌ای که مدل‌های Claude را واسطه‌گری می‌کنند، باید از `resolveClaudeThinkingProfile(modelId)` در `openclaw/plugin-sdk/provider-model-shared` دوباره استفاده کنند تا کاتالوگ‌های مستقیم Anthropic و کاتالوگ‌های واسطه هم‌راستا بمانند.
- هر سطح نمایه یک `id` متعارف ذخیره‌شده دارد (`off`، `minimal`، `low`، `medium`، `high`، `xhigh`، `adaptive`، `max` یا `ultra`) و ممکن است یک `label` نمایشی داشته باشد. ارائه‌دهندگان دودویی از `{ id: "low", label: "on" }` استفاده می‌کنند.
- هوک‌های نمایه، در صورت موجودبودن، واقعیت‌های ادغام‌شده کاتالوگ را دریافت می‌کنند که شامل `reasoning`، `compat.thinkingFormat` و `compat.supportedReasoningEfforts` است. فقط زمانی از این واقعیت‌ها برای ارائه نمایه‌های دودویی یا سفارشی استفاده کنید که قرارداد درخواست پیکربندی‌شده از محتوای متناظر پشتیبانی کند.
- Pluginهای ابزاری که باید یک مقدار بازنویسی صریح تفکر را اعتبارسنجی کنند، باید از `api.runtime.agent.resolveThinkingPolicy({ provider, model, agentRuntime })` به‌همراه `api.runtime.agent.normalizeThinkingLevel(...)` استفاده کنند؛ آن‌ها نباید فهرست سطوح ارائه‌دهنده/مدل را جداگانه نگه دارند. وقتی ابزار مالک مسیر اجرا است، مانند اجرای همیشه‌تعبیه‌شده، `agentRuntime` را ارسال کنید.
- Pluginهای ابزاری که به فراداده پیکربندی‌شده مدل سفارشی دسترسی دارند، می‌توانند `catalog` را به `resolveThinkingPolicy` ارسال کنند تا اعلام‌های پذیرش `compat.supportedReasoningEfforts` در اعتبارسنجی سمت Plugin منعکس شوند.
- هوک‌های قدیمی منتشرشده (`supportsXHighThinking`، `isBinaryThinking` و `resolveDefaultThinkingLevel`) به‌عنوان سازگارکننده‌های سازگاری باقی می‌مانند، اما مجموعه‌سطوح سفارشی جدید باید از `resolveThinkingProfile` استفاده کنند.
- ردیف‌ها/پیش‌فرض‌های Gateway، مقادیر `thinkingLevels`، `thinkingOptions` و `thinkingDefault` را ارائه می‌کنند تا کلاینت‌های ACP/گفت‌وگو همان شناسه‌ها و برچسب‌های نمایه‌ای را نمایش دهند که اعتبارسنجی زمان اجرا استفاده می‌کند.
