ذاكرة Claude Code: ثلاث طرق مجانية كي لا يبدأ من الصفر

claude code memory
في هذه المقالة

كل جلسة جديدة في Claude Code تبدأ بسياق فارغ، فلا يتذكر ما فعلتماه أمس. الجلسة هي محادثة واحدة معه من فتحها إلى إغلاقها، والسياق هو ما يقرؤه Claude في تلك اللحظة. وللذاكرة، أي claude code memory كما يكتبها الناس، ثلاث طرق مجانية: الأولى ملف CLAUDE.md المدمج، والثانية إضافة claude-mem التي تسجّل ما فعله Claude وتعيد إليه المفيد منه، والثالثة أداة Graphify التي تحوّل مشروعك إلى شبكة معرفة يسأل Claude عنها.

ابدأ بالمدمج لأنه أبسط حل ولا يحتاج تثبيتًا. وأضف claude-mem إن عملتَ على المشروع نفسه أيامًا وتكرر شرحك كل صباح، وأضف Graphify إن كبر المشروع حتى صار Claude يضيّع جلسته في البحث عن الملفات.

«مجانية» هنا تعني بلا رسوم إضافية، لكن claude-mem وجزءًا من Graphify يستهلكان من حصة اشتراكك في Claude.

لكل طريقة طلب جاهز تلصقه في تبويب Code بتطبيق Claude Desktop، فينفّذ Claude الأمر بعد موافقتك. ومن يفضّل الطرفية (تيرمينال) فأوامر التثبيت وحدها في قسمَي claude-mem وGraphify.

الطريقةما تحفظه
CLAUDE.md والذاكرة التلقائيةقواعدك وتفضيلاتك
claude-memما جرى في جلساتك
Graphifyشكل المشروع نفسه
الطرق الثلاث للذاكرة في Claude Code: ملف تكتبه، وإضافة تسجّل جلساتك، وشبكة معرفة لمشروعك

ماذا يتذكره Claude Code بلا أي إضافة؟

تذكر وثائق Anthropic أن كل جلسة تبدأ بسياق جديد، وجرّبتُ ذلك في مجلد فارغ. أخبرتُ Claude أن الاسم الداخلي لمشروعي «برتقالة» دون أن أطلب منه حفظه، وفتحت جلسة جديدة فقال إنه لا يعرف الاسم. ثم كتبتُه في ملف CLAUDE.md داخل المجلد وفتحت جلسة جديدة، فأجاب «برتقالة» من أول رد. قد تحفظ الذاكرة التلقائية، وسأشرحها بعد قليل، ما تقوله له فتختلف نتيجتك، أما الملف فيصل إلى Claude في كل جلسة.

جلستان في المجلد نفسه: الأولى بلا ملف فيقول Claude إنه لا يعرف الاسم، والثانية بعد كتابة الاسم في CLAUDE.md فيجيب عنه

ملف CLAUDE.md

هو ملف نصي عادي يقرؤه Claude في بداية كل جلسة. إن وضعتَه في جذر المشروع، أي المجلد الذي فتحتَه في Claude، رآه كل من يعمل عليه. وإن وضعتَه في ⁦~/.claude/CLAUDE.md⁩ سرى على كل مشاريعك، فعلامة ~ تعني مجلد حسابك الشخصي و⁦.claude⁩ مجلد مخفي بداخله. وإن سمّيته CLAUDE.local.md فهو لك وحدك في هذا المشروع، وتضيفه إلى ملف ⁦.gitignore⁩ إن كنت تستعمل Git كي لا يُرفع.

يحتاج تبويب Code اشتراكًا مدفوعًا في Claude. من تطبيق Claude Desktop افتحه، واضغط New session، واختر Local ثم مجلد مشروعك، وألصق الطلب التالي. سيعرض عليك Claude الملف قبل أن يحفظه:

