الانتقال إلى المحتوى الرئيسي

مساحة عمل الوكيل

مساحة العمل هي موطن الوكيل. وهي دليل العمل الوحيد المستخدم لأدوات الملفات ولسياق مساحة العمل. أبقِها خاصة وتعامل معها بوصفها ذاكرة. هذا منفصل عن ~/.openclaw/، الذي يخزّن التهيئة وبيانات الاعتماد والجلسات. مهم: مساحة العمل هي cwd الافتراضي، وليست sandbox صارمًا. تحلّ الأدوات المسارات النسبية مقابل مساحة العمل، لكن المسارات المطلقة لا تزال قادرة على الوصول إلى أماكن أخرى على المضيف ما لم يكن sandboxing مُمكّنًا. إذا كنت بحاجة إلى العزل، فاستخدم agents.defaults.sandbox (و/أو تهيئة sandbox لكل وكيل). عند تمكين sandboxing وعندما لا يكون workspaceAccess هو "rw"، تعمل الأدوات داخل مساحة عمل sandbox ضمن ~/.openclaw/sandboxes، وليس ضمن مساحة عمل المضيف لديك.

الموقع الافتراضي

  • الافتراضي: ~/.openclaw/workspace
  • إذا تم تعيين OPENCLAW_PROFILE ولم يكن "default"، يصبح الافتراضي ~/.openclaw/workspace-<profile>.
  • التجاوز في ~/.openclaw/openclaw.json:
{
  agent: {
    workspace: "~/.openclaw/workspace",
  },
}
سيؤدي openclaw onboard أو openclaw configure أو openclaw setup إلى إنشاء مساحة العمل وبذر ملفات التمهيد إذا كانت مفقودة. إذا كنت تدير ملفات مساحة العمل بنفسك بالفعل، فيمكنك تعطيل إنشاء ملفات التمهيد:
{ agent: { skipBootstrap: true } }

مجلدات مساحة العمل الإضافية

قد تكون عمليات التثبيت الأقدم قد أنشأت ~/openclaw. إن الإبقاء على عدة أدلة لمساحة العمل يمكن أن يسبب ارتباكًا في المصادقة أو انجرافًا في الحالة، لأن مساحة عمل واحدة فقط تكون نشطة في أي وقت. التوصية: احتفِظ بمساحة عمل نشطة واحدة. إذا لم تعد تستخدم المجلدات الإضافية، فقم بأرشفتها أو نقلها إلى سلة المهملات (على سبيل المثال trash ~/openclaw). إذا كنت تحتفظ عمدًا بعدة مساحات عمل، فتأكد من أن agents.defaults.workspace يشير إلى النشطة منها. يحذّر openclaw doctor عند اكتشافه أدلة إضافية لمساحة العمل.

خريطة ملفات مساحة العمل (ماذا يعني كل ملف)

هذه هي الملفات القياسية التي يتوقعها OpenClaw داخل مساحة العمل:
  • AGENTS.md
    • تعليمات التشغيل للوكيل وكيفية استخدام الذاكرة.
    • يتم تحميله في بداية كل جلسة.
    • مكان مناسب للقواعد والأولويات وتفاصيل «كيفية التصرف».
  • SOUL.md
    • الشخصية والنبرة والحدود.
    • يتم تحميله في كل جلسة.
  • USER.md
    • من هو المستخدم وكيفية مخاطبته.
    • يتم تحميله في كل جلسة.
  • IDENTITY.md
    • اسم الوكيل وأسلوبه والرمز التعبيري.
    • يتم إنشاؤه/تحديثه أثناء طقس التمهيد.
  • TOOLS.md
    • ملاحظات حول أدواتك المحلية والاصطلاحات.
    • لا يتحكم في توفر الأدوات؛ إنه إرشاد فقط.
  • HEARTBEAT.md
    • قائمة تحقق صغيرة اختيارية لتشغيلات النبض.
    • اجعلها قصيرة لتجنب استهلاك الرموز.
  • BOOT.md
    • قائمة تحقق اختيارية لبدء التشغيل تُنفَّذ عند إعادة تشغيل Gateway عندما تكون الخطافات الداخلية مُمكّنة.
    • اجعلها قصيرة؛ استخدم أداة الرسائل للإرسال إلى الخارج.
  • BOOTSTRAP.md
    • طقوس لأول مرة
    • يُنشأ فقط لمساحة عمل جديدة تمامًا.
    • احذفه بعد اكتمال الطقوس.
  • memory/YYYY-MM-DD.md
    • سجل ذاكرة يومي (ملف واحد لكل يوم).
    • يُنصَح بقراءة اليوم + الأمس عند بدء الجلسة.
  • MEMORY.md (اختياري)
    • ذاكرة طويلة الأمد مُنسَّقة.
    • تُحمَّل فقط في الجلسة الرئيسية الخاصة (وليس في السياقات المشتركة/الجماعية).
