شعار MemoryWhale

MemoryWhale

ذاكرة محلية ودائمة لتصحيح الأخطاء، للمطورين ووكلاء البرمجة.

English README · العربية · Deutsch · README français · 简体中文 README · 繁體中文 README · 한국어 README · 日本語 README · Español · Português (Brasil)

التكامل المستمر الإصدار crates.io رخصة MIT محلي أولاً، دون رفع تلقائي

يظهر خطأ البناء من جديد؛ فيُفيد mw context بأنه تكرّر مرتين، ويُعيد mw search الإصلاح المحفوظ.

**تواجه خطأً، فيتذكّر MemoryWhale أنك رأيته من قبل، ويُعيد إليك الإصلاح.** يسجّل MemoryWhale ما حدث فعلاً أثناء تصحيح الأخطاء: الأوامر، ومخرجاتها، والإخفاقات، والإصلاحات التي نجحت. ويحتفظ بهذه الأدلة في قاعدة SQLite محلية لتتمكن أنت ووكلاء البرمجة من استرجاعها بعد إغلاق الطرفية أو انقطاع اتصال SSH أو انتهاء جلسة الوكيل. ويعمل مع 19 وكيلاً برمجياً عبر MCP، دون الحاجة إلى حساب ودون رفع أي شيء. > على [LongMemEval](../../benchmarks/longmemeval/README.md)، وهو معيار عام لتقييم الذاكرة طويلة الأمد، يضع البحث > جلسةً تحتوي على الإجابة ضمن أول 5 نتائج في **97%** من 470 سؤالًا > (الاسترجاع فقط، دون نموذج). > > في تقييم مضبوط على أخطاء خاصة بالمشروع، حلّ الوكيل **25%** من المهام دون ذاكرة، > و**96%** منها مع الذاكرة. هذه مهام اصطناعية توضّح آلية العمل، وليست دراسة ميدانية؛ > راجع [كيف أُجري القياس](../../benchmarks/README.md). **MemoryWhale 0.23.0: MemoryWhale on Your Desktop · 26 أكتوبر 2026.** تشترك واجهة سطر الأوامر وواجهة الويب وتطبيق سطح المكتب في إصدار المنتج 0.23.0، أما نواة Rust القابلة لإعادة الاستخدام فإصدارها 0.10.0. راجع [ملاحظات الإصدار](https://github.com/wuisabel-gif/MemWhale/blob/v0.23.0/docs/releases/0.23.0.md) للاطلاع على دليل الترقية. وعند فتح مخزن البيانات يُرحَّل مخططه من الإصدار 10 إلى 17.

يفشل أمر make لدى الوكيل بخطأ xcrun؛ فيردّ خطاف الالتقاط بأن هذا الخطأ ظهر مرة من قبل وأن الإصلاح كان xcode-select --install.

**هل تودّ المساهمة؟** ابدأ من [تذكرة «ابدأ من هنا»](https://github.com/wuisabel-gif/MemWhale/issues/317). كثير من المهام لا تتطلب معرفة بـ Rust، ومنها مراجعة الترجمات وتصحيح التوثيق. ## لماذا MemoryWhale؟ - **تذكّر ما حدث فعلاً.** احتفظ بالأمر والبيئة والمخرجات والخطأ والدرس المستفاد، لا بمجرد سطر في سجل أوامر الصدفة. - **ذاكرة واحدة لجميع وكلاء البرمجة.** يستطيع أي عميل متوافق مع MCP عبر stdio القراءة من الذاكرة المحلية نفسها والكتابة فيها باستخدام `mw-mcp`. - **احتفظ بسجل التطوير محلياً.** يعمل MemoryWhale دون حساب أو خدمة مستضافة أو رسوم على تخزين الذاكرة محسوبة بعدد الرموز. يسجّل MemoryWhale خبرة التطوير، وليس كل شيء. إنه طبقة ذاكرة لتصحيح الأخطاء، وليس وكيل برمجة مستقلاً أو نظاماً عاماً للذاكرة الشخصية أو بديلاً عن توثيق المشروع. ## الجديد في Agent-Native Memory - **اربط الوكلاء وتحقق من إعدادهم.** ثبّت وصول MCP وخطافات التسجيل وإرشادات استخدام الذاكرة لـ Claude Code أو Rho باستخدام `mw integrate`؛ ويفحص `mw doctor` كلاً من MCP والخطافات والمهارات بصورة مستقلة. - **اجعل مصدر الأدلة صريحاً.** يخزّن مخطط قاعدة البيانات 10 الوكيلَ الذي نفّذ الأمر بإحدى القيم `claude` أو `rho` أو `NULL`. ويدل وسم العرض والتصفية `terminal` على مصدر طرفي أو يدوي أو قديم، ولا يثبت أن إنساناً نفّذ الأمر. وهوية الوكيل مستقلة عن نوع المصدر، مثل `command` أو `session` أو `note`. - **مستودع واحد مع تمييز أشجار العمل.** تجمع معرّفات المستودعات الموحّدة أشجار العمل المرتبطة مع الحفاظ على جذر كل شجرة ووسوم المشروع الحالية. تعتمد عملية الاكتشاف على بيانات Git الوصفية المحلية، لا على خدمة بعيدة. - **استخدم واجهات محلية.** يوفّر `mw-serve` واجهة MCP عبر HTTP عند `POST /mcp`؛ ويُفعّل `mw-serve --api` واجهة JSON للقراءة فقط بصورة صريحة. تستخدم الواجهتان مستمع لوحة التحكم نفسه، ويتطلب الوصول من خارج عنوان الحلقة المحلية رمز مصادقة. - **استرجع سياق GitHub عند الطلب.** يقرأ `mw github context ` بيانات طلب الدمج وفحوصاته ومراجعاته باستخدام تسجيل الدخول الحالي في `gh`. ويعرض سياقاً محدود الحجم ومنقّحاً من البيانات الحساسة، دون سحب الشيفرة (checkout) أو حفظ السياق تلقائياً في الذاكرة. لا توجد مزامنة GitHub تعمل في الخلفية. ## التثبيت تتوفر ملفات تنفيذية جاهزة لنظام Linux بمعماريتي x86_64 وaarch64 ولنظام macOS:
```bash ( set -eu installer="$(mktemp)" trap 'rm -f "$installer"' EXIT curl -fsSL https://raw.githubusercontent.com/wuisabel-gif/MemWhale/7c3864c743cec9a8fa813dcc0b2459cc2859c849/install.sh -o "$installer" printf '%s %s\n' '3e0cad72b29c1894d5ff5f7c30b099537f96501801c14b6320c12e169a3ac8d6' "$installer" | shasum -a 256 -c - sh "$installer" ) ```
أو ثبّته باستخدام Cargo أو Homebrew:
```bash cargo install memorywhale-cli brew tap wuisabel-gif/memorywhale https://github.com/wuisabel-gif/MemWhale brew install memorywhale ```
بعد التثبيت أو الترقية، تحقّق من الإصدار والإعداد المحلي:
```bash mw --version mw doctor ```
يمكن لمستخدمي Windows تشغيل MemoryWhale داخل [WSL](https://learn.microsoft.com/windows/wsl/). راجع [دليل البدء](../../docs/guides/getting-started.md) لمعرفة كيفية تثبيت الحزم وإعداد PATH والملاحظات الخاصة بكل منصة. **تطبيق سطح المكتب.** إن أردت نافذة بدل الطرفية، فتطبيق MemoryWhale يعرض ما أُخبر به وكلاؤك، والأوامر والمخرجات التي وراءه، ودروسك، ويبقى في شريط القوائم ليعلن عن كل ملاحظة جديدة. يصدر مع كل إصدار بدءًا من 0.23؛ راجع [دليل سطح المكتب](../../docs/guides/desktop.md). ## مثال في ستين ثانية
```bash mw global on # capture future interactive shell commands mw-run -- cargo check # capture one command and its output mw remember "the linker needed libssl-dev" mw search "linker error" # recover the failure and its fix mw context --last-error # compact context for any agent or chat mw pet # check your memory store's mood ```
![عرض توضيحي لحالات mw pet](../../assets/pet-demo.gif) للعمل لفترات أطول، يسجّل `mw --live` جلسة الصدفة مع الحفظ المستمر لتقليل فقدان البيانات عند التعطّل. ويفتح `mw tui` متصفحاً تفاعلياً داخل الطرفية، بينما يشغّل `mw-serve` لوحة التحكم المحلية على الويب. ## كيف يعمل؟
```text CAPTURE MEMORY RETRIEVAL shell / mw-run ──────► local SQLite ────────► search / context agent hooks ─────────► evidence + lessons ──► similar failures │ INTERFACES CLI / MCP / TUI / Web / Desktop ```
التسجيل والاسترجاع وظيفتان مستقلتان. يمنح MCP الوكيل وصولاً إلى الذاكرة الموجودة؛ لكنه لا يسجّل نشاط الطرفية المعتاد تلقائياً. راجع [البنية المعمارية](../../docs/architecture.md) و[مفهوم التسجيل](../../docs/concepts/capture.md) لفهم النموذج كاملاً. ## يعمل مع وكيل البرمجة الذي تستخدمه يمثّل `mw-mcp` نقطة التكامل المشتركة: خادم MCP محلي عبر stdio يوفّر ست أدوات للذاكرة، ويمكن الوصول إليها أيضاً عبر HTTP باستخدام `mw-serve`. تتوفر أدلة لـ Claude Code وRho وClaude Desktop وCursor وVS Code / GitHub Copilot وWindsurf وZed وCodex CLI وCline وContinue وGemini CLI وGoose وOpenClaw وCrowClaw وHermes Agent وغيرها من العملاء المتوافقين.
```bash mw integrate claude mw integrate rho mw doctor ```
لا يوفّر جميع العملاء الإمكانات نفسها. يتيح MCP الوصول إلى الذاكرة، أما التسجيل التلقائي للأوامر المنفّذة فيحتاج إلى خطاف خاص بالعميل. تميّز [مصفوفة التكامل](../../integrations/README.md) بين الوصول والتسجيل وإرشادات استخدام الذاكرة، وتربط بكل دليل إعداد تم التحقق منه. لا تتضمن حمولة خطافات Rho الحالية نص الأمر أو stdout: يمكن تسجيل الإخفاقات كبيانات وصفية مع أمر بديل يدل على غياب النص، بينما تُتجاوز الاستدعاءات الناجحة التي لا تحتوي على نص الأمر. يستخدم [عرض تسليم الذاكرة بين الوكلاء](../../docs/guides/cross-agent-handoff.md) بيانات اختبار وعميل Rho محاكياً مع خادم MCP فعلي، لا وكلاء يعملون فعلياً ولا إصلاح Cargo تم تنفيذه والتحقق منه. توجّه المهارة المرفقة استخدام الذاكرة؛ لكنها لا تنفّذ استرجاعاً تلقائياً عند بدء المهمة أو بحثاً تلقائياً عن الإخفاقات أو حفظاً قبل ضغط السياق. تبقى قرارات دورة الحياة هذه مسؤولية العميل. وتنتظر الدروس التي تُكتب عبر MCP المراجعة افتراضياً. ## لمن صُمّم MemoryWhale؟ MemoryWhale مخصص للمطورين الذين يتوزع سياق تصحيح الأخطاء لديهم بين مخرجات الطرفية وسجل الصدفة والأجهزة وجلسات الوكلاء المؤقتة. ويكون مفيداً خصوصاً إذا كنت: - تعالج أخطاء البناء أو الاعتماديات أو Git أو البيئات أو النشر؛ - تستخدم وكلاء البرمجة عبر جلسات متعددة أو تنتقل بين أدوات مختلفة؛ - تعمل عبر SSH أو على عدة أجهزة تطوير؛ - تريد إبقاء الإخفاقات المتكررة وإصلاحاتها قابلة للبحث؛ - تفضّل التخزين المحلي على خدمة ذاكرة مستضافة. راجع [حالات الاستخدام](../../docs/concepts/use-cases.md) لتجد كل حالة منها مشروحة سيناريو كاملاً من البداية إلى النهاية بأوامر حقيقية. ## التوثيق - [خريطة التوثيق](../../docs/README.md) - [البدء](../../docs/guides/getting-started.md) - [مرجع `mw pet`](../../docs/reference/pet.md) - [تسجيل الطرفية](../../docs/guides/terminal-capture.md) - [تطبيق سطح المكتب](../../docs/guides/desktop.md) - [ذاكرة الوكلاء](../../docs/guides/agent-memory.md) - [مرجع واجهة سطر الأوامر](../../docs/reference/cli.md) - [واجهة JSON المحلية](../../docs/reference/api.md) - [مرجع MCP](../../docs/reference/mcp.md) - [الأمان ونموذج التهديدات المحلي](../../docs/SECURITY.md) - [منظومة الأدوات](../../docs/ECOSYSTEM.md) — Delphin وContextGC وMemoryWhale معاً - [أدلة التكامل ومصفوفة الإمكانات](../../integrations/README.md) ## المساهمة يرحّب MemoryWhale بالتغييرات التي تحسّن تسجيل خبرات التطوير أو حفظها أو استرجاعها أو مشاركتها. اقرأ [CONTRIBUTING.md](../../CONTRIBUTING.md) لمعرفة نطاق المشروع وأوامر التطوير وقائمة التحقق الخاصة بطلبات الدمج. ويمكن للمساهمين الجدد اختيار مهمة من [تذكرة «ابدأ من هنا»](https://github.com/wuisabel-gif/MemWhale/issues/317). يحصل كل طلب دمج أيضًا على مراجعة تلقائية من [Second-Opinion](https://github.com/wuisabel-gif/second-opinion)، وهو GitHub Action من مشروع شقيق لـ MemoryWhale يديره المشرف نفسه. تعليقاته مجرد اقتراحات، والقرار فيما يُنفَّذ منها يعود إلى شخص. تجد طريقة الإعداد والقيود في [دليل Second-Opinion](../../integrations/second-opinion/README.md). متاح بموجب [رخصة MIT](../../LICENSE).