1. مقدمة
في هذا الدرس التطبيقي حول الترميز، ستتعرّف على Gemini CLI، وهو وكيل ذكاء اصطناعي مفتوح المصدر يتيح لك الاستفادة من إمكانات Gemini مباشرةً في نافذة الأوامر على جهازك.
ما ستتعلمه
- تثبيت Gemini CLI وضبط إعداداته
- استكشاف الأدوات والأوامر المضمّنة وإعداد خوادم MCP في Gemini CLI
- تخصيص Gemini CLI من خلال ملف
GEMINI.md - استكشاف بعض حالات الاستخدام مع Gemini CLI
المتطلبات
يمكن تنفيذ هذا الدرس التطبيقي حول الترميز بالكامل في Google Cloud Shell، الذي يأتي مثبَّتًا مسبقًا مع Gemini CLI.
بدلاً من ذلك، إذا كنت تفضّل العمل على جهازك الخاص، يتوفّر قسم لتثبيت Gemini CLI محليًا.
ستحتاج إلى ما يلي:
- متصفّح الويب Chrome
- حساب Gmail
تم تصميم هذا الدرس التطبيقي العملي للمستخدمين والمطوّرين من جميع المستويات (بما في ذلك المبتدئين). تم تصنيف حالات الاستخدام في الدرس التطبيقي حول الترميز إلى مهام للمطوّرين ومهام لغير المطوّرين. توضّح حالات استخدام المطوّرين كيفية كتابة الرمز البرمجي باستخدام Gemini CLI والعمل مع مستودع GitHub لتنفيذ مهام تطوير شائعة، مثل شرح الرمز البرمجي وفهمه وإنشاء المستندات وإصلاح المشاكل وغير ذلك. ننصحك بإكمال حالات الاستخدام هذه في الدرس التطبيقي حول الترميز. يتوفّر في النهاية قسم اختياري يتناول العديد من المهام اليومية التي لا تركّز على المطوّرين.
2. قبل البدء
إنشاء مشروع
- في Google Cloud Console، ضمن صفحة اختيار المشروع، اختَر أو أنشِئ مشروعًا على Google Cloud.
- تأكَّد من تفعيل الفوترة لمشروعك على Cloud. كيفية التحقّق مما إذا كانت الفوترة مفعَّلة في مشروع
- ستستخدم Cloud Shell، وهي بيئة سطر أوامر تعمل في Google Cloud ومحمّلة مسبقًا بأداة bq. انقر على "تفعيل Cloud Shell" في أعلى "وحدة تحكّم Google Cloud".

