إضافة ذاكرة ثابتة إلى كود كلود مع المكوّن الإضافي خفيف الوزن memsearch
لقد أنشأنا مؤخرًا مكتبة ذاكرة طويلة الأمد مستقلة ومفتوحة المصدر، وهي مكتبة ذاكرة طويلة الأمد مستقلة وقابلة للتوصيل والتشغيل تمنح أي وكيل ذاكرة ثابتة وشفافة وقابلة للتحرير البشري. تستخدم نفس بنية الذاكرة الأساسية مثل OpenClaw - فقط بدون بقية مكدس OpenClaw. هذا يعني أنه يمكنك إسقاطها في أي إطار عمل وكيل (Claude وGPT وLlama والوكلاء المخصصين ومحركات سير العمل) وإضافة ذاكرة دائمة وقابلة للاستعلام على الفور. (إذا كنت تريد التعمق في كيفية عمل memsearch، فقد كتبنا منشورًا منفصلًا هنا).
في معظم عمليات سير عمل الوكلاء، تعمل memsearch على النحو المنشود تمامًا. لكن الترميز العميل قصة مختلفة. فجلسات الترميز تستغرق وقتًا طويلاً، وتبديلات السياق ثابتة، والمعلومات التي تستحق الحفظ تتراكم على مدار أيام أو أسابيع. يكشف هذا الحجم الهائل والتقلب الهائل عن نقاط الضعف في أنظمة ذاكرة الوكيل النموذجية - بما في ذلك البحث عن الذاكرة. في سيناريوهات الترميز، تختلف أنماط الاسترجاع بما يكفي بحيث لا يمكننا ببساطة إعادة استخدام الأداة الحالية كما هي.
لمعالجة هذا الأمر، قمنا ببناء مكون إضافي للذاكرة الدائمة مصمم خصيصًا لـ Claude Code. وهي موجودة فوق واجهة برمجة memsearch CLI، ونطلق عليها اسم memsearch ccplugin.
- GitHub Repo: https://zilliztech.github.io/memsearch/claude-plugin/ (مفتوح المصدر، رخصة MIT)
من خلال البرنامج المساعد memsearch ccplugin خفيف الوزن الذي يدير الذاكرة خلف الكواليس، يكتسب Claude Code القدرة على تذكر كل محادثة وكل قرار وكل تفضيل نمط وكل سلسلة رسائل متعددة الأيام - مفهرسة تلقائيًا وقابلة للبحث بشكل كامل ومستمرة عبر الجلسات.
للتوضيح خلال هذا المنشور يشير مصطلح "ccplugin" إلى الطبقة العليا، أو المكون الإضافي Claude Code نفسه. تشير كلمة "memsearch" إلى الطبقة السفلى، أو أداة CLI المستقلة الموجودة تحتها.
إذًا لماذا تحتاج البرمجة إلى مكون إضافي خاص بها، ولماذا بنينا شيئًا خفيفًا جدًا؟ يعود الأمر إلى مشكلتين من المؤكد أنك واجهتهما: افتقار Claude Code إلى الذاكرة المستمرة، وغلظة وتعقيد الحلول الحالية مثل claude-mem.
فلماذا إذن لماذا بناء مكون إضافي مخصص أصلاً؟ لأن وكلاء الترميز يصطدمون بنقطتي ألم من المؤكد أنك واجهتهما بنفسك:
كلود كود ليس لديه ذاكرة ثابتة.
العديد من حلول المجتمع الحالية - مثل claude-mem -قوية ولكنها ثقيلة أو ثقيلة أو معقدة للغاية بالنسبة لأعمال الترميز اليومية.
تهدف الإضافة ccplugin إلى حل كلتا المشكلتين بطبقة بسيطة وشفافة وسهلة الاستخدام للمطورين فوق ميمسارش.
مشكلة ذاكرة كود كلود كود: ينسى كل شيء عند انتهاء الجلسة
لنبدأ بسيناريو واجهه مستخدمو كلود كود بالتأكيد.
تفتح كلود كود في الصباح. تكتب: "أكمل إعادة بناء مصادقة الأمس". يرد كلود: "لست متأكدًا مما كنت تعمل عليه بالأمس." لذا تقضي الدقائق العشر التالية في نسخ ولصق سجلات الأمس. إنها ليست مشكلة كبيرة، لكنها سرعان ما تصبح مزعجة لأنها تظهر بشكل متكرر.
على الرغم من أن كلود كود لديه آليات الذاكرة الخاصة به، إلا أنها بعيدة كل البعد عن أن تكون مرضية. يمكن للملف CLAUDE.md تخزين توجيهات المشروع والتفضيلات، لكنه يعمل بشكل أفضل للقواعد الثابتة والأوامر القصيرة، وليس لتجميع المعرفة طويلة الأجل.
يوفر كلود كود resume و fork الأوامر، لكنها بعيدة كل البعد عن كونها سهلة الاستخدام. بالنسبة لأوامر التشعب، تحتاج إلى تذكر معرّفات الجلسات، وكتابة الأوامر يدويًا، وإدارة شجرة من تواريخ المحادثات المتفرعة. عند تشغيل /resume ، ستحصل على حائط من عناوين الجلسات. إذا كنت لا تتذكر سوى تفاصيل قليلة حول ما قمت به وكان ذلك قبل أكثر من بضعة أيام، فحظًا موفقًا في العثور على الجلسة الصحيحة.
بالنسبة لتراكم المعرفة طويل الأجل عبر المشاريع، فإن هذا النهج برمته مستحيل.
لتحقيق هذه الفكرة، يستخدم claude-mem نظام ذاكرة من ثلاثة مستويات. يبحث المستوى الأول في الملخصات عالية المستوى. يبحث المستوى الثاني في جدول زمني لمزيد من التفاصيل. يسحب المستوى الثالث الملاحظات الكاملة للمحادثة الأولية. علاوة على ذلك، هناك تصنيفات الخصوصية، وتتبع التكلفة، وواجهة تصور الويب.
إليك كيف تعمل تحت الغطاء:
طبقة وقت التشغيل. تعمل خدمة Node.js Worker على المنفذ 37777. تعيش البيانات الوصفية للجلسة في قاعدة بيانات SQLite خفيفة الوزن. قاعدة بيانات متجهة تتعامل مع الاسترجاع الدلالي الدقيق لمحتوى الذاكرة.
طبقة التفاعل. تتيح لك واجهة مستخدم الويب المستندة إلى React عرض الذكريات الملتقطة في الوقت الفعلي: الملخصات والجداول الزمنية والسجلات الأولية.
طبقة الواجهة. يعرض خادم MCP (بروتوكول سياق النموذج) واجهات أداة موحدة. يمكن لكلود استدعاء
search(الاستعلام عن الملخصات عالية المستوى) وtimeline(عرض الجداول الزمنية المفصلة) وget_observations(استرداد سجلات التفاعل الخام) لاسترداد الذكريات واستخدامها مباشرةً.
لكي نكون منصفين، هذا منتج قوي يحل مشكلة ذاكرة كلود كود. ولكنه معقّد ومُعقّد من نواحٍ مختلفة من يوم لآخر.
| الطبقة | التقنية |
|---|---|
| اللغة | TypeScript (ES2022، وحدات ESNext) |
| وقت التشغيل | Node.js 18+ |
| قاعدة البيانات | SQLite 3 مع برنامج تشغيل bun:sqlite |
| مخزن المتجهات | ChromaDB (اختياري، للبحث الدلالي) |
| خادم HTTP | Express.js 4.18 |
| الوقت الحقيقي | الأحداث المرسلة من الخادم (SSE) |
| إطار عمل واجهة المستخدم | React + TypeScript |
| SDK للذكاء الاصطناعي | @Aanthropic-ai/claude-agent-sdk |
| أداة البناء | esbuild (حزم TypeScript) |
| مدير العمليات | الكعكة |
| اختبار | أداة تشغيل الاختبار المدمجة في Node.js |
بالنسبة للمبتدئين، الإعداد ثقيل. تشغيل claude-mem يعني تثبيت Node.js و Bun ووقت تشغيل MCP، ثم إعداد خدمة عامل، وخادم Express، و React UI، و SQLite، ومخزن متجه فوق ذلك. هناك الكثير من الأجزاء المتحركة التي يجب نشرها وصيانتها وتصحيحها عند حدوث عطل ما.
كل هذه المكونات تحرق أيضًا رموزًا لم تطلب إنفاقها. يتم تحميل تعريفات أداة MCP بشكل دائم في نافذة سياق Claude، وكل استدعاء أداة يستهلك الرموز المميزة في الطلب والاستجابة. خلال الجلسات الطويلة، تتراكم هذه النفقات الزائدة بسرعة ويمكن أن تخرج تكاليف الرموز عن السيطرة.
لا يمكن الاعتماد على استدعاء الذاكرة لأنه يعتمد كليًا على اختيار كلود للبحث. يجب على كلود أن تقرر من تلقاء نفسها استدعاء أدوات مثل search لتشغيل الاسترجاع. إذا لم يدرك أنه يحتاج إلى ذاكرة، فلن يظهر المحتوى ذو الصلة أبدًا. ويتطلب كل مستوى من مستويات الذاكرة الثلاثة استدعاء الأداة الخاصة به بشكل صريح، لذلك لا يوجد أي تراجع إذا لم يفكر كلود في البحث.
أخيرًا، تخزين البيانات غير شفاف، مما يجعل تصحيح الأخطاء والترحيل غير سار. يتم تقسيم الذكريات عبر SQLite للبيانات الوصفية للجلسة و Chroma لبيانات المتجه الثنائي، مع عدم وجود تنسيق مفتوح يربطهما معًا. الترحيل يعني كتابة البرامج النصية للتصدير. رؤية ما يتذكره الذكاء الاصطناعي بالفعل يعني المرور عبر واجهة مستخدم الويب أو واجهة استعلام مخصصة. لا توجد طريقة للنظر إلى البيانات الخام فقط.
لماذا يعد البرنامج الإضافي memsearch لـ كلود كود أفضل؟
لقد أردنا طبقة ذاكرة خفيفة الوزن حقًا - لا خدمات إضافية، ولا بنية متشابكة، ولا نفقات تشغيلية زائدة. هذا ما حفزنا على بناء ميمسارش ccplugin. كان هذا في جوهره تجربة: هل يمكن لنظام ذاكرة يركز على الترميز أن يكون أبسط بشكل جذري؟
نعم، وقد أثبتنا ذلك.
إن ccplugin ccplugin بأكمله عبارة عن أربعة خطافات صدفة بالإضافة إلى عملية مراقبة في الخلفية. لا يوجد Node.js، ولا خادم MCP، ولا واجهة مستخدم ويب. إنها مجرد نصوص برمجية تستدعي واجهة مستخدم memsearch CLI، مما يقلل من شريط الإعداد والصيانة بشكل كبير.
يمكن أن يكون ccplugin بهذه النحافة بسبب حدود المسؤولية الصارمة. فهو لا يتعامل مع تخزين الذاكرة أو استرجاع المتجهات أو تضمين النص. كل ذلك مفوض إلى واجهة مستخدم memsearch CLI الموجودة تحته. يحتوي ccplugin على وظيفة واحدة: ربط أحداث دورة حياة Claude Code (بدء الجلسة، إرسال المطالبة، إيقاف الاستجابة، نهاية الجلسة) بوظائف memsearch CLI المقابلة.
هذا التصميم المنفصل يجعل النظام مرنًا بما يتجاوز كلود كود. تعمل واجهة برمجة تطبيقات memsearch CLI بشكل مستقل مع IDEs الأخرى أو أطر عمل الوكلاء الآخرين أو حتى الاستدعاء اليدوي البسيط. فهو غير مقفل على حالة استخدام واحدة.
عمليًا، يوفر هذا التصميم ثلاث مزايا رئيسية.
1. جميع الذكريات تعيش في ملفات Markdown العادية
تعيش كل ذاكرة ينشئها ccplugin في .memsearch/memory/ كملف Markdown.
.memsearch/memory/
├── 2026-02-09.md
├── 2026-02-10.md
└── 2026-02-11.md
إنه ملف واحد لكل يوم. يحتوي كل ملف على ملخصات جلسات ذلك اليوم بنص عادي يمكن قراءته بشكل كامل. إليك لقطة شاشة لملفات الذاكرة اليومية من مشروع memsearch نفسه:
يمكنك رؤية التنسيق على الفور: الطابع الزمني، ومعرف الجلسة، ومعرف الدوران، وملخص الجلسة. لا شيء مخفي.
هل تريد معرفة ما يتذكره الذكاء الاصطناعي؟ افتح ملف Markdown. هل تريد تحرير الذاكرة؟ استخدم محرر النصوص الخاص بك. هل تريد ترحيل بياناتك؟ انسخ المجلد .memsearch/memory/.
فهرس متجه ميلفوس هو ذاكرة تخزين مؤقت لتسريع البحث الدلالي. يُعاد بناؤه من Markdown في أي وقت. لا توجد قواعد بيانات مبهمة ولا صناديق سوداء ثنائية. جميع البيانات قابلة للتتبع وإعادة البناء بالكامل.
2. حقن السياق التلقائي لا يكلف أي رموز إضافية
التخزين الشفاف هو أساس هذا النظام. يأتي المردود الحقيقي من كيفية استخدام هذه الذكريات، وفي ccplugin، يتم استدعاء الذاكرة تلقائيًا بالكامل.
في كل مرة يتم فيها إرسال موجهة، يقوم خطاف UserPromptSubmit بإطلاق بحث دلالي ويحقن أفضل 3 ذكريات ذات صلة في السياق. لا يقرر كلود ما إذا كان سيتم البحث أم لا. بل يحصل فقط على السياق.
أثناء هذه العملية، لا يرى Claude أبدًا تعريفات أداة MCP، لذلك لا يوجد شيء إضافي يشغل نافذة السياق. يعمل الخطاف في طبقة CLI ويحقن نتائج بحث نصية عادية. لا توجد نفقات IPC زائدة ولا تكاليف رمز استدعاء الأداة. اختفى تمامًا انتفاخ نافذة السياق الذي يأتي مع تعريفات أدوات MCP.
بالنسبة للحالات التي لا تكفي فيها أعلى 3 مستويات تلقائيًا، قمنا أيضًا ببناء ثلاثة مستويات من الاسترجاع التدريجي. جميع المستويات الثلاثة هي أوامر CLI، وليست أدوات MCP.
L1 (تلقائي): تقوم كل مطالبة بإرجاع أفضل 3 نتائج بحث دلالية مع معاينة
chunk_hashو 200 حرف. يغطي هذا معظم الاستخدام اليومي.L2 (عند الطلب): عند الحاجة إلى السياق الكامل، يقوم
memsearch expand <chunk_hash>بإرجاع قسم Markdown الكامل بالإضافة إلى البيانات الوصفية.L3 (عميق): عندما تكون هناك حاجة إلى المحادثة الأصلية، يسحب
memsearch transcript <jsonl_path> --turn <uuid>سجل JSONL الخام من Claude Code.
3. يتم إنشاء ملخصات الجلسات في الخلفية بتكلفة تقترب من الصفر
يغطي الاسترجاع كيفية استخدام الذكريات. ولكن يجب كتابة الذكريات أولاً. كيف يتم إنشاء كل ملفات Markdown هذه؟
ينشئها ccplugin من خلال خط أنابيب في الخلفية يعمل بشكل غير متزامن ولا يكلف شيئًا تقريبًا. في كل مرة تقوم فيها بإيقاف استجابة كلود ، يتم تشغيل خطاف Stop: يقوم بتحليل نص المحادثة ، ويستدعي كلود هايكو (claude -p --model haiku) لإنشاء ملخص ، ويلحقه بملف Markdown لليوم الحالي. إن مكالمات واجهة برمجة تطبيقات Haiku رخيصة للغاية، تكاد لا تذكر لكل استدعاء.
من هناك، تكتشف عملية المراقبة تغيير الملف وتقوم تلقائيًا بفهرسة المحتوى الجديد في ملف Milvus بحيث يكون متاحًا للاسترجاع على الفور. يعمل التدفق بأكمله في الخلفية دون مقاطعة عملك، وتبقى التكاليف تحت السيطرة.
بدء تشغيل ملحق memsearch السريع مع كلود كود
أولاً، قم بالتثبيت من سوق ملحقات Claude Code:
bash
# Run in Claude Code terminal
/plugin marketplace add zilliztech/memsearch
/plugin install memsearch
ثانيًا، أعد تشغيل Claude Code.
تقوم الإضافة بتهيئة تكوينها تلقائيًا.
ثالثًا، بعد المحادثة، تحقق من ملف ذاكرة اليوم:
bash
cat .memsearch/memory/$(date +%Y-%m-%d).md
رابعًا، استمتع.
في المرة التالية التي يبدأ فيها Claude Code، يسترجع النظام تلقائيًا الذكريات ذات الصلة ويحقنها. لا حاجة لخطوات إضافية.
الخاتمة
دعونا نعود إلى السؤال الأصلي: كيف تمنح الذكاء الاصطناعي ذاكرة مستمرة؟ كلود ميم وذاكرة ميم سيبلوغين memsearch ccplugin يتخذان نهجين مختلفين، ولكل منهما نقاط قوة مختلفة. لخصنا دليلًا سريعًا للاختيار بينهما:
| الفئة | memsearch | كلود ميم |
|---|---|---|
| البنية | 4 خطافات صدفة + 1 عملية مراقبة | عامل Node.js + عامل Node.js + Express + React UI |
| طريقة التكامل | خطافات أصلية + CLI | خادم MCP (stdio) |
| الاستدعاء | تلقائي (حقن الخطاف) | مدفوع بالوكيل (يتطلب استدعاء الأداة) |
| استهلاك السياق | صفر (حقن نص النتيجة فقط) | تستمر تعريفات أداة MCP |
| ملخص الجلسة | مكالمة واحدة غير متزامنة من Haiku CLI | مكالمات واجهة برمجة التطبيقات المتعددة + ضغط الملاحظة |
| تنسيق التخزين | ملفات تخفيض السعر العادي | SQLite + تضمينات كروما |
| ترحيل البيانات | ملفات تخفيض السعر العادي | ملفات SQLite + تضمينات Chroma |
| طريقة الترحيل | نسخ ملفات .md | التصدير من قاعدة البيانات |
| وقت التشغيل | بايثون + كلود CLI | Node.js + Bun + وقت تشغيل MCP |
يوفر claude-mem ميزات أكثر ثراءً، وواجهة مستخدم مصقولة، وتحكمًا أكثر دقة. بالنسبة للفرق التي تحتاج إلى التعاون أو التصور على الويب أو إدارة الذاكرة التفصيلية، فهو اختيار قوي.
يوفر البرنامج المساعد memsearch ccplugin تصميمًا بسيطًا، ونفقات زائدة في نافذة السياق صفر، وتخزينًا شفافًا تمامًا. بالنسبة للمهندسين الذين يريدون طبقة ذاكرة خفيفة الوزن بدون تعقيدات إضافية، فهو الأنسب للمهندسين الذين يريدون طبقة ذاكرة خفيفة الوزن بدون تعقيدات إضافية. أيهما أفضل يعتمد على ما تحتاج إليه.
هل تريد التعمق أكثر أو الحصول على مساعدة في البناء باستخدام memsearch أو Milvus؟
انضم إلى مجتمع Milvus Slack t للتواصل مع مطورين آخرين ومشاركة ما تقوم ببنائه.
احجز ساعات عمل Milvus المكتبية للحصول علىأسئلة وأجوبة مباشرة ودعم مباشر من الفريق.
الموارد
وثائق برنامج memsearch ccplugin: https://zilliztech.github.io/memsearch/claude-plugin/
جيثب: https://github.com/zilliztech/memsearch/tree/main/ccplugin
مشروع memsearch: https://github.com/zilliztech/memsearch
مدونة لقد استخرجنا نظام ذاكرة OpenClaw وقمنا بفتح مصادره (memsearch)
مدونة: ما هو OpenClaw؟ الدليل الكامل لعامل الذكاء الاصطناعي المفتوح المصدر -
مدونة: البرنامج التعليمي لـ OpenClaw الاتصال بـ Slack لمساعد الذكاء الاصطناعي المحلي
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word


