> ## Documentation Index
> Fetch the complete documentation index at: https://openclaw.veiseule.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# أبحاث ذاكرة مساحة العمل

# ذاكرة مساحة العمل v2 (غير متصلة): ملاحظات بحثية

الهدف: مساحة عمل بأسلوب Clawd (`agents.defaults.workspace`، الافتراضي `~/.openclaw/workspace`) حيث يتم تخزين «الذاكرة» كملف Markdown واحد لكل يوم (`memory/YYYY-MM-DD.md`) بالإضافة إلى مجموعة صغيرة من الملفات المستقرة (مثلًا `memory.md`، `SOUL.md`).

تقترح هذه الوثيقة بنية ذاكرة **تركّز على العمل دون اتصال** تُبقي Markdown كمصدر الحقيقة القانوني القابل للمراجعة، مع إضافة **استدعاء مُنظَّم** (بحث، ملخصات كيانات، تحديثات الثقة) عبر فهرس مُشتق.

## لماذا التغيير؟

الإعداد الحالي (ملف واحد لكل يوم) ممتاز من حيث:

* التدوين «الإلحاقي فقط»
* التحرير البشري
* المتانة وقابلية التدقيق المعتمدة على git
* الالتقاط منخفض الاحتكاك («اكتبها فقط»)

إنه ضعيف للأسباب التالية:

* الاسترجاع عالي التذكّر («ماذا قررنا بشأن X؟»، «آخر مرة جرّبنا Y؟»)
* الإجابات المتمحورة حول الكيانات («أخبرني عن Alice / The Castle / warelay») دون إعادة قراءة العديد من الملفات
* استقرار الآراء/التفضيلات (والأدلة عند تغيّرها)
* قيود الزمن («ما الذي كان صحيحًا خلال نوفمبر 2025؟») وحل التعارضات وحسم الصراعات وحسم الصراعات

## أهداف التصميم

* **غير متصل**: يعمل دون شبكة؛ يمكن تشغيله على الحاسوب المحمول/القلعة؛ بلا اعتماد سحابي.
* **قابل للتفسير**: يجب أن تُنسب العناصر المُسترجعة (الملف + الموضع) وأن تكون منفصلة عن الاستدلال.
* **منخفض الطقوس**: يظل التسجيل اليومي Markdown، دون عمل مخططات ثقيل.
* **تزايدي**: الإصدار v1 مفيد مع FTS فقط؛ الدلالي/المتجهات والرسوم البيانية ترقيات اختيارية.
* **ملائم للوكلاء**: يُسهّل «الاستدعاء ضمن حدود الرموز» (إرجاع حزم صغيرة من الحقائق).

## نموذج النجم القطبي (Hindsight × Letta)

قطعتان للخلط:

1. **حلقة تحكّم بأسلوب Letta/MemGPT**

* الاحتفاظ بـ «نواة» صغيرة دائمًا ضمن السياق (الشخصية + حقائق المستخدم الأساسية)
* كل ما عدا ذلك خارج السياق ويُسترجع عبر الأدوات
* كتابات الذاكرة هي استدعاءات أدوات صريحة (إلحاق/استبدال/إدراج)، تُحفَظ ثم يُعاد حقنها في الدور التالي

2. **طبقة ذاكرة بأسلوب Hindsight**

* فصل ما لوحظ مقابل ما يعتقد مقابل ما هو موجز
* دعم retain/recall/reflect
* آراء ذات حمولة ثقة يمكن أن تتطور مع الأدلة
* استرجاع واعٍ بالكيانات + استعلامات زمنية (حتى دون رسوم معرفة كاملة)

## البنية المقترحة (Markdown كمصدر حقيقة + فهرس مشتق)

### المخزن القانوني (ملائم لـ git)

الإبقاء على `~/.openclaw/workspace` كذاكرة قانونية مقروءة بشريًا.

تخطيط مساحة العمل المقترح:

```
~/.openclaw/workspace/
  memory.md                    # small: durable facts + preferences (core-ish)
  memory/
    YYYY-MM-DD.md              # daily log (append; narrative)
  bank/                        # “typed” memory pages (stable, reviewable)
    world.md                   # objective facts about the world
    experience.md              # what the agent did (first-person)
    opinions.md                # subjective prefs/judgments + confidence + evidence pointers
    entities/
      Peter.md
      The-Castle.md
      warelay.md
      ...
```

ملاحظات:

