/ الدليل / الملعب / contextplus
● مجتمع ForLoopCodes ⚡ فوري

contextplus

بواسطة ForLoopCodes · ForLoopCodes/contextplus

امنح وكيلك البرمجي خريطة دلالية دائمة للمستودع — شجرة AST + تضمينات + رسم بياني للذاكرة + تراجع ظلي — حتى يتوقف عن إعادة قراءة المستودع بأكمله.

Context+ (ForLoopCodes/contextplus) هو MCP من TypeScript يوفر 17 أداة لفهم المستودع: أشجار tree-sitter AST، هياكل الملفات، بحث دلالي عن المعرفات، تحليل نطاق التأثير، رسم بياني للذاكرة للمشاريع طويلة الأمد، ونقاط استعادة ظلية للتحرير الآمن. يعمل مع Ollama أو التضمينات السحابية.

لماذا تستخدمه

الميزات الأساسية

عرض مباشر

كيف يبدو في الممارسة

contextplus.replay ▶ جاهز
0/0

التثبيت

اختر العميل

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "contextplus": {
      "command": "npx",
      "args": [
        "-y",
        "contextplus"
      ],
      "_inferred": true
    }
  }
}

افتح Claude Desktop → Settings → Developer → Edit Config. أعد التشغيل بعد الحفظ.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "contextplus": {
      "command": "npx",
      "args": [
        "-y",
        "contextplus"
      ],
      "_inferred": true
    }
  }
}

يستخدم Cursor نفس مخطط mcpServers مثل Claude Desktop. إعدادات المشروع أولى من الإعدادات العامة.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "contextplus": {
      "command": "npx",
      "args": [
        "-y",
        "contextplus"
      ],
      "_inferred": true
    }
  }
}

انقر على أيقونة MCP Servers في شريط Cline الجانبي، ثم "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "contextplus": {
      "command": "npx",
      "args": [
        "-y",
        "contextplus"
      ],
      "_inferred": true
    }
  }
}

نفس الصيغة مثل Claude Desktop. أعد تشغيل Windsurf لتطبيق التغييرات.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "contextplus",
      "command": "npx",
      "args": [
        "-y",
        "contextplus"
      ]
    }
  ]
}

يستخدم Continue مصفوفة من كائنات الخادم بدلاً من خريطة.

~/.config/zed/settings.json
{
  "context_servers": {
    "contextplus": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "contextplus"
        ]
      }
    }
  }
}

أضف إلى context_servers. يعيد Zed التحميل تلقائيًا عند الحفظ.

claude mcp add contextplus -- npx -y contextplus

أمر من سطر واحد. تحقق باستخدام claude mcp list. احذف باستخدام claude mcp remove.

حالات الاستخدام

استخدامات عملية: contextplus

كيفية جعل وكيل جديد منتجاً في مستودع كبير بسرعة

👤 قادة التكنولوجيا الذين يستخدمون Cursor/Claude Code على monorepo ⏱ ~20 min intermediate

متى تستخدمه: يهدر الوكيل 30% من السياق في قراءة وإعادة قراءة الملفات.

المتطلبات الأساسية
  • Node + bun أو npm — brew install bun أو استخدم npm
  • موفر تضمينات (Ollama محلي أو OpenAI أو Gemini أو Groq) — ollama pull nomic-embed-text للعمل دون اتصال
الخطوات
  1. بناء شجرة السياق
    تشغيل get_context_tree على جذر المستودع. لخص الطبقات العليا.✓ تم النسخ
    → شجرة AST مع رؤوس الملفات
  2. قراءة الهياكل فقط
    استخدم get_file_skeleton على src/auth/ لترى التوقيعات فقط — لا تقرأ الأجسام حتى الآن.✓ تم النسخ
    → توقيعات الدوال دون الأجسام
  3. اطرح سؤالاً دلالياً
    semantic_identifier_search: 'أين يتم تطبيق التحقق من JWT والاستدعاء منه؟'✓ تم النسخ
    → التطبيقات والمواقع المرتبة

