Fundamentals
زمان اجرای عامل
OpenClaw یک زماناجرای عاملِ تعبیهشدهٔ واحد اجرا میکند - یک فرایند عامل برای هر Gateway، با فضای کاری، فایلهای راهاندازی و مخزن نشستهای خودش. این صفحه قرارداد آن زماناجرا را پوشش میدهد: فضای کاری باید شامل چه چیزهایی باشد، کدام فایلها تزریق میشوند، و نشستها چگونه بر پایهٔ آن راهاندازی میشوند.
فضای کاری (الزامی)
OpenClaw از یک دایرکتوری فضای کاری عامل (agents.defaults.workspace) بهعنوان تنها دایرکتوری کاری (cwd) عامل برای ابزارها و زمینه استفاده میکند.
پیشنهاد میشود: از openclaw setup استفاده کنید تا اگر ~/.openclaw/openclaw.json وجود ندارد آن را ایجاد کند و فایلهای فضای کاری را مقداردهی اولیه کند.
چیدمان کامل فضای کاری + راهنمای پشتیبانگیری: فضای کاری عامل
اگر agents.defaults.sandbox فعال باشد، نشستهای غیر اصلی میتوانند این مقدار را با
فضاهای کاری ویژهٔ هر نشست زیر agents.defaults.sandbox.workspaceRoot بازنویسی کنند (نگاه کنید به
پیکربندی Gateway).
فایلهای راهاندازی (تزریقشده)
داخل agents.defaults.workspace، OpenClaw انتظار دارد این فایلهای قابلویرایش توسط کاربر وجود داشته باشند:
AGENTS.md- دستورالعملهای عملیاتی + «حافظه»SOUL.md- پرسونا، مرزها، لحنTOOLS.md- یادداشتهای ابزار نگهداریشده توسط کاربر (مثلاًimsg،sag، قراردادها)BOOTSTRAP.md- آیین یکبارهٔ اجرای نخست (پس از تکمیل حذف میشود)IDENTITY.md- نام/حالوهوا/ایموجی عاملUSER.md- پروفایل کاربر + شیوهٔ خطاب ترجیحی
در نخستین نوبت یک نشست جدید، OpenClaw محتوای این فایلها را در Project Context اعلان سیستم تزریق میکند.
فایلهای خالی نادیده گرفته میشوند. فایلهای بزرگ کوتاه و بریده میشوند و یک نشانگر به آنها افزوده میشود تا اعلانها سبک بمانند (برای محتوای کامل، فایل را بخوانید).
اگر فایلی وجود نداشته باشد، OpenClaw یک خط نشانگر «فایل ناموجود» تزریق میکند (و openclaw setup یک قالب پیشفرض امن ایجاد خواهد کرد).
BOOTSTRAP.md فقط برای یک فضای کاری کاملاً جدید ایجاد میشود (وقتی هیچ فایل راهاندازی دیگری وجود ندارد). تا زمانی که در انتظار است، OpenClaw آن را در Project Context نگه میدارد و بهجای کپی کردن آن در پیام کاربر، راهنمای راهاندازی اعلان سیستم را برای آیین اولیه اضافه میکند. اگر پس از تکمیل آیین آن را حذف کنید، نباید در راهاندازیهای بعدی دوباره ایجاد شود.
پس از مشاهده شدن یک فضای کاری، OpenClaw همچنین یک نشانگر گواهی در دایرکتوری وضعیت برای مسیر فضای کاری نگه میدارد. اگر فضای کاریای که اخیراً گواهی شده ناپدید شود یا پاک شود، راهاندازی از بذرگذاری دوبارهٔ بیسروصدای BOOTSTRAP.md خودداری میکند؛ فضای کاری را بازیابی کنید یا از بازنشانی کامل فرایند آمادهسازی استفاده کنید تا فضای کاری و نشانگر با هم پاک شوند.
برای غیرفعال کردن کامل ایجاد فایلهای راهاندازی (برای فضاهای کاری از پیش بذرگذاریشده)، تنظیم کنید:
{ agents: { defaults: { skipBootstrap: true } } }ابزارهای داخلی
ابزارهای اصلی (خواندن/اجرا/ویرایش/نوشتن و ابزارهای سیستمی مرتبط) همیشه در دسترس هستند،
مشروط به سیاست ابزار. apply_patch اختیاری است و با
tools.exec.applyPatch کنترل میشود. TOOLS.md تعیین نمیکند کدام ابزارها وجود دارند؛
راهنمایی برای این است که شما میخواهید چگونه از آنها استفاده شود.
Skills
OpenClaw مهارتها را از این مکانها بارگذاری میکند (بالاترین اولویت در ابتدا):
- فضای کاری:
<workspace>/skills - مهارتهای عامل پروژه:
<workspace>/.agents/skills - مهارتهای عامل شخصی:
~/.agents/skills - مدیریتشده/محلی:
~/.openclaw/skills - بستهشده همراه نصب
- پوشههای مهارت اضافه:
skills.load.extraDirs
ریشههای مهارت میتوانند شامل پوشههای گروهبندیشدهای مانند
<workspace>/skills/personal/foo/SKILL.md باشند؛ مهارت همچنان با نام تخت فرانتمتر خود،
برای مثال foo، ارائه میشود.
Skills میتوانند با پیکربندی/متغیر محیطی کنترل شوند (نگاه کنید به skills در پیکربندی Gateway).
مرزهای زماناجرا
زماناجرای عامل تعبیهشده متعلق به OpenClaw است: کشف مدل، اتصال ابزارها، مونتاژ اعلان، مدیریت نشست، و تحویل کانال یک سطح زماناجرای یکپارچه را به اشتراک میگذارند.
نشستها
رونوشتهای نشست بهصورت JSONL در این مسیر ذخیره میشوند:
~/.openclaw/agents/<agentId>/sessions/<SessionId>.jsonl
شناسهٔ نشست پایدار است و توسط OpenClaw انتخاب میشود. پوشههای نشست قدیمی از ابزارهای دیگر خوانده نمیشوند.
هدایت هنگام پخش جریانی
اعلانهای ورودی که در میانهٔ اجرا میرسند، بهطور پیشفرض به اجرای فعلی هدایت میشوند. هدایت پس از آنکه نوبت فعلی دستیار اجرای فراخوانیهای ابزار خود را تمام کرد تحویل داده میشود، پیش از فراخوانی بعدی LLM، و دیگر فراخوانیهای ابزار باقیمانده از پیام فعلی دستیار را رد نمیکند.
/queue steer رفتار پیشفرض اجرای فعال است. /queue followup و
/queue collect باعث میشوند پیامها بهجای هدایت شدن، برای نوبتی بعدی منتظر بمانند.
/queue interrupt در عوض اجرای فعال را لغو میکند. برای رفتار صف و مرزها، صف
و صف هدایت را ببینید.
پخش جریانی بلوکی، بلوکهای کاملشدهٔ دستیار را بهمحض پایان یافتن ارسال میکند؛ این قابلیت
بهطور پیشفرض خاموش است (agents.defaults.blockStreamingDefault: "off").
مرز را از طریق agents.defaults.blockStreamingBreak تنظیم کنید (text_end در برابر message_end؛ پیشفرض text_end است).
قطعهبندی نرم بلوک را با agents.defaults.blockStreamingChunk کنترل کنید (پیشفرض
800-1200 نویسه؛ شکست پاراگراف را ترجیح میدهد، سپس خطوط جدید؛ جملهها در آخر).
قطعههای پخششده را با agents.defaults.blockStreamingCoalesce همادغام کنید تا
هرزپیام تکخطی کمتر شود (ادغام مبتنی بر بیکاری پیش از ارسال). کانالهای غیر Telegram برای فعال کردن پاسخهای بلوکی به
*.blockStreaming: true صریح نیاز دارند.
خلاصههای مفصل ابزار هنگام شروع ابزار منتشر میشوند (بدون debounce)؛ Control UI
در صورت در دسترس بودن، خروجی ابزار را از طریق رویدادهای عامل پخش میکند.
جزئیات بیشتر: پخش جریانی + قطعهبندی.
ارجاعهای مدل
ارجاعهای مدل در پیکربندی (برای مثال agents.defaults.model و agents.defaults.models) با تقسیم روی اولین / تجزیه میشوند.
- هنگام پیکربندی مدلها از
provider/modelاستفاده کنید. - اگر خود شناسهٔ مدل شامل
/است (سبک OpenRouter)، پیشوند ارائهدهنده را شامل کنید (مثال:openrouter/moonshotai/kimi-k2). - اگر ارائهدهنده را حذف کنید، OpenClaw ابتدا یک نام مستعار را امتحان میکند، سپس یک تطبیق ارائهدهندهٔ پیکربندیشدهٔ یکتا برای همان شناسهٔ دقیق مدل، و فقط پس از آن به ارائهدهندهٔ پیشفرض پیکربندیشده بازمیگردد. اگر آن ارائهدهنده دیگر مدل پیشفرض پیکربندیشده را ارائه نکند، OpenClaw بهجای نمایش یک پیشفرض کهنهٔ ارائهدهندهٔ حذفشده، به نخستین ارائهدهنده/مدل پیکربندیشده بازمیگردد.
پیکربندی (حداقلی)
حداقل اینها را تنظیم کنید:
agents.defaults.workspacechannels.whatsapp.allowFrom(بهشدت توصیه میشود)
بعدی: گپهای گروهی 🦞