* **السجل اليومي يظل سجلًا يوميًا**. لا حاجة لتحويله إلى JSON.
* ملفات `bank/` **مُنسّقة/مُعتنى بها**، تُنتَج بواسطة مهام التأمل، ويمكن مع ذلك تحريرها يدويًا.
* يظل `memory.md` «صغيرًا + قريبًا من النواة»: الأشياء التي تريد أن يراها Clawd في كل جلسة.

### المخزن المُشتق (استدعاء آلي)

إضافة فهرس مُشتق ضمن مساحة العمل (ليس بالضرورة متعقّبًا عبر git):

```
~/.openclaw/workspace/.memory/index.sqlite
```

العودة مع:

* مخطط SQLite للحقائق + روابط الكيانات + بيانات وصفية للآراء
* SQLite **FTS5** للاستدعاء اللفظي (سريع، صغير، غير متصل)
* جدول تضمينات اختياري للاستدعاء الدلالي (لا يزال غير متصل)

الفهرس دائمًا **قابل لإعادة البناء من Markdown**.

## Retain / Recall / Reflect (الحلقة التشغيلية)

### Retain: تطبيع السجلات اليومية إلى «حقائق»

رؤية Hindsight الأساسية ذات الصلة هنا: تخزين **حقائق سردية مكتفية ذاتيًا**، لا قصاصات صغيرة.

قاعدة عملية لـ `memory/YYYY-MM-DD.md`:

* في نهاية اليوم (أو خلاله)، أضِف قسم `## Retain` مع 2–5 نقاط تكون:
  * سردية (محافظة على سياق متعدد الأدوار)
  * مكتفية ذاتيًا (مفهومة بذاتها لاحقًا)
  * موسومة بالنوع + ذكر الكيانات

مثال:

```
## Retain
- W @Peter: Currently in Marrakech (Nov 27–Dec 1, 2025) for Andy’s birthday.
- B @warelay: I fixed the Baileys WS crash by wrapping connection.update handlers in try/catch (see memory/2025-11-27.md).
- O(c=0.95) @Peter: Prefers concise replies (&lt;1500 chars) on WhatsApp; long content goes into files.
```

تحليل حدٍّ أدنى:

* بادئة النوع: `W` (العالم)، `B` (خبرة/سيرة ذاتية)، `O` (رأي)، `S` (ملاحظة/ملخص؛ غالبًا مُولّد)
* الكيانات: `@Peter`، `@warelay`، إلخ (الـ slugs تُطابِق `bank/entities/*.md`)
* ثقة الرأي: `O(c=0.0..1.0)` اختيارية

إن لم ترغب بأن يفكّر المؤلفون في ذلك: يمكن لمهمة التأمل استنتاج هذه النقاط من بقية السجل، لكن وجود قسم `## Retain` صريح هو أسهل «رافعة جودة».

### Recall: الاستعلامات عبر الفهرس المُشتق

يجب أن يدعم الاستدعاء:

* **لفظي**: «اعثر على مصطلحات/أسماء/أوامر مطابقة» (FTS5)
* **كياني**: «أخبرني عن X» (صفحات الكيانات + حقائق مرتبطة بالكيانات)
* **زمني**: «ماذا حدث حول 27 نوفمبر» / «منذ الأسبوع الماضي»
* **آراء**: «ما الذي يفضّله Peter؟» (مع الثقة + الأدلة) (مع الثقة + الأدلة) (مع الثقة + الأدلة)

يجب أن يكون تنسيق الإرجاع ملائمًا للوكلاء ويستشهد بالمصادر:

* `kind` (`world|experience|opinion|observation`)
* `timestamp` (يوم المصدر، أو نطاق زمني مُستخرَج إن وُجد)
* `entities` (`["Peter","warelay"]`)
* `content` (الحقيقة السردية)
* `source` (`memory/2025-11-27.md#L12` إلخ)

### Reflect: إنتاج صفحات مستقرة + تحديث المعتقدات

التأمل مهمة مجدولة (يوميًا أو نبض `ultrathink`) تقوم بـ:

* تحديث `bank/entities/*.md` من الحقائق الحديثة (ملخصات الكيانات)
* تحديث ثقة `bank/opinions.md` بناءً على التعزيز/التناقض
* اقتراح تعديلات اختياريًا على `memory.md` (حقائق «قريبة من النواة» ودائمة)

تطور الرأي (بسيط، قابل للتفسير):

* لكل رأي:
  * عبارة
  * ثقة `c ∈ [0,1]`
  * last\_updated
  * روابط الأدلة (معرّفات الحقائق الداعمة + المناقِضة)
