تخطَّ إلى المحتوى
cd /blog

السياق الذي يسافر معك

[Ecosystem] [MCP] [Portability]

> فهرسة Cursor ممتازة داخل Cursor. Maguyva هي خريطة MCP مستضافة يمكن لنفس الوكيل استعلامها من محرر أو CLI أو CI آخر.

فهرسة Cursor ممتازة داخل Cursor. إكمال التبويب، والتحرير المضمّن، والمحادثة، والوكيل داخل تلك النافذة يعتمدون جميعًا بالفعل على فهرس المشروع الذي يشغّله Cursor لمساحة العمل المفتوحة. إذا كان Cursor هو السطح الوحيد الذي تكتب فيه، وكان ذلك الفهرس يجد الملفات الصحيحة بالفعل، فابقَ هناك. هذه حالة صادقة من ‘ابقَ حيث أنت’، وتستحق أن تكون الجملة الأولى في هذه الصفحة.

هذا المقال يتناول النصف الآخر من الأسبوع المعتاد. نفس المستودع مفتوح أيضًا في Claude Code، ويُستعلم منه عبر Codex CLI، ويُراجَع على جهاز ثانٍ، أو يُستعلم منه بواسطة وكيل يعمل في CI. السؤال ليس ‘أي فهرس أفضل’. السؤال هو ما إذا كانت الخريطة التي يثق بها الوكيل في نافذة واحدة هي نفس الخريطة التي سيثق بها في النافذة التالية.

Maguyva هي تلك الخريطة التي تسافر معك. إنها طبقة سياق قاعدة كود MCP عن بُعد. يستعلمها الوكيل بنفس الطريقة التي يستعلم بها أي أداة MCP أخرى. تعود النتائج كمسارات مقتبسة مع أرقام الأسطر. يظل Cursor هو المحرر. السياق هو ما يتحرك.

لماذا وُجدت فهرسة Cursor

توجد الفهرسة المدمجة في Cursor حتى تتمكن المحادثة والوكلاء والبحث داخل المحرر من جلب الكود ذي الصلة بدلًا من الاعتماد فقط على ما يناسب نافذة السياق الخام للنموذج. هذا هو التصميم الصحيح لـ IDE. هذا الفهرس أصلي لـ Cursor. إنه ليس خادم MCP ولا يمكن الوصول إليه من عملاء آخرين.

إليك كيف يعمل، كما هو موصوف في وثائق Cursor العامة وشروحات Cursor نفسها وقت كتابة هذا المقال: مسار البحث الأساسي لم يعد فهرس تضمينات سحابي. ذكر فريق Cursor في منتدى مجتمعهم أن البحث الدلالي/القائم على التضمينات المخصص يجري التقليل منه لصالح الاسترجاع القائم على grep، لأن النماذج الحالية أصبحت جيدة بما فيه الكفاية لاستكشاف الشجرة الحية بنفسها. بدلًا من ذلك هناك Instant Grep، وهو فهرس بحث محلي مبني من مقاطع نصية متتالية وقوائم مقلوبة ومرشحات بلوم، مخزّن في جداول بحث مُخطَّطة على الذاكرة، بحيث تُحل الاستعلامات على جهاز المطور نفسه بدلًا من الخادم.

يعيش الفهرس نفسه في دليل .git/cursor/ الخاص بالمستودع نفسه، مُثبَّت على إيداع git محدد؛ التغييرات منذ ذلك الإيداع تُطبَّق فوقه بدلًا من إثارة مسح جديد، ولا يُعاد بناء الفهرس إلا عندما تنحرف الحالة المحلية بشكل كبير عمّا بُني عليه. ولأنه يقع داخل .git، فإنه لا يُتتبَّع أبدًا ولا يُدفَع أبدًا — احذف ذلك المجلد، ويختفي الفهرس. يُحترَم .gitignore في بنائه، لأن المحتوى المُتتبَّع فقط هو المؤهل، ويُطبَّق .cursorignore في مسار القراءة. لم تعد هناك خطوة تضمين من جانب الخادم أو قاعدة بيانات متجهات عن بُعد في ذلك المسار. وصفت الوثائق القديمة تصميمًا بمساعدة السحابة — تشفير القطع، والمزامنة عبر أشجار Merkle، وإعادة استخدام الفهرس بين أعضاء الفريق — وقد قال فريق Cursor نفسه منذ ذلك الحين إن ذلك التصميم يجري التقليل منه، لذا لم يعد هذا المقال يصفه على أنه حالي.

