الانتقال إلى المحتوى الرئيسي
منذ الإصدار 0.140.0، بدأ CrewAI AMP عملية نقل مزود تسجيل الدخول. لذلك، تم تحديث تدفق المصادقة عبر CLI. المستخدمون الذين يسجلون الدخول باستخدام Google، أو الذين أنشأوا حساباتهم بعد 3 يوليو 2025 لن يتمكنوا من تسجيل الدخول مع الإصدارات القديمة من مكتبة crewai.

نظرة عامة

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

التثبيت

لاستخدام واجهة سطر أوامر CrewAI، تأكد من تثبيت CrewAI:
Terminal

الاستخدام الأساسي

الهيكل الأساسي لأمر CrewAI CLI هو:
Terminal

الأوامر المتاحة

1. إنشاء

إنشاء طاقم أو تدفق جديد.
Terminal
  • TYPE: اختر بين “crew” أو “flow”
  • NAME: اسم الطاقم أو التدفق
مثال:
Terminal
افتراضيًا، ينشئ crewai create crew مشروعًا JSON-first يحتوي على crew.jsonc و agents/*.jsonc. استخدم crewai create crew my_new_crew --classic فقط إذا أردت البنية القديمة Python/YAML مع crew.py و config/agents.yaml و config/tasks.yaml. يطرح crewai create flow الأسئلة نفسها في الطرفية، ويحفظ النموذج باسم MODEL في ملف .env الخاص بالتدفق، ويستخدمه وكلاء الطاقم المبدئي. ومع --provider، يتخطى سؤالي المزود والنموذج. مرّر مزودًا تعرضه القائمة، مثل anthropic أو bedrock، لاستخدام أول نموذج مدرج له، أو سلسلة provider/model كاملة لأي نموذج آخر. أما التدفق التصريحي (--declarative) فلا يطرح أي سؤال ولا يذكر أي مفتاح في خطواته التالية، لأن نقطة البداية فيه لا تستدعي أي نموذج. بعد اختيار مزود LLM والنموذج، يطلب منك CLI مفاتيح API. في الطرفية، لا يظهر ما تكتبه لمفتاح أو سرّ على الشاشة، بينما تبقى القيم الأخرى ظاهرة، مثل عنوان URL لنقطة النهاية أو المنطقة أو اسم نشر Azure. اضغط على Enter لتخطي أي حقل. لا يُحفظ المفتاح الذي تتخطاه. وما لم يكن المفتاح معيّنًا مسبقًا في بيئتك، يطبع CLI السطر الدقيق الذي يجب إضافته إلى .env قبل crewai run:
لا تُدرج القيم التي لها قيمة افتراضية، مثل منطقة AWS وإصدار Azure API. إذا كان الوكلاء يستخدمون نماذج من أكثر من مزود، يطلب CLI مفاتيح كل مزود مرة واحدة فقط، ويحفظ نموذج الوكيل الأول في MODEL. يعتمد ملف pyproject.toml المُنشأ أيضًا على إضافات crewai التي تحتاجها النماذج التي تختارها، مثل crewai[tools,anthropic] لـ Anthropic، أو crewai[tools,google-genai] لـ Gemini، أو crewai[tools,litellm] للمزودين الذين يصل إليهم crewAI عبر LiteLLM، مثل Groq. ويشغّل crewAI أيضًا بعض أسماء النماذج عبر LiteLLM بدلًا من SDK المزود، مثل bedrock/claude-sonnet-4-5-20250929-v1:0، لذا تضيف هذه النماذج litellm أيضًا. يثبّتها crewai install أو أول تشغيل لـ crewai run. أما المشروع الذي يستخدم OpenAI وحده فيعتمد على crewai[tools] فقط. إذا نقلت أحد الوكلاء لاحقًا إلى نموذج آخر، فأضف الإضافة التي يحتاجها بنفسك، مثل uv add "crewai[anthropic]". مع --skip-provider، أو مع CREWAI_DMN=true، لا يطلب CLI أي مفاتيح ولا يحفظ أيًا منها. كما لا يطرح crewai create flow أي سؤال عندما لا يعمل في طرفية، كما يحدث عندما يشغّله وكيل برمجة أو مهمة CI. وفي طاقم JSON الافتراضي، يستخدم الوكلاء openai/gpt-6-luna ما لم تمرر --provider. أما التدفق فيحفظ نموذج --provider باسم MODEL، وإلا فإنه يعمل على نموذج OpenAI الافتراضي في crewAI. وتذكر الخطوات التالية كل متغير غير معيّن بعد في بيئتك:

التشغيل الآن

عندما تنشئ طاقمًا أو تدفقًا في طرفية، يعرض crewai create تشغيل المشروع الجديد:
اضغط على Enter لبدء crewai run في مجلد المشروع. بعد ذلك يخرج crewai create برمز خروج التشغيل. يثبّت التشغيل الأول أيضًا اعتماديات المشروع. أجب بـ n لتخطي التشغيل، فيطبع CLI الأمر الذي تشغّله لاحقًا:
لا يطرح crewai create هذا السؤال مع CREWAI_DMN=true، أو عندما لا يكون stdin أو stdout طرفية، كما يحدث عندما يشغّله وكيل برمجة أو مهمة CI. ولا يطرحه أبدًا عند إنشاء أداة أو مهارة أو قالب.

أسماء مستعار قديمة للأعلام (مهملة)

لا تزال أعلام snake_case القديمة تعمل، لكنها مخفية من --help. يُفضّل استخدام صيغ kebab-case الموثّقة في أقسام الأوامر أدناه.

2. الإصدار

عرض الإصدار المثبت من CrewAI.
Terminal
  • --tools: (اختياري) عرض الإصدار المثبت من أدوات CrewAI

3. التدريب

تدريب الطاقم لعدد محدد من التكرارات.
Terminal
  • -n, --n-iterations INTEGER: عدد تكرارات التدريب (افتراضي: 5)
  • -f, --filename TEXT: مسار ملف مخصص للتدريب (افتراضي: “trained_agents_data.pkl”)

4. الإعادة

إعادة تنفيذ الطاقم من مهمة محددة.
Terminal
  • -t, --task-id TEXT: إعادة تنفيذ الطاقم من معرّف المهمة هذا، بما في ذلك جميع المهام اللاحقة

5. سجل مخرجات المهام

استرجاع أحدث مخرجات مهام crew.kickoff().
Terminal

6. إعادة تعيين الذاكرة

إعادة تعيين ذاكرة الطاقم (طويلة، قصيرة، الكيانات، أحدث مخرجات التشغيل).
Terminal
  • -l, --long: إعادة تعيين الذاكرة طويلة المدى
  • -s, --short: إعادة تعيين الذاكرة قصيرة المدى
  • -e, --entities: إعادة تعيين ذاكرة الكيانات
  • -k, --kickoff-outputs: إعادة تعيين أحدث مخرجات التشغيل
  • -kn, --knowledge: إعادة تعيين تخزين المعرفة
  • -akn, --agent-knowledge: إعادة تعيين تخزين معرفة الوكيل
  • -a, --all: إعادة تعيين جميع الذاكرات

7. الاختبار

اختبار الطاقم وتقييم النتائج.
Terminal
  • -n, --n-iterations INTEGER: عدد تكرارات الاختبار (افتراضي: 3)
  • -m, --model TEXT: نموذج LLM لتشغيل الاختبارات (افتراضي: “gpt-4o-mini”)

8. التشغيل

تشغيل الطاقم أو التدفق.
Terminal
بدءًا من الإصدار 0.103.0، يمكن استخدام أمر crewai run لتشغيل كل من الأطقم القياسية والتدفقات. للتدفقات، يكتشف تلقائيًا النوع من pyproject.toml ويشغّل الأمر المناسب. هذه هي الطريقة الموصى بها لتشغيل كل من الأطقم والتدفقات.
قبل أن يبدأ crew أو flow مكتوب بـ Python، يتحقق crewai run من أن مفتاح API الذي يحتاجه كل نموذج من نماذجه مُعيَّن، إما في بيئتك أو في ملف .env الذي يحمّله crewAI: ملف المشروع نفسه، وإلا فأقرب ملف في مجلد أعلى. في طاقم JSON، يقرأ حقول llm وmanager_llm وfunction_calling_llm في crew.jsonc وفي ملفات الوكلاء التي يذكرها؛ والوكيل الذي ليس له llm يعمل على MODEL، وإلا فعلى النموذج الافتراضي في crewAI، وهو gpt-4.1-mini، لذا يُتحقَّق من هذا النموذج أيضًا. أما في crew أو flow مكتوب بـ Python، فيقرأ MODEL وأي llm: في config/agents.yaml، ويتحقق من gpt-4.1-mini عندما لا يحدد أيٌّ منهما نموذجًا. القيمة الفارغة أو العنصر النائب YOUR_API_KEY تُعدّ مفقودة. في الطرفية، يطلب CLI كل مفتاح مفقود. ما تلصقه يبقى مخفيًا، ويُحفظ في ملف .env الخاص بالمشروع، ويستخدمه التشغيل الذي يبدأ بعد ذلك. اضغط Enter لتخطي مفتاح. بدون طرفية، على سبيل المثال تحت وكيل برمجة أو في CI، يطبع CLI السطر الواجب إضافته ويبدأ التشغيل على أي حال. ويطبع السطر أيضًا بدلًا من الحفظ عندما يكون ملف .env في مجلد أعلى أو يكون رابطًا رمزيًا:
يشمل التحقق المزوّدين الذين يأخذون مفتاح API واحدًا، مثل OpenAI وAnthropic وGemini وGroq. ويتخطى Azure وBedrock وwatsonx، والنماذج المحلية مثل Ollama، والتدفقات التصريحية. ولا يقرأ أي llm مُعيَّن في كود Python، وعندما يعيّن كود المشروع واحدًا، لا يتحقق من النموذج الافتراضي أيضًا. أما ملف .env الذي ليس ملفًا عاديًا، مثل أنبوب مُسمّى يقدّمه مدير أسرار، فيُترك للتشغيل ليقرأه ولا يُتحقق منه. وقبل أن يحفظ CLI مفتاحًا، يجعل ملف .env قابلًا للقراءة لك وحدك؛ وإذا تعذّر ذلك، يستخدم المفتاح لهذا التشغيل فقط ويخبرك بذلك بدلًا من حفظه. وعندما يرسل ملف .env الخاص بالمشروع الطلبات إلى مضيف آخر عبر إعداد لا تعيّنه بيئتك أنت، مثل OPENAI_BASE_URL أو OPENAI_API_BASE أو HTTPS_PROXY، أو عندما تعيّن ملفات طاقم JSON قيمة base_url أو api_base أو endpoint في أي موضع، مثل llm أو client_params الخاصة به أو planning_llm أو config الخاصة بأداة التضمين، يذكر الطلب كل مضيف قبل أن يسألك عن المفتاح. لا تلصق مفتاحًا إلا إذا كنت تثق بذلك المضيف. إذا ظل طاقم JSON يفشل لأن مفتاح API غير مُعيَّن، مثل مفتاح نموذج يتخطاه هذا التحقق، يتوقف التشغيل بالسطر نفسه بدلًا من تتبّع الأخطاء (traceback). وفي الطرفية، يطلب CLI ذلك المفتاح أولًا كما سبق، ثم يبني الطاقم من جديد ويشغّله مرة أخرى من مهمته الأولى، فتُعاد المهام التي اكتملت؛ اضغط Enter للتوقف بدلًا من ذلك.

9. الدردشة

بدءًا من الإصدار 0.98.0، عند تشغيل أمر crewai chat، تبدأ جلسة تفاعلية مع طاقمك. سيرشدك المساعد الذكي بطلب المدخلات اللازمة لتنفيذ الطاقم. بمجرد توفير جميع المدخلات، سينفذ الطاقم مهامه.
Terminal
مهم: عيّن خاصية chat_llm في تعريف الـ crew لتفعيل هذا الأمر.للـ crews بنمط JSON-first، أضفها إلى crew.jsonc:
للـ crews الكلاسيكية Python/YAML، عيّنها في crew.py:

10. النشر

نشر الطاقم أو التدفق إلى CrewAI AMP.
  • المصادقة: تحتاج لتكون مصادقًا للنشر إلى CrewAI AMP.
    Terminal
  • إنشاء نشر:
    Terminal
    • يرفع --zip المشروع كملف ZIP حتى عندما يكون له origin في git، دون الجلب منه.
    • عندما يكون المشروع مستودع git يحتوي على commit واحد على الأقل، فإن كل رفع ZIP، عند الإنشاء أو الدفع، يعرض الـ commit المحلي الذي بُني منه، وما إذا كان مجلد المشروع يحتوي على تغييرات غير مُثبَّتة.
  • نشر الطاقم:
    Terminal
    يحافظ الدفع على المصدر المستخدم عند الإنشاء. إضافة origin لاحقًا لا تحوّل نشر ZIP إلى git.
  • حالة النشر:
    Terminal
    يجلب هذا أحدث حالة لآخر محاولة نشر (مثل Building Images for Crew وDeploy Enqueued وOnline). إذا فشل النشر، يعرض أيضًا الخطأ وإصلاحًا مقترحًا.
  • سجلات النشر:
    Terminal
  • عرض النشرات:
    Terminal
  • حذف النشر:
    Terminal

11. إدارة المؤسسة

إدارة مؤسسات CrewAI AMP.
Terminal
  • list: عرض جميع المؤسسات
  • current: عرض المؤسسة النشطة حاليًا
  • switch: التبديل إلى مؤسسة محددة

12. تسجيل الدخول

المصادقة مع CrewAI AMP باستخدام تدفق رمز الجهاز الآمن.
Terminal

13. إدارة التهيئة

إدارة إعدادات تهيئة CLI لـ CrewAI.
Terminal
  • list: عرض جميع معاملات التهيئة
  • set: تعيين معامل تهيئة
  • reset: إعادة تعيين جميع المعاملات إلى القيم الافتراضية

14. إدارة التتبع

إدارة تفضيلات جمع التتبع لعمليات الطاقم والتدفق.
Terminal
  • enable: تفعيل جمع التتبع
  • disable: تعطيل جمع التتبع
  • status: عرض حالة جمع التتبع الحالية

كيف يعمل التتبع

يتم التحكم في جمع التتبع بفحص ثلاثة إعدادات بترتيب الأولوية:
  1. علامة صريحة في الكود (الأولوية الأعلى):
  2. متغير البيئة (الأولوية الثانية):
  3. تفضيل المستخدم (الأولوية الأدنى):
    Terminal
    • يحدّث موجه التشغيل الأول (Would you like to view your execution traces?) هذا التفضيل أيضاً
لتفعيل التتبع، استخدم أيًا من هذه الطرق:
  • عيّن tracing=True في كود الطاقم/التدفق، أو
  • أضف CREWAI_TRACING_ENABLED=true إلى ملف .env، أو
  • شغّل crewai traces enable
لتعطيل التتبع، استخدم أيًا من هذه الطرق:
  • عيّن tracing=False في كود الطاقم/التدفق، أو
  • أزل أو عيّن false لمتغير CREWAI_TRACING_ENABLED، أو
  • شغّل crewai traces disable
يتعامل CrewAI CLI مع المصادقة لمستودع الأدوات تلقائيًا عند إضافة حزم إلى مشروعك. فقط أضف crewai قبل أي أمر uv لاستخدامه. مثلًا crewai uv add requests.
تُخزن إعدادات التهيئة في ~/.config/crewai/settings.json. بعض الإعدادات مثل اسم المؤسسة ومعرّفها للقراءة فقط وتُدار من خلال أوامر المصادقة والمؤسسة.