התנסות מעשית ב-Gemini CLI

1. מבוא

ב-codelab הזה תלמדו על Gemini CLI, סוכן מבוסס-AI בקוד פתוח שמאפשר להשתמש ביכולות של Gemini ישירות בטרמינל.

מה תלמדו

  1. התקנה והגדרה של Gemini CLI
  2. הסבר על כלים, פקודות מובנות והגדרת שרתי MCP ב-Gemini CLI
  3. התאמה אישית של Gemini CLI באמצעות הקובץ GEMINI.md
  4. דוגמאות לתרחישי שימוש ב-Gemini CLI

מה תצטרכו

אפשר להריץ את ה-Codelab הזה כולו ב-Google Cloud Shell, ש-Gemini CLI מותקן בו מראש.

לחלופין, אם אתם מעדיפים לעבוד במחשב שלכם, יש קטע שבו מוסבר איך להתקין את Gemini CLI באופן מקומי.

תצטרכו את הפרטים הבאים:

  • דפדפן האינטרנט Chrome
  • חשבון Gmail

ה-codelab הזה מיועד למשתמשים ולמפתחים בכל הרמות (כולל מתחילים). תרחישי השימוש ב-codelab חולקו לקטגוריות של משימות למפתחים ולמשימות שלא דורשות ידע בפיתוח. תרחישי השימוש למפתחים מדגימים איך ליצור קוד באמצעות Gemini CLI ואיך לעבוד עם מאגר GitHub כדי לבצע משימות פיתוח נפוצות כמו הסבר על קוד, יצירת תיעוד, תיקון בעיות ועוד. מומלץ להשלים את תרחישי השימוש האלה ב-Codelab. בסוף יש קטע אופציונלי שמתייחס לכמה משימות יומיומיות שלא מיועדות למפתחים.

‫2. לפני שמתחילים

יצירת פרויקט

  1. ב-Google Cloud Console, בדף לבחירת הפרויקט, בוחרים או יוצרים פרויקט ב-Google Cloud.
  2. מוודאים שהחיוב מופעל בפרויקט ב-Cloud. כך בודקים אם החיוב מופעל בפרויקט
  3. תשתמשו ב-Cloud Shell, סביבת שורת פקודה שפועלת ב-Google Cloud ומגיעה עם bq שנטען מראש. לוחצים על 'הפעלת Cloud Shell' בחלק העליון של מסוף Google Cloud.

תמונה של לחצן Activate Cloud Shell

  1. אחרי שמתחברים ל-Cloud Shell, בודקים שכבר בוצע אימות ושהפרויקט מוגדר למזהה הפרויקט באמצעות הפקודה הבאה:
gcloud auth list
  1. מריצים את הפקודה הבאה ב-Cloud Shell כדי לוודא שפקודת gcloud מכירה את הפרויקט.
gcloud config list project
  1. אם הפרויקט לא מוגדר, משתמשים בפקודה הבאה כדי להגדיר אותו:
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 באופן מקומי, פועלים לפי ההוראות שבהמשך.

השלב הראשון הוא התקנת Node 20 ואילך במחשב. אחרי שתסיימו את התהליך הזה, תוכלו להתקין את Gemini CLI ולהריץ אותו באחת מהדרכים הבאות:

  1. אפשר להתקין את Gemini CLI באופן גלובלי במערכת. יכול להיות שתצטרכו הרשאת אדמין כדי לבצע את השלב הזה.
# option 1: install Gemini CLI

npm install -g @google/gemini-cli

# .. and then run
gemini
  1. מריצים אותה באמצעות הפקודה הבאה:
# option 2: run without installing Gemini CLI

npx https://github.com/google-gemini/gemini-cli

כדי לוודא שה-CLI מותקן, מריצים את הפקודה:

gemini --version

אם הפעלתם את Gemini CLI באמצעות אחת מהשיטות שלמעלה, אמור להופיע המסך הבא שבו תתבקשו לבחור ערכת נושא. בוחרים את אחת מהאפשרויות הבאות:

35a98edaf7f22e8e.png

אחרי שתבחרו באפשרות הזו, תתבקשו לבחור שיטת אימות. מומלץ להשתמש בחשבון Google אישי ולא בחשבונות שאינם קשורים ל-Google או ל-Google Workspace במעבדה הזו. הרישיון החינמי מאפשר לכם גישה ל-Gemini 2.5 Pro ולחלון ההקשר שלו שיכול להכיל מיליון טוקנים. במסגרת התוכנית החינמית אפשר לשלוח 60 בקשות למודל בדקה ו-1,000 בקשות ביום ללא תשלום.

אם תגיעו למגבלות של המכסה הנוכחית שמוקצית לחשבונות Google בחינם, תוכלו להשתמש במפתח Gemini API או ב-Vertex AI של Google Cloud. כדי לעשות זאת, תצטרכו את מזהה הפרויקט ואת שם המיקום של הפרויקט. אם אתם מתכננים להשתמש בשיטות אימות אחרות, כדאי לעיין בקטע אימות במסמכי התיעוד.

57bad75cedaaaa38.png

לוחצים על Enter. ייפתח דף אימות של Google בדפדפן. ממשיכים בתהליך האימות באמצעות חשבון Google, מאשרים את התנאים, ואחרי שהאימות מסתיים בהצלחה, רואים ש-Gemini CLI מוכן וממתין לפקודה. למטה מופיע צילום מסך לדוגמה:

4dbc0138b78dc354.png

4. הגדרת Gemini CLI באמצעות settings.json

אם בוחרים להריץ את Gemini ב-Cloud Shell, כבר נבחר ומוגדר בשבילכם עיצוב ברירת מחדל ל-Gemini CLI ושיטת האימות.

אם התקנתם את Gemini CLI במחשב והפעלתם אותו בפעם הראשונה, בחרתם עיצוב ואז שיטת אימות.

מעכשיו, בהפעלות הבאות של Gemini CLI, לא תתבקשו לבחור שוב את העיצוב ואת שיטת האימות. המשמעות היא שההגדרה נשמרת איפשהו, והקובץ שבו היא משתמשת נקרא settings.json. כך אפשר להתאים אישית את Gemini CLI.

ההגדרות מוחלות לפי סדר העדיפות הבא (ב-Cloud Shell זמינות רק הגדרות משתמש):

  1. מערכת: /etc/gemini-cli/settings.json (חל על כל המשתמשים, מבטל את ההגדרות של המשתמש ושל Workspace).
  2. ‫Workspace: ‏ .gemini/settings.json (מבטל את הגדרות המשתמש).
  3. משתמש: ~/.gemini/settings.json.

משתמש Windows: ‎%USERPROFILE%.gemini\settings.json (שבדרך כלל מתרחב ל-C:\Users&lt;YourUsername>.gemini\settings.json)

System:‏ ‎%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 לדוגמה מוצג בהמשך. אם הייתם בוחרים עיצוב אחר, השם שלו היה מופיע שם.