أنشئ ملف CLAUDE.md في جذر هذا المشروع. اقرأ المشروع ثم اكتب فيه أوامر التشغيل والاختبار وأسلوب التسمية، في أقل من عشرين سطرًا، واعرضه عليّ قبل أن تحفظه.

ما يستحق الكتابة فيه هو ما لا يستنتجه Claude من الشيفرة: أمر الاختبار، وأسلوب لك يخالف المعتاد، وفخ وقعتَ فيه من قبل. وتذكر الوثائق من أوقات الإضافة أن يكرر Claude الخطأ نفسه مرتين. هذا مثال لملف صغير:

الأوامر:
- التشغيل: pnpm dev
- الاختبار: pnpm test، وشغّله قبل أي commit

القواعد:
- استعمل pnpm ولا تستعمل npm
- لا تعدّل مجلد generated لأنه يُبنى من جديد عند كل تشغيل

أبقِ الملف أقل من مئتي سطر، فالأطول يستهلك سياقًا أكثر ويقل التزام Claude بما فيه. وهو نص يُضاف إلى ما يقرؤه Claude لا قاعدة تُفرض عليه. فما يجب ألا يحدث أبدًا، كحذف مجلد، تمنعه بـ hook، وهو أمر يشغّله Claude Code تلقائيًا عند حدث معيّن، مثل لحظة ما قبل تنفيذ أي أداة.

الذاكرة التلقائية

وفي Claude Code طبقة ثانية لا تكتب فيها شيئًا، هي الذاكرة التلقائية، وتعمل افتراضيًا في الجلسات المحلية. يكتب Claude ملاحظات لنفسه من تصحيحاتك وتفضيلاتك داخل مجلد memory تحت مجلد باسم مشروعك في ⁦~/.claude/projects⁩. جرّبتُ في مجلد مشروع أن أطلب منه: «تذكّر أن لوني المفضل في كل التصاميم هو الأزرق الداكن». فكتب ملفين، فهرسًا اسمه MEMORY.md وملاحظة مستقلة، وأجاب في جلسة جديدة بالمجلد نفسه عن لوني دون أن أذكره.

ما كتبه Claude بنفسه بعد طلب التذكّر: فهرس MEMORY.md وملاحظة عن اللون المفضل

طلب «تذكّر» يُحفظ في الذاكرة التلقائية لا في CLAUDE.md، فإن أردته في الملف فقل: أضف هذا إلى CLAUDE.md. وملفاتها نصوص عادية تعدّلها أو تحذفها، لكن احذف ما في مجلد memory وحده، ففي المجلد الذي فوقه سجل محادثاتك. ولم أجد في الوثائق ما يؤكد أن Desktop يحفظها في المجلد نفسه.

claude-mem: ماذا تضيف على المدمج؟

claude-mem إضافة مفتوحة المصدر بترخيص Apache-2.0 تسجّل في كل جلسة ما يفعله Claude: الملفات التي قرأها والأوامر التي شغّلها وما انتهى إليه. تعتمد في ذلك على hooks. يحوّل نموذج ذكاء اصطناعي هذا التسجيل إلى ملاحظات قصيرة تُحفظ في قاعدة بيانات على جهازك، وتعيد الإضافة آخر ملاحظاتها إلى الجلسة التالية، افتراضيًا خمسين ملاحظة من آخر عشر جلسات. وتختلف عن الذاكرة التلقائية بأنها تسجّل خطوات Claude كلها ثم تلخّصها، لا ما يقرر هو كتابته.

مسار الذاكرة في claude-mem: تسجيل الخطوات، ثم التلخيص بنموذج، ثم حفظ الملاحظات محليًا، ثم إعادتها في الجلسة التالية

