התנסות מעשית ב-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, בדף לבחירת הפרויקט, בוחרים או יוצרים פרויקט ב-Google Cloud.
  2. מוודאים שהחיוב מופעל בפרויקט ב-Cloud. כך בודקים אם החיוב מופעל בפרויקט
  3. תשתמשו ב-Cloud Shell, סביבת שורת פקודה שפועלת ב-Google Cloud ומגיעה עם bq שנטען מראש. לוחצים על 'הפעלת Cloud Shell' בחלק העליון של מסוף Google Cloud.

תמונה של לחצן ההפעלה של 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 באופן מקומי, פועלים לפי ההוראות שבהמשך. שימו לב ש-Gemini CLI מותקן מראש ב-Cloud Shell וב-Cloud Workstations.

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

הדבר החשוב הבא הוא אימות. תתבקשו לבחור שיטת אימות. מומלץ להשתמש בחשבון Google אישי ולא בחשבונות שאינם קשורים ל-Google או ל-Google Workspace במעבדה הזו.

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

57bad75cedaaaa38.png

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

למטה מופיע צילום מסך לדוגמה:

8fc80ad44c19f782.png

במקרה הזה, בחרנו באפשרות Vertex AI, אבל יכול להיות שזה יהיה החשבון לשימוש האישי שלכם. אפשר לראות שבחרנו במודל Gemini 2.5 (בפינה השמאלית התחתונה). תמיד אפשר לבחור את המודל הספציפי באמצעות הפקודה /model.

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

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

69154a6bf6553f35.png

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

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

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

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

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

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

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

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

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

 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, התו ! יופיע בתחילת ההנחיה, כמו בדוגמה הבאה:

aab5d032116fa5e8.png

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

f6e6d45174a9997d.png

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

f5ae3e229462c130.png

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

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

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

  1. פותחים את כתובת ה-URL הבאה בדפדפן: https://geminicli.com/extensions/
  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.
  gemini extensions config [name] [setting]                  
    Configure extension settings.
Options:

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

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

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

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

הגדרת שרת 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 יבקש מכם את מזהה הפרויקט ב-Google ואת המיקום של הפרויקט ב-Google. כן, צריך לספק את זה. התוסף Cloud Run אמור להיות מותקן בהצלחה.

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

✓ cloud-run (1.0.0)
 ID: 3c1a38909b6d7d90b6acc8ca1e80d97b4a867253a3cd12d841b2aab4e556a58f
 name: 0b1820c1f0c043bbb3b54f496d862c02172424c930eb965d61f468be52e6f127
 Path: /Users/romin/.gemini/extensions/cloud-run
 Source: https://github.com/GoogleCloudPlatform/cloud-run-mcp (Type: github-release)
 Release tag: v1.10.0
 Enabled (User): true
 Enabled (Workspace): true
 Context files:
  /Users/romin/.gemini/extensions/cloud-run/gemini-extension/GEMINI.md
 MCP servers:
  cloud-run
 Settings:
  Project ID: YOUR_GCP_PROJEC_ID (User - /Users/romin/.gemini/extensions/cloud-run/.env)
  Region: YOUR_GCP_PROJECT_LOCATION (User - /Users/romin/.gemini/extensions/cloud-run/.env)

אם מפעילים עכשיו את Gemini CLI ומריצים את הפקודה /mcp list, מוצגות התוצאות הבאות. שימו לב לכלים ולהנחיות של שרת ה-MCP ב-Cloud Run.

Configured MCP servers:
🟢 cloud-run (from cloud-run) - Ready (8 tools, 2 prompts)
  Tools:
  - mcp_cloud-run_create_project
  - mcp_cloud-run_deploy_container_image
  - mcp_cloud-run_deploy_file_contents
  - mcp_cloud-run_deploy_local_folder
  - mcp_cloud-run_get_service
  - mcp_cloud-run_get_service_log
  - mcp_cloud-run_list_projects
  - mcp_cloud-run_list_services
  Prompts:
  - deploy
  - logs

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

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

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

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

תכנות בשיטת Vibe code באמצעות Gemini CLI

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

דרישה מוקדמת

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

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

נניח שהפעלתם את Gemini CLI בתיקייה ספציפית שבחרתם. במקרה שלנו, הפעלנו את Gemini CLI מתיקיית הבית הראשונית : gemini-cli-projects ומתיקייה נוספת event-website בתוכה.

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

    Of course. I will start by creating a plan for the application.
  Plan:
   1. Backend (Node.js):
       * I'll set up a simple Node.js server using the Express.js framework.
       * This server will have two main purposes:
           1. Serve the static frontend files (HTML, CSS, JavaScript).
           2. Provide an API endpoint (e.g., /api/talks) that will send the event schedule data to the frontend as a JSON object.
       * The talk data will be stored in a separate talks.json file for easy management.
   2. Frontend (HTML, CSS, JS):
       * HTML: A single index.html file will define the structure of the page, including a container for the schedule and a search input field for filtering by category.
       * CSS: A style.css file will be used to style the website for a clean and professional look, ensuring the schedule is easy to read.
       * JavaScript: A script.js file will handle the dynamic aspects of the site:
           1. It will fetch the talk data from the backend API when the page loads.
           2. It will dynamically render the schedule on the page based on the fetched data.
           3. It will implement the search functionality. As the user types in the search box, it will filter the displayed talks based on the category keywords.
   3. Project Structure:
      I will organize the project with a clear and standard structure:
   1     /
   2     ├── public/
   3        ├── index.html
   4        ├── style.css
   5        └── script.js
   6     ├── talks.json
   7     └── server.js
   8     └── package.json
  Before I proceed with generating the code, I have a few questions to ensure the final product meets your expectations:

הוא אפילו שואל אותי כמה שאלות (שמופיעות למטה ואני עונה עליהן):

c6127207c54a776c.png

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

לבסוף, השרת הופעל והתבקשתי לבדוק את הדף:

The server is now running in the background.
  3. View Your Website
  You can now open your web browser and navigate to the following address to see your website:
  http://localhost:3000 (http://localhost:3000)
  4. Test the Search Functionality
  Once the page is loaded, you can test the search functionality by typing a category into the search bar (e.g., "AI", "Frontend", "Cybersecurity"). The list of talks
  will filter in real-time.
  This completes the setup and implementation of your event website. Let me know if you have any other questions.

זו דוגמה לדף שנוצר:

12664933302b3867.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. למטה מוצגת דוגמה לצילום מסך:

b393c67b13ddf19a.png

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

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

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

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

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

דרישה מוקדמת

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

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

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

הסבר על בסיס הקוד

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

יצירת קובץ README

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

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

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

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

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

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

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

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

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

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

10a31e665be46f9d.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. מהן הפעולות לפתרון בעיות בקישוריות לרשת?
  • שאלות ותשובות בדף אינטרנט: על סמך התוכן מכתובת ה-URL 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, היכולות שלו והשימוש בו בכמה תרחישים.

מאמרי עזרה