* عند وصول حقائق جديدة:
  * العثور على آراء مرشّحة عبر تداخل الكيانات + التشابه (FTS أولًا، التضمينات لاحقًا)
  * تحديث الثقة بفروق صغيرة؛ القفزات الكبيرة تتطلب تناقضًا قويًا + أدلة متكررة

## تكامل CLI: مستقل أم تكامل عميق

التوصية: **تكامل عميق داخل OpenClaw**، مع الحفاظ على مكتبة نواة قابلة للفصل.

### لماذا التكامل داخل OpenClaw؟

* OpenClaw يعرف بالفعل:
  * مسار مساحة العمل (`agents.defaults.workspace`)
  * نموذج الجلسة + النبضات
  * أنماط التسجيل + استكشاف الأخطاء وإصلاحها
* تريد أن يستدعي الوكيل نفسه الأدوات:
  * `openclaw memory recall "…" --k 25 --since 30d`
  * `openclaw memory reflect --since 7d`

### لماذا فصل مكتبة رغم ذلك؟

* إبقاء منطق الذاكرة قابلًا للاختبار دون Gateway/بيئة التشغيل
* إعادة الاستخدام من سياقات أخرى (سكربتات محلية، تطبيق مكتبي مستقبلي، إلخ)

الشكل:
من المتوقّع أن تكون أدوات الذاكرة طبقة CLI + مكتبة صغيرة، لكن هذا استكشافي فقط.

## «S-Collide» / SuCo: متى نستخدمه (بحث)

إذا كان «S-Collide» يشير إلى **SuCo (Subspace Collision)**: فهو نهج استرجاع ANN يستهدف مقايضات قوية بين الاستدعاء/الكمون باستخدام تصادمات متعلَّمة/مُنظَّمة في فضاءات فرعية (ورقة: arXiv 2411.14754، 2024).

رأي عملي لـ `~/.openclaw/workspace`:

* **لا تبدأ** بـ SuCo.
* ابدأ بـ SQLite FTS + (اختياريًا) تضمينات بسيطة؛ ستحصل فورًا على معظم مكاسب تجربة المستخدم.
* فكّر في حلول فئة SuCo/HNSW/ScaNN فقط عندما:
  * يكون المُتن كبيرًا (عشرات/مئات الآلاف من المقاطع)
  * يصبح البحث بالتضمينات بالقوة الغاشمة بطيئًا جدًا
  * تكون جودة الاستدعاء مُقيَّدة فعليًا بالبحث اللفظي

بدائل ملائمة للعمل دون اتصال (بتعقيد متزايد):

* SQLite FTS5 + مرشّحات بيانات وصفية (دون تعلّم آلي)
* الدمج + القوة الغاشمة (يعمل بشكل مدهش إذا كان عدد القطع منخفض)
* فهرس HNSW (شائع، متين؛ يحتاج ربط مكتبة)
* SuCo (بمستوى بحثي؛ جذّاب إذا وُجد تنفيذ متين يمكن تضمينه)

سؤال مفتوح:

* ما هو **أفضل** نموذج تضمينات غير متصل لِـ «ذاكرة المساعد الشخصي» على أجهزتك (حاسوب محمول + مكتبي)؟
  * إذا كان لديك Ollama بالفعل: أنشئ التضمينات بنموذج محلي؛ وإلا فاشحن نموذج تضمينات صغيرًا ضمن سلسلة الأدوات.

## أصغر نموذج تجريبي مفيد

إذا كنت ترغب في إصدار صغير ، لا يزال مفيداً:

* أضِف صفحات كيانات `bank/` وقسم `## Retain` في السجلات اليومية.
* استخدم SQLite FTS للاستدعاء مع الاستشهادات (المسار + أرقام الأسطر).
* أضِف التضمينات فقط إذا تطلّبت جودة الاستدعاء أو الحجم ذلك.

## المراجع

* مفاهيم Letta / MemGPT: «كتل الذاكرة الأساسية» + «الذاكرة الأرشيفية» + ذاكرة ذاتية التحرير مدفوعة بالأدوات.
* التقرير التقني لـ Hindsight: «retain / recall / reflect»، ذاكرة الشبكات الأربع، استخراج الحقائق السردية، تطور ثقة الآراء.
* SuCo: arXiv 2411.14754 (2024): «Subspace Collision» لاسترجاع أقرب الجيران التقريبي.