النتيجة: يعمل الوكيل بنموذج عقلي للمستودع باستخدام حوالي 5 مرات سياق أقل.

المزالق
  • الفهرسة في المرة الأولى بطيئة — قم بتشغيل الفحص الأولي مرة واحدة؛ التحديثات الإضافية سريعة
  • عدم تطابق نموذج التضمينات بين الفهرس والاستعلام — التزم بنموذج تضمين واحد؛ أعد الفهرسة إذا غيرته
اجمعها مع: filesystem · github

كيفية إعادة البناء باستخدام نقاط الاستعادة الظلية

👤 المطورون الذين يقلقون بشأن السماح للوكلاء بتعديل الأكواد ⏱ ~15 min intermediate

متى تستخدمه: تريد تعديلات الوكيل لكن تريد أيضاً تراجعاً بنقرة واحدة لا يلوث git.

الخطوات
  1. التقاط نقطة استعادة
    قم بإنشاء نقطة استعادة باسم 'before-auth-refactor'.✓ تم النسخ
    → معرّف النقطة مرجوع
  2. دع الوكيل يحرر
    propose_commit: إعادة هيكلة التحقق من JWT لاستخدام مساعد دوران المفاتيح الجديد.✓ تم النسخ
    → الملفات المحررة + التحقق من الصحة نجح
  3. تراجع إذا كان خاطئاً
    undo_change العودة إلى 'before-auth-refactor'.✓ تم النسخ
    → الملفات مستعادة، سجل git نظيف

النتيجة: إعادة هيكلة بلا خوف دون تلويث سجل git.

المزالق
  • نقاط الاستعادة تعيش في .contextplus/ — لا تسجلها — أضف .contextplus/ إلى .gitignore
اجمعها مع: github

كيفية تقييم نطاق التأثير قبل حذف دالة

👤 المهندسون الذين ينظفون الأكواد الميتة ⏱ ~10 min intermediate

متى تستخدمه: تريد معرفة بالضبط من يستورد أو يستخدم رمزاً قبل إزالته.

الخطوات
  1. اطلب نطاق التأثير
    احصل على get_blast_radius للدالة 'legacyFormatPrice' في src/pricing.ts.✓ تم النسخ
    → كل ملف/سطر يستورد أو ينادي عليه
  2. خطة الإزالة
    لكل موقع استدعاء، اقترح الاستبدال. أي موقع بدون استبدال نظيف، علمه كمخاطرة.✓ تم النسخ
    → قائمة هجرة

النتيجة: طلب حذف بدون مفاجآت.

المزالق
  • الاستيرادات الديناميكية (require، مراجع السلسلة) لا تُكتشف — أكمل مع فحص grep لاسم الدالة
اجمعها مع: github

كيفية الحفاظ على القرارات عبر الجلسات برسم بياني الذاكرة

👤 أي مستخدم وكيل في مشروع طويل الأمد ⏱ ~15 min advanced

متى تستخدمه: تعيد شرح نفس الخيارات المعمارية للوكيل باستمرار.

