Fundamentals
زمینه
«زمینه» هر چیزی است که OpenClaw برای یک اجرا به مدل میفرستد. اندازهٔ آن به پنجرهٔ زمینه مدل (محدودیت توکن) محدود است.
مدل ذهنی برای مبتدیان:
- پرامپت سیستمی (ساختهشده توسط OpenClaw): قواعد، ابزارها، فهرست Skills، زمان/محیط اجرا و فایلهای تزریقشدهٔ فضای کاری.
- تاریخچهٔ گفتگو: پیامهای شما + پیامهای دستیار در این نشست.
- فراخوانیها/نتایج ابزار + پیوستها: خروجی فرمان، خواندن فایلها، تصاویر/صدا و غیره.
زمینه با «حافظه» یکسان نیست: حافظه را میتوان روی دیسک ذخیره و بعداً دوباره بارگذاری کرد؛ زمینه چیزی است که در پنجرهٔ فعلی مدل قرار دارد.
شروع سریع (بررسی زمینه)
/status→ نمایی سریع برای اینکه «پنجرهام چقدر پر است؟» + تنظیمات نشست./context list→ موارد تزریقشده + اندازههای تقریبی (برای هر فایل + مجموع)./context detail→ تفکیک عمیقتر: اندازهٔ هر فایل، طرحوارهٔ هر ابزار، ورودی هر Skill، پرامپت سیستمی و تعداد پیامهای رونوشت قابل فشردهسازی./context map→ تصویر نقشهٔ درختی به سبک WinDirStat از عوامل ردیابیشدهٔ مشارکتکننده در زمینهٔ نشست فعلی./usage tokens→ افزودن پابرگ مصرف هر پاسخ به پاسخهای عادی./compact→ خلاصهسازی تاریخچهٔ قدیمیتر در یک ورودی فشرده برای آزادسازی فضای پنجره.
همچنین ببینید: فرمانهای اسلش، مصرف و هزینهٔ توکن، Compaction.
نمونهٔ خروجی
مقادیر بسته به مدل، ارائهدهنده، خطمشی ابزار و محتوای فضای کاری شما متفاوتاند.
/context list
🧠 تفکیک زمینهفضای کاری: <workspaceDir>حداکثر راهاندازی/فایل: 12,000 نویسهسندباکس: mode=non-main sandboxed=falseپرامپت سیستمی (اجرا): 38,412 نویسه (~9,603 توکن) (زمینهٔ پروژه 23,901 نویسه (~5,976 توکن)) فایلهای تزریقشدهٔ فضای کاری:- AGENTS.md: تأیید | خام 1,742 نویسه (~436 توکن) | تزریقشده 1,742 نویسه (~436 توکن)- SOUL.md: تأیید | خام 912 نویسه (~228 توکن) | تزریقشده 912 نویسه (~228 توکن)- TOOLS.md: کوتاهشده | خام 54,210 نویسه (~13,553 توکن) | تزریقشده 20,962 نویسه (~5,241 توکن)- IDENTITY.md: تأیید | خام 211 نویسه (~53 توکن) | تزریقشده 211 نویسه (~53 توکن)- USER.md: تأیید | خام 388 نویسه (~97 توکن) | تزریقشده 388 نویسه (~97 توکن)- HEARTBEAT.md: موجود نیست | خام 0 | تزریقشده 0- BOOTSTRAP.md: تأیید | خام 0 نویسه (~0 توکن) | تزریقشده 0 نویسه (~0 توکن) فهرست Skills (متن پرامپت سیستمی): 2,184 نویسه (~546 توکن) (12 Skill)ابزارها: read، edit، write، exec، process، browser، message، sessions_send، …فهرست ابزارها (متن پرامپت سیستمی): 1,032 نویسه (~258 توکن)طرحوارههای ابزار (JSON): 31,988 نویسه (~7,997 توکن) (در زمینه محاسبه میشود؛ بهصورت متن نمایش داده نمیشود)ابزارها: (همان موارد بالا) توکنهای نشست (ذخیرهشده در کش): مجموع 14,250 / ctx=32,000/context detail
🧠 تفکیک زمینه (تفصیلی)…بزرگترین Skills (اندازهٔ ورودی پرامپت):- frontend-design: 412 نویسه (~103 توکن)- oracle: 401 نویسه (~101 توکن)… (+10 Skill دیگر) بزرگترین ابزارها (اندازهٔ طرحواره):- browser: 9,812 نویسه (~2,453 توکن)- exec: 6,240 نویسه (~1,560 توکن)… (+N ابزار دیگر)/context map
تصویری را ارسال میکند که از جدیدترین گزارش اجرای ذخیرهشده در کش بههمراه رونوشت نشست تولید شده است. پیش از اینکه یک پیام عادی در نشست گزارش اجرا تولید کند، /context map بهجای رندر یک برآورد، پیام دردسترسنبودن را برمیگرداند. مساحت مستطیل متناسب با نویسههای ردیابیشدهٔ پرامپت است:
- رونوشت گفتگو (پیامهای کاربر، پاسخهای دستیار، نتایج ابزار، خلاصههای Compaction)، بهعلاوهٔ زمینهٔ محیط اجرای هر نوبت و افزودههای پرامپت هوک که فقط به مدل میرسند
- فایلهای تزریقشدهٔ فضای کاری
- متن پایهٔ پرامپت سیستمی
- ورودیهای پرامپت Skill
- طرحوارههای JSON ابزار
گروه گفتگو همزمان با نشست رشد میکند، بنابراین نقشه در هر نوبت تغییر میکند؛ پس از Compaction، در یک کاشی خلاصهها جمع میشود.
/context list، /context detail و /context json همچنان میتوانند هنگامی که هیچ گزارش اجرایی در کش نیست، برآوردی عنداللزوم را بررسی کنند.
چه چیزهایی در پنجرهٔ زمینه محاسبه میشوند
هر چیزی که مدل دریافت میکند محاسبه میشود، از جمله:
- پرامپت سیستمی (همهٔ بخشها).
- تاریخچهٔ گفتگو.
- فراخوانیهای ابزار + نتایج ابزار.
- پیوستها/رونوشتها (تصاویر/صدا/فایلها).
- خلاصههای Compaction و مصنوعات هرس.
- «پوشانندههای» ارائهدهنده یا سرآیندهای پنهان (قابل مشاهده نیستند، اما همچنان محاسبه میشوند).
OpenClaw چگونه پرامپت سیستمی را میسازد
مالک پرامپت سیستمی OpenClaw است و در هر اجرا دوباره ساخته میشود. این پرامپت شامل موارد زیر است:
- فهرست ابزارها + توضیحات کوتاه.
- فهرست Skills (فقط فراداده؛ پایین را ببینید).
- مکان فضای کاری.
- زمان (UTC + زمان تبدیلشدهٔ کاربر، در صورت پیکربندی).
- فرادادهٔ محیط اجرا (میزبان/سیستمعامل/مدل/تفکر).
- فایلهای راهاندازی تزریقشدهٔ فضای کاری در زمینهٔ پروژه.
تفکیک کامل: پرامپت سیستمی.
فایلهای تزریقشدهٔ فضای کاری (زمینهٔ پروژه)
بهطور پیشفرض، OpenClaw مجموعهای ثابت از فایلهای فضای کاری را، در صورت وجود، تزریق میکند:
AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(فقط اجرای نخست)
فایلهای بزرگ برای هر فایل با استفاده از agents.defaults.bootstrapMaxChars (مقدار پیشفرض 20000 نویسه) کوتاه میشوند. OpenClaw همچنین با agents.defaults.bootstrapTotalMaxChars (مقدار پیشفرض 60000 نویسه) یک سقف کلی برای تزریق راهاندازی در تمام فایلها اعمال میکند. /context اندازههای خام در برابر تزریقشده و رخدادن یا ندادن کوتاهسازی را نشان میدهد.
هنگام وقوع کوتاهسازی، محیط اجرا میتواند یک بلوک هشدار درونپرامپتی را زیر زمینهٔ پروژه تزریق کند. این مورد را با agents.defaults.bootstrapPromptTruncationWarning (off، once، always؛ مقدار پیشفرض always) پیکربندی کنید.
Skills: تزریقشده در برابر بارگذاری عنداللزوم
پرامپت سیستمی شامل یک فهرست Skills فشرده (نام + توضیح + مکان) است. این فهرست سربار واقعی دارد.
دستورالعملهای Skill بهطور پیشفرض گنجانده نمیشوند. انتظار میرود مدل read مربوط به SKILL.md آن Skill را فقط هنگام نیاز انجام دهد.
ابزارها: دو نوع هزینه وجود دارد
ابزارها به دو شکل بر زمینه اثر میگذارند:
- متن فهرست ابزارها در پرامپت سیستمی (آنچه با عنوان «ابزارها» میبینید).
- طرحوارههای ابزار (JSON). این طرحوارهها به مدل فرستاده میشوند تا بتواند ابزارها را فراخوانی کند. حتی اگر آنها را بهصورت متن ساده نبینید، در زمینه محاسبه میشوند.
/context detail بزرگترین طرحوارههای ابزار را تفکیک میکند تا بتوانید عاملهای غالب را ببینید.
فرمانها، رهنمودها و «میانبرهای درونخطی»
فرمانهای اسلش توسط Gateway مدیریت میشوند. چند رفتار متفاوت وجود دارد:
- فرمانهای مستقل: پیامی که فقط
/...باشد، بهصورت فرمان اجرا میشود. - رهنمودها:
/think،/fast،/verbose،/trace،/reasoning،/elevated،/exec،/model،/queueپیش از مشاهدهٔ پیام توسط مدل حذف میشوند.- پیامهایی که فقط حاوی رهنمود هستند، تنظیمات نشست را ماندگار میکنند.
- رهنمودهای درونخطی در یک پیام عادی بهعنوان راهنمای مخصوص همان پیام عمل میکنند.
- میانبرهای درونخطی (فقط فرستندگان فهرست مجاز): برخی توکنهای
/...درون یک پیام عادی میتوانند فوراً اجرا شوند (مثال: «hey /status») و پیش از مشاهدهٔ متن باقیمانده توسط مدل حذف میشوند.
جزئیات: فرمانهای اسلش.
نشستها، Compaction و هرس (چه چیزی ماندگار میشود)
آنچه میان پیامها ماندگار میشود به سازوکار بستگی دارد:
- تاریخچهٔ عادی تا زمانی که طبق خطمشی فشرده/هرس شود، در رونوشت نشست باقی میماند.
- Compaction خلاصهای را در رونوشت ماندگار میکند و پیامهای اخیر را دستنخورده نگه میدارد.
- هرس نتایج قدیمی ابزار را از پرامپت درونحافظهای حذف میکند تا فضای پنجرهٔ زمینه آزاد شود، اما رونوشت نشست را بازنویسی نمیکند — تاریخچهٔ کامل همچنان روی دیسک قابل بررسی است.
مستندات: نشست، Compaction، هرس نشست.
OpenClaw بهطور پیشفرض برای مونتاژ و
Compaction از موتور زمینهٔ داخلی legacy استفاده میکند. اگر Pluginای نصب کنید که kind: "context-engine" را فراهم میکند و
آن را با plugins.slots.contextEngine انتخاب کنید، OpenClaw مونتاژ زمینه،
/compact و هوکهای مرتبط چرخهٔ عمر زمینهٔ عامل فرعی را به آن
موتور واگذار میکند. ownsCompaction: false بهطور خودکار به موتور قدیمی
بازنمیگردد؛ موتور فعال همچنان باید compact() را بهدرستی پیادهسازی کند. برای رابط
قابلاتصال کامل، هوکهای چرخهٔ عمر و پیکربندی، موتور زمینه را ببینید.
/context واقعاً چه چیزی گزارش میکند
/context در صورت وجود، جدیدترین گزارش پرامپت سیستمی ساختهشده هنگام اجرا را ترجیح میدهد:
System prompt (run)= از آخرین اجرای تعبیهشده (دارای قابلیت ابزار) ثبت و در مخزن نشست ماندگار شده است.System prompt (estimate)= هنگامی که هیچ گزارش اجرایی وجود ندارد (یا هنگام اجرا از طریق یک پشتیبان CLI که گزارش را تولید نمیکند)، در لحظه محاسبه میشود.
در هر دو حالت، اندازهها و بزرگترین عوامل مشارکتکننده را گزارش میکند؛ کل پرامپت سیستمی یا طرحوارههای ابزار را تخلیه نمیکند. در حالت تفصیلی، رونوشت نشست را نیز با همان گزارهٔ پیامِ گفتگوی واقعی که Compaction استفاده میکند مقایسه میکند تا تشخیص مصرف بالای پرامپت/کش از تاریخچهٔ گفتگوی قابل فشردهسازی آسانتر شود.