{
  "theme": "Default",
  "selectedAuthType": "oauth-personal" or "cloud-shell"
}

5. האינטראקציה הראשונה שלנו עם Gemini CLI

נתחיל להשתמש ב-Gemini CLI ונזין את השאילתה הראשונה כמו שמוצג בהמשך:

Give me a famous quote on Artificial Intelligence and who said that?

התגובה הצפויה מוצגת בהמשך:

GoogleSearch Searching the web for: "famous quote on Artificial Intelligence and who said it"                                                                                                                 ...
Search results for "famous quote on Artificial Intelligence and who said it" returned.                                                                                                                             

✦ "The development of full artificial intelligence could spell the end of the human race." - Stephen Hawking.

אפשר לראות שהשאילתה שלנו הפעילה את הכלי GoogleSearch (כלי מובנה ב-Gemini CLI). במילים אחרות, כבר השתמשתם באחד מהכלים המובנים והעוצמתיים של Gemini CLI, כלומר GoogleSearch, שמאפשר לו לבסס את התשובות שלו על מידע שהוא מקבל מהאינטרנט. בקטע הבא נסביר על כלים.

דרך מהירה להבין את Gemini CLI ואת הפקודות השונות שהוא תומך בהן היא להקליד /help (לוכסן) ויוצגו לכם מגוון פקודות וקיצורי מקלדת.

בוא נצא מ-Gemini CLI כרגע. אפשר לעשות את זה באמצעות הפקודה /quit או להריץ את הפקודה Ctrl-C פעמיים בסשן הטרמינל האינטראקטיבי של Gemini CLI.

6. ‫Gemini CLI – פרמטרים של פקודות

יש כמה פרמטרים של שורת פקודה שאפשר לספק כשמפעילים את Gemini CLI. כדי לקבל רשימה מלאה של אפשרויות, אפשר להשתמש ב---help כמו בדוגמה שלמטה.

gemini --help

אמורה להופיע רשימה מלאה של האפשרויות הזמינות. מומלץ לעיין במסמכי התיעוד כאן.

נבחן כמה מהן. האפשרות הראשונה היא להגדיר את Gemini CLI כך שישתמש במודל Pro או במודל Flash. נכון למועד כתיבת ה-Lab הזה, אלה שני המודלים היחידים שנתמכים. כברירת מחדל, נעשה שימוש במודל Gemini 2.5 Pro, אבל אם רוצים להשתמש במודל Flash, אפשר לעשות זאת כשמפעילים את Gemini CLI באמצעות הפרמטר -m כמו שמוצג בהמשך:

gemini -m "gemini-2.5-flash"

אם מתחילים כמו שמתואר למעלה, אפשר לבדוק את המודל בפינה השמאלית התחתונה של מסוף Gemini CLI, כמו שמוצג כאן:

60c4c0e6d277ade7.png

אחרי שפותחים את אפליקציית Gemini CLI, אפשר להשתמש בפקודה ‎ /model כדי לפתוח תיבת דו-שיח שמאפשרת לבחור מודל. למטה מוצגת דוגמה להרצה. בהתאם לדרישות ולהנחיות שקיבלתם, אתם יכולים להמשיך להחליף את המודל כדי לבחור את המודל המתאים למשימה, בהתאם למורכבות ולצורך בשליטה בעלויות.

4bd48822b92ba012.png

מצב לא אינטראקטיבי

אפשרות מעניינת היא להריץ את Gemini CLI במצב לא אינטראקטיבי. כלומר, אתם מספקים לו ישירות את ההנחיה והוא יגיב לה, בלי שייפתח מסוף אינטראקטיבי של Gemini CLI. האפשרות הזו שימושית מאוד אם אתם מתכננים להשתמש ב-Gemini CLI באופן אוטומטי כחלק מהסקריפט או מתהליך אוטומטי אחר. משתמשים בפרמטר -p כדי לספק את ההנחיה ל-Gemini CLI כמו שמוצג למטה, או פשוט משתמשים בארגומנט המיקום כדי לתת את ההנחיה.

gemini "What is the gcloud command to deploy to Cloud Run"

חשוב לזכור שאי אפשר להמשיך את השיחה עם שאלות המשך. במצב הזה גם אי אפשר להעניק הרשאה לכלים (כולל WriteFile) או להריץ פקודות של מעטפת.

7. ‫Gemini CLI – כלים מובנים

‫Gemini CLI מגיע עם קבוצה של כלים מובנים, ובמסמכי התיעוד של הכלים מצוין ש "מודל Gemini משתמש בכלים האלה כדי ליצור אינטראקציה עם הסביבה המקומית, לגשת למידע ולבצע פעולות. הכלים האלה משפרים את היכולות של ה-CLI, ומאפשרים לו לעשות יותר מסתם יצירת טקסט ולעזור במגוון רחב של משימות".

כדי לקבל רשימה של כלי המערכת הנוכחיים, מפעילים את הפקודה /tools כמו שמוצג בהמשך:

Available Gemini CLI tools:

  - Codebase Investigator Agent (codebase_investigator)
  - Edit (replace)
  - FindFiles (glob)
  - GoogleSearch (google_web_search)
  - ReadFile (read_file)
  - ReadFolder (list_directory)
  - SaveMemory (save_memory)
  - SearchText (search_file_content)
  - Shell (run_shell_command)
  - WebFetch (web_fetch)
  - WriteFile (write_file)
  - WriteTodos (write_todos)

אחת השאלות שצריכה לעלות לכם מיד היא האם Gemini CLI יכול פשוט להפעיל את הכלים האלה, מתי שהוא רוצה? תשובת ברירת המחדל היא לא, כשמדובר בפעולות רגישות שעשויות לכלול כתיבה למערכת המקומית, קריאה ממערכת חיצונית, מעבר לרשת החיצונית וכן הלאה.

אפשר להשתמש ב---yolo כשמפעילים את ה-CLI (בדרך כלל לא מומלץ), אבל 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 כדי לחפש באינטרנט ולאחזר את התוצאות, כמו שמוצג בהמשך:

GoogleSearch Searching the web for: "latest finance headlines today"                                                                                                                                            

Search results for "latest finance headlines today" returned.  

אחרי שהפעולה הזו תסתיים, המערכת תהיה מוכנה לכתוב את הנתונים בקובץ ותשתמש בכלי WriteFile, אבל מכיוון שמדובר בפעולה רגישה (כתיבה), המערכת תבקש את ההרשאה שלכם. אתם יכולים להחליט על סוג ההרשאה, כלומר לאפשר פעם אחת, לאפשר תמיד וכו'. בשלב הזה, בוחרים באפשרות 'לאפשר פעם אחת'.

c84c5b58e202f98f.png

המידע ייכתב לקובץ ותוצג הודעה על ההצלחה:

✦ I have successfully saved the latest finance headlines into the file finance-news-today.txt.

