دوز مباشرة للمحتوى الرئيسي
دروس فالذكاء الاصطناعي

بني رسم بياني محلي للكود وذاكرة لوكلاء البرمجة باستعمال Graphicle

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

رسم بياني محلي للكود وذاكرة لوكلاء البرمجة باستعمال Graphicle

شنو هو Graphicle؟

Graphicle هو برنامج محلي مكتوب بـ Rust كيجمع بين رسم بياني ديال كود المستودع وذاكرة المشروع ديال وكلاء البرمجة. كيفهرس الملفات، الدوال، الأصناف، الاستدعاءات، والاستيرادات، وكيحتافظ حتى بالتوثيق، والقرارات، والإجراءات، والجلسات السابقة ديال الوكلاء.

مني كيسول وكيل ولا مطوّر على شي حاجة، Graphicle كيرجع مقتطفات موثّقة كتعرف بملف المصدر ونطاق الأسطر. رسم الكود وأدوات السياق الأساسية كيخدمو بلا مفتاح API ولا حساب، وGraphicle ما كيرسل حتى معلومة لشي جهة إلا إلا ضبطتي صراحة نموذج ولا موصل كيحتاج هاد الشي.

Graphicle خدام مع Claude Code وCursor وCodex وVS Code وClaude Desktop وزبناء MCP آخرين. كيوفر واجهة سطر الأوامر، وخادم MCP، وتطبيق فالمتصفح، ومخزن بيانات واحد مبني على SQLite.

الميزات الرئيسية

  • رسم بياني ديال الكود: استكشف الملفات، الرموز، الاستدعاءات، الاستيرادات، المسارات، والكود المتأثر باستعمال محلل مبني على tree-sitter.
  • ذاكرة المشروع: قلب فوثائق Markdown وPDF وOffice وHTML، والقرارات المراجَعة، والإجراءات، وجلسات الوكلاء المسجّلة.
  • سياق موثّق: جيب مقتطفات مرتبطة بالكود وبمعرفة المشروع داخل ميزانية ديال الرموز، بلا ما تعيط على نموذج.
  • الربط مع الوكلاء: ربط وكلاء البرمجة المدعومين عبر MCP بأمر إعداد واحد.
  • ذاكرة مربوطة بالكود: الذكريات المراجَعة يمكن تربطها بالدوال اللي كتوصفها، وكتولي قديمة مني كيتبدل داك الكود.
  • خدمة محلية أولا: البيانات كتخزن محليا، ونقاط النهاية كتسمع افتراضيا غير على loopback، وGraphicle ما كيستعمل لا تتبع ولا حساب.
  • مزامنة أوتوماتيكية: الملفات اللي تبدلات كتتزامن قبل الأجوبة، وهوكات Git يقدرو يزامنو من بعد الـ commits والدمج وعمليات checkout.

ثبّت Graphicle

Graphicle كيدعم حاليا macOS وLinux. أسهل طريقة للتثبيت فـ macOS ولا فشي نظام Linux فيه Homebrew هي:

brew install graphicle-ai/tap/graphicle

إلا ما كانش Homebrew متوفر، استعمل مثبت الإصدارات:

curl -fsSL https://github.com/graphicle-ai/graphicle/releases/latest/download/install.sh | sh

وتقدر حتى تحمّل أرشيف خاص بالمنصة من صفحة إصدارات GitHub. دعم Windows الأصلي مازال ما توفرش، ولكن ملف README كيشير لأن تثبيت Linux يقدر يخدم تحت WSL2، ومازال ما تجربش.

وجد مستودع

دخل للمستودع اللي بغيتي الوكلاء يفهموه، ومن بعد شغّل الإعداد:

cd your-repo
graphicle setup

عملية الإعداد كتهرس المستودع، كتبني الرسم البياني ديال الكود، وكتربط وكلاء البرمجة اللي لقاتهم. على حساب الزبناء المثبتين فالجهاز ديالك، تقدر تحدّث إعدادات MCP ديال Claude Code وCodex وCursor وVS Code وClaude Desktop وزبناء MCP آخرين.

الإعداد كيفعّل حتى تسجيل الجلسات، وكيوجّه عمليات البحث ديال Claude Code نحو رسم الكود، وكيزيد قسم قصير فـ AGENTS.md، وكيثبّت هوكات Git اللي كيساعدو يبقى المشروع محيّن. Graphicle كيسرد كل ملف كيبدلو وكيصاوب نسخة احتياطية قبل التعديل عليه. باش يخدم الإعداد بلا أسئلة تفاعلية، استعمل:

graphicle setup --yes

باش تلغي تغييرات الربط، شغّل:

graphicle disconnect

أمر disconnect كيحيد داك الشي اللي زادو setup. ما كيحيدش مجلد إخراج Graphify الموجود من قبل فالمستودع.

طرح الأسئلة من الطرفية

من بعد الإعداد، استعمل graphicle ask باش تقلب فالمستودع:

graphicle ask "where is tax added to prices?"

Graphicle كيرجع الأدلة مع أسماء الملفات، ونطاقات الأسطر، والرموز، والمقتطفات. النتيجة تقدر تكون بحال هادي:

Evidence for "where is tax added to prices?"
4 excerpts · 598 of 3,000 tokens

[1] shop/pricing.py:1-7  price_with_tax()
    """Prices and tax."""
    TAX_RATE = 0.2

    def price_with_tax(price):
        """A price with the sales tax added."""
        return round(price * (1 + TAX_RATE), 2)

إلا ما كان حتى نموذج مضبوط، ask كيعرض الأدلة. باش يخلي Graphicle يزيد جواب مكتوب، ضبط مزود نماذج مدعوم بحال Anthropic ولا OpenAI ولا Ollama:

graphicle config set model anthropic

حتى النماذج المحلية عبر Ollama والخوادم المتوافقة مع OpenAI مدعومة. شوف توثيق الإعدادات باش تعرف إعدادات النموذج.

استعمل Graphicle مع وكيل

منين كيربط graphicle setup زبون MCP، طلب من وكيل البرمجة ديالك يستعمل Graphicle فأسئلة المستودع. مثلا:

استعمل Graphicle باش تلقى فين كيتعاودو الطلبات الفاشلة.

الوكيل يقدر يستعمل أدوات رسم الكود والذاكرة ديال Graphicle، ويتوصل بمقتطفات موثّقة، ويجمع هاد النتائج مع الاستدلال ديالو. Graphicle كيعرض خادم MCP واحد فيه أدوات رسم الكود وأدوات الذاكرة. أدوات الرسم ديالو فيها أسماء بحال query_graph وget_neighbors وshortest_path.

تصفّح الرسم والذاكرة ديال المشروع

باش تحل تطبيق Graphicle فالمتصفح، شغّل:

graphicle open

التطبيق كيخليك تتصفح رسم الكود، ومواد المصدر، وذاكرة المشروع. ومن تما حتى كتراجع الذكريات المقترحة وكتوافق عليها.

باش تدير فحص للصحة كيغطي التثبيت والربط، شغّل:

graphicle doctor

استعمل doctor مني ما كيقدرش الوكيل يتصل، ولا كتبان المزامنة ناقصة، ولا بغيتي تتأكد من البيئة المضبوطة.

استكشف التبعيات والكود المتأثر

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

graphicle graph extract . --code-only

ومن بعد سول شنو هو الكود اللي كيعتمد على رمز:

graphicle graph affected "retry()"

أمر graph يقدر يقلب فالمستودع، يشرح الرموز، يتبع المسارات، ويصدّر رسم بياني تفاعلي بصيغة HTML. الوضع --code-only ما كيحتاجش موديل.

Graphicle يقدر حتى يربط الإشارات للكود فوثائق المشروع بالتعريفات اللي كتشير ليها. استعمل أمر graph ديال ربط الوثائق باش تعرض هاد العلاقات:

graphicle call graph.doc_links

جيب السياق بلا موديل ديال الأجوبة

أمر context كيجبد مقتطفات مرتبطة من الكود، والوثائق، والجلسات، والذاكرة اللي تراجعات. ما كيتاصلش بموديل:

graphicle context

إلى كان workspace فيه كثر من مستودع، طلب السياق من كامل workspace:

graphicle context --workspace

هاد الشي كيخلي Graphicle مفيد ملي كيكون التنفيذ فمستودع واحد معتمد على التوثيق ولا الكود المصدر فمستودع آخر. إعدادات MCP ديال workspace موضحة فـتوثيق MCP.

فهم المزامنة والخصوصية

أثناء المزامنة، Graphicle كيحترم .gitignore وكيتجاوز ملفات البيئة، والمفاتيح، وبيانات الدخول. التقاط الجلسات كيحيد المحتوى اللي داخل المقاطع <private>...</private> وكيخفي بيانات الدخول.

فـmacOS، المجلد الرئيسي ديال البيانات المحلية هو ~/Library/Application Support/Graphicle. فـLinux، هو ~/.local/share/graphicle. الرسم البياني اللي كينشئو graphicle graph extract كيتكتب فـ.graphicle/ داخل المشروع.

التطبيق، ونقاط HTTP، ونقاط MCP كيسمعو فـ127.0.0.1 بشكل افتراضي. الولوج للشبكة كيوقع غير ملي كتطلب ميزة محتاجاها، بحال موديل ولا موصل مكوّن، أو استخراج كامل للرسم البياني كيرسل الوثائق ولا الصور لـLLM، أو عمليات محددة ديال GitHub CLI، ولا موجز التحديثات.

نصائح متقدمة

خلي الأجوبة مبنية على الأدلة

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

راجع الذكريات المقترحة

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

استعمل hooks ديال Git باش يبقى السياق محدّث

خلي المستودع متزامن بالإبقاء على hooks اللي تتركبو أثناء الإعداد. كيديرو المزامنة من بعد commits وmerges وcheckouts، وGraphicle حتى هو كيزامن الملفات اللي تبدلات قبل الجواب.

بدّل حدود المستودع

افتراضيا، المشروع يقدر يحتوي حتى لـ100,000 ملف نصي و1 GiB ديال النص. تقدر ترفع الحدود فالإعدادات إلا كنت خدام على مستودع أكبر. الملفات الكبيرة بزاف ممكن يتحللو جزئيا ولا يتحفظو كنص قابل للبحث بلا ما توقف المزامنة.

ربط عميل MCP آخر

بالنسبة للعملاء اللي Graphicle ما كيكتاشفهمش تلقائيا، زِد إعداد MCP القصير بصيغة JSON الموضح فـدليل MCP. نفس خادم MCP كيوفر إمكانيات الرسم البياني والذاكرة بجوج.

الخلاصة

Graphicle كيعطي لوكلاء البرمجة نظرة محلية وقابلة للبحث على بنية المستودع ومعرفة المشروع. نصّبو، شغّل graphicle setup، واستعمل ask وcontext وopen وgraph باش تبحث فالكود مع مراجع. كوّن موديل غير ملي بغيتي أجوبة مولّدة؛ الرسم البياني، والمزامنة، وخادم MCP، والتقاط الجلسات، والتطبيق يقدرو يخدمو بلا موديل.

لمزيد من التفاصيل، كمّل مع البداية السريعة ديال المشروع، ودليل الوكلاء، ومرجع الإعدادات، والأسئلة المتكررة.