أول ما تقرره هو من يلخّص جلساتك. الخيار ⁦--provider claude⁩ يجعل التلخيص على اشتراكك في Claude فيُحسب من حصتك، ولا تحتاج إلى حساب. أما بدونه فيطلب منك المثبّت تسجيل الدخول في المتصفح إلى خدمة المشروع المستضافة: لها تجربة ثلاثين يومًا، وتذهب جلساتك فيها إلى خادم المشروع. وحتى مع الخيار الأول يتصل المثبّت بخادم المشروع مرة واحدة فيرسل اسم جهازك وأرقامًا مجمّعة بلا طلباتك ولا مساراتك، وقد يعرض Claude عليك رابط تسجيل دخول اختياريًا، فلا تفتحه. وهي تسجّل ما يجري في الجلسة، ومنه محتوى الملفات التي يقرؤها Claude، فجرّبها أولًا على مشروع لا أسرار فيه.

وهناك شرط لا يظهر لك في تطبيق Desktop. يحتاج التلخيص أن يكون Claude Code مثبّتًا في الطرفية (تيرمينال) ومسجّلًا الدخول، فالخدمة التي تلخّص في الخلفية تتجاهل نسخة Desktop لأنها لا تعمل بلا واجهة. فإن لم يوجد لم يعمل التلخيص حتى لو انتهى التثبيت. ويحتاج أيضًا Node.js بإصدار 20.12 أو أحدث. وطريقة تثبيت Claude Code في صفحته الرسمية، ومنها هذان الأمران، الأول لويندوز والثاني لماك ولينكس:

winget install Anthropic.ClaudeCode
curl -fsSL https://claude.ai/install.sh | bash

وبعد تثبيته افتح الطرفية (تيرمينال) مرة واحدة واكتب claude وسجّل الدخول بحسابك. ثم ألصق هذا الطلب في تبويب Code. يفحص الأمور الثلاثة أولًا ويسألك قبل أن يثبّت شيئًا:

من فضلك ثبّت لي ذاكرة claude-mem على اشتراكي في Claude بدون إنشاء حساب جديد، بهذه الخطوات بالترتيب.
أولًا تحقق بالأمر claude --version من وجود Claude Code في الطرفية، وبالأمر claude auth status من أنني مسجّل الدخول فيه، وبالأمر node --version من أن Node.js بإصدار 20.12 أو أحدث. وإن غاب شيء من هذا فاسألني قبل أن تثبّته.
ثانيًا نفّذ الأمر npx claude-mem install --provider claude
ثالثًا نفّذ الأمر npx claude-mem doctor، وإن ظهر أن مجلد claude-mem ليس في PATH فهذا متوقع قبل إعادة التشغيل فلا تحاول إصلاحه.
ثم أخبرني بالنتيجة. وإن عرض المثبّت رابط تسجيل دخول إلى خدمة المشروع فلا تفتحه.

ومن يفضّل الطرفية (تيرمينال) فينسخ هذه الأوامر بالترتيب:

claude --version
claude auth status
node --version
npx claude-mem install --provider claude
npx claude-mem doctor

بعد التثبيت أعد تشغيل تطبيق Claude على أي نظام. تنشئ الإضافة برنامجًا صغيرًا باسم claude-mem وتضيف مجلده إلى Path، وهو قائمة المجلدات التي يبحث فيها النظام عن البرامج، والتطبيق المفتوح لا يراها إلا بعد إعادة تشغيله.

خطوات تثبيت claude-mem من تبويب Code: جلسة جديدة، ثم لصق الطلب، ثم موافقتك على الأمر، ثم إعادة تشغيل التطبيق وفتح جلسة جديدة

لم أشغّل مثبّت claude-mem بنفسي أصلًا، لا في تبويب Code ولا في الطرفية (تيرمينال). ما كتبته عنه من وثائقه وشيفرته المنشورة، ومن قول Anthropic إن الـ hooks المضبوطة في الإعدادات تسري في Desktop والطرفية (تيرمينال) معًا. وللتفاصيل بالعربية: دليل claude-mem.

افتح جلسة جديدة واعمل فيها قليلًا، ثم افتح أخرى واسأل عمّا فعلتماه. أو اطلب البحث صراحةً، وغيّر الموضوع إلى ما عملتما عليه:

ابحث في الذاكرة: ما الألوان التي اتفقنا عليها للكاروسيل؟

وما لا تريد حفظه ضعه بين علامتين، فلا يُخزَّن، مع أن Claude يراه أثناء الجلسة نفسها:

<private>your secret here</private>

والإحصاءات المجهولة تعمل افتراضيًا، وهذا الأمر يوقفها:

npx claude-mem telemetry disable

Graphify: متى تحتاج شبكة معرفة لمشروعك؟

Graphify أداة مفتوحة المصدر بترخيص Apache-2.0 تحوّل مشروعك إلى شبكة معرفة: عقدة لكل دالة وملف ومفهوم، ورابط بين كل عنصرين بينهما علاقة. بعدها يسأل Claude الشبكة عمّا يربط شيئًا بشيء بدل أن يقرأ عشرات الملفات ليعرف. هي لا تسجّل جلساتك كما تفعل claude-mem، بل تحفظ شكل المشروع، وتحفظ أيضًا أسئلتك وأجوبتها في مجلد ⁦graphify-out/memory⁩.

تقرأ الشيفرة بنحو أربعين لغة، والوثائق وملفات PDF والصور والفيديو. الشيفرة تُحلَّل على جهازك دون استدعاء أي نموذج ذكاء اصطناعي ودون مفتاح API. أما الوثائق وPDF والصور فتمر بخطوة يشغّلها النموذج الذي تعمل عليه، فتُرسل ملفاتك إلى Claude وتُخصم من حصتك، والحصة تُحسب بالرموز، وهي وحدة يعدّ بها Claude ما يقرؤه ويكتبه. لهذا جرّب أول مرة على مجلد صغير فيه شيفرة لا على مجلد مستنداتك أو صورك.

من يعمل في Graphify: الشيفرة تُحلَّل على جهازك بلا نموذج، والوثائق وPDF والصور تمر بنموذج Claude وتُحسب من حصتك

يحتاج أداة uv، وهي مثبّت حزم بايثون يجلب بايثون 3.10 أو أحدث وحده إن لم يجده. وعلى ويندوز تثبّتها بهذا الأمر:

winget install astral-sh.uv

واسم حزمة Graphify هو graphifyy بياءين، فهناك حزم بأسماء قريبة ليست من المشروع. من تبويب Code ألصق هذا الطلب، ومن يفضّل الطرفية (تيرمينال) فيكفيه السطران الأخيران:

من فضلك ثبّت لي أداة Graphify بتنفيذ الأمرين التاليين بالترتيب، وإن لم تجد uv فاسألني قبل أن تثبّته، وإن لم يُعرف الأمر graphify بعد التثبيت فنفّذ uv tool update-shell، ثم أخبرني هل أعيد تشغيل التطبيق وأفتح جلسة جديدة.
uv tool install graphifyy
graphify install

ولقراءة ملفات PDF اطلب من Claude أن يثبّت الأداة بهذا الأمر بدل الأول:

uv tool install "graphifyy[pdf]"

في جلسة جديدة اكتب في مربع المحادثة، لا في الطرفية (تيرمينال)، الأمر ⁦/graphify .⁩ مع النقطة، فيبني الشبكة لمجلدك. ينشئ الأمر مجلدًا اسمه graphify-out فيه graph.html تفتحه في المتصفح، وتقرير GRAPH_REPORT.md بأهم العقد، وgraph.json وهو الشبكة نفسها. وحين تكتبه في المحادثة يشغّل Claude خطوات المهارة بنفسه، فيستهلك جزءًا صغيرًا من حصتك حتى لو كان المجلد شيفرة فقط. بعدها تسأل بالعربية، مثل هذا السؤال مع اسم دالة من مشروعك:

استعمل الشبكة الموجودة في graphify-out قبل أن تقرأ الملفات، ثم أخبرني: ما الدوال التي تستدعي الدالة اسم_الدالة وفي أي ملفات؟

