---
read_when:
    - ویرایش متن پرامپت سیستم، فهرست ابزارها، یا بخش‌های زمان/Heartbeat
    - تغییر رفتار راه‌اندازی اولیهٔ فضای کاری یا تزریق Skills
summary: محتوای پرامپت سیستم OpenClaw و نحوهٔ مونتاژ آن
title: پرامپت سیستم
x-i18n:
    generated_at: "2026-05-02T23:39:08Z"
    model: gpt-5.5
    provider: openai
    source_hash: f8e0234453812c16cf5d273096d335049bf435ca76ade36200caf4bb344624e5
    source_path: concepts/system-prompt.md
    workflow: 16
---

OpenClaw برای هر اجرای عامل، یک اعلان سیستمی سفارشی می‌سازد. این اعلان **متعلق به OpenClaw** است و از اعلان پیش‌فرض pi-coding-agent استفاده نمی‌کند.

اعلان توسط OpenClaw سرهم‌بندی می‌شود و در هر اجرای عامل تزریق می‌شود.

Pluginهای ارائه‌دهنده می‌توانند راهنمایی اعلانِ آگاه از کش را بدون جایگزین‌کردن
کل اعلان متعلق به OpenClaw اضافه کنند. runtime ارائه‌دهنده می‌تواند:

- مجموعه کوچکی از بخش‌های هسته‌ای نام‌دار را جایگزین کند (`interaction_style`,
  `tool_call_style`, `execution_bias`)
- یک **پیشوند پایدار** بالای مرز کش اعلان تزریق کند
- یک **پسوند پویا** پایین مرز کش اعلان تزریق کند

از مشارکت‌های متعلق به ارائه‌دهنده برای تنظیم‌های خاص خانواده مدل استفاده کنید. جهش اعلانِ قدیمی
`before_prompt_build` را برای سازگاری یا تغییرات واقعاً سراسری اعلان نگه دارید،
نه رفتار عادی ارائه‌دهنده.

لایه OpenAI خانواده GPT-5 قاعده اجرای هسته را کوچک نگه می‌دارد و
راهنمایی ویژه مدل را برای چسبیدن به پرسونا، خروجی مختصر، انضباط ابزار،
جست‌وجوی موازی، پوشش تحویل‌دادنی‌ها، راستی‌آزمایی، زمینه مفقود، و
بهداشت ابزار ترمینال اضافه می‌کند.

## ساختار

اعلان عمداً فشرده است و از بخش‌های ثابت استفاده می‌کند:

- **ابزارها**: یادآور منبع حقیقت ابزار ساخت‌یافته به‌علاوه راهنمایی runtime برای استفاده از ابزار.
- **سوگیری اجرا**: راهنمایی فشرده برای پیگیری تا پایان: روی درخواست‌های
  قابل اقدام در همان نوبت عمل کنید، تا انجام‌شدن یا مسدودشدن ادامه دهید، از نتایج
  ضعیف ابزار بازیابی کنید، وضعیت قابل تغییر را زنده بررسی کنید، و پیش از نهایی‌کردن راستی‌آزمایی کنید.
- **ایمنی**: یادآور کوتاه حفاظتی برای پرهیز از رفتار قدرت‌طلبانه یا دورزدن نظارت.
- **Skills** (در صورت موجودبودن): به مدل می‌گوید چگونه دستورالعمل‌های skill را هنگام نیاز بارگذاری کند.
- **خودبه‌روزرسانی OpenClaw**: نحوه بررسی ایمن پیکربندی با
  `config.schema.lookup`، وصله‌کردن پیکربندی با `config.patch`، جایگزینی کامل
  پیکربندی با `config.apply`، و اجرای `update.run` فقط در صورت درخواست صریح کاربر.
  ابزار فقط-مالک `gateway` همچنین از بازنویسی
  `tools.exec.ask` / `tools.exec.security` خودداری می‌کند، از جمله نام‌های مستعار قدیمی `tools.bash.*`
  که به آن مسیرهای محافظت‌شده exec نرمال‌سازی می‌شوند.