איך בודקים אם הקובץ נכתב או לא? אתם יכולים להשתמש ב-@file כדי לבקש ממנו לקרוא את התוכן. כשמקלידים @, מוצגת רשימה של קבצים בתיקייה הנוכחית, ומוצג גם הקובץ שנוצר זה עתה. בוחרים את ההצעה ושולחים את ההנחיה. ההנחיה שלי מוצגת למטה:

read the contents of @finance-news-today.txt

כתוצאה מכך, הכלים הנדרשים (ReadManyFiles,‏ ReadFile) מופעלים והתוכן מוצג כמו שמופיע בהמשך:

7a5fc5d834cbb93b.png

8. ‫Gemini CLI – מצב Shell

זה הזמן ללמוד איך לעבוד ישירות עם Shell מתוך Gemini CLI. כדי לעבור למצב מעטפת, לוחצים על ! בתיבת ההודעה. הפעולה הזו תעביר אתכם למצב Shell. כדי לחזור, לוחצים שוב על ! או על המקש ESC.

במצב Shell, התו ! יופיע בתחילת ההנחיה, כמו בדוגמה הבאה:

a87f54bb3066b82d.png

אפשר לבדוק ישירות באמצעות פקודות רגילות כמו pwd ו-ls, כמו בדוגמה הבאה. שימו לב שהפקודות מניחות שמדובר במערכת הפעלה מסוג Linux. אם אתם משתמשים במערכת הפעלה אחרת (Windows), תוכלו להשתמש בפקודות מקבילות כמו (cd, ‏ dir ו-type). חשוב לזכור שהפלט של הקריאות האלה נכלל בחלון ההקשר של המודל.

33a18abe5581ff74.png

אפשר להדפיס את תוכן הקובץ באמצעות הפקודה cat.

6dbe0049ed002553.png

תרגיל: הנה תרגיל קצר שאפשר לנסות. בוחרים פיד 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, שכולל את כל מה שצריך לתהליך עבודה ספציפי בחבילה אחת מסודרת.

f5ae3e229462c130.png

תוסף יכול לכלול כל שילוב של:

  • פקודות דרך שורת הפקודות בהתאמה אישית (קבצי ‎ .toml).
  • הגדרות של שרת MCP (שנמצאו בעבר בקובץ settings.json).
  • קבצים של הקשר (GEMINI.md) כדי לספק למודל הוראות והנחיות ספציפיות.
  • הגבלות על כלים (excludeTools) כדי ליצור סביבה בטוחה וממוקדת יותר.