راجع الذاكرة لسير العمل والتفريغ التلقائي للذاكرة.
  • skills/ (اختياري)
    • Skills خاصة بمساحة العمل.
    • تتجاوز Skills المُدارة/المجمّعة عند تعارض الأسماء.
  • canvas/ (اختياري)
    • ملفات واجهة Canvas UI لعرض العُقد (على سبيل المثال canvas/index.html).
إذا كان أي ملف تمهيد مفقودًا، يقوم OpenClaw بحقن علامة «ملف مفقود» في الجلسة ويتابع. تُقتطع ملفات التمهيد الكبيرة عند حقنها؛ عدّل الحد باستخدام agents.defaults.bootstrapMaxChars (الافتراضي: 20000). يمكن لـ openclaw setup إعادة إنشاء الافتراضيات المفقودة دون الكتابة فوق الملفات الموجودة.

ما الذي ليس ضمن مساحة العمل

توجد هذه العناصر تحت ~/.openclaw/ ويجب ألا تُلتزم في مستودع مساحة العمل:
  • ~/.openclaw/openclaw.json (التهيئة)
  • ~/.openclaw/credentials/ (رموز OAuth، مفاتيح API)
  • ~/.openclaw/agents/<agentId>/sessions/ (نصوص الجلسات + البيانات الوصفية)
  • ~/.openclaw/skills/ (Skills المُدارة)
إذا احتجت إلى ترحيل الجلسات أو التهيئة، فانسخها بشكل منفصل وأبقِها خارج التحكم في الإصدارات.

النسخ الاحتياطي عبر Git (موصى به، خاص)

تعامل مع مساحة العمل بوصفها ذاكرة خاصة. ضعها في مستودع git خاص حتى تكون منسوخة احتياطيًا وقابلة للاستعادة. نفّذ هذه الخطوات على الجهاز الذي يعمل عليه Gateway (فهو المكان الذي تعيش فيه مساحة العمل).

1. تهيئة المستودع

إذا كان git مثبتًا، فسيتم تهيئة مساحات العمل الجديدة تلقائيًا. إذا لم تكن هذه مساحة العمل مستودعًا بالفعل، فشغّل:
cd ~/.openclaw/workspace
git init
git add AGENTS.md SOUL.md TOOLS.md IDENTITY.md USER.md HEARTBEAT.md memory/
git commit -m "Add agent workspace"

2. إضافة مستودع بعيد خاص (خيارات مناسبة للمبتدئين)

الخيار أ: واجهة GitHub على الويب
  1. أنشئ مستودعًا جديدًا خاصًا على GitHub.
  2. لا تُهيّئه بملف README (لتجنب تعارضات الدمج).
  3. انسخ عنوان HTTPS البعيد.
  4. أضِف البعيد وادفع:
git branch -M main
git remote add origin <https-url>
git push -u origin main
الخيار ب: GitHub CLI (gh)
gh auth login
gh repo create openclaw-workspace --private --source . --remote origin --push
الخيار ج: واجهة GitLab على الويب
  1. أنشئ مستودعًا جديدًا خاصًا على GitLab.
  2. لا تُهيّئه بملف README (لتجنب تعارضات الدمج).
  3. انسخ عنوان HTTPS البعيد.
  4. أضِف البعيد وادفع:
git branch -M main
git remote add origin <https-url>
git push -u origin main

3. التحديثات المستمرة

git status
git add .
git commit -m "Update memory"
git push

عدم الالتزام بأسرار

حتى في مستودع خاص، تجنّب تخزين الأسرار في مساحة العمل:
  • مفاتيح API، رموز OAuth، كلمات المرور، أو بيانات اعتماد خاصة.
  • أي شيء تحت ~/.openclaw/.
  • تفريغات خام للمحادثات أو مرفقات حساسة.
إذا اضطررت إلى تخزين مراجع حساسة، فاستخدم عناصر نائبة واحتفظ بالسر الحقيقي في مكان آخر (مدير كلمات المرور، متغيرات البيئة، أو ~/.openclaw/). بداية مقترحة لملف .gitignore:
.DS_Store
.env
**/*.key
**/*.pem
**/secrets*

نقل مساحة العمل إلى جهاز جديد

  1. انسخ المستودع إلى المسار المطلوب (الافتراضي ~/.openclaw/workspace).
  2. اضبط agents.defaults.workspace على ذلك المسار في ~/.openclaw/openclaw.json.
  3. شغّل openclaw setup --workspace <path> لبذر أي ملفات مفقودة.
  4. إذا كنت بحاجة إلى الجلسات، فانسخ ~/.openclaw/agents/<agentId>/sessions/ من الجهاز القديم بشكل منفصل.

ملاحظات متقدمة

  • يمكن للتوجيه متعدد الوكلاء استخدام مساحات عمل مختلفة لكل وكيل. راجع توجيه القنوات لتهيئة التوجيه.
  • إذا كان agents.defaults.sandbox مُمكّنًا، فيمكن للجلسات غير الرئيسية استخدام مساحات عمل sandbox لكل جلسة ضمن agents.defaults.sandbox.workspaceRoot.