---
read_when:
    - تغییر زمان اجرای عامل، راه‌اندازی اولیهٔ فضای کاری، یا رفتار نشست
summary: محیط اجرای عامل، قرارداد فضای کاری و راه‌اندازی اولیه نشست
title: زمان اجرای عامل
x-i18n:
    generated_at: "2026-05-06T09:09:05Z"
    model: gpt-5.5
    provider: openai
    source_hash: 372cf6a02b35646c24e68d96938bba57721eeec512e17c2d40c8e721e7561bd1
    source_path: concepts/agent.md
    workflow: 16
---

OpenClaw یک **زمان‌اجرای عاملِ تعبیه‌شده واحد** اجرا می‌کند - یک فرایند عامل برای هر
Gateway، با فضای کاری، فایل‌های راه‌اندازی اولیه، و ذخیره‌گاه نشست خودش. این صفحه
قرارداد آن زمان‌اجرا را پوشش می‌دهد: فضای کاری باید چه چیزهایی داشته باشد، کدام فایل‌ها
تزریق می‌شوند، و نشست‌ها چگونه بر اساس آن راه‌اندازی اولیه می‌شوند.

## فضای کاری (الزامی)

OpenClaw از یک پوشه فضای کاری عامل واحد (`agents.defaults.workspace`) به‌عنوان **تنها** پوشه کاری عامل (`cwd`) برای ابزارها و زمینه استفاده می‌کند.

توصیه‌شده: از `openclaw setup` استفاده کنید تا اگر `~/.openclaw/openclaw.json` وجود ندارد ساخته شود و فایل‌های فضای کاری مقداردهی اولیه شوند.

طرح کامل فضای کاری + راهنمای پشتیبان‌گیری: [فضای کاری عامل](/fa/concepts/agent-workspace)

اگر `agents.defaults.sandbox` فعال باشد، نشست‌های غیر اصلی می‌توانند این را با
فضاهای کاری مخصوص هر نشست زیر `agents.defaults.sandbox.workspaceRoot` بازنویسی کنند (ببینید
[پیکربندی Gateway](/fa/gateway/configuration)).

## فایل‌های راه‌اندازی اولیه (تزریق‌شده)

درون `agents.defaults.workspace`، OpenClaw انتظار دارد این فایل‌های قابل ویرایش توسط کاربر وجود داشته باشند:

- `AGENTS.md` - دستورالعمل‌های عملیاتی + «حافظه»
- `SOUL.md` - شخصیت، مرزها، لحن
- `TOOLS.md` - یادداشت‌های ابزار که کاربر نگهداری می‌کند (مثلاً `imsg`، `sag`، قراردادها)
- `BOOTSTRAP.md` - آیین یک‌باره اجرای نخست (پس از تکمیل حذف می‌شود)
- `IDENTITY.md` - نام/حال‌وهوا/ایموجی عامل
- `USER.md` - نمایه کاربر + شیوه خطاب ترجیحی

در اولین نوبت یک نشست جدید، OpenClaw محتوای این فایل‌ها را در زمینه پروژه پرامپت سیستم تزریق می‌کند.

فایل‌های خالی نادیده گرفته می‌شوند. فایل‌های بزرگ کوتاه و با یک نشانگر بریده می‌شوند تا پرامپت‌ها سبک بمانند (برای محتوای کامل، فایل را بخوانید).

اگر فایلی وجود نداشته باشد، OpenClaw یک خط نشانگر «فایل مفقود» تزریق می‌کند (و `openclaw setup` یک الگوی پیش‌فرض امن می‌سازد).

`BOOTSTRAP.md` فقط برای یک **فضای کاری کاملاً جدید** ساخته می‌شود (وقتی هیچ فایل راه‌اندازی اولیه دیگری وجود ندارد). تا زمانی که در انتظار اجراست، OpenClaw آن را در زمینه پروژه نگه می‌دارد و به‌جای کپی کردن آن در پیام کاربر، راهنمای راه‌اندازی اولیه پرامپت سیستم را برای آیین آغازین اضافه می‌کند. اگر پس از تکمیل آیین آن را حذف کنید، نباید در راه‌اندازی‌های دوباره بعدی بازسازی شود.

برای غیرفعال کردن کامل ساخت فایل راه‌اندازی اولیه (برای فضاهای کاری از پیش آماده‌شده)، تنظیم کنید:

```json5
{ agents: { defaults: { skipBootstrap: true } } }
```

## ابزارهای داخلی

ابزارهای هسته‌ای (خواندن/اجرا/ویرایش/نوشتن و ابزارهای سیستمی مرتبط) همیشه در دسترس‌اند،
مشروط به سیاست ابزار. `apply_patch` اختیاری است و با
`tools.exec.applyPatch` کنترل می‌شود. `TOOLS.md` تعیین نمی‌کند کدام ابزارها وجود دارند؛
راهنمایی است برای اینکه _شما_ می‌خواهید چگونه از آن‌ها استفاده شود.

