> ## Documentation Index
> Fetch the complete documentation index at: https://docs.crewai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# واجهة سطر الأوامر

> تعرّف على كيفية استخدام واجهة سطر أوامر CrewAI للتفاعل مع CrewAI.

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

## نظرة عامة

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

## التثبيت

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

```shell Terminal theme={null}
pip install crewai
```

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

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

```shell Terminal theme={null}
crewai [COMMAND] [OPTIONS] [ARGUMENTS]
```

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

### 1. إنشاء

إنشاء مشروع crew أو flow أو Agent مستقل (تجريبي) أو tool أو skill أو template.

```shell Terminal theme={null}
crewai create [OPTIONS] TYPE NAME
```

* `TYPE`: `crew` أو `flow` أو `agent` (تجريبي) أو `tool` أو `skill` أو `template`
* `NAME`: اسم الطاقم أو التدفق

مثال:

```shell Terminal theme={null}
crewai create crew my_new_crew
crewai create flow my_new_flow
```

افتراضيًا، ينشئ `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`:

```text theme={null}
  API key not saved. Add this line to my_new_crew/.env before `crewai run`:
    OPENAI_API_KEY=<your key>
```

لا تُدرج القيم التي لها قيمة افتراضية، مثل منطقة 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. وتذكر الخطوات التالية كل متغير غير معيّن بعد في بيئتك:

```text theme={null}
  Set OPENAI_API_KEY in .env before `crewai run`
```

#### التشغيل الآن

عندما تنشئ طاقمًا أو تدفقًا في طرفية، يعرض `crewai create` تشغيل المشروع الجديد:

```text theme={null}
  Run it now? [Y/n]:
```

اضغط على Enter لبدء `crewai run` في مجلد المشروع. بعد ذلك يخرج `crewai create` برمز خروج التشغيل. يثبّت التشغيل الأول أيضًا اعتماديات المشروع. أجب بـ `n` لتخطي التشغيل، فيطبع CLI الأمر الذي تشغّله لاحقًا:

```text theme={null}
  Run it later: cd my_new_crew && crewai run
```

لا يطرح `crewai create` هذا السؤال مع `CREWAI_DMN=true`، أو عندما لا يكون stdin أو stdout طرفية، كما يحدث عندما يشغّله وكيل برمجة أو مهمة CI. ولا يطرحه أبدًا عند إنشاء أداة أو مهارة أو قالب.

#### Agent مستقل (تجريبي)

```shell Terminal theme={null}
crewai create agent support_agent
crewai create agent json_support --format json
crewai create agent python_support --format python
```

