---
read_when:
    - تحتاج إلى شرح مساحة عمل الوكيل أو بنية ملفاتها
    - تريد نسخ مساحة عمل الوكيل احتياطيًا أو ترحيلها
summary: 'مساحة عمل الوكيل: الموقع، والبنية، واستراتيجية النسخ الاحتياطي'
title: مساحة عمل الوكيل
x-i18n:
    generated_at: "2026-04-05T12:40:04Z"
    model: gpt-5.4
    provider: openai
    source_hash: 3735633f1098c733415369f9836fdbbc0bf869636a24ed42e95e6784610d964a
    source_path: concepts/agent-workspace.md
    workflow: 15
---

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

مساحة العمل هي موطن الوكيل. وهي دليل العمل الوحيد المستخدم لأدوات
الملفات ولسياق مساحة العمل. حافظ على خصوصيتها وتعامل معها على أنها ذاكرة.

وهذا منفصل عن `~/.openclaw/`، الذي يخزّن التكوين وبيانات الاعتماد
والجلسات.

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

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

- الافتراضي: `~/.openclaw/workspace`
- إذا تم ضبط `OPENCLAW_PROFILE` ولم تكن قيمته `"default"`، يصبح الافتراضي
  `~/.openclaw/workspace-<profile>`.
- يمكنك التجاوز في `~/.openclaw/openclaw.json`:

```json5
{
  agent: {
    workspace: "~/.openclaw/workspace",
  },
}
```

سيقوم `openclaw onboard` أو `openclaw configure` أو `openclaw setup` بإنشاء
مساحة العمل وتهيئة ملفات bootstrap إذا كانت مفقودة.
لا تقبل نسخ seed الخاصة بـ sandbox إلا الملفات العادية داخل مساحة العمل؛ ويتم تجاهل
الأسماء البديلة من symlink/hardlink التي تُحل خارج مساحة العمل المصدر.

إذا كنت تدير ملفات مساحة العمل بنفسك بالفعل، فيمكنك تعطيل إنشاء
ملفات bootstrap:

```json5
{ agent: { skipBootstrap: true } }
```

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

قد تكون عمليات التثبيت الأقدم قد أنشأت `~/openclaw`. وقد يؤدي الاحتفاظ بعدة
أدلة لمساحة العمل إلى حدوث انحرافات مربكة في المصادقة أو الحالة، لأن
مساحة عمل واحدة فقط تكون نشطة في كل مرة.

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

يعرض `openclaw doctor` تحذيرًا عندما يكتشف أدلة إضافية لمساحة العمل.

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

هذه هي الملفات القياسية التي يتوقعها OpenClaw داخل مساحة العمل:

- `AGENTS.md`
  - تعليمات تشغيلية للوكيل وكيفية استخدامه للذاكرة.
  - يُحمَّل في بداية كل جلسة.
  - مكان مناسب للقواعد والأولويات وتفاصيل "كيفية التصرف".

- `SOUL.md`
  - الشخصية، والنبرة، والحدود.
  - يُحمَّل في كل جلسة.
  - الدليل: [دليل شخصية SOUL.md](/concepts/soul)

- `USER.md`
  - من هو المستخدم وكيفية مخاطبته.
  - يُحمَّل في كل جلسة.

- `IDENTITY.md`
  - اسم الوكيل وطابعه وemoji الخاص به.
  - يُنشأ/يُحدَّث أثناء طقس bootstrap.

- `TOOLS.md`
  - ملاحظات حول أدواتك المحلية والاصطلاحات الخاصة بك.
  - لا يتحكم في توفر الأدوات؛ فهو مجرد إرشاد.

- `HEARTBEAT.md`
  - قائمة تحقق صغيرة اختيارية لتشغيلات heartbeat.
  - اجعله قصيرًا لتجنب استهلاك token.

- `BOOT.md`
  - قائمة تحقق اختيارية عند بدء التشغيل تُنفذ عند إعادة تشغيل البوابة عندما تكون hooks الداخلية مفعلة.
  - اجعلها قصيرة؛ واستخدم أداة الرسائل للإرسال الصادر.

- `BOOTSTRAP.md`
  - طقس تشغيل أولي لمرة واحدة.
  - لا يُنشأ إلا لمساحة عمل جديدة تمامًا.
  - احذفه بعد اكتمال الطقس.

- `memory/YYYY-MM-DD.md`
  - سجل ذاكرة يومي (ملف واحد لكل يوم).
  - يُنصح بقراءة ملف اليوم + الأمس عند بدء الجلسة.

- `MEMORY.md` (اختياري)
  - ذاكرة طويلة المدى منسقة.
  - لا تُحمَّل إلا في الجلسة الرئيسية الخاصة (وليس في السياقات المشتركة/الجماعية).

راجع [الذاكرة](/concepts/memory) لمعرفة سير العمل والتفريغ التلقائي للذاكرة.

