main.py أو Crew أو Flow أو دالة factory.
إنشاء مشروع
Terminal
OPENAI_API_KEY في .env للنموذج الافتراضي openai/gpt-6.1-sol، ثم ثبّت المشروع وشغّله:
يختار القالب Responses API (api: responses) لاستدعاء الأدوات بهذا النموذج. في مشاريع YAML/JSON، عدّل llm.model وllm.api في التعريف؛ أما قالب Python فيقرأ MODEL من .env ويختار Responses API.
Terminal
crewai install ملف uv.lock. أضفه إلى Git مع المشروع. احتفظ بملف .env محليًا واستخدم إعدادات البيئة الخاصة بالنشر لبيانات اعتماد المزوّد.
المحادثات المحلية
يضبط المشروع المُنشأconversational: true، أو Agent(conversational=True) في Python. في الطرفية، يفتح crewai run واجهة المحادثة الحالية. تستخدم كل رسالة Agent المحدد وأدواته مع سجل الجلسة. اضبط القيمة على false لاستخدام استدعاءات kickoff المستقلة فقط.
Terminal
agent.handle_turn(...) وagent.as_flow(). يبقى السجل في الذاكرة افتراضيًا؛ اضبط استمرارية Flow صراحةً لاستعادته عبر العمليات. استخدم نسخة Agent منفصلة لكل محادثة مستقلة. يحدد الخيار session_id جلسة Flow أو يستعيدها؛ ولا يحوّل Agent واحدًا إلى خادم متزامن متعدد الجلسات.
بنية المشروع
pyproject.toml المُنشأ تعريف Agent ويضمّن الإعدادات وأي أدوات محلية في الحزمة:
تعريف Agent
الهوية الافتراضية هي Agent عام الأغراض مدعوم بـ CrewAI. عدّلrole وgoal وbackstory لتخصيصه. أدوات الدعم المضمّنة أمثلة تُستخدم عند الحاجة فقط؛ استبدلها أو أزلها لحالات استخدام أخرى. لا تُثبّت أي مهارات افتراضيًا.
عدّل agent.yaml:
messages وقت التشغيل؛ ولا تضف حقل input ثابتًا إلى التعريف.
اختيار JSON أو Python
Terminal
agent.json بالحقول نفسها:
agent = Agent(...) من src/python_support/agent.py. استخدمه عندما يتطلب تعريف Agent منطقًا برمجيًا بلغة Python.
كل من .yml و.yaml مدعوم. عند إعادة تسمية ملف الإعدادات أو نقله، حدّث definition وقائمة only-include الخاصة بملف wheel معًا. يجب أن تبقى مسارات التعريف داخل جذر المشروع.
إذا لم تحدد definition صراحةً، يبحث النظام عن ملف واحد في الجذر باسم agent.py أو agent.json أو agent.yml أو agent.yaml، أو عن المسار المعتاد src/<package>/agent.py. يؤدي العثور على ملفات متعددة إلى خطأ؛ اضبط definition لاختيار أحدها.
إضافة أداة مخصصة
استخدم الملف المُضمّنtools/support_hours.py كنقطة بداية لأداة أخرى:
custom:support_hours صنفًا مشتقًا من BaseTool من tools/support_hours.py. أضف أي اعتماديات للأداة إلى pyproject.toml وحدّث ملف القفل باستخدام crewai install. حمّل شيفرة المشاريع الموثوقة فقط: تنفذ الأدوات المخصصة ومراجع Python شيفرة Python أثناء التحميل.
الأدوات والمهارات المرجعية
تستخدم الأمثلة المُنشأة بيانات محلية خيالية. ولا تفحص الحسابات أو تعيد تعيين كلمات المرور أو تصدر مبالغ مستردة أو تنشئ تذاكر.
يبدأ مجلد
skills/ فارغًا، مع ملف .gitkeep فقط للاحتفاظ به في Git والحزم المبنية. أضف skills/<name>/SKILL.md مع حقلي name وdescription في الترويسة لإنشاء مهارة. تُكتشف المهارات المضافة كبيانات وصفية؛ ويمكن لـ Agent استخدام load_skill لتحميل التعليمات المناسبة عند الحاجة.
تُحل مسارات المهارات المحلية في YAML/JSON نسبةً إلى جذر المشروع، بما في ذلك عند استدعاء load_agent_project(path) من مجلد آخر. يحتفظ قالب Python بمجلدي tools/ وskills/ داخل src/<package>/ ويربط مسار المهارات بملف agent.py. يتضمن ملف wheel وأرشيف النشر هذه الملفات.
جرّب طلبًا يجمع إمكانات المثال:
Terminal
تمرير سجل رسائل
يقبلmessages أيضًا قائمة غير فارغة من الرسائل التي تتضمن role/content:
Terminal
التحقق من المعاينة ونشرها
Terminal
.env و.venv.
للنشر باستخدام بيئة تشغيل Enterprise متوافقة مع المعاينة، اتبع سير عمل النشر الحالي الموضح في مرجع CLI. تقبل API المُدارة المدخلات نفسها:
عمليات نشر مُدارة تدعم المحادثة
مع بيئة تشغيل Enterprise التجريبية المتوافقة، يضبط محوّل Agent الداخليconversational = True. تستخدم المحادثة Agent المحدد وأدواته في كل دور. ابدأ جلسة، ثم أعد استخدام session_id في الرسائل اللاحقة:
kickoff_id مختلفًا؛ استعلم عن /status/<kickoff_id> حتى يكتمل الدور قبل إرسال رسالة أخرى. تحتفظ الجلسة بسجل رسائل المستخدم والمساعد وتمرره إلى Agent جديد في كل دور. يتضمن سجل المحادثة الإجابة الموجهة للمستخدم، بينما تحتفظ نتائج التنفيذ بمخرجات Agent المنظمة وبيانات الاستخدام. تعتمد مدة الجلسة واستمرارية بياناتها على إعدادات التخزين في بيئة التشغيل المنشورة. لكل جلسة سجل منفصل.
يبقى POST /kickoff متاحًا لعمليات التنفيذ المستقلة. يفتح crewai run محليًا واجهة المحادثة، بينما ينفذ crewai run --inputs استدعاء kickoff واحدًا. يفعّل المشروع المُنشأ علم المحادثة في تعريف Agent؛ ولا تحتاج إلى كتابة Flow أو main.py.
جرى اختبار هذه المعاينة باستخدام API تعمل محليًا وعامل Celery. لا يزال بث الرموز، والاستعادة/نقاط التحقق، وتوفير بنية تشغيل مخصصة لـ Agent، والتوافق مع حاويات الإنتاج وإصداراته خارج النطاق الذي جرى التحقق منه.