هذا ما أعطاني الأمر ⁦graphify update .⁩ في الطرفية (تيرمينال) على خمسة ملفات بايثون من مشروعي: ١٠٧ عقد و٢٠٢ رابطًا في ١٦ مجموعة، دون أي نموذج. ثم سألتُ Claude في المشروع عن دوال تستدعي دالة بعينها، فذكر الدالتين والملفين وأرقام السطور الصحيحة. وفي الأداة أمر قياس يقدّر كلفة أسئلة تجريبية بالرموز، فقال إن السؤال يكلّف نحو ٣١٣٤ رمزًا وإن قراءة الملفات كلها تكلّف نحو ٧١٣٣، أي نحو ٢٫٣ ضعف. هذا متوسط سؤالين عامّين على مشروع صغير جدًا، لا وعد لمشروعك، فشغّل الأمر نفسه على نسخة منه، داخل مجلد فيه graphify-out، قبل أن تعتمد الأداة:

graphify benchmark
الشبكة التي بناها Graphify لخمسة ملفات بايثون: ١٠٧ عقد و٢٠٢ رابطًا في ١٦ مجموعة

لا تذكر وثائق Graphify تطبيق Desktop. غير أن وثائق Anthropic تقول إن الجلسات المحلية في تبويب Code تحمّل مهاراتك من ⁦~/.claude/skills⁩، وهناك يضع graphify مهارته.

ماذا تغيّر كل طريقة في جهازك قبل أن تثبّتها؟

ما تضيفه كل طريقة إلى جهازك وما تنتبه له قبل أن تثبّتها

CLAUDE.md والذاكرة التلقائية لا يثبّتان شيئًا: ملف نصي تملكه، ومجلد ملاحظات تحت ⁦~/.claude/projects⁩. توقف الذاكرة التلقائية بمفتاحها في ⁦/memory⁩ في الطرفية (تيرمينال)، أو بأن تطلب من Claude ضبط autoMemoryEnabled على false في إعداداته.

ما تضيفه claude-mem أكبر: hooks تعمل في كل جلسة، وخدمة محلية تبقى في الخلفية، وخادم بحث (MCP) وسبع وعشرون مهارة جاهزة، وقاعدة بيانات في مجلد ⁦.claude-mem⁩ تحوي طلباتك ومخرجات أدواتك، وقد يكون فيها محتوى ملفاتك وأسرارك. وتثبّت Bun وuv إن لم تجدهما. ويحذف الأمر npx claude-mem uninstall الإضافة والـ hooks والمشغّل، ويبقي مجلد ⁦.claude-mem⁩ ومجلد المشغّل في Path فتحذفهما بيدك إن أردت.

أما Graphify فتضيف مهارتها وقسمًا قصيرًا تحت عنوان graphify في ملف ⁦~/.claude/CLAUDE.md⁩، أي في ملف قواعدك أنت. جرّبتُ التثبيت في مجلد حساب تجريبي فيه ملف قواعد قديم. أبقى المثبّت ما كتبته وأضاف قسمه في نهاية الملف. لكن سطرين كتبتهما بعده مباشرة حُذفا عند إعادة التثبيت، لأن المثبّت يعدّ كل ما يلي قسمه حتى أول عنوان رئيسي # جزءًا منه. أما ما كتبته تحت عنوان رئيسي خاص به فبقي. وهو بلاغ مفتوح على GitHub، وتكرر معي على الإصدار 0.9.92. فاكتب قواعدك فوق القسم أو تحت عنوان رئيسي خاص بها، وانسخ الملف احتياطيًا قبل أي تثبيت.

ملف قواعدك بعد تثبيت Graphify: قواعدك فوق القسم تبقى، وما كتبته مباشرة بعده يضيع عند إعادة التثبيت، وما كتبته تحت عنوان رئيسي خاص به يبقى