- `skills/` (اختياري)
  - Skills خاصة بمساحة العمل.
  - موقع Skills الأعلى أولوية لتلك المساحة.
  - يتجاوز Skills وكيل المشروع، وSkills الوكيل الشخصية، وSkills المُدارة، وSkills المضمنة، و`skills.load.extraDirs` عند تعارض الأسماء.

- `canvas/` (اختياري)
  - ملفات واجهة Canvas لعرض العُقد (مثل `canvas/index.html`).

إذا كان أي ملف bootstrap مفقودًا، فسيحقن OpenClaw علامة "ملف مفقود" داخل
الجلسة ويتابع العمل. وتُقتطع ملفات bootstrap الكبيرة عند حقنها؛ ويمكنك
تعديل الحدود باستخدام `agents.defaults.bootstrapMaxChars` (الافتراضي: 20000) و
`agents.defaults.bootstrapTotalMaxChars` (الافتراضي: 150000).
يمكن لـ `openclaw setup` إعادة إنشاء الإعدادات الافتراضية المفقودة من دون الكتابة فوق
الملفات الموجودة.

## ما الذي لا يوجد في مساحة العمل

توجد هذه العناصر ضمن `~/.openclaw/` ويجب **عدم** الالتزام بها في مستودع مساحة العمل:

- `~/.openclaw/openclaw.json` (التكوين)
- `~/.openclaw/agents/<agentId>/agent/auth-profiles.json` (ملفات تعريف مصادقة النماذج: OAuth + مفاتيح API)
- `~/.openclaw/credentials/` (حالة القنوات/المزوّدين بالإضافة إلى بيانات استيراد OAuth القديمة)
- `~/.openclaw/agents/<agentId>/sessions/` (نصوص الجلسات + البيانات الوصفية)
- `~/.openclaw/skills/` (Skills مُدارة)

إذا كنت تحتاج إلى ترحيل الجلسات أو التكوين، فانسخها بشكل منفصل وأبقها
خارج version control.

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

تعامل مع مساحة العمل على أنها ذاكرة خاصة. ضعها في مستودع git **خاص**
حتى تكون منسوخة احتياطيًا وقابلة للاستعادة.

نفّذ هذه الخطوات على الجهاز الذي تعمل عليه البوابة (فهناك توجد
مساحة العمل).

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

إذا كان git مثبتًا، فستتم تهيئة مساحات العمل الجديدة تمامًا تلقائيًا. وإذا لم تكن
مساحة العمل هذه مستودعًا بالفعل، فشغّل:

```bash
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) أضف remote خاصًا (خيارات مناسبة للمبتدئين)

الخيار A: واجهة GitHub على الويب

1. أنشئ مستودعًا جديدًا **خاصًا** على GitHub.
2. لا تهيّئه بملف README (لتجنب تعارضات الدمج).
3. انسخ عنوان remote بنمط HTTPS.
4. أضف remote وادفع التغييرات:

```bash
git branch -M main
git remote add origin <https-url>
git push -u origin main
```

الخيار B: GitHub CLI (`gh`)

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

الخيار C: واجهة GitLab على الويب

1. أنشئ مستودعًا جديدًا **خاصًا** على GitLab.
2. لا تهيّئه بملف README (لتجنب تعارضات الدمج).
3. انسخ عنوان remote بنمط HTTPS.
4. أضف remote وادفع التغييرات:

```bash
git branch -M main
git remote add origin <https-url>
git push -u origin main
```

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

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

## لا تلتزم بالأسرار

حتى في المستودع الخاص، تجنب تخزين الأسرار في مساحة العمل:

- مفاتيح API أو OAuth tokens أو كلمات المرور أو بيانات الاعتماد الخاصة.
- أي شيء ضمن `~/.openclaw/`.
- عمليات تفريغ خام للدردشات أو المرفقات الحساسة.

إذا اضطررت إلى تخزين مراجع حساسة، فاستخدم عناصر نائبة واحتفظ بالسر
الحقيقي في مكان آخر (مدير كلمات المرور، أو متغيرات البيئة، أو `~/.openclaw/`).

بداية مقترحة لملف `.gitignore`:

```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/` من
   الجهاز القديم بشكل منفصل.

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

- يمكن أن يستخدم التوجيه متعدد الوكلاء مساحات عمل مختلفة لكل وكيل. راجع
  [توجيه القنوات](/channels/channel-routing) لمعرفة تكوين التوجيه.
- إذا كان `agents.defaults.sandbox` مفعّلًا، فيمكن للجلسات غير الرئيسية استخدام
  مساحات عمل sandbox لكل جلسة ضمن `agents.defaults.sandbox.workspaceRoot`.

## ذو صلة

- [الأوامر الدائمة](/automation/standing-orders) — تعليمات مستمرة في ملفات مساحة العمل
- [Heartbeat](/gateway/heartbeat) — ملف مساحة العمل HEARTBEAT.md
- [الجلسة](/concepts/session) — مسارات تخزين الجلسات
- [Sandboxing](/gateway/sandboxing) — وصول مساحة العمل في البيئات المعزولة