- بعد الاتصال بـ Cloud Shell، يمكنك التأكّد من إكمال عملية المصادقة وأنّ المشروع مضبوط على رقم تعريف مشروعك باستخدام الأمر التالي:
gcloud auth list
- نفِّذ الأمر التالي في Cloud Shell للتأكّد من أنّ أمر gcloud يعرف مشروعك.
gcloud config list project
- إذا لم يتم ضبط مشروعك، استخدِم الأمر التالي لضبطه:
gcloud config set project <YOUR_PROJECT_ID>
3- تثبيت
قبل إعداد Gemini CLI وتشغيله، لننشئ مجلدًا سنستخدمه كمجلد رئيسي لجميع المشاريع التي ننشئها بداخله. هذه هي نقطة البداية التي سيعمل عليها Gemini CLI، مع العلم أنّه سيستند أيضًا إلى بعض المجلدات الأخرى على نظامك والتي ستتعرّف عليها لاحقًا حسب الحاجة.
يمكنك إنشاء مجلد نموذج (gemini-cli-projects) والانتقال إليه باستخدام الأوامر الموضّحة أدناه. إذا كنت تفضّل استخدام اسم مجلد آخر، يمكنك ذلك.
mkdir gemini-cli-projects
لننتقل إلى هذا المجلد:
cd gemini-cli-projects
يمكنك تشغيل Gemini CLI مباشرةً من خلال الأمر gemini.
يُرجى الانتقال مباشرةً إلى القسم التالي (ضبط إعدادات Gemini CLI من خلال ملف settings.json).
إذا أردت تثبيت Gemini CLI على جهازك، اتّبِع التعليمات الواردة أدناه. يُرجى العِلم أنّ Gemini CLI مثبّت مسبقًا على Cloud Shell ومحطات عمل Cloud.
تتمثّل الخطوة الأولى في تثبيت Node 20+ على جهازك. بعد اكتمال هذه العملية، يمكنك تثبيت Gemini CLI وتشغيله باستخدام أيّ من الطرق التالية:
- يمكنك تثبيت Gemini CLI على مستوى النظام أولاً. قد تحتاج إلى إذن وصول من المشرف لتنفيذ هذه الخطوة.
# option 1: install Gemini CLI
npm install -g @google/gemini-cli
# .. and then run
gemini
- شغِّل الأمر التالي:
# option 2: run without installing Gemini CLI
npx https://github.com/google-gemini/gemini-cli
يمكنك التأكّد من تثبيت واجهة سطر الأوامر من خلال تنفيذ الأمر التالي:
gemini --version
بافتراض أنّك شغّلت Gemini CLI باستخدام أي من الطرق المذكورة أعلاه، قد يُطلب منك عند التشغيل لأول مرة اختيار مظهر. إذا كان الأمر كذلك، يمكنك إما استخدام المظهر التلقائي أو اختيار مظهر من اختيارك.
الأمر المهم التالي هو المصادقة. سيُطلب منك تحديد طريقة المصادقة. ننصحك باستخدام حسابك الشخصي على Google وليس حسابات غير تابعة لـ Google أو Google Workspace في هذه التجربة.
إذا بلغت الحدود القصوى للحصة المجانية الحالية الممنوحة لحسابات Google، يمكنك اختيار استخدام مفتاح Gemini API أو حتى Google Cloud Vertex AI، حيث ستحتاج إلى معرّف المشروع واسم الموقع الجغرافي لهذا المشروع. يُرجى الرجوع إلى قسم المصادقة في المستندات إذا كنت تخطّط لاستخدام طرق مصادقة أخرى.

انقر على "إدخال". سيؤدي ذلك إلى فتح صفحة "مصادقة Google" في المتصفّح. تابِع عملية المصادقة باستخدام حساب Google، واقبل البنود، وبعد إتمام عملية المصادقة بنجاح، ستلاحظ أنّ واجهة سطر الأوامر في Gemini أصبحت جاهزة وتنتظر أمرك.
في ما يلي نموذج لقطة شاشة:

في هذه الحالة، اخترنا خيار Vertex AI، ولكن يمكن أن يكون الحساب الشخصي في حالتك. لاحظ أنّنا اخترنا نموذج Gemini 2.5 (يظهر في أسفل يسار الشاشة). يمكنك اختيار النموذج المحدّد في أي وقت باستخدام الأمر /model.
4. ضبط إعدادات Gemini CLI من خلال ملف settings.json
إذا اخترت Cloud Shell لتشغيل Gemini، سيتم تلقائيًا اختيار مظهر تلقائي لـ Gemini CLI وطريقة المصادقة وإعدادهما لك.
إذا ثبّت Gemini CLI على جهازك وشغّلته للمرة الأولى، اخترت مظهرًا ثم طريقة مصادقة.
بعد ذلك، لن يُطلب منك اختيار مظهر وطريقة مصادقة مرة أخرى عند تشغيل Gemini CLI في المرات اللاحقة. هذا يعني أنّه يتم حفظه في مكان ما، ويُطلق على الملف الذي يستخدمه اسم settings.json، وهو الطريقة المتاحة لتخصيص Gemini CLI.
يتم تطبيق الإعدادات حسب الأولوية التالية (لا يتيح Cloud Shell سوى إعدادات المستخدم):
- النظام:
/etc/gemini-cli/settings.json(ينطبق على جميع المستخدمين، ويتجاهل إعدادات المستخدم والمساحة). - Workspace:
.gemini/settings.json(تتجاوز إعدادات المستخدم). - المستخدم:
~/.gemini/settings.json
مستخدم Windows: %USERPROFILE%.gemini\settings.json (الذي يتم توسيعه عادةً إلى C:\Users<YourUsername>.gemini\settings.json)
النظام: %ProgramData%\gemini-cli\settings.json (الذي يتم توسيعه عادةً إلى C:\ProgramData\gemini-cli\settings.json)
مستخدم Mac: ~/.gemini/settings.json (الذي يتوسّع إلى /Users/<YourUsername>/.gemini/settings.json)
النظام: /etc/gemini-cli/settings.json
إذا تذكّرت، عند اختيار المظهر، اخترت حفظ الإعدادات في "إعدادات المستخدم". لذا، انتقِل إلى ~/.gemini folder وستلاحظ الملف settings.json.
يظهر ملف settings.json أدناه. إذا كنت قد اخترت مظهرًا آخر، سيظهر لك الاسم هناك.
{
"security": {
"auth": {
"selectedType": "oauth-personal" or "cloud-shell"
}
},
"ui": {
"theme": "Default"
}
}
5- تفاعلنا الأول مع Gemini CLI
لنبدأ باستخدام Gemini CLI ونكتب طلب البحث الأول كما هو موضّح أدناه:
Give me a famous quote on Artificial Intelligence and who said that?
يظهر الردّ المتوقّع أدناه:
> Give me a famous quote on Artificial Intelligence and who said that?
✦ "The only way to do great work is to love what you do." - Steve Jobs (While not directly about AI, it's a famous quote related to technology and innovation, which underpins AI development.)
Alternatively:
"The development of full artificial intelligence could spell the end of the human race." - Stephen Hawking
للتعرّف بسرعة على Gemini CLI والأوامر المختلفة التي يتيحها، اكتب /help (شرطة مائلة للأمام) وستظهر لك مجموعة متنوعة من الأوامر واختصارات لوحة المفاتيح.
لِنَتَوَقَّفِ الْآنْ عَنْ استخدام Gemini CLI. يمكنك إجراء ذلك من خلال الأمر /quit أو من خلال تنفيذ الأمر Ctrl-C مرتين في جلسة طرفية تفاعلية في Gemini CLI. عند الخروج من Gemini CLI، ستظهر لك إحصاءات الجلسة التي تقدّم لك بعض المعلومات عن جلستك واستخدام النموذج والمقاييس الأخرى.
6. Gemini CLI - مَعلمات الأوامر
هناك بعض مَعلمات سطر الأوامر التي يمكن تقديمها عند بدء استخدام Gemini CLI. للحصول على قائمة كاملة بالخيارات، يمكنك استخدام --help كما هو موضّح أدناه.
gemini --help
من المفترض أن يعرض هذا الخيار النطاق الكامل للخيارات المتاحة. ننصحك بالاطّلاع على المستندات هنا.
لنلقِ نظرة على بعضها. الخيار الأول هو ضبط إعدادات Gemini CLI لاستخدام وضع Gemini معيّن. في وقت تعديل هذه التجربة، إليك قائمة بالطُرز المتوافقة. لاستخدام نموذج معيّن، يمكنك إجراء ذلك عند بدء Gemini CLI من خلال المَعلمة -m كما هو موضّح أدناه:
gemini -m "gemini-2.5-flash"
إذا بدأت بهذه الطريقة، ستلاحظ أنّه يمكنك التحقّق من النموذج في أسفل يسار نافذة أوامر Gemini CLI.
بعد فتح تطبيق Gemini CLI، يمكنك استخدام الأمر /model لفتح مربّع حوار يتيح لك اختيار نموذج. يتم عرض نموذج تشغيل أدناه، واستنادًا إلى متطلباتك والإرشادات المقدَّمة، يمكنك مواصلة تبديل النموذج لاختيار النموذج المناسب للمهمة استنادًا إلى التعقيد والحاجة إلى التحكّم في التكاليف.

الوضع غير التفاعلي
من الخيارات المثيرة للاهتمام تشغيل Gemini CLI في وضع غير تفاعلي. وهذا يعني أنّك تقدّم الطلب مباشرةً وسيردّ عليه بدون فتح نافذة الأوامر التفاعلية في Gemini CLI. يكون ذلك مفيدًا جدًا إذا كنت تخطط لاستخدام Gemini CLI بطريقة آلية كجزء من النص البرمجي أو أي عملية تشغيل آلي أخرى. يمكنك استخدام المَعلمة -p لتقديم الطلب إلى Gemini CLI كما هو موضّح أدناه:
gemini -p "What is the gcloud command to deploy to Cloud Run"
يُرجى العِلم أنّه لا يمكن مواصلة المحادثة من خلال طرح أسئلة متابعة. لا يسمح لك هذا الوضع أيضًا بمنح الإذن للأدوات (بما في ذلك WriteFile) أو بتنفيذ أوامر shell.
يُرجى العِلم أنّه في حال عدم تضمين المَعلمة -p والاكتفاء بما يلي، سيتم فتح Gemini CLI مع الطلب والمتابعة داخل هذا التطبيق.
gemini "What is the gcloud command to deploy to Cloud Run"
7. Gemini CLI - أدوات مدمجة
يتضمّن Gemini CLI مجموعة من الأدوات المضمّنة، وتنص مستندات الأدوات على أنّ "نموذج Gemini يستخدم هذه الأدوات للتفاعل مع بيئتك المحلية والوصول إلى المعلومات وتنفيذ الإجراءات. تعزّز هذه الأدوات إمكانات واجهة سطر الأوامر، ما يتيح لها تجاوز إنشاء النصوص والمساعدة في مجموعة كبيرة من المهام".
للحصول على قائمة بالأدوات المضمّنة الحالية، استخدِم الأمر /tools كما هو موضّح أدناه:
Available Gemini CLI tools:
- Activate Skill (activate_skill)
- Ask User (ask_user)
- Edit (replace)
- Enter Plan Mode (enter_plan_mode)
- FindFiles (glob)
- GoogleSearch (google_web_search)
- Invoke Subagent (invoke_agent)
- List Background Processes (list_background_processes)
- Read Background Output (read_background_output)
- ReadFile (read_file)
- ReadFolder (list_directory)
- SearchText (grep_search)
- Shell (run_shell_command)
- Update Topic Context (update_topic)
- WebFetch (web_fetch)
- WriteFile (write_file)
أحد الأسئلة التي يجب أن تطرحها على نفسك فورًا هو ما إذا كان بإمكان Gemini CLI استدعاء هذه الأدوات ببساطة عندما يريد ذلك. الإجابة التلقائية هي لا، وذلك عندما يتعلّق الأمر بعمليات حساسة قد تتضمّن الكتابة إلى النظام المحلي أو القراءة من نظام خارجي أو الانتقال إلى الشبكة الخارجية وما إلى ذلك.
على الرغم من توفّر --yolo عند بدء استخدام واجهة سطر الأوامر (لا يُنصح بذلك عادةً)، سيطلب منك Gemini CLI الإذن بتشغيل الأداة التي اختارها. يمكنك رفض الإذن أو السماح بتشغيل التطبيق مرة واحدة أو منحه إذنًا شاملاً بالتشغيل دائمًا. يجب أن تكون أنت المتحكّم بشكل كامل في كل شيء.
لنستخدم طلبًا يجعل Gemini CLI يختار إحدى الأدوات المضمّنة لتنفيذه، ما يتيح لك فهمًا جيدًا لطريقة عمل كل ذلك.
لنفترض أنّك تريد الحصول على معلومات حول آخر الأخبار المالية في جميع أنحاء العالم وحفظها في ملف في دليل العمل المحلي الذي شغّلت منه Gemini CLI. استخدِم الطلب التالي:
Search for the latest headlines today in the world of finance and save them in a file named finance-news-today.txt
لنفترض للحظة ما يجب أن تفعله. من المفترض أن تبحث على Google للحصول على أخبار من بعض مصادر المعلومات ذات الصلة التي يمكنها تقديم أخبار مالية. بعد ذلك، يجب إنشاء ملف باسم finance-news-today.txt (عملية كتابة على نظامك المحلي تتطلّب إذنك) يتضمّن المحتوى.
لنلاحظ ما سيحدث (عليك اتّباع الخطوات نفسها على جهازك).
أول ما تفعله هو استدعاء أداة GoogleSearch للبحث على الويب واسترداد النتائج، كما هو موضّح أدناه:
Searching for Finance News:
I will first search for the latest finance headlines and then save them to a file.
✓ GoogleSearch Searching the web for: "latest finance headlines"
→ Search results for "latest finance headlines" returned.
Saving Finance News: I will now save the finance headlines to the file 'finance-news-today.txt'.
بعد ذلك، يصبح جاهزًا للكتابة في الملف وسيستخدم أداة WriteFile، ولكن بما أنّ هذه العملية حساسة (كتابة)، سيطلب منك الإذن. يمكنك تحديد نوع الإذن، أي السماح مرة واحدة أو السماح دائمًا وما إلى ذلك. اختَر "السماح مرة واحدة" في الوقت الحالي.
سيؤدي ذلك إلى كتابة المعلومات في الملف وستظهر رسالة تفيد بنجاح العملية على النحو التالي:
✦ I have saved the latest finance news to finance-news-today.txt.
Finance News Saved: The task is complete.
كيف يمكن التحقّق ممّا إذا كان الملف مكتوبًا أم لا؟ يمكنك استخدام @file لطلب قراءة المحتوى. أثناء كتابة @، ستظهر قائمة بالملفات في المجلد الحالي، وسيظهر الملف الذي تم إنشاؤه للتو. اختَر ذلك الخيار وأرسِل الطلب. يظهر طلبي أدناه:
read the contents of @finance-news-today.txt
يؤدي ذلك إلى استدعاء الأدوات المطلوبة (ReadManyFiles وReadFile) ويتم عرض المحتوى كما هو موضّح أدناه:
✓ ReadManyFiles Attempting to read files from finance-news-today.txt → Read 1 file(s)
Topic: Summarizing the financial news headlines.
✦ The latest finance headlines as of May 15, 2026, include:
Global Markets & Economy:
* The Dow Jones Industrial Average surpassed 50,000 for the first time, driven by strong earnings from Cisco
Systems and a 2% rise in Nasdaq due to tech stocks.
* Inflation concerns are growing, hinting at potential Fed interest rate hikes.
* Kevin Warsh has been confirmed as the new Federal Reserve head.
* A "constructive" U.S.-China summit took place in Beijing between President Trump and President Xi, with
markets watching for impacts from proposed tariffs.
Corporate & Tech News:
<REST OF THE CONTENT>
8. Gemini CLI - وضع Shell
هذا هو الوقت المناسب للتعرّف على كيفية استخدام Shell مباشرةً من داخل Gemini CLI. يمكنك الانتقال إلى وضع الصدفة من خلال الضغط على ! في مربّع الرسالة. سيؤدي ذلك إلى التبديل إلى وضع Shell. يمكنك الرجوع إلى الصفحة السابقة بالضغط على ! مرة أخرى أو على المفتاح ESC.
عندما تكون في وضع shell، سترى ! في بداية الطلب كما هو موضّح أدناه:

يمكنك التحقّق مباشرةً باستخدام أوامر عادية مثل pwd وls كما هو موضّح أدناه. يُرجى العِلم أنّ الأوامر تفترض استخدام نظام تشغيل من نوع Linux. إذا كنت تستخدم نظام تشغيل آخر (Windows)، يُرجى استخدام أوامر مكافئة مثل (cd وdir وtype). يُرجى العلم أنّ ناتج هذه الطلبات مضمّن في قدرة استيعاب النموذج.

يمكنك أيضًا طباعة محتوى الملف باستخدام الأمر cat، أي cat finance-news-today.txt.
تمرين: إليك تمرينًا قصيرًا لتجربته. اختَر خلاصة RSS التي تريدها. قدِّم طلبًا إلى Gemini CLI لجلب محتوى خلاصة RSS وتنسيق النتائج بطريقة محدّدة. هذه طريقة جيدة لأتمتة إجراء معيّن في بداية اليوم. يمكنك حتى أن تطلب من Gemini CLI معرفة ما إذا كان هناك خلاصة RSS لمنطقة معيّنة، مثل "ملاحظات إصدار Google Cloud Platform".
في ما يلي نموذج لطلب:
Get the latest release notes for Google Cloud from its RSS Feed and display the key points in a well-formatted list.
يجب أن يطلب هذا الطلب من الأداة GoogleSearch العثور على خلاصة RSS الخاصة بمنصة Google Cloud Platform، ثم تستخدم الأداة WebFetch للحصول على محتوى خلاصة RSS وعرضه. قد يُطلب منك منح أذونات لاستخدام هذه الأدوات، لذا يُرجى الموافقة على ذلك.
9. إضافات Gemini CLI
كما توضّح المستندات، تجمّع إضافات Gemini CLI الطلبات وخوادم MCP والأوامر المخصّصة في تنسيق مألوف وسهل الاستخدام. باستخدام الإضافات، يمكنك توسيع إمكانات Gemini CLI ومشاركتها مع الآخرين. وهي الآلية الأساسية لتوسيع وظائف Gemini CLI إلى ما هو أبعد من أدواتها المضمّنة.
الإضافة هي حزمة مستقلة وقابلة للتحديث ويمكن توزيعها بسهولة. يمكنك اعتبارها "حاوية الشحن" لتخصيصات Gemini CLI، فهي تجمع كل ما يلزم لمسار عمل محدّد في حزمة واحدة منظَّمة.

يمكن أن تتضمّن الإضافة أي مجموعة من العناصر التالية:
- أوامر مخصّصة تبدأ بشرطة مائلة (ملفات .toml)
- إعدادات خادم MCP (التي كانت متوفّرة سابقًا في settings.json)
- ملفات السياق (GEMINI.md) لتقديم تعليمات وإرشادات محدّدة للنموذج
- قيود الأدوات (excludeTools) لإنشاء بيئة أكثر أمانًا وتركيزًا
استكشاف "معرض الإضافات"
معرض الإضافات هو السوق المركزي لاكتشاف جميع الإضافات الرسمية التي أنشأتها Google وتلك التي أنشأتها جهات خارجية:
- افتح عنوان URL التالي في المتصفّح:
https://geminicli.com/extensions/ - يشكّل هذا المعرض محرّكًا يسهّل العثور على المحتوى في النظام المتكامل. يمكنك الاطّلاع على "الإضافات" من شركات مثل GitHub وRedis وDynaTrace، ما يوضّح مدى توفّر الأدوات.
- انتقِل للأسفل وابحث عن بطاقة إضافة Cloud Run أو يمكنك الانتقال إلى الرابط.
- لاحظ أنّ البطاقة تقدّم وصفًا والمؤلف (Google) وزرّ أمر
Copyبنقرة واحدة. هذه هي أبسط طريقة للحصول على أمر تثبيت إضافة.
إضافات Gemini CLI - أوامر الإدارة
الأمر gemini extensions هو نقطة الدخول لإدارة الإضافات المحلية.
شغِّله في الوحدة الطرفية للاطّلاع على قائمة الأوامر المتاحة.
gemini extensions <command>
Manage Gemini CLI extensions.
Commands:
gemini extensions install <source> [--auto-update] [--pre-release]
Installs an extension from a git repository URL or a local path.
gemini extensions uninstall [names..]
Uninstalls one or more extensions.
gemini extensions list
Lists installed extensions.
gemini extensions update [<name>] [--all]
Updates all extensions or a named extension to the latest version.
gemini extensions disable [--scope] <name>
Disables an extension.
gemini extensions