## Skills

OpenClaw مهارت‌ها را از این مکان‌ها بارگذاری می‌کند (با بالاترین اولویت در ابتدا):

- فضای کاری: `<workspace>/skills`
- Skills عامل پروژه: `<workspace>/.agents/skills`
- Skills عامل شخصی: `~/.agents/skills`
- مدیریت‌شده/محلی: `~/.openclaw/skills`
- بسته‌شده همراه نصب
- پوشه‌های مهارت اضافی: `skills.load.extraDirs`

Skills می‌تواند با پیکربندی/متغیر محیطی کنترل شود (بخش `skills` را در [پیکربندی Gateway](/fa/gateway/configuration) ببینید).

## مرزهای زمان‌اجرا

زمان‌اجرای عامل تعبیه‌شده بر پایه هسته عامل Pi ساخته شده است (مدل‌ها، ابزارها، و
خط لوله پرامپت). مدیریت نشست، کشف، اتصال ابزارها، و تحویل کانالی
لایه‌هایی متعلق به OpenClaw روی آن هسته هستند.

## نشست‌ها

رونوشت‌های نشست به‌صورت JSONL در این مسیر ذخیره می‌شوند:

- `~/.openclaw/agents/<agentId>/sessions/<SessionId>.jsonl`

شناسه نشست پایدار است و OpenClaw آن را انتخاب می‌کند.
پوشه‌های نشست قدیمی از ابزارهای دیگر خوانده نمی‌شوند.

## هدایت هنگام استریم

وقتی حالت صف `steer` باشد، پیام‌های ورودی به اجرای فعلی تزریق می‌شوند.
هدایت صف‌شده **پس از پایان نوبت فعلی دستیار در اجرای فراخوانی‌های ابزارش**،
پیش از فراخوانی بعدی LLM تحویل داده می‌شود. Pi همه پیام‌های هدایت در انتظار را
برای `steer` با هم تخلیه می‌کند؛ `queue` قدیمی در هر مرز مدل یک پیام را تخلیه می‌کند.
هدایت دیگر فراخوانی‌های ابزار باقی‌مانده از پیام فعلی دستیار را رد نمی‌کند.

وقتی حالت صف `followup` یا `collect` باشد، پیام‌های ورودی تا پایان
نوبت فعلی نگه داشته می‌شوند، سپس یک نوبت عامل جدید با محموله‌های صف‌شده آغاز می‌شود. برای رفتار حالت
و مرز، [صف](/fa/concepts/queue) و [صف هدایت](/fa/concepts/queue-steering) را ببینید.

استریم بلوکی، بلوک‌های تکمیل‌شده دستیار را به‌محض پایانشان می‌فرستد؛ این قابلیت
**به‌طور پیش‌فرض خاموش است** (`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
در صورت دسترس بودن، خروجی ابزار را از طریق رویدادهای عامل استریم می‌کند.
جزئیات بیشتر: [استریم + قطعه‌بندی](/fa/concepts/streaming).

## ارجاع‌های مدل

ارجاع‌های مدل در پیکربندی (برای مثال `agents.defaults.model` و `agents.defaults.models`) با جدا کردن بر اساس **اولین** `/` پردازش می‌شوند.

- هنگام پیکربندی مدل‌ها از `provider/model` استفاده کنید.
- اگر خود شناسه مدل شامل `/` است (سبک OpenRouter)، پیشوند ارائه‌دهنده را وارد کنید (مثال: `openrouter/moonshotai/kimi-k2`).
- اگر ارائه‌دهنده را حذف کنید، OpenClaw ابتدا یک نام مستعار را امتحان می‌کند، سپس یک
  تطابق یکتای ارائه‌دهنده پیکربندی‌شده برای همان شناسه دقیق مدل، و فقط پس از آن به
  ارائه‌دهنده پیش‌فرض پیکربندی‌شده برمی‌گردد. اگر آن ارائه‌دهنده دیگر مدل پیش‌فرض
  پیکربندی‌شده را ارائه نکند، OpenClaw به‌جای نشان دادن یک پیش‌فرض کهنه مربوط به ارائه‌دهنده حذف‌شده،
  به اولین ارائه‌دهنده/مدل پیکربندی‌شده برمی‌گردد.

## پیکربندی (حداقلی)

در حداقل حالت، تنظیم کنید:

- `agents.defaults.workspace`
- `channels.whatsapp.allowFrom` (اکیداً توصیه می‌شود)

---

_بعدی: [گفت‌وگوهای گروهی](/fa/channels/group-messages)_ 🦞

## مرتبط

- [فضای کاری عامل](/fa/concepts/agent-workspace)
- [مسیریابی چندعاملی](/fa/concepts/multi-agent)
- [مدیریت نشست](/fa/concepts/session)
