Fundamentals

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

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

این فضا از ~/.openclaw/ جدا است؛ آن محل پیکربندی، اطلاعات احراز هویت و نشست‌ها را نگه می‌دارد.

مکان پیش‌فرض

  • پیش‌فرض: ~/.openclaw/workspace
  • اگر OPENCLAW_PROFILE تنظیم شده و برابر با "default" نباشد، مقدار پیش‌فرض به ~/.openclaw/workspace-<profile> تغییر می‌کند.
  • در صورت تنظیم، OPENCLAW_WORKSPACE_DIR هر دو مورد بالا را نادیده می‌گیرد.
  • فضای کاری عامل‌های غیراصلی (agents.entries.*) که فضای کاری صریحی ندارند، به <state-dir>/workspace-<agentId> نگاشت می‌شود، نه فضای کاری مشترک پیش‌فرض.

بازنویسی در ~/.openclaw/openclaw.json:

json5
{  agents: {    defaults: {      workspace: "~/.openclaw/workspace",    },  },}

بازنویسی مختص هر عامل: agents.entries.*.workspace.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

BOOTSTRAP.md - آیین نخستین اجرا

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

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

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

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

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

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

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

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

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

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

این موارد زیر ~/.openclaw/ قرار دارند و نباید در مخزن فضای کاری ثبت شوند:

  • ~/.openclaw/openclaw.json (پیکربندی)
  • ~/.openclaw/state/openclaw.sqlite (وضعیت راه‌اندازی و گواهی‌های فضای کاری مشترک)
  • ~/.openclaw/agents/<agentId>/agent/auth-profiles.json (پروفایل‌های احراز هویت مدل: OAuth + کلیدهای API)
  • ~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite (ردیف‌های نشست، رونوشت‌ها و وضعیت زمان اجرای مختص هر عامل)
  • ~/.openclaw/agents/<agentId>/agent/codex-home/ (حساب زمان اجرای Codex مختص هر عامل، پیکربندی، Skills، plugins و وضعیت بومی رشته)
  • ~/.openclaw/credentials/ (وضعیت کانال/ارائه‌دهنده به‌همراه داده‌های قدیمی واردشدهٔ OAuth)
  • ~/.openclaw/agents/<agentId>/sessions/ (منابع مهاجرت قدیمی و مصنوعات بایگانی/پشتیبانی)
  • ~/.openclaw/skills/ (Skills مدیریت‌شده)

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

نسخه‌های قدیمی‌تر OpenClaw فایل‌های جانبی فضای کاری openclaw-workspace-state.json، .openclaw/workspace-state.json و .attested را می‌نوشتند. زمان اجرای فعلی برای این وضعیت فقط از پایگاه‌دادهٔ SQLite مشترک استفاده می‌کند. اگر Doctor یکی از این فایل‌ها را گزارش کرد، openclaw doctor --fix را اجرا کنید؛ Doctor وضعیت قدیمی معتبر را وارد می‌کند و فقط پس از تأیید ردیف‌های پایگاه‌داده، فایل مبدأ را حذف می‌کند.

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

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

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

  • مخزن را مقداردهی اولیه کنید

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

    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"
  • یک راه‌دور خصوصی اضافه کنید

    رابط وب GitHub

    1. یک مخزن خصوصی جدید در GitHub ایجاد کنید.
    2. آن را با README مقداردهی اولیه نکنید (برای جلوگیری از تداخل ادغام).
    3. نشانی راه‌دور HTTPS را کپی کنید.
    4. راه‌دور را اضافه و 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. یک مخزن خصوصی جدید در GitLab ایجاد کنید.
    2. آن را با README مقداردهی اولیه نکنید (برای جلوگیری از تداخل ادغام).
    3. نشانی راه‌دور HTTPS را کپی کنید.
    4. راه‌دور را اضافه و 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
  • اطلاعات محرمانه را commit نکنید

    نمونهٔ آغازین پیشنهادی برای .gitignore:

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

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

  • مخزن را clone کنید

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

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

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

  • فایل‌های مفقود را مقداردهی کنید

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

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

    اگر به نشست‌ها نیاز دارید، ~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite را جداگانه از ماشین قدیمی کپی کنید. ~/.openclaw/agents/<agentId>/sessions/ را فقط زمانی کپی کنید که به ورودی‌های مهاجرت قدیمی یا مصنوعات بایگانی/پشتیبانی نیز نیاز دارید.

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

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

    مرتبط

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

    On this page