وإن شغّلت ⁦graphify claude install⁩ داخل مشروع كتبت قواعد في CLAUDE.md المشروع وسجّلت في ⁦.claude/settings.json⁩ hooks تدفع Claude إلى سؤال الشبكة قبل البحث. وقبل أن تحذف الحزمة شغّل ⁦graphify uninstall⁩ من مجلد المشروع، كي لا يبقى hook مسجّل يشير إلى برنامج محذوف. يزيل الأمر المهارة وقسم المشروع والـ hooks، لكنه ترك في تجربتي القسم الذي في ⁦~/.claude/CLAUDE.md⁩ فاحذفه بيدك. وبعدها تحذف الحزمة بالأمر uv tool uninstall graphifyy.

أي طريقة تبدأ بها، ومتى تضيف الباقي؟

قرار البداية: CLAUDE.md أولًا، ثم claude-mem إن كررتَ الشرح كل صباح، ثم Graphify إن كبر المشروع

ابدأ بالمدمج أسبوعًا ثم احكم. CLAUDE.md يحفظ ما تتعب من تكراره، والذاكرة التلقائية تكمّله.

أضف claude-mem إن بقي ما فعلتماه أمس غائبًا رغم ذلك، وكنتَ راضيًا بأن يقرأ نموذج جلساتك ويُحسب من حصتك. وأضف Graphify حين يكبر المشروع، أو تتراكم وثائق وملفات PDF يضيّع Claude وقته في تقليبها، بعد أن تقيس الفرق على نسخة من مشروعك.

ما لا يغطّيه هذا المقال

  • لا أقارن هذه الطرق بأدوات ذاكرة أخرى، ولا أغطي ذاكرة المحادثات العادية في تطبيق Claude.
  • الأوامر والإصدارات من صفحات المشاريع ووثائق Anthropic في ١٧ أكتوبر ٢٠٢٦: claude-mem 13.41.0 وGraphify 0.9.92. وتتغير سريعًا.
  • جرّبتُ الجلسات والذاكرة التلقائية وGraphify بـ Claude Code في الطرفية (تيرمينال) داخل مجلدات تجريبية، ولم أجرّب لصق أي طلب من هذا المقال في تبويب Code.
  • أرقام Graphify التي تنشرها صفحتها قياسات المشروع نفسه وليست مستقلة، ورقم توفير ثمانين بالمئة من الرموز الظاهر فيها يخص خدمتها السحابية Graphify Cloud لا الأداة المجانية.

أسئلة يطرحها الناس

هل ينسى Claude Code كل شيء عند إغلاق الجلسة؟

تبدأ كل جلسة بسياق فارغ، لكن Claude Code يحمل معه شيئين: ملف CLAUDE.md الذي تكتبه أنت، والذاكرة التلقائية التي يكتبها هو. فالذي ينساه هو الحديث نفسه، لا ما حُفظ في هذين.

هل تعمل هذه الأدوات في تبويب Code بتطبيق Desktop؟

يعمل CLAUDE.md، فوثائق Anthropic تقول إن Desktop والطرفية (تيرمينال) يقرآن ملفات المشروع وإعدادات الـ hooks والمهارات نفسها. أما وثائق claude-mem فتذكر محادثات Desktop لا تبويب Code، ووثائق Graphify لا تذكر Desktop أصلًا، ولم أجرّب أيًّا منهما هناك، والمرجّح أنهما يعملان لأن الـ hooks والمهارات مشتركة. وclaude-mem تحتاج Claude Code في الطرفية (تيرمينال) كما سبق.

هل تستهلك هذه الأدوات من حصتي في Claude؟

CLAUDE.md لا يستهلك شيئًا إضافيًا غير مساحة السياق التي يشغلها نصه. وclaude-mem بخيار ⁦--provider claude⁩ تلخّص جلساتك على اشتراكك. وGraphify لا تستدعي نموذجًا لتحليل الشيفرة، لكنها تستهلك حين يشغّل Claude خطواتها وحين تقرأ وثائقك وصورك.