ما يبرز داخل المحرر هو الوكيل الفرعي للاستكشاف Explore الخاص بـ Cursor. يمكنه إطلاق عدة عمليات بحث متوازية في نافذة سياقه الخاصة على نموذج أسرع، وإرجاع النتائج ذات الصلة فقط، حتى لا تنتفخ المحادثة الرئيسية بنتائج البحث. هذه قوة حقيقية داخل المحرر. حافظ عليها.

مساحات العمل متعددة الجذور مدعومة: سياق كل مجلد مفتوح متاح للـ Agent. بعض الميزات المعتمدة على git، مثل أشجار عمل git، مُعطَّلة في إعدادات متعددة الجذور، ولا يدعم Cloud Agents مساحات العمل متعددة الجذور على الإطلاق.

لا شيء من هذا سبب لترك Cursor. إنه وصف دقيق لخريطة جيدة جدًا في المكان الذي تعيش فيه.

ماذا يعني ‘السفر معك’ فعليًا

تسافر الخريطة معك عندما يعيد نفس السؤال نفس نوع الإجابة، مع اقتباسات يمكنك فتحها، من أكثر من عميل واحد.

  • في Cursor: ‘أين يُعرَّف parseConfig، ومن يستدعيه؟’
  • في Claude Code، على نفس المستودع: نفس السؤال.
  • في Codex CLI، على جهاز مراجعة لم يفتح نافذة Cursor قط: نفس السؤال.
  • في وكيل CI يتحدث MCP: نفس السؤال، مقابل نفس اللقطة المستضافة.

إذا كان كل سطح يبني فهرسه الخاص والمنفصل، فأنت لا تملك خريطة واحدة. لديك عدة ذاكرات مؤقتة تتباعد. قد يكون فهرس المحرر محدّثًا للشجرة الموجودة على القرص. قد تتأخر جلسة CLI بيوم واحد. قد ترى مهمة CI نسخة مسحوبة مختلفة من الشيفرة. وسيظل الوكيل يبدو واثقًا مع ذلك.

لم تُصمَّم فهرسة Cursor لحل ذلك. ولأنها تعيش داخل المحرر، فإن السياق الذي تبنيه مخصص لذلك المحرر. القراء الذين يحتاجون أيضًا إلى CLI أو خط أنابيب CI أو محرر مختلف يحتاجون إلى أداة منفصلة لتلك الأسطح. هذه حقيقة نطاق، وليست عيبًا. Maguyva هي تلك الأداة المنفصلة.

عدد اللغات المنشور لفهرسة Cursor غير مذكور في المحتوى القابل للاستخدام لهذا المقال. تنشر Maguyva دعمًا لأكثر من 279 لغة وتقنية قائمة على النص. لا يُكرَّر تسعير Cursor هنا أيضًا؛ راجع صفحة تسعيرهم. تفرض Maguyva رسومًا لكل مساحة عمل، وليس لكل مقعد، بخطط منشورة عند $0 و$19 و$49 و$149 حسب التغطية المفهرسة وحجم مساحة العمل.

خريطة مستضافة واحدة، لكل عميل MCP

Maguyva هي خادم MCP عن بُعد. تربط GitHub، وتختار مستودعًا، ويبني خط الأنابيب السحابي الرموز، وحواف الرسم البياني، والخريطة المقتبسة. تضيف مفتاح API إلى تكوين MCP للعميل الذي تستخدمه بالفعل. لدى Maguyva أدلة إعداد لـ 24 عميل MCP موثّق — بما في ذلك Cursor — ويمكنها التحدث إلى أي عميل آخر متوافق مع MCP يدعم التكوين القياسي.