تستخدم مشاريع Agent المستقلة الملف `agent.yaml` افتراضيًا. استخدم `--format json` لتهيئة JSON أو `--format python` لتصدير Agent بلغة Python. قد يتغير عقد المشروع والتحميل التجريبي هذا، ويتطلب إصدارات معاينة متوافقة من CLI وSDK. راجع [مشاريع Agent المستقلة](https://docs.crewai.com/edge/ar/guides/agents/standalone-agent-projects.md) للإعداد والأدوات ومدخلات التشغيل وحدود النشر.

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

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

| مهمل | استخدم بدلاً منه |
| :- | :- |
| `--skip_provider` (في `crewai create crew`) | `--skip-provider` |
| `--n_iterations` (في `crewai train`، `crewai test`) | `--n-iterations` |
| `--task_id` (في `crewai replay`) | `--task-id` |

### 2. الإصدار

عرض الإصدار المثبت من CrewAI.

```shell Terminal theme={null}
crewai version [OPTIONS]
```

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

### 3. التدريب

تدريب الطاقم لعدد محدد من التكرارات.

```shell Terminal theme={null}
crewai train [OPTIONS]
```

* `-n, --n-iterations INTEGER`: عدد تكرارات التدريب (افتراضي: 5)
* `-f, --filename TEXT`: مسار ملف مخصص للتدريب (افتراضي: "trained\_agents\_data.pkl")

### 4. الإعادة

إعادة تنفيذ الطاقم من مهمة محددة.

```shell Terminal theme={null}
crewai replay [OPTIONS]
```

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

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

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

```shell Terminal theme={null}
crewai log-tasks-outputs
```

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

إعادة تعيين ذاكرة الطاقم (طويلة، قصيرة، الكيانات، أحدث مخرجات التشغيل).

```shell Terminal theme={null}
crewai reset-memories [OPTIONS]
```

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

### 7. الاختبار

اختبار الطاقم وتقييم النتائج.

```shell Terminal theme={null}
crewai test [OPTIONS]
```

* `-n, --n-iterations INTEGER`: عدد تكرارات الاختبار (افتراضي: 3)
* `-m, --model TEXT`: نموذج LLM لتشغيل الاختبارات (افتراضي: "gpt-4o-mini")

### 8. التشغيل

تشغيل الطاقم أو التدفق.

```shell Terminal theme={null}
crewai run
```

> [!NOTE]
>
> بدءًا من الإصدار 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` في مجلد أعلى أو يكون رابطًا رمزيًا:

```text theme={null}
OPENAI_API_KEY is not set. Add OPENAI_API_KEY=<your key> to /path/to/my_crew/.env, then run `crewai run` again.
```

يشمل التحقق المزوّدين الذين يأخذون مفتاح 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`، تبدأ جلسة تفاعلية مع طاقمك. سيرشدك المساعد الذكي بطلب المدخلات اللازمة لتنفيذ الطاقم. بمجرد توفير جميع المدخلات، سينفذ الطاقم مهامه.

```shell Terminal theme={null}
crewai chat
```

> [!NOTE]
>
> مهم: عيّن خاصية `chat_llm` في تعريف الـ crew لتفعيل هذا الأمر.
>
> للـ crews بنمط JSON-first، أضفها إلى `crew.jsonc`:
>
> ```jsonc theme={null}
> {
>   "name": "My Crew",
>   "agents": ["researcher"],
>   "tasks": [],
>   "chat_llm": "openai/gpt-4o"
> }
> ```
>
> للـ crews الكلاسيكية Python/YAML، عيّنها في `crew.py`:
>
> ```python theme={null}
> @crew
> def crew(self) -> Crew:
>     return Crew(
>         agents=self.agents,
>         tasks=self.tasks,
>         process=Process.sequential,
>         verbose=True,
>         chat_llm="gpt-4o",
>     )
> ```

### 10. النشر

نشر الطاقم أو التدفق إلى [CrewAI AMP](https://app.crewai.com).

* **المصادقة**: تحتاج لتكون مصادقًا للنشر إلى CrewAI AMP.

  ```shell Terminal theme={null}
  crewai login
  ```

* **إنشاء نشر**:
  ```shell Terminal theme={null}
  crewai deploy create
  ```
  * يرفع `--zip` المشروع كملف ZIP حتى عندما يكون له `origin` في git، دون الجلب منه.
  * عندما يكون المشروع مستودع git يحتوي على commit واحد على الأقل، فإن كل رفع ZIP، عند الإنشاء أو الدفع، يعرض الـ commit المحلي الذي بُني منه، وما إذا كان مجلد المشروع يحتوي على تغييرات غير مُثبَّتة.

* **نشر الطاقم**:
  ```shell Terminal theme={null}
  crewai deploy push
  ```
  يحافظ الدفع على المصدر المستخدم عند الإنشاء. إضافة `origin` لاحقًا لا تحوّل نشر ZIP إلى git.

* **حالة النشر**:
  ```shell Terminal theme={null}
  crewai deploy status
  ```
  يجلب هذا أحدث حالة لآخر محاولة نشر (مثل `Building Images for Crew` و`Deploy Enqueued` و`Online`). إذا فشل النشر، يعرض أيضًا الخطأ وإصلاحًا مقترحًا.

* **سجلات النشر**:
  ```shell Terminal theme={null}
  crewai deploy logs
  ```

* **عرض النشرات**:
  ```shell Terminal theme={null}
  crewai deploy list
  ```

* **حذف النشر**:
  ```shell Terminal theme={null}
  crewai deploy remove
  ```

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

إدارة مؤسسات CrewAI AMP.

```shell Terminal theme={null}
crewai org [COMMAND] [OPTIONS]
```

* `list`: عرض جميع المؤسسات
* `current`: عرض المؤسسة النشطة حاليًا
* `switch`: التبديل إلى مؤسسة محددة

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

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

```shell Terminal theme={null}
crewai login
```

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

إدارة إعدادات تهيئة CLI لـ CrewAI.

```shell Terminal theme={null}
crewai config [COMMAND] [OPTIONS]
```

* `list`: عرض جميع معاملات التهيئة
* `set`: تعيين معامل تهيئة
* `reset`: إعادة تعيين جميع المعاملات إلى القيم الافتراضية

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

إدارة تفضيلات جمع التتبع لعمليات الطاقم والتدفق.

```shell Terminal theme={null}
crewai traces [COMMAND]
```

* `enable`: تفعيل جمع التتبع
* `disable`: تعطيل جمع التتبع
* `status`: عرض حالة جمع التتبع الحالية

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

يتم التحكم في جمع التتبع بفحص ثلاثة إعدادات بترتيب الأولوية:

1. **علامة صريحة في الكود** (الأولوية الأعلى):
   ```python theme={null}
   crew = Crew(agents=[...], tasks=[...], tracing=True)   # تفعيل دائمًا
   crew = Crew(agents=[...], tasks=[...], tracing=False)  # تعطيل دائمًا
   crew = Crew(agents=[...], tasks=[...])                 # فحص الأولويات الأدنى
   ```

2. **متغير البيئة** (الأولوية الثانية):
   ```env theme={null}
   CREWAI_TRACING_ENABLED=true
   ```

3. **تفضيل المستخدم** (الأولوية الأدنى):
   ```shell Terminal theme={null}
   crewai traces enable
   ```
   * يحدّث موجه التشغيل الأول (`Would you like to view your execution traces?`) هذا التفضيل أيضاً

> [!NOTE]
>
> **لتفعيل التتبع**، استخدم أيًا من هذه الطرق:
>
> * عيّن `tracing=True` في كود الطاقم/التدفق، أو
> * أضف `CREWAI_TRACING_ENABLED=true` إلى ملف `.env`، أو
> * شغّل `crewai traces enable`
>
> **لتعطيل التتبع**، استخدم أيًا من هذه الطرق:
>
> * عيّن `tracing=False` في كود الطاقم/التدفق، أو
> * أزل أو عيّن `false` لمتغير `CREWAI_TRACING_ENABLED`، أو
> * شغّل `crewai traces disable`

> [!TIP]
>
> يتعامل CrewAI CLI مع المصادقة لمستودع الأدوات تلقائيًا عند
> إضافة حزم إلى مشروعك. فقط أضف `crewai` قبل أي أمر `uv`
> لاستخدامه. مثلًا `crewai uv add requests`.

> [!NOTE]
>
> تُخزن إعدادات التهيئة في `~/.config/crewai/settings.json`. بعض
> الإعدادات مثل اسم المؤسسة ومعرّفها للقراءة فقط وتُدار من خلال
> أوامر المصادقة والمؤسسة.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.