- **Workspace**: پوشه کاری (`agents.defaults.workspace`).
- **مستندات**: مسیر محلی به مستندات OpenClaw (repo یا بسته npm) و زمان خواندن آن‌ها.
- **فایل‌های Workspace (تزریق‌شده)**: نشان می‌دهد فایل‌های راه‌اندازی در ادامه گنجانده شده‌اند.
- **Sandbox** (وقتی فعال باشد): runtime سندباکس‌شده، مسیرهای sandbox، و اینکه exec ارتقایافته در دسترس است یا نه را نشان می‌دهد.
- **تاریخ و زمان کنونی**: زمان محلی کاربر، منطقه زمانی، و قالب زمان.
- **برچسب‌های پاسخ**: نحو اختیاری برچسب پاسخ برای ارائه‌دهندگان پشتیبانی‌شده.
- **Heartbeatها**: اعلان Heartbeat و رفتار ack، وقتی Heartbeatها برای عامل پیش‌فرض فعال باشند.
- **Runtime**: میزبان، OS، node، مدل، ریشه repo (وقتی شناسایی شود)، سطح تفکر (یک خط).
- **استدلال**: سطح دیدپذیری کنونی + راهنمای تغییر وضعیت /reasoning.

OpenClaw محتوای بزرگ و پایدار، از جمله **زمینه پروژه**، را بالای
مرز داخلی کش اعلان نگه می‌دارد. بخش‌های ناپایدار کانال/نشست مانند
راهنمای جاسازی Control UI، **پیام‌رسانی**، **صدا**، **زمینه گفت‌وگوی گروهی**،
**واکنش‌ها**، **Heartbeatها**، و **Runtime** پایین آن مرز افزوده می‌شوند
تا backendهای محلی با کش‌های پیشوند بتوانند پیشوند پایدار workspace را
در نوبت‌های کانال بازاستفاده کنند. توضیحات ابزار نیز باید از جاسازی نام‌های
کنونی کانال خودداری کنند، وقتی schema پذیرفته‌شده همان جزئیات runtime را از قبل حمل می‌کند.

بخش ابزارها همچنین راهنمایی runtime برای کارهای طولانی‌مدت را شامل می‌شود:

- برای پیگیری آینده (`check back later`، یادآورها، کارهای تکرارشونده) از cron استفاده کنید
  به‌جای حلقه‌های sleep در `exec`، ترفندهای تأخیر `yieldMs`، یا polling تکراری `process`
- از `exec` / `process` فقط برای دستورهایی استفاده کنید که اکنون شروع می‌شوند و
  در پس‌زمینه به اجرا ادامه می‌دهند
- وقتی بیدارباش تکمیل خودکار فعال است، دستور را یک‌بار شروع کنید و به
  مسیر بیدارباش push-based تکیه کنید وقتی خروجی منتشر می‌کند یا شکست می‌خورد
- وقتی لازم است یک دستور در حال اجرا را بررسی کنید، از `process` برای لاگ‌ها، وضعیت، ورودی، یا مداخله استفاده کنید
- اگر وظیفه بزرگ‌تر است، `sessions_spawn` را ترجیح دهید؛ تکمیل زیرعامل
  push-based است و خودکار به درخواست‌کننده اعلام می‌شود
- فقط برای انتظار تکمیل، `subagents list` / `sessions_list` را در حلقه poll نکنید

وقتی ابزار آزمایشی `update_plan` فعال باشد، بخش ابزارها همچنین به
مدل می‌گوید آن را فقط برای کارهای چندمرحله‌ای غیرساده استفاده کند، دقیقاً یک
گام `in_progress` نگه دارد، و از تکرار کل برنامه پس از هر به‌روزرسانی خودداری کند.

حفاظ‌های ایمنی در اعلان سیستمی جنبه راهنمایی دارند. آن‌ها رفتار مدل را هدایت می‌کنند اما سیاست را اعمال نمی‌کنند. برای اعمال سخت‌گیرانه از سیاست ابزار، تأییدهای exec، sandboxing، و allowlistهای کانال استفاده کنید؛ اپراتورها عمداً می‌توانند این‌ها را غیرفعال کنند.

در کانال‌هایی با کارت‌ها/دکمه‌های تأیید بومی، اعلان runtime اکنون به
عامل می‌گوید ابتدا به همان UI تأیید بومی تکیه کند. فقط وقتی باید دستور دستی
`/approve` را درج کند که نتیجه ابزار بگوید تأییدهای چت در دسترس نیستند یا
تأیید دستی تنها مسیر است.

## حالت‌های اعلان

OpenClaw می‌تواند اعلان‌های سیستمی کوچک‌تری برای زیرعامل‌ها رندر کند. runtime برای هر اجرا یک
`promptMode` تنظیم می‌کند (نه یک پیکربندی رو به کاربر):