גלריית התוספים היא המקום המרכזי שבו אפשר למצוא את כל התוספים הרשמיים ש-Google יצרה ואת התוספים של צדדים שלישיים:

  1. פותחים את כתובת ה-URL הבאה בדפדפן: https://geminicli.com/extensions/browse/.
  2. הגלריה הזו היא מנוע הגילוי של המערכת האקולוגית. תוכלו לראות תוספים מחברות כמו GitHub,‏ Redis ו-DynaTrace, שממחישים את מגוון הכלים הזמינים.
  3. גוללים למטה ומחפשים את כרטיס התוסף של Cloud Run.
  4. שימו לב שהכרטיס כולל תיאור, את שם המחבר (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 enable [--scope] <name>                           
      Enables an extension.
  gemini extensions link <path>                                       
     Links an extension from a local path. Updates made to the local path 
     will always be reflected.
  gemini extensions new <path> [template]                             
     Create a new extension from a boilerplate example.
  gemini extensions validate <path>                                   
     Validates an extension from a local path.

הפקודות הן פשוטות (install/uninstall, list, update, enable/disable וכו'), ונשתמש בחלק מהן ב-codelab הזה.

בדיקת רשימת התוספים הנוכחית

לפני שנתקין משהו, נבדוק את המצב הנוכחי.

  1. מריצים את הפקודה gemini extensions list:
  2. אמור להופיע הפלט הבא, שמאשר שעדיין לא הותקנו תוספים.
No extensions installed.

הגדרת שרת MCP ב-GitHub

אחד מסוגי התוספים ל-Gemini CLI הוא שרת MCP. שרת MCP הוא אפליקציה שחושפת כלים ומשאבים ל-Gemini CLI דרך פרוטוקול הקשר של המודל, ומאפשרת לו ליצור אינטראקציה עם מערכות חיצוניות ומקורות נתונים. שרתי MCP משמשים כגשר בין מודל Gemini לבין הסביבה המקומית שלכם או שירותים אחרים כמו ממשקי API.

יש לנו את שרת ה-MCP של Github שזמין בגלריית התוספים של Gemini. לוחצים על הכרטיסייה הזו והיא תיפתח. בכרטיסייה הזו יופיע גם הפקודה להתקנת התוסף:

4eee33951dabd2db.png

פשוט מעתיקים את הפקודה או משתמשים בפקודה שלמטה:

gemini extensions install https://github.com/github/github-mcp-server

ממשיכים עם ההרשאות הנדרשות. אחרי ההתקנה, התוסף אמור להופיע ברשימת התוספים כשמזינים את הפקודה gemini extensions list.

✓ github (1.0.0)
 ID: faa318861b48de8d83c95eb8cd5e82c02393493978d198a0e7bf67fcb1bd22cb
 name: c0b0109d9439de57fe3cf03abeccbc52f4c98170c732d3b69af5e6395ace574e
 Path: /home/romin/.gemini/extensions/github
 Source: https://github.com/github/github-mcp-server (Type: git)
 Enabled (User): true
 Enabled (Workspace): true
 MCP servers:
  github

אפשר לראות את הנתיב של התוסף, ובתיקייה הזו יהיה קובץ בשם gemini-extension.json, שהתוכן שלו מוצג בהמשך:

{
  "name": "github",
  "version": "1.0.0",
  "mcpServers": {
    "github": {
      "description": "--description–",
      "httpUrl": "https://api.githubcopilot.com/mcp/",
      "headers": {
            "Authorization": "Bearer $GITHUB_MCP_PAT"
      }
     }
  }
}

אפשר לראות שאסימון הגישה האישי (PAT) נקרא באמצעות משתנה סביבה. קודם צריך ליצור טוקן גישה אישי (PAT) מ-GitHub. אחרי שמקבלים את הערך הזה, מוודאים שיצרתם קובץ ‎ .env והצבתם בו את הערך הזה, או שיצרתם משתנה סביבה באופן הבא (צריך להחליף את PAT_VALUE בערך בפועל):

export GITHUB_MCP_PAT=PAT_VALUE

צריך להפעיל מחדש את Gemini CLI. אחרי ההפעלה, אפשר להשתמש בפקודה ‎ /mcp list כדי לראות את רשימת שרתי ה-MCP והכלים שזמינים בהם. אמור להופיע שרת ה-MCP של GitHub בצבע ירוק, יחד עם הכלים שלו (יותר מ-30). דוגמה לרשימה חלקית:

‫🟢 github (מ-github) – מוכן (40 כלים)

כלים:

  • add_comment_to_pending_review
  • add_issue_comment
  • assign_copilot_to_issue
  • create_branch
  • create_or_update_file
  • create_pull_request
  • create_repository
  • delete_file
  • fork_repository
  • get_commit
  • get_file_contents
  • get_label
  • get_latest_release
  • get_me
  • get_release_by_tag
  • get_tag
  • get_team_members
  • get_teams
  • issue_read

נתחיל בהנחיה שתפעיל אחד מהכלים משרת ה-MCP של GitHub. נותנים את ההנחיה הבאה (who am I on GitHub?). כתוצאה מכך, Gemini CLI יבחר את הכלי הנכון ויבקש את ההרשאה שלכם.

c9873c3f51b26866.png

אחרי שתאשרו, הוא יאחזר את התוצאה כמו שמוצג למטה:

✦ You are rominirani, a Developer Advocate at Google Cloud, located in Mumbai. You have 125 public repositories and 256 followers.

עכשיו צריך לעבוד עם אחד מהפרויקטים שלכם ב-GitHub. אפשר להזין את השאילתות בשפה טבעית, למשל:

  • תאר לי את <repo-name>
  • משכפל את <שם המאגר> במחשב המקומי שלי.
  • תאר את @<שם הקובץ> או @<שם התיקייה>/
  • מהם הרכיבים השונים במאגר הזה?
  • ביצעתי את השינויים הנדרשים. אפשר להעביר את השינויים ל-GitHub ולהשתמש בכלים של שרת ה-MCP של GitHub כדי לעשות את זה.

בהמשך שיעור ה-Lab הזה תמצאו תרגיל לעבודה עם שרת ה-MCP של GitHub.

הגדרת שרת ה-MCP של Cloud Run

התוסף Cloud Run שזמין בגלריית התוספים של Gemini CLI הוא שרת MCP שמאפשר לנו לפרוס את האפליקציות שלנו ב-Cloud Run.

כרטיס התוסף Cloud Run מגלריית התוספים מוצג בהמשך:

ed9b19eac1fbde78.png

קודם כול, נתקין את התוסף Cloud Run. לשם כך, לוחצים על העתקת פקודת ההתקנה כמו שמוצג למעלה. מדביקים את הפקודה הזו במסוף Cloud Shell (היא אמורה להיראות בערך כך):

gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp

כשמריצים את הפקודה שלמעלה, מוצגת בקשה לאישור. אפשר לאשר את הבקשה. התוסף Cloud Run אמור להיות מותקן בהצלחה.

אם מריצים עכשיו את הפקודה gemini extensions list, אמורה להופיע ההודעה הבאה שמציינת שהתוסף Cloud Run הותקן:

✓ cloud-run (1.0.0)
 ID: 3c1a38909b6d7d90b6acc8ca1e80d97b4a867253a3cd12d841b2aab4e556a58f
 name: 0b1820c1f0c043bbb3b54f496d862c02172424c930eb965d61f468be52e6f127
 Path: /home/romin/.gemini/extensions/cloud-run
 Source: https://github.com/GoogleCloudPlatform/cloud-run-mcp (Type: git)
 Enabled (User): true
 Enabled (Workspace): true
 Context files:
  /home/romin/.gemini/extensions/cloud-run/gemini-extension/GEMINI.md
 MCP servers:
  cloud-run

אם מפעילים עכשיו את Gemini CLI ומריצים את הפקודה /mcp list, מוצגת התוצאה הבאה:

🟢 cloud-run (from cloud-run) - Ready (8 tools, 2 prompts)
  Tools:
  - create_project
  - deploy_container_image
  - deploy_file_contents
  - deploy_local_folder
  - get_service
  - get_service_log
  - list_projects
  - list_services
  Prompts:
  - deploy
  - logs

בדוגמאות שלמעלה הראינו איך להגדיר רק שניים מתוספי Gemini CLI. כדי לגלות עוד תוספים, אפשר לעיין בגלריית התוספים או אפילו לנסות את ה-codelab בנושא תחילת העבודה עם תוספים ל-Gemini CLI.

10. תרחישים לדוגמה

אפשר להשתמש ב-Gemini CLI במגוון רחב של תרחישים שמתאימים למפתחים ולמי שאינם מפתחים. בהמשך מפורטים כמה תרחישים, ואפשר לנסות את כולם או רק חלק מהם, בהתאם לתחום העניין שלכם.

בכל אחד מהמקרים האלה, ההנחיה מסופקת. אתם יכולים לנסות את זה במצב האינטראקטיבי או במצב הלא אינטראקטיבי של Gemini CLI באמצעות הפרמטר -p בזמן ההפעלה של Gemini CLI.

Vibe coding with Gemini CLI

נשתמש ב-Gemini CLI כדי ליצור קוד לאפליקציה. במשימה הזו תבקשו מ-Gemini CLI ליצור אפליקציה ואז תדחפו את הגרסה הראשונית למאגר ב-GitHub.

דרישה מוקדמת

כדי לבצע את המשימות שבקטע הזה, צריך לעמוד בכמה תנאים מקדימים:

  • Git
  • ‫Gemini CLI עם התוסף Gemini CLI של GitHub (כבר עשינו את זה קודם) או אם הגדרתם את gh ( כלי GitHub CLI), גם זה יעבוד.
  • היכרות עם העקרונות הבסיסיים של Git וידע מסוים בתכנות

אנחנו נניח שהפעלתם את Gemini CLI בתיקייה ספציפית שבחרתם.

מתחילים עם הנחיה ראשונית. אתם יכולים לשנות אותו לפי הצורך. חשוב לזכור שבמהלך הסשן עם Gemini CLI, הוא יבקש מכם הרשאות ליצירת הקבצים וכו'. הקפידו לתת את ההרשאות הנדרשות.

במשימה הזו, אנחנו לא רוצים ש-Gemini CLI יריץ את האפליקציה או יבדוק אותה בשבילנו, כי אנחנו רוצים קצת יותר שליטה. אבל אתם יכולים לעשות את זה אם אתם רוצים.

Generate a website for a 1-day event filled with technical talks. There are going to be 6 talks in a single track of 1 hour each. Each talk has the following information: title, 1 or maximum of 2 speakers, category (1 or maximum of 3 keywords), duration and a description. The website has a single page where users can see the schedule for the entire day with the timings. There will be one lunch break of an hour and the event starts at 10:00 AM. Keep a 10 minute transition between talks. I would like to use Node.js on the server side and standard HTML, JavaScript and CSS on the front-end. The users should be able to search the talks based on category.

I would like you to proceed in the following way: 
1. Plan out how you would design and code this application.
2. Ask me for any clarifications along the way.
3. Once I am fine with it, do generate the code and provide me instructions to run and test locally. 

ההנחיות והתשובות הבאות הן דוגמה למהלך שיחה שהיה בפועל. ‫Gemini CLI יציע תוכנית ויבקש ממך אישורים או הבהרות, או ימשיך לפעולה. פועלים לפי ההוראות. לדוגמה, זהו שרשור שיחה לדוגמה:

   1. Backend (Node.js/Express):
       * Set up an Express server to serve the static frontend files.
       * Create an /api/schedule endpoint that will:
           * Generate the event schedule dynamically, including talk timings and the lunch break, based on your requirements.
           * Store mock talk data (title, speakers, category, description).
           * Filter the schedule based on a category query parameter.

   2. Frontend (HTML, CSS, JavaScript):
       * Create an index.html file for the main structure.
       * Develop style.css for a clean and responsive design.
       * Write script.js to:
           * Fetch the schedule data from the backend.
           * Dynamically render the talks and lunch break on the page.
           * Implement a search input that filters talks by category, updating the displayed schedule without a full page reload.

   3. Schedule Logic:
       * The backend will handle calculating the precise start and end times for each 1-hour talk, factoring in the 10:00 AM start, 10-minute transitions, and the 1-hour lunch break.

  Before I proceed with the code, could you please clarify the following:

   * Example Talk Data: Could you provide some example talk titles, speakers, categories (keywords), and descriptions? This will help me create realistic dummy data for the schedule.
   * Lunch Break Placement: Where should the 1-hour lunch break be placed in the schedule? (e.g., after the 3rd talk, at 1 PM, etc.)
   * Styling Preferences: Do you have any specific styling preferences (e.g., color scheme, modern/minimalist, etc.)? If not, I will go with a clean, simple design.

 I will create a single-page website for your event. Here's my plan:

  WriteTodos Set 7 todo(s)                                                                                                                                                                                        

 I am waiting for your clarifications regarding the example talk data, lunch break placement, and styling preferences before I proceed with generating the code.

בסוף, קיבלתי את הסיכום הבא:

 Instructions to Run and Test Locally:

   1. Start the server:
      Open your terminal in the project directory (/home/romin/gemini-cli-projects/event-website/) and run:
   1     node server.js
      You should see a message in the terminal indicating: Server running on http://localhost:3000.

   2. Open in your browser:
      Open your web browser and navigate to:
      http://localhost:3000

   3. Test functionality:
       * You should see the event schedule displayed on the page, with talks and a lunch break.
       * Search by category: In the "Search by category..." input box, type a category keyword (e.g., "AI", "Web Development", "Python", "Security").
       * Click the "Search" button. The schedule displayed should filter to only show talks matching that category.
       * Click the "Reset" button to clear the search filter and view the full schedule again.

  Let me know if you encounter any issues or if you'd like to make any modifications or additions to the website!

אחרי שפעלנו לפי ההוראות להפעלת השרת ולמעבר לדף הבית, קיבלנו אתר לדוגמה כמו שמוצג בהמשך (אם השתמשתם באותו הנחיה, אמור להופיע לכם אתר דומה):

78c224b7ce29bb4d.png

אתם יכולים להמשיך לבצע שינויים נוספים בעזרת Gemini CLI. אחרי שתהיו מרוצים מהשינויים, תוכלו להעלות אותם למאגר ב-GitHub.

קודם כל, בוא ניצור קובץ ‎.gitignore. אפשר להיעזר ב-Gemini CLI.

Create a .gitignore file for this project.

השלב הבא הוא לתת הוראות ל-Gemini CLI להעביר את המאגר הזה לחשבון GitHub שלנו, והפעולה הזו אמורה להפעיל ברקע את כלי השרת של GitHub MCP.

מזינים הנחיה שדומה להנחיה הבאה:

Great! I would now like to push all of this to a new repository in my Github account. I would like to name this repository <Your-Name>-event-talks-app

הוא יעבור על מספר פקודות:

  1. יוצרים את המאגר.
  2. הוא ישתמש בכמה פקודות Git : ‏ init, ‏ add, ‏ commit כדי לנהל את מאגר Git המקומי.
  3. לאחר מכן, המערכת תגדיר את ה-Git remote ותבצע push

הערה: יש מקרים שבהם יכול להיות ש-Gemini CLI יפסיק לפעול בגלל חוסר פעילות או ישתמש בשם משתמש שגוי וכו'. כדאי לקיים איתו אינטראקציה ולהציע לו תיקונים.

אם הכול ילך כשורה, אמור להיות לכם מאגר ב-Github. למטה מוצגת דוגמה לצילום מסך:

d046ee11d28e4d33.png

שימו לב שלא יצרתם README.md לפרויקט הזה, וזה תרגיל טוב לקטע הבא, שבו נעבוד עם המאגר שיצרתם.

שימוש ב-Gemini CLI לעבודה על מאגר ב-GitHub

בתרחיש השימוש הזה, תשתמשו ב-Gemini CLI כדי לעבוד עם מאגר Github. תבצעו כמה משימות, כולל:

  • הסבר על ה-codebase
  • יצירת תיעוד
  • הטמעה של תכונה חדשה
  • שומרים את השינויים ודוחפים אותם בחזרה למאגר
  • עבודה על בעיה ב-GitHub והטמעה של השינויים המוצעים

אחרי שתעשו את זה, תוכלו לעבוד עם המאגרים ולהשתמש ב-Gemini CLI כעוזר למשימות ספציפיות למפתחים.

דרישה מוקדמת

כדי לבצע את המשימות שבקטע הזה, תצטרכו:

  • Git
  • ‫Gemini CLI עם תוסף Gemini CLI של GitHub MCP (כבר עשינו את זה קודם) או אם הגדרתם את gh ( כלי GitHub CLI), גם זה יעבוד.
  • היכרות עם יסודות Git וידע בסיסי בתכנות (בדוגמה הזו נשתמש ב-Node.js, כי יכול להיות שהסביבה כבר מוכנה במחשב שלכם, אם התקנתם את Gemini CLI). אבל בהמשך תוכלו לבחור מאגר לבחירתכם עם שפת תכנות ומסגרת שונות.
  • צריך להשלים את השלב הקודם ולהכין את המאגר שבו יצרנו את האתר Event Talks.

נמשיך להשתמש ב-Gemini CLI מהתיקייה שבה השתמשתם כדי ליצור את אפליקציית Event Talks. אם צריך, אפשר לשכפל את המאגר למחשב המקומי ואז להפעיל את Gemini CLI מהתיקייה הזו. אפשר לנסות את התרחישים הבאים:

הסבר על ה-codebase

  • אני רוצה להבין את הפרויקט הזה בפירוט. אני רוצה להבין את התכונות העיקריות, ואז לקבל הסבר על הצד של השרת ועל הצד של הלקוח. תסביר לי איך הבקשה והתשובה פועלות באמצעות דוגמה של זרימת נתונים.
  • Explain @server.js

יצירת קובץ README

  • ליצור קובץ README לפרויקט הזה.

הטמעה של תכונה חדשה

  • אני רוצה להטמיע תכונה חדשה שמאפשרת למשתמש לחפש גם לפי דובר ספציפי. קודם תציג לי תוכנית להטמעת השינוי הזה, ואז ניצור את הקוד.

אמורה להופיע תוכנית שאפשר לאשר. לאחר האישור, Gemini CLI יבצע את השינויים האלה. מומלץ לבדוק את השינויים, ואם יש באגים (סביר להניח שיהיו), לבקש מ-Gemini CLI לתקן אותם.

אחרי שמוודאים שהשינויים תקינים, אפשר לפעול לפי אותם השלבים כדי לשמור אותם ולדחוף אותם למאגר המרוחק.

יצירת בעיות על סמך הצעות לתכונות

בוא ננסה משהו מעניין. אתם הולכים לשאול את Gemini CLI איך הוא יכול לשפר את חוויית המשתמש באפליקציה הזו, ועל סמך ההערכה שלו, הוא יכול ליצור את ההצעות האלה כבעיות באותו מאגר Github. הוא ישתמש בכלי create_issue משרת ה-MCP של Github.

אפשר לנסות את ההנחיה הבאה:

  • אני רוצה שתעריך את האפליקציה מנקודת מבט של חוויית משתמש. קלות השימוש, רספונסיביות, הודעות מועילות ועוד. תציע רשימה של שיפורים ואז תיצור אותם כבעיות במאגר Github.

האידיאל הוא שהשיפורים ישותפו איתכם קודם, ורק לאחר מכן, באישורכם, ייווצרו ה-issues במאגר GitHub. הנה צילום מסך לדוגמה מההרצה שלנו:

86c33b7815c7872a.png

עבודה על בעיה ב-GitHub והטמעה של השינויים המוצעים

עכשיו אפשר לקחת אחת מהבעיות שנוצרו קודם ולבקש מ-Gemini CLI לטפל בה וליישם אותה.

למטה מוצגת דוגמה לבעיה שהכלי יצר:

2778bde35f41efe9.png

מעתיקים את כתובת ה-URL של הבעיה ומזינים הנחיה כמו זו:

  • צריך לעבור על הבעיה: <YOUR_ISSUE_URL> ולהבין אילו שינויים צריך לבצע. קודם תסביר לי על התוכנית ואז תציג את השינויים המוצעים בקוד.

אפשר לאשר את השינויים ולדחוף אותם למאגר. אפשר אפילו לבקש ממנו לסגור את הבעיה.

(אופציונלי) משימות יומיומיות

תרחישי השימוש שמופיעים בהמשך הם משימות שאולי תצטרכו לבצע באופן קבוע. הפעולות האלה כוללות סידור קבצים בתיקיות, אחזור וסיכום של תוכן מהאינטרנט, עיבוד של קובצי תמונה וחילוץ תוכן מהם, עבודה עם מסדי נתונים ועוד.

אתם מוזמנים לעיין בתרחישים לדוגמה שמעניינים אתכם.

ארגון קבצים ותיקיות

אתם יכולים להשתמש ב-Gemini CLI כדי לארגן את הקבצים בתיקיות שונות לפי הצורך, בהתאם לסוגים. עוברים לתיקייה במחשב שיש בה כמה קבצים בפורמטים ‎ .txt,‏ ‎.png,‏ ‎.jpg,‏ ‎.pdf,‏ ‎.mp4 ואחרים. בדרך כלל מדובר בשולחן העבודה או בתיקיית ההורדות.

זוהי תיקייה לדוגמה, והתוכן שלה מוצג בהמשך (יכול להיות שיש לכם קבצים אחרים):

7011e3dfaf628e9b.png

עוברים לתיקייה הזו ומפעילים את Gemini CLI. תבקש מ-Gemini CLI ליצור כמה תיקיות: Images,‏ Documents,‏ Videos, ואז תבקש מ-Gemini CLI לארגן את הקבצים בתיקיות.

לפני הפעלת פקודות, במיוחד פקודות שמשנות את מערכת הקבצים (כמו כתיבה, העברה או מחיקה של קבצים), Gemini CLI יבקש מכם הרשאה. חשוב לבדוק את ההנחיות האלה בעיון לפני שנותנים הרשאה. זהו רשת הביטחון שלכם.

Create the following folders "Images","Documents","Videos"

ואז מזינים את ההנחיה הבאה:

Go through all the files in this folder and then organize them by moving all the files ending with .jpg, .jpeg, .gif into the "Images" folder. Move all ".txt" files into the "Documents" folder. Move all the ".mp4" files in the "Videos" folder.

דוגמה למצב הסופי של התיקייה מוצגת בהמשך. אמורות להופיע תיקיות משנה חדשות שנוצרו, והקבצים הועברו לתיקיות המשנה המתאימות לפי הסוג שלהם.

4c1ee9ddea4b3f5f.png

עוד כמה תרחישי ארגון (ההנחיות מופיעות לצד כל תרחיש):

  1. סיכום: לכל מסמך בתיקייה 'Documents', צריך ליצור קובץ txt באותה תיקייה בשם 'summary_ORIGINAL_FILENAME.txt' שמכיל סיכום של 3 משפטים של הנקודות העיקריות במסמך.
  2. סיווג לפי סוג: סריקה של כל קובצי ה-PDF וה-DOCX בספרייה הזו. העברה של כל הקבצים שכוללים את המילה invoice בשם או בתוכן שלהם לתיקייה Financial/Invoices. העברת קבצים עם המילה 'קבלה' לתיקייה 'פיננסי/קבלות'. כל קובץ אחר בפורמט ‎ .docx עובר לתיקייה 'דוחות'.
  3. חילוץ מידע חשוב (ו'תיוג'): לכל קובץ PDF בתיקייה Financial/Invoices, קרא את התוכן שלו. אם מצאתם תאריך, צריך לשנות את שם הקובץ כך שיכלול את התאריך בפורמט YYYY-MM-DD, למשל: ‘invoice_2025-07-26_original_name.pdf'.

ארגון תמונות

כדאי לראות איך אפשר לארגן תוכן של תמונות במחשב.

כדי לנסות את זה:

  • צריך שיהיה לכם ספרייה או תיקייה עם קובצי תמונות שונים (‎.jpg,‏ ‎.png וכו'). כדאי לכלול כמה תמונות עם נתוני EXIF (לרוב התמונות ממצלמות או מטלפונים יש נתונים כאלה).
  • מנווטים לספרייה הזו.
  • מפעילים את Gemini CLI.

אפשר לנסות את אחד מהתרחישים הבאים (ההנחיות מופיעות לצד כל תרחיש):

  • שינוי שם לפי תאריך (נתוני EXIF): שינוי השם של כל הקבצים בפורמט ‎ .jpg ו-‎ .png בספרייה הזו כך שיכלול את תאריך היצירה שלהם מנתוני EXIF בפורמט YYYYMMDD_HHMMSS_original_name.jpg. אם לא נמצא תאריך EXIF, צריך להשתמש בתאריך השינוי האחרון של הקובץ.
  • יצירת תיאורים לתמונות: לכל תמונה בתיקייה הזו, מתארים את מה שרואים בתמונה ושומרים את התיאור בקובץ טקסט בשם description_ORIGINAL_FILENAME.txt באותה ספרייה.
  • זיהוי כפילויות (קונספטואלי, דורש לוגיקה מתקדמת יותר): מציאת תמונות כפולות בתיקייה הזו על סמך התוכן החזותי שלהן, ורישום שמות הקבצים שלהן. אל תמחקו אותם עדיין.

סיכום מאמרים (קבצים מקומיים או אינטרנט)

בכל אחד מהתרחישים שבהמשך, אפשר לשנות את כתובת ה-URL, את הנושא שמעניין אותך ואת שמות הקבצים המקומיים לפי הצורך. שמות הקבצים שמופיעים הם שמות קבצים לדוגמה, ואפשר להחליף אותם בשמות של קבצים שקיימים במערכת שלכם.

אפשר לנסות את אחד מהתרחישים הבאים (ההנחיות מופיעות לצד כל תרחיש):

  • לסכם מאמר באינטרנט (כתובת URL אחת): נכנסים לכתובת https://medium.com/google-cloud/getting-started-with-gemini-cli-8cc4674a1371 ומסכמים את 3 הנקודות העיקריות במאמר הזה.
  • סיכום של כמה כתבות באינטרנט (למשל מחיפוש): חיפוש ב-Google של כתבות חדשות בנושא Gemini CLI. עליך לסכם כל אחת מ-5 הכתבות הרלוונטיות ביותר ב-2-3 משפטים ולציין את כתובות ה-URL שלהן.
  • לסכם קובץ טקסט מקומי: סכם את הנקודות העיקריות במאמר בקובץ my_research_paper.txt. חשוב להתמקד במתודולוגיה ובמסקנות.
  • סיכום של קובץ PDF מקומי: תקרא את הקובץ financial_report_Q2_2025.pdf. תספק סיכום של הביצועים הפיננסיים והאתגרים העיקריים שצוינו.

חילוץ מידע ספציפי (קבצים מקומיים או אינטרנט)

בכל אחד מהתרחישים שבהמשך, אפשר לשנות את כתובת ה-URL, את הנושא שמעניין אותך ואת שמות הקבצים המקומיים לפי הצורך. שמות הקבצים שמופיעים הם שמות קבצים לדוגמה, ואפשר להחליף אותם בשמות של קבצים שקיימים במערכת שלכם.

אפשר לנסות את אחד מהתרחישים הבאים (ההנחיות מופיעות לצד כל תרחיש):

  • תמצות ישויות ממאמר מקומי: מתוך הקובץ 'biography.txt', צור רשימה של כל האנשים שמוזכרים בשם ושל התאריכים המשמעותיים שקשורים אליהם.
  • חילוץ נתונים מטבלה בקובץ PDF: בקובץ 'quarterly_sales.pdf', חלץ את הנתונים מהטבלה בדף 3 שמציגה את 'מכירות מוצרים לפי אזור' והצג אותם בפורמט טבלה של Markdown.
  • חילוץ כותרות ומקורות חדשות מאתר חדשות: עוברים אל https://news.google.com/‎ (או אל אתר חדשות דומה). תחלץ את הכותרות הראשיות מהדף הראשון ואת המקורות החדשותיים המתאימים. תציג אותם כרשימה עם תבליטים.
  • חיפוש מפרטי מוצרים בדף מסחר אלקטרוני: עוברים אל הדף https://www.amazon.in/Google-Cloud-Certified-Associate-Engineer/dp/1119871441 (דוגמה לספר). לחלץ את שם הספר, המחבר ופרטים אחרים. הצג את התוצאה בפורמט JSON מובנה.
  • תחלץ את משך הזמן מסרטון בפורמט מסוים (למשל, ‎2h37m42s).

מענה על שאלות על סמך תוכן (התנהגות שדומה ל-RAG)

בכל אחד מהתרחישים שבהמשך, אפשר לשנות את כתובת ה-URL, את הנושא שמעניין אותך ואת שמות הקבצים המקומיים לפי הצורך. שמות הקבצים שמופיעים הם שמות קבצים לדוגמה, ואפשר להחליף אותם בשמות של קבצים שקיימים במערכת שלכם.

אפשר לנסות את אחד מהתרחישים הבאים (ההנחיות מופיעות לצד כל תרחיש):

  • שאלות ותשובות לגבי מסמך מקומי: אני מצרף את הקובץ user_manual.pdf. מהן הפעולות לפתרון בעיות בקישוריות לרשת?
  • שאלות ותשובות בדף אינטרנט: בהתבסס על התוכן בדף 'https://www.who.int/news-room/fact-sheets/detail/climate-change-and-health', מהם הסיכונים העיקריים לבריאות שקשורים לשינויי האקלים לפי ארגון הבריאות העולמי?
  • השוואת מידע מכמה מקורות: יש לי שני מאמרים חדשותיים: article1.txt ו-article2.txt. בשניהם מפורטים שינויים במדיניות הכלכלית שחלו לאחרונה. השוו והבדילו בין הדעות שלהם לגבי ההשפעה הפוטנציאלית על עסקים קטנים.

יצירת תוכן על סמך מידע שחולץ

בכל אחד מהתרחישים שבהמשך, אפשר לשנות את כתובת ה-URL, את הנושא שמעניין אותך ואת שמות הקבצים המקומיים לפי הצורך.

אפשר לנסות את אחד מהתרחישים הבאים (ההנחיות מופיעות לצד כל תרחיש):

  • יצירת תקציר חדשות ממאמר: Read @tech_innovation_article.txt. תכתוב ידיעה קצרה ומעניינת (בסביבות 150 מילים) שמתאימה לניוזלטר של חברה, ותדגיש את הטכנולוגיה החדשה ואת הפוטנציאל שלה.
  • תנסח אימייל עם סיכום של תמליל פגישה: מצורף קובץ תמליל פגישה: @meeting_transcript.txt. תנסח אימייל לצוות שבו מסוכמות ההחלטות העיקריות שהתקבלו והמשימות שהוקצו, כולל מי אחראי לכל משימה.

תמיכה מרובת-מוֹדָלִים ב-Gemini CLI

‫Gemini CLI תומך בכמה מודלים באמצעות Gemini, ואפשר לבקש ממנו לעבד קבצים בפורמטים שונים של תוכן בהתאם לדרישות שלכם.

אתם הולכים לעבד הרבה תמונות של חשבוניות באמצעות Gemini CLI ולחלץ מהן מידע חשוב. כך עושים את זה:

  • יוצרים תיקייה במחשב ומורידים חשבוניות ממאגר Github הבא.
  • הפעלת Gemini CLI מהתיקייה

כדי לחלץ מידע מהחשבוניות בצורת טבלה, נותנים את ההנחיה הבאה.

The current folder contains a list of invoice files in Image format. Go through all the files in this folder and extract the following invoice information in the form of a table: Invoice No, Invoice Date, Invoice Sent By, Due Date, Due Amount.

הפלט שמתקבל אמור להיראות כך:

7203d699d875a91f.png

הנה תרחיש נוסף שבו אפשר לבקש עמודות נגזרות נוספות. נניח שאתם רוצים להציג את אמוג'י הצלב האדום לכל תאריכי היעד לתשלום של חשבוניות שכבר חלפו. אפשר לתת הנחיה באופן הבא:

list all files with .png extension in this folder. Extract the invoice information from it by reading them locally and display it in a table format containing the following column headers: : Invoice No, Invoice Date, Invoice Sent By, Due Date, Due Amount. Add a column at the end of the table that shows a red cross emoji in case the due date is in the past.

הפלט שמתקבל:

e11fcde0400f5a0b.png

אפשר להשתמש בשיטה הזו גם בקבצים אחרים שלכם שלא בפורמט טקסט.

שימוש ב-Gemini CLI לעבודה עם מסדי נתונים

אתם יכולים להשתמש ב-Gemini CLI כדי לעבוד בצורה יעילה יותר עם מסדי נתונים שונים. אפשר להשתמש בו במגוון תרחישים: שליחת שאילתות בשפה טבעית, ייצוא נתונים, עיצוב סכימות של מסדי נתונים, יצירת נתוני בדיקה ריאליסטיים ועוד.

כדי לבצע את המשימה הזו, צריך להשתמש ב-SQLite3. תצטרכו להתקין את SQLite3 ולהשתמש במסד הנתונים לדוגמה Chinook.

הנה הוראות קצרות להגדרת SQLite3:

  1. ‫macOS: ‏ SQLite3 מותקן מראש. מאמתים באמצעות sqlite3 --version. אם צריך, מתקינים באמצעות Homebrew: ‏ brew install sqlite3.
  2. ‫Windows: מורידים את הקבצים הבינאריים שעברו קומפילציה מראש מהאתר של SQLite. מחץ את הקבצים לספרייה (לדוגמה, ‫C:\sqlite). מוסיפים את הספרייה הזו למשתנה הסביבה PATH של המערכת.
  3. ‫Linux: Debian/Ubuntu: sudo apt update && sudo apt install sqlite3

מורידים את מסד הנתונים לדוגמה של Chinook (כאן יש קישור ישיר להורדה).

כדי להריץ את ההנחיות האלה, מומלץ ליצור תיקייה (database-tasks) בספרייה gemini-cli-projects. מעתיקים את קובץ מסד הנתונים של Chinook לתיקייה הזו. מוודאים שהכלי sqlite3 מוגדר במערכת וזמין בנתיב, כדי ש-Gemini CLI יוכל להשתמש בו. מפעילים את Gemini CLI.

תרשים סכימת מסד הנתונים מוצג בהמשך:

4178b54e03a07d60.png

נניח שאתם נמצאים בתיקייה בשם database-tasks ושם קובץ מסד הנתונים של Chinook הוא chinook.db.

בהמשך מופיעות כמה הנחיות שיעזרו לכם לעבוד עם מסדי נתונים. נציג בקצרה את האפשרות הראשונה כדי להדגים את ההרשאה שתתבקש.

מתחילים בהנחיה ליצור רשימה של הטבלאות שקיימות במסד הנתונים, ומזינים את ההנחיה הבאה:

What tables are present in the file: chinook.db 

הכלי קורא את הקובץ ואז משתמש בכלי השירות sqlite3 שקיים במערכת כדי לבצע את הפעולה הנדרשת:

a8d782201eba1eb8.png

נותנים הרשאה להריץ אותה פעם אחת כדי לקבל את הפלט הרצוי:

69e96f22610e7892.png

אפשר לנסות את ההנחיות הבאות או כל הנחיה אחרת שתבחרו:

  • כמה עובדים יש?
  • מהי הסכימה של טבלת החשבוניות?
  • מהן 3 החשבוניות המובילות לפי סכום כולל, ואילו לקוחות הוציאו את החשבוניות האלה?

אפשר לראות ש-Gemini CLI מבצע שני דברים: יצירת הצהרת ה-SQL הנכונה כדי לעמוד בדרישה שלכם, ומתן הפקודה הנכונה sqlite3.

יצירת נתונים באמצעות Gemini CLI

אתם יכולים להנחות את Gemini CLI ליצור נתונים בפורמטים שונים של נתונים. הטווח יכול להיות רחב, החל מפריטי תוכן ועד נתוני JSON, שאולי תצטרכו ליצור להם מוקאפ. נתמקד כאן בתרחישים שרלוונטיים למפתחים ולבודקים.

הנה כמה הנחיות שאפשר לנסות:

יצירת נתוני JSON של ביקורות לדוגמה מלקוחות

Generate a JSON array of 3 synthetic customer reviews for a new smartphone. Each review should have 'reviewId' (string, UUID-like), 'productId' (string, e.g., 'SMARTPHONE_X'), 'rating' (integer, 1-5), 'reviewText' (string, 20-50 words), and 'reviewDate' (string, YYYY-MM-DD format).

יצירת תגובות מדומה של API ‏ (JSON)

Generate a JSON array representing 7 daily sales records for a mock API endpoint. Each record should include 'date' (YYYY-MM-DD, chronologically increasing), 'revenue' (float, between 5000.00 and 20000.00), 'unitsSold' (integer, between 100 and 500), and 'region' (string, either 'North', 'South', 'East', 'West').

יצירת הצהרות להוספת נתונים למסד נתונים לדוגמה (SQL)

Generate 5 SQL INSERT statements for a table named 'users' with columns: 'id' (INTEGER, primary key), 'username' (VARCHAR(50), unique), 'email' (VARCHAR(100)), 'password_hash' (VARCHAR(255)), 'created_at' (DATETIME, current timestamp). Ensure the password_hash is a placeholder string like 'hashed_password_X'.

יצירת נתוני CSV לטעינת נתונים או לניתוח

Generate 10 lines of CSV data, including a header row, for customer transactions. Columns should be: 'TransactionID' (unique string), 'CustomerID' (integer), 'ItemPurchased' (string, e.g., 'Laptop', 'Monitor', 'Keyboard'), 'Quantity' (integer, 1-3), 'UnitPrice' (float, between 100.00 and 1500.00), 'TransactionDate' (YYYY-MM-DD).

יצירת קובץ תצורה (YAML)

Generate a sample YAML configuration for a 'user_service'. Include sections for 'database' with 'host', 'port', 'username', 'password', 'database_name'. Also include a 'api_keys' section with 'payment_gateway' and 'email_service' placeholders. Use realistic default values.

יצירת נתוני בדיקה למקרים חריגים או לאימות

Generate a JSON array of 8 email addresses for testing purposes. Include a mix of: 2 valid standard emails, 2 with missing '@', 2 with invalid domains (e.g., '.com1'), and 2 with special characters in the local part that are usually invalid (e.g., spaces or multiple dots).

11. מזל טוב

כל הכבוד, סיימתם את ההיכרות עם Gemini CLI, היכולות שלו ויישמתם אותו בכמה תרחישי שימוש.

מאמרי עזרה