شغّل Agentic Data Stack بالكامل محليًا باستخدام Docker Compose لطرح أسئلة على بياناتك منذ أول تسجيل دخول. يتيح لك أمر واحد فقط، وهو docker compose up، تشغيل LibreChat وخادم ClickHouse MCP وClickHouse وLangfuse لأغراض المراقبة.
المتطلبات الأساسية
- Docker مع إضافة Compose (الإصدار 2 أو أحدث).
- Git، لاستنساخ المستودع.
- مفتاح API لمزوّد نماذج (مثل OpenAI أو Anthropic أو Google). يحتاج الوكيل إلى نموذج للإجابة عن الأسئلة، لذا وفّر مفتاحًا أثناء الإعداد أو أضِف واحدًا في واجهة LibreChat قبل بدء أول محادثة.
شغِّل المكدس
استنسخ المستودع
git clone https://github.com/ClickHouse/agentic-data-stack
cd agentic-data-stackيتضمّن المستودع ملف docker-compose.yml في المستوى الأعلى، لذا يمكنك تشغيل المكدس بالكامل بأمر واحد. راجع معمارية للاطلاع على القائمة الكاملة للخدمات.
شغّل البرنامج النصي لإعداد العرض التوضيحي
./scripts/prepare-demo.shيؤدي ذلك إلى إنشاء ملف .env يحتوي على بيانات الاعتماد لكل خدمة، ثم يعرض قائمة تفاعلية لإعداد مفاتيح API لمزوّد تختاره. ويمكنك أيضًا ضبط هذه المفاتيح مباشرةً في ملف .env. وأي مزوّد تتخطّاه سيظل مضبوطًا على user_provided، بحيث يمكنك إضافة مفتاحك الخاص في واجهة LibreChat بدلًا من ذلك.
عند التشغيل لأول مرة، ينشئ المكدس مستخدم Admin من ملف .env. وبيانات تسجيل الدخول الافتراضية هي admin@admin.com / password.
عيّن بيانات تسجيل الدخول الخاصة بك
شغّل generate-env.sh بهذه المتغيرات قبل prepare-demo.sh:
USER_EMAIL="you@example.com" USER_PASSWORD="supersecret" USER_NAME="YourName" ./scripts/generate-env.shبعد ذلك سيتعرّف prepare-demo.sh على ملف .env الحالي وينتقل مباشرةً إلى إعداد مفاتيح API.
ابدأ الخدمات في الخلفية
docker compose up -dيُرتَّب تسلسل بدء التشغيل تلقائيًا. ولا يبدأ LibreChat إلا بعد أن تصبح حالة خادم MCP سليمة، لذا يكون اتصاله بـ ClickHouse جاهزًا عند أول تحميل.
افتح LibreChat وسجّل الدخول
بمجرد تشغيل المكدس، ستصبح الخدمات متاحة في متصفحك:
- LibreChat (واجهة الدردشة) — http://localhost:3080
- Langfuse (المراقبة) — http://localhost:3000
- لوحة إدارة (إعداد LibreChat عبر المتصفح) — http://localhost:3081
- وحدة تحكم MinIO (تخزين الكائنات؛ بيانات الاعتماد في
.env) — http://localhost:9091
سجّل الدخول إلى LibreChat باستخدام بيانات اعتماد المسؤول من ملف .env.
اختر نموذجًا
يكون هناك نموذج محدد افتراضيًا. وإذا أردت تغييره، فافتح محدِّد النماذج واختر النموذج الذي تريد استخدامه.

إذا لم تُعيّن مفتاح مزوّد أثناء الإعداد، فأضف واحدًا في واجهة المستخدم.
عيّن مفتاح مزوّد في واجهة المستخدم
افتح محدِّد النماذج وانقر على Set API Key بجانب المزوّد.

ألصق مفتاحك في مربع الحوار وانقر على Submit. يمكنك تعيين تاريخ انتهاء، أو الإبقاء على المفتاح بدون انتهاء.

اختر خادم MCP
يضبط المكدس مسبقًا خوادم MCP الخاصة به في ملف librechat.yaml الخاص بـ LibreChat. وفي منطقة كتابة الرسائل، انقر على MCP Servers واختر ClickHouse-Local.
واختر ClickHouse-Cloud بدلًا من ذلك لاستخدام خدمة ClickHouse Cloud.

اطرح سؤالك الأول
على سبيل المثال:
ما قواعد البيانات والجداول المتاحة، وكم عدد الصفوف في أكبر جدول؟
يستخدم الوكيل أدوات خادم MCP لسرد قواعد البيانات والجداول، وتشغيل استعلامات read-only على ClickHouse، وبناء إجابة من النتائج. ولا تحتاج إلى كتابة SQL.

إيقاف المكدس أو إعادة ضبطه
أوقف الخدمات من دون حذف أي شيء:
docker compose downلإزالة جميع الحاويات ومسح كل وحدات التخزين والبدء من جديد بشكل نظيف، استخدم البرنامج النصي لإعادة تعيين المكدس:
./scripts/reset-all.shالبنية المعمارية
يُعدّ docker-compose.yml نقطة دخول بسيطة تتضمن أربعة ملفات Compose:
| ملف Compose | يعرّف |
|---|---|
langfuse-compose.yml |
Langfuse وخدماته الداعمة (ClickHouse وPostgreSQL وRedis وMinIO) |
clickhouse-mcp-compose.yml |
خادم ClickHouse MCP |
librechat-compose.yml |
LibreChat وخدماته الداعمة (MongoDB وMeilisearch وpgvector وRAG API) |
admin-panel-compose.yml |
لوحة إدارة LibreChat |
هناك عاملان يجعلان التشغيل بأمر واحد ممكنًا:
- فحوصات الحالة وترتيب البدء. يستخدم Compose فحوصات الحالة لتنظيم تسلسل بدء التشغيل. ينتظر خادم MCP حتى يصبح ClickHouse جاهزًا، وينتظر LibreChat خادم MCP.
- ملف بيئة مشترك. يحتوي
.envعلى بيانات الاعتماد وقيم الاتصال الخاصة بكل خدمة، وتُضبط هذه القيم بشكل متسق بحيث تتمكن الخدمات من الوصول إلى بعضها بعضًا. على سبيل المثال، يتصل خادم MCP بـ ClickHouse باستخدام بيانات اعتماد ClickHouse من.env. كما يُزوَّد LibreChat بكل منLANGFUSE_PUBLIC_KEYوLANGFUSE_SECRET_KEYوLANGFUSE_BASE_URL، بحيث يُرسَل تتبّع كل تشغيل إلى Langfuse مباشرةً من البداية.
يلعب ClickHouse دورين في هذه المنظومة: فهو الواجهة الخلفية للتخزين لدى Langfuse، وهو أيضًا قاعدة البيانات التي يستعلم عنها الوكيل عبر خادم MCP.
الخطوات التالية
- تعرّف على دور كل مكوّن في المكدس: خادم MCP من ClickHouse، وLibreChat، وLangfuse.
- اطّلع على نظرة عامة لمعرفة كيف تتكامل مكوّنات المكدس.
- لتجربة المكدس على مجموعات بيانات عامة من دون تثبيت أي شيء، استخدم AgentHouse، النسخة التجريبية المستضافة.