- `full` (پیش‌فرض): همه بخش‌های بالا را شامل می‌شود.
- `minimal`: برای زیرعامل‌ها استفاده می‌شود؛ **Skills**، **Memory Recall**، **خودبه‌روزرسانی OpenClaw**،
  **نام‌های مستعار مدل**، **هویت کاربر**، **برچسب‌های پاسخ**،
  **پیام‌رسانی**، **پاسخ‌های خاموش**، و **Heartbeatها** را حذف می‌کند. ابزارها، **ایمنی**،
  Workspace، Sandbox، تاریخ و زمان کنونی (وقتی شناخته شده باشد)، Runtime، و زمینه تزریق‌شده
  همچنان در دسترس می‌مانند.
- `none`: فقط خط هویت پایه را برمی‌گرداند.

وقتی `promptMode=minimal` باشد، اعلان‌های تزریق‌شده اضافی به‌جای **زمینه گفت‌وگوی گروهی** با برچسب **زمینه زیرعامل** مشخص می‌شوند.

برای اجراهای پاسخ خودکار کانال، OpenClaw می‌تواند بخش عمومی **پاسخ‌های خاموش**
را حذف کند وقتی زمینه چت مستقیم/گروهی از قبل رفتار
مختص گفت‌وگوی حل‌شده `NO_REPLY` را شامل می‌شود. این کار از تکرار مکانیک توکن
هم در اعلان سیستمی سراسری و هم در زمینه کانال جلوگیری می‌کند.

## snapshotهای اعلان

OpenClaw snapshotهای اعلان commit‌شده را برای مسیر موفق runtime Codex زیر
`test/fixtures/agents/prompt-snapshots/codex-runtime-happy-path/` نگه می‌دارد. آن‌ها
پارامترهای منتخب thread/turn سرور برنامه به‌علاوه یک پشته لایه اعلان بازسازی‌شده متصل به مدل
را برای نوبت‌های مستقیم Telegram، گروه Discord، و Heartbeat رندر می‌کنند. آن پشته
شامل یک fixture اعلان مدل Codex `gpt-5.5` پین‌شده است که از شکل catalog/cache مدل Codex تولید شده،
متن توسعه‌دهنده مجوز مسیر موفق Codex،
دستورالعمل‌های توسعه‌دهنده OpenClaw، ورودی نوبت کاربر، و ارجاع‌ها به مشخصات پویای ابزار را شامل می‌شود.

fixture اعلان مدل Codex پین‌شده را با
`pnpm prompt:snapshots:sync-codex-model` تازه‌سازی کنید. به‌طور پیش‌فرض، اسکریپت ابتدا به‌دنبال
کش runtime Codex در `$CODEX_HOME/models_cache.json` می‌گردد، سپس
`~/.codex/models_cache.json`، و فقط بعد از آن به قرارداد checkout نگه‌دارنده Codex
در `~/code/codex/codex-rs/models-manager/models.json` برمی‌گردد. اگر
هیچ‌یک از آن منابع وجود نداشته باشند، دستور بدون تغییر fixture commit‌شده خارج می‌شود.
برای تازه‌سازی از یک فایل مشخص `models_cache.json` یا `models.json`، `--catalog <path>` را پاس دهید.

این snapshotها هنوز capture خام بایت‌به‌بایت درخواست OpenAI نیستند. Codex
می‌تواند زمینه workspace متعلق به runtime مانند `AGENTS.md`، زمینه محیط،
خاطره‌ها، دستورالعمل‌های برنامه/Plugin، و دستورالعمل‌های آینده حالت همکاری
را پس از اینکه OpenClaw پارامترهای thread و turn را می‌فرستد، داخل runtime Codex اضافه کند.

آن‌ها را با `pnpm prompt:snapshots:gen` بازتولید کنید و drift را با
`pnpm prompt:snapshots:check` راستی‌آزمایی کنید. CI بررسی drift را در shard مرزی
اضافی اجرا می‌کند تا تغییرات اعلان و به‌روزرسانی‌های snapshot به همان PR متصل بمانند.

## تزریق راه‌اندازی Workspace

فایل‌های راه‌اندازی کوتاه می‌شوند و زیر **زمینه پروژه** افزوده می‌شوند تا مدل بدون نیاز به خواندن صریح، زمینه هویت و پروفایل را ببیند:

- `AGENTS.md`
- `SOUL.md`
- `TOOLS.md`
- `IDENTITY.md`
- `USER.md`
- `HEARTBEAT.md`
- `BOOTSTRAP.md` (فقط در workspaceهای کاملاً جدید)
- `MEMORY.md` وقتی موجود باشد

