Fundamentals

فضای کاری عامل

فضای کاری خانهٔ عامل است. این تنها دایرکتوری کاری است که برای ابزارهای فایل و برای زمینهٔ فضای کاری استفاده می‌شود. آن را خصوصی نگه دارید و مانند حافظه با آن رفتار کنید.

این از ~/.openclaw/ جداست؛ مسیری که پیکربندی، اعتبارنامه‌ها و نشست‌ها را ذخیره می‌کند.

مکان پیش‌فرض

  • پیش‌فرض: ~/.openclaw/workspace
  • اگر OPENCLAW_PROFILE تنظیم شده باشد و برابر "default" نباشد، پیش‌فرض به ~/.openclaw/workspace-<profile> تبدیل می‌شود.
  • بازنویسی در ~/.openclaw/openclaw.json:
json5
{  agents: {    defaults: {      workspace: "~/.openclaw/workspace",    },  },}

openclaw onboard، openclaw configure، یا openclaw setup فضای کاری را ایجاد می‌کند و اگر فایل‌های bootstrap موجود نباشند، آن‌ها را seed می‌کند.

اگر از قبل خودتان فایل‌های فضای کاری را مدیریت می‌کنید، می‌توانید ایجاد فایل‌های bootstrap را غیرفعال کنید:

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

پوشه‌های اضافی فضای کاری

نصب‌های قدیمی‌تر ممکن است ~/openclaw را ساخته باشند. نگه داشتن چندین دایرکتوری فضای کاری می‌تواند باعث سردرگمی در auth یا drift وضعیت شود، چون در هر زمان فقط یک فضای کاری فعال است.

نقشهٔ فایل‌های فضای کاری

این‌ها فایل‌های استانداردی هستند که OpenClaw انتظار دارد داخل فضای کاری وجود داشته باشند:

AGENTS.md - دستورالعمل‌های عملیاتی

دستورالعمل‌های عملیاتی برای عامل و اینکه چگونه باید از حافظه استفاده کند. در شروع هر نشست بارگذاری می‌شود. جای خوبی برای قوانین، اولویت‌ها، و جزئیات «چگونه رفتار کند» است.

SOUL.md - شخصیت و لحن

شخصیت، لحن، و مرزها. در هر نشست بارگذاری می‌شود. راهنما: راهنمای شخصیت SOUL.md.

USER.md - کاربر کیست

کاربر کیست و چگونه باید او را خطاب کرد. در هر نشست بارگذاری می‌شود.

IDENTITY.md - نام، حال‌وهوا، emoji

نام عامل، حال‌وهوا، و emoji آن. در طول آیین bootstrap ایجاد/به‌روزرسانی می‌شود.

TOOLS.md - قراردادهای ابزار محلی

یادداشت‌هایی دربارهٔ ابزارهای محلی و قراردادهای شما. دسترسی‌پذیری ابزارها را کنترل نمی‌کند؛ فقط راهنماست.

HEARTBEAT.md - چک‌لیست Heartbeat

چک‌لیست کوچک اختیاری برای اجراهای Heartbeat. آن را کوتاه نگه دارید تا از مصرف token جلوگیری شود.

BOOT.md - چک‌لیست راه‌اندازی

چک‌لیست اختیاری راه‌اندازی که به‌صورت خودکار هنگام restart شدن Gateway اجرا می‌شود (وقتی hookهای داخلی فعال باشند). آن را کوتاه نگه دارید؛ برای ارسال‌های خروجی از ابزار message استفاده کنید.

BOOTSTRAP.md - آیین اولین اجرا

آیین یک‌بارهٔ اولین اجرا. فقط برای یک فضای کاری کاملاً جدید ایجاد می‌شود. پس از کامل شدن آیین، آن را حذف کنید.

memory/YYYY-MM-DD.md - گزارش روزانهٔ حافظه

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

MEMORY.md - حافظهٔ بلندمدت گزینش‌شده (اختیاری)

حافظهٔ بلندمدت گزینش‌شده: واقعیت‌های پایدار، ترجیحات، تصمیم‌ها، و خلاصه‌های کوتاه. گزارش‌های مفصل را در memory/YYYY-MM-DD.md نگه دارید تا ابزارهای حافظه بتوانند آن‌ها را در صورت نیاز بازیابی کنند، بدون اینکه به هر prompt تزریق شوند. MEMORY.md را فقط در نشست اصلی و خصوصی بارگذاری کنید (نه در زمینه‌های اشتراکی/گروهی). برای گردش‌کار و flush خودکار حافظه، Memory را ببینید.

skills/ - Skills فضای کاری (اختیاری)

Skills مخصوص فضای کاری. محل Skill با بالاترین اولویت برای آن فضای کاری. وقتی نام‌ها تداخل داشته باشند، Skills عامل پروژه، Skills عامل شخصی، Skills مدیریت‌شده، Skills باندل‌شده، و skills.load.extraDirs را override می‌کند.