صفحة إعداد Cursor هي مسار خاص بالمحرر إذا كان هذا هو مكان عملك. نفس الخادم يستجيب لـ Claude Code وVS Code وWindsurf وCodex CLI والباقي. أنت لا تغيّر المحرر. أنت تمنح كل وكيل نفس سطح الأدوات: 11 أداة MCP موجهة للعملاء عبر البحث والرموز وتحليل التبعيات واسترجاع الملفات وسياق المستودع وسير عمل الأدوات المساعدة الحتمية. يجتمع البحث الدلالي والبنيوي والرسم البياني والنصي في نتيجة واحدة مُصنَّفة.

تلك هي فائدة قابلية النقل. الاقتباس الذي تتحقق منه في Cursor صباح اليوم له نفس الشكل الذي سيعيده Codex CLI الليلة. مسار الملف ورقم السطر. افتحه. إذا كان خاطئًا، سترى ذلك. إذا كان صحيحًا، فإن التغيير التالي لديه مكان يستقر فيه. المُدَّعى هو تغييرات أقل هلوسة، وليس وعدًا بأن كل تغيير سيكون صحيحًا.

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

الوثائق تعطي نفس حلقة التفعيل لكل عميل: فهرس مستودع تعرفه بالفعل، اربط العميل، اطرح سؤالًا واحدًا يمكنك التحقق منه. افعل ذلك مرة واحدة في Cursor. افعله مرة أخرى من CLI الذي تستخدمه فعليًا يوم المراجعة. إذا اقتبست كلتا الإجابتين نفس المعالج، فإن الخريطة قد سافرت معك بالفعل.

كيف تتعايش الخريطتان معًا

استخدم كليهما. هذا ليس بديلًا بمعنى صفحة المقارنة.

  1. اترك فهرسة Cursor مفعّلة للمشروع الموجود على القرص. دع Explore وInstant Grep والوكيل داخل المحرر يستخدمونها. تلك الحلقة أصلية وسريعة.
  2. أضف Maguyva كخادم MCP في Cursor حتى تتمكن نفس الجلسة أيضًا من استعلام خريطة مساحة العمل المستضافة. Cursor عميل Maguyva موثّق. أنت لا تختار فهرسًا واحدًا وتحذف الآخر.
  3. أضف نفس خادم Maguyva إلى Claude Code أو Codex CLI أو أي عميل MCP آخر يلمس المستودع. نموذج مفتاح API واحد. مساحة عمل واحدة.
  4. إذا كان وكيل CI متوافقًا مع MCP، وجّهه إلى نفس الخادم. سيقرأ نفس اللقطة المختومة بالوقت التي يقرأها الحاسوب المحمول.

يظل فهرس المحرر أفضل أداة لـ ‘ما هو موجود على القرص في هذه النافذة، الآن’. الخريطة المستضافة هي أفضل أداة لـ ‘كيف تبدو مساحة العمل هذه لكل وكيل سيلمسها اليوم’. هاتان الجملتان لا تتنافسان.

حصص مساحة العمل منشورة في صفحة التسعير: المستودعات، والأسطر المفهرسة، والمستخدمون، تُفرض رسومها لكل مساحة عمل. يشترك الوكلاء والبشر في نفس عدد المستخدمين. ابدأ مجانًا بمستودع يمكنك تقييمه بالفعل. رقّي مساحة العمل فقط بعد أن تصمد الاقتباسات أمام التماس مع تلك الشجرة.

ما لا تدّعيه هذه الصفحة

هي لا تدّعي أن فهرسة Cursor ضعيفة أو غير مكتملة أو سبب لتغيير المحرر. الجملة الأولى من هذا المقال تنص على العكس.

هي لا تدّعي أن Maguyva تحل محل Instant Grep أو الوكيل الفرعي للاستكشاف. تلك ميزات Cursor. تبقى في Cursor.

هي لا تختلق أعداد لغات أو أرقام كمون أو توفير رموز لأي منتج. الأرقام غير المعروفة تبقى غير منشورة.

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

الاختبار عادي. فهرس مستودع تعرفه بالفعل. اطرح سؤالًا واحدًا يمكنك التحقق منه، أولًا في Cursor ثم في عميل MCP ثانٍ. السياق الذي يسافر معك هو نفس الاقتباس في كلا المكانين.

// same map, wherever you opened it.

قراءات ذات صلة

المزيد من سجل بناء Maguyva