همه این فایل‌ها در هر نوبت **به پنجره زمینه تزریق می‌شوند** مگر اینکه
یک gate مختص فایل اعمال شود. `HEARTBEAT.md` در اجراهای عادی حذف می‌شود وقتی
Heartbeatها برای عامل پیش‌فرض غیرفعال باشند یا
`agents.defaults.heartbeat.includeSystemPromptSection` برابر false باشد. فایل‌های تزریق‌شده
را مختصر نگه دارید — به‌ویژه `MEMORY.md` که می‌تواند با گذر زمان رشد کند و به
مصرف زمینه غیرمنتظره بالا و Compaction مکررتر منجر شود.

وقتی یک نشست روی harness بومی Codex اجرا می‌شود، Codex فایل `AGENTS.md`
را از طریق کشف سند پروژه خودش بارگذاری می‌کند. OpenClaw همچنان فایل‌های راه‌اندازی باقی‌مانده
را resolve می‌کند و آن‌ها را به‌عنوان دستورالعمل‌های پیکربندی Codex ارسال می‌کند، بنابراین `SOUL.md`،
`TOOLS.md`، `IDENTITY.md`، `USER.md`، `HEARTBEAT.md`، `BOOTSTRAP.md`، و
`MEMORY.md` همان نقش زمینه workspace را بدون تکرار
`AGENTS.md` حفظ می‌کنند.

<Note>
فایل‌های روزانه `memory/*.md` بخشی از زمینه پروژه راه‌اندازی عادی **نیستند**. در نوبت‌های معمولی، آن‌ها در صورت نیاز از طریق ابزارهای `memory_search` و `memory_get` در دسترس قرار می‌گیرند، بنابراین در پنجره زمینه حساب نمی‌شوند مگر اینکه مدل صراحتاً آن‌ها را بخواند. نوبت‌های خالی `/new` و `/reset` استثنا هستند: runtime می‌تواند حافظه روزانه اخیر را به‌عنوان یک بلوک زمینه راه‌اندازی یک‌باره برای همان نوبت اول پیشوند کند.
</Note>

فایل‌های بزرگ با یک نشانگر کوتاه می‌شوند. بیشینه اندازه هر فایل توسط
`agents.defaults.bootstrapMaxChars` کنترل می‌شود (پیش‌فرض: 12000). کل محتوای راه‌اندازی تزریق‌شده
در همه فایل‌ها با `agents.defaults.bootstrapTotalMaxChars` محدود می‌شود
(پیش‌فرض: 60000). فایل‌های مفقود یک نشانگر کوتاه فایل-مفقود تزریق می‌کنند. وقتی کوتاه‌سازی
رخ می‌دهد، OpenClaw می‌تواند یک بلوک هشدار در زمینه پروژه تزریق کند؛ این را با
`agents.defaults.bootstrapPromptTruncationWarning` کنترل کنید (`off`، `once`، `always`؛
پیش‌فرض: `once`).

نشست‌های زیرعامل فقط `AGENTS.md` و `TOOLS.md` را تزریق می‌کنند (فایل‌های راه‌اندازی دیگر
برای کوچک نگه‌داشتن زمینه زیرعامل فیلتر می‌شوند).

hookهای داخلی می‌توانند این گام را از طریق `agent:bootstrap` رهگیری کنند تا فایل‌های راه‌اندازی تزریق‌شده را تغییر دهند یا جایگزین کنند (مثلاً جایگزین‌کردن `SOUL.md` با یک پرسونای جایگزین).

اگر می‌خواهید عامل کمتر عمومی به‌نظر برسد، با
[راهنمای شخصیت SOUL.md](/fa/concepts/soul) شروع کنید.

برای بررسی اینکه هر فایل تزریق‌شده چه مقدار سهم دارد (خام در برابر تزریق‌شده، کوتاه‌سازی، به‌علاوه سربار schema ابزار)، از `/context list` یا `/context detail` استفاده کنید. [زمینه](/fa/concepts/context) را ببینید.

## مدیریت زمان

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

وقتی عامل به زمان کنونی نیاز دارد، از `session_status` استفاده کنید؛ کارت وضعیت
یک خط timestamp را شامل می‌شود. همان ابزار می‌تواند به‌صورت اختیاری یک override مدل مختص نشست
تنظیم کند (`model=default` آن را پاک می‌کند).

با این‌ها پیکربندی کنید:

- `agents.defaults.userTimezone`
- `agents.defaults.timeFormat` (`auto` | `12` | `24`)

برای جزئیات کامل رفتار، [تاریخ و زمان](/fa/date-time) را ببینید.

## Skills

وقتی skillهای واجد شرایط وجود داشته باشند، OpenClaw یک **فهرست skillهای موجود** فشرده
(`formatSkillsForPrompt`) تزریق می‌کند که **مسیر فایل** هر skill را شامل می‌شود. اعلان
به مدل دستور می‌دهد از `read` برای بارگذاری SKILL.md در مکان فهرست‌شده
(workspace، مدیریت‌شده، یا bundled) استفاده کند. اگر هیچ skill واجد شرایطی وجود نداشته باشد،
بخش Skills حذف می‌شود.

واجد شرایط بودن شامل gateهای metadata مربوط به skill، بررسی‌های محیط/پیکربندی runtime،
و allowlist مؤثر skill عامل است وقتی `agents.defaults.skills` یا
`agents.list[].skills` پیکربندی شده باشد.

skillهای bundled همراه Plugin فقط وقتی واجد شرایط هستند که Plugin مالکشان فعال باشد.
این اجازه می‌دهد Pluginهای ابزار راهنماهای عملیاتی عمیق‌تر را بدون جاسازی همه
آن راهنمایی مستقیماً در هر توضیح ابزار ارائه کنند.

```
<available_skills>
  <skill>
    <name>...</name>
    <description>...</description>
    <location>...</location>
  </skill>
</available_skills>
```

این کار اعلان پایه را کوچک نگه می‌دارد و همچنان استفاده هدفمند از skill را ممکن می‌کند.

بودجه فهرست skillها متعلق به زیرسامانه skillها است:

- پیش‌فرض سراسری: `skills.limits.maxSkillsPromptChars`
- override در سطح هر عامل: `agents.list[].skillsLimits.maxSkillsPromptChars`

گزیده‌های عمومی محدودشده runtime از یک سطح متفاوت استفاده می‌کنند:

- `agents.defaults.contextLimits.*`
- `agents.list[].contextLimits.*`

این تفکیک، اندازه‌گذاری Skills را از اندازه‌گذاری خواندن/تزریق در زمان اجرا جدا نگه می‌دارد؛
مانند `memory_get`، نتایج زندهٔ ابزار، و تازه‌سازی‌های AGENTS.md پس از Compaction.

## مستندات

اعلان سیستمی شامل بخشی با عنوان **مستندات** است. وقتی مستندات محلی در دسترس باشند، به
دایرکتوری مستندات محلی OpenClaw اشاره می‌کند (`docs/` در یک checkout گیت یا مستندات بستهٔ
npm همراه). اگر مستندات محلی در دسترس نباشند، به
[https://docs.openclaw.ai](https://docs.openclaw.ai) بازمی‌گردد.

همین بخش همچنین محل منبع OpenClaw را هم شامل می‌شود. checkoutهای گیت، ریشهٔ منبع محلی را
در اختیار عامل می‌گذارند تا بتواند کد را مستقیماً بررسی کند. نصب‌های بسته شامل URL منبع
GitHub هستند و به عامل می‌گویند هر زمان مستندات ناقص یا قدیمی بود، منبع را آنجا مرور کند.
اعلان همچنین به آینهٔ مستندات عمومی، Discord جامعه، و ClawHub
([https://clawhub.ai](https://clawhub.ai)) برای کشف Skills اشاره می‌کند. این اعلان به مدل
می‌گوید برای رفتار، فرمان‌ها، پیکربندی، یا معماری OpenClaw ابتدا مستندات را بررسی کند و
هر زمان ممکن بود خودش `openclaw status` را اجرا کند (تنها زمانی از کاربر بپرسد که دسترسی
نداشته باشد). به‌طور خاص برای پیکربندی، عامل‌ها را به کنش ابزار `gateway` یعنی
`config.schema.lookup` برای مستندات و محدودیت‌های دقیق در سطح فیلد هدایت می‌کند، سپس برای
راهنمایی گسترده‌تر به `docs/gateway/configuration.md` و
`docs/gateway/configuration-reference.md` ارجاع می‌دهد.

## مرتبط

- [زمان اجرای عامل](/fa/concepts/agent)
- [فضای کاری عامل](/fa/concepts/agent-workspace)
- [موتور زمینه](/fa/concepts/context-engine)