canvas/ - فایل‌های رابط کاربری Canvas (اختیاری)

فایل‌های رابط کاربری Canvas برای نمایش‌های node (برای مثال canvas/index.html).

چه چیزهایی در فضای کاری نیستند

این‌ها زیر ~/.openclaw/ قرار دارند و نباید به repo فضای کاری commit شوند:

  • ~/.openclaw/openclaw.json (پیکربندی)
  • ~/.openclaw/agents/<agentId>/agent/auth-profiles.json (پروفایل‌های auth مدل: OAuth + کلیدهای API)
  • ~/.openclaw/agents/<agentId>/agent/codex-home/ (حساب runtime مخصوص هر عامل برای Codex، پیکربندی، skills، plugins، و وضعیت thread بومی)
  • ~/.openclaw/credentials/ (وضعیت channel/provider به‌همراه داده‌های import قدیمی OAuth)
  • ~/.openclaw/agents/<agentId>/sessions/ (رونوشت‌های نشست + metadata)
  • ~/.openclaw/skills/ (skills مدیریت‌شده)

اگر باید نشست‌ها یا پیکربندی را migrate کنید، آن‌ها را جداگانه کپی کنید و خارج از version control نگه دارید.

پشتیبان‌گیری با Git (توصیه‌شده، خصوصی)

با فضای کاری مانند حافظهٔ خصوصی رفتار کنید. آن را در یک repo git خصوصی قرار دهید تا پشتیبان‌گیری شود و قابل بازیابی باشد.

این مراحل را روی ماشینی اجرا کنید که Gateway روی آن اجرا می‌شود (همان جایی که فضای کاری قرار دارد).

  • مقداردهی اولیهٔ repo

    اگر git نصب باشد، فضای کاری‌های کاملاً جدید به‌صورت خودکار مقداردهی اولیه می‌شوند. اگر این فضای کاری هنوز repo نیست، اجرا کنید:

    bash
    cd ~/.openclaw/workspacegit initgit add AGENTS.md SOUL.md TOOLS.md IDENTITY.md USER.md HEARTBEAT.md memory/git commit -m "Add agent workspace"
  • افزودن remote خصوصی

    رابط وب GitHub

    1. یک repository خصوصی جدید در GitHub ایجاد کنید.
    2. با README مقداردهی اولیه نکنید (از merge conflict جلوگیری می‌کند).
    3. URL remote از نوع HTTPS را کپی کنید.
    4. remote را اضافه کنید و push کنید:
    bash
    git branch -M maingit remote add origin <https-url>git push -u origin main

    GitHub CLI (gh)

    bash
    gh auth logingh repo create openclaw-workspace --private --source . --remote origin --push

    رابط وب GitLab

    1. یک repository خصوصی جدید در GitLab ایجاد کنید.
    2. با README مقداردهی اولیه نکنید (از merge conflict جلوگیری می‌کند).
    3. URL remote از نوع HTTPS را کپی کنید.
    4. remote را اضافه کنید و push کنید:
    bash
    git branch -M maingit remote add origin <https-url>git push -u origin main
  • به‌روزرسانی‌های مداوم

    bash
    git statusgit add .git commit -m "Update memory"git push
  • secrets را commit نکنید

    شروع پیشنهادی برای .gitignore:

    gitignore
    .DS_Store.env**/*.key**/*.pem**/secrets*

    انتقال فضای کاری به ماشین جدید

  • Clone کردن repo

    repo را در مسیر دلخواه clone کنید (پیش‌فرض ~/.openclaw/workspace).

  • به‌روزرسانی پیکربندی

    مقدار agents.defaults.workspace را در ~/.openclaw/openclaw.json روی آن مسیر تنظیم کنید.

  • Seed کردن فایل‌های گم‌شده

    برای seed کردن هر فایل گم‌شده، openclaw setup --workspace <path> را اجرا کنید.

  • کپی نشست‌ها (اختیاری)

    اگر به نشست‌ها نیاز دارید، ~/.openclaw/agents/<agentId>/sessions/ را از ماشین قدیمی جداگانه کپی کنید.

  • نکات پیشرفته

    • مسیریابی چندعاملی می‌تواند از فضای کاری متفاوت برای هر عامل استفاده کند. برای پیکربندی مسیریابی، مسیریابی Channel را ببینید.
    • اگر agents.defaults.sandbox فعال باشد، نشست‌های غیر اصلی می‌توانند از فضای کاری‌های sandbox مخصوص هر نشست زیر agents.defaults.sandbox.workspaceRoot استفاده کنند.

    مرتبط

    • Heartbeat - فایل فضای کاری HEARTBEAT.md
    • Sandboxing - دسترسی فضای کاری در محیط‌های sandbox شده
    • نشست - مسیرهای ذخیره‌سازی نشست
    • دستورهای پایدار - دستورالعمل‌های پایدار در فایل‌های فضای کاری
    Was this useful?
    On this page

    On this page