الخطوات
  1. بذر الذاكرة
    upsert_memory_node: 'اخترنا Postgres بدلاً من MongoDB لأن متطلبات التعاملات في تدفق الفواتير.'✓ تم النسخ
    → عقدة تم إنشاؤها مع التضمين
  2. إنشاء علاقات
    create_relation: ربط هذا القرار بملفات src/billing/*.ts مع نوع الحافة 'implements'.✓ تم النسخ
    → حافة تم إنشاؤها
  3. استرجاع الجلسة التالية
    search_memory_graph: 'لماذا نستخدم Postgres؟'✓ تم النسخ
    → القرار يظهر مع الملفات الداعمة

النتيجة: ذاكرة مشروع دائمة تتجاوز الدردشة.

المزالق
  • رسم بياني الذاكرة يصبح قديماً — قم بتشغيل prune_stale_links شهرياً
اجمعها مع: memory-service

التركيبات

اجمعها مع خوادم MCP أخرى لتحقيق نتائج x10

contextplus + github

استخدم نتائج blast-radius لملء مشكلة تتبع

قم بتشغيل get_blast_radius على LegacyAuth ثم أنشئ مشكلة تتبع GitHub مع كل موقع استدعاء كعنصر قائمة فحص.✓ تم النسخ
contextplus + memory-service

الحفاظ على القرارات طويلة الأمد عبر المشاريع باستخدام mcp-memory-service كمخزن مشترك

كلما استقبلت Context+ قراراً معمارياً جديداً، انسخه إلى mcp-memory-service.✓ تم النسخ

الأدوات

ما يوفره هذا الـ MCP

الأداةالمدخلاتمتى تستدعيهاالتكلفة
get_context_tree root: str, depth?: int أول استدعاء في جلسة مستودع جديدة free
get_file_skeleton path: str نظرة عامة رخيصة على الملف free
semantic_code_search query: str, k?: int البحث عن الأكواد بالمعنى 1 embedding + 1 vector search
semantic_identifier_search query: str تحديد موقع دالة/فئة 1 vector search
get_blast_radius symbol: str, file?: str قبل الحذف/إعادة التسمية free
run_static_analysis path?: str أكواد ميتة + أخطاء أنواع free
propose_commit files: Edit[] تطبيق التحريرات مع التحقق free
list_restore_points انظر التراجعات المتاحة free
undo_change restore_point_id: str تراجع عن تحرير ظلي free
upsert_memory_node content: str, tags?: str[] احفظ حقيقة دائمة 1 embedding
search_memory_graph query: str, traversal?: int استرجع القرارات الماضية 1 vector search

التكلفة والحدود

تكلفة التشغيل

حصة API
يعتمد على موفر التضمين: Ollama مجاني، OpenAI حوالي $0.02/1M token
الرموز لكل استدعاء
قراءات الهياكل: 100-500 token. البحث الكامل: 500-2000
التكلفة المالية
مجاني (مصدر مفتوح) + تكاليف التضمين إذا استخدمت موفري السحابة
نصيحة
استخدم Ollama مع nomic-embed-text للحصول على تكلفة حدية صفرية.

الأمان

الصلاحيات والأسرار ونطاق الأثر

الحد الأدنى من الصلاحيات: قراءة/كتابة نظام الملفات للمستودع المفهرس
تخزين بيانات الاعتماد: مفاتيح موفر التضمين عبر env
نقل البيانات الخارجي: التضمينات تذهب إلى موفرك المختار (أو تبقى محلياً مع Ollama)
لا تمنح أبدًا: لا تفهرس الدلائل التي تحتوي على أسرار مثل .env

استكشاف الأخطاء

الأخطاء الشائعة وحلولها

Indexing is extremely slow

أضف الدلائل الكبيرة (node_modules, dist) إلى .contextplusignore؛ استخدم Ollama محلياً.

Semantic search returns irrelevant results

استعلامك مجرد — قم بتضمين رمز ملموس أو تلميح اسم ملف.

undo_change fails with 'point not found'

نقاط الظل حسب الجلسة افتراضياً. استمر عبر الجلسات عبر علم الإعدادات.

Tree-sitter grammar missing for a language

تحقق من قائمة الامتدادات المدعومة؛ يتم تخطي الملفات من الأنواع غير المدعومة لكن فهرستها كنص عادي.

البدائل

contextplus مقابل البدائل

البديلمتى تستخدمهاالمقايضة
mcp-language-serverتريد دلالات LSP (إعادة تسمية، مراجع) بدلاً من البحث القائم على التضمينلا يوجد رسم بياني للذاكرة، لا استعادة ظلية
codebase-memory-mcpتفضل عرض رسم البيانات المعرفية على هياكل الملفات لكل ملفشكل فهرس مختلف؛ 66 لغة

المزيد

الموارد

📖 اقرأ ملف README الرسمي على GitHub

🐙 تصفح القضايا المفتوحة

🔍 تصفح أكثر من 400 خادم MCP و Skills