ลองใช้ Gemini CLI

1. บทนำ

ใน Codelab นี้ คุณจะได้เรียนรู้เกี่ยวกับ Gemini CLI ซึ่งเป็น AI Agent แบบโอเพนซอร์สที่นำความสามารถของ 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 ได้รับการจัดหมวดหมู่เป็นงานของนักพัฒนาแอปและงานที่ไม่ใช่นักพัฒนาแอป Use Case ของนักพัฒนาซอฟต์แวร์แสดงให้เห็นวิธีเขียนโค้ดด้วย Gemini CLI และการทำงานกับที่เก็บ GitHub เพื่อดำเนินงานการพัฒนาทั่วไป เช่น การอธิบาย/ทำความเข้าใจโค้ด การสร้างเอกสาร การแก้ไขปัญหา และอื่นๆ เราขอแนะนำให้คุณทำตามกรณีการใช้งานเหล่านี้ใน Codelab ส่วนท้ายจะมีส่วนที่ไม่บังคับซึ่งครอบคลุมงานประจำวันหลายอย่างที่ไม่ได้มุ่งเน้นไปที่นักพัฒนาซอฟต์แวร์

2. ก่อนเริ่มต้น

สร้างโปรเจ็กต์

  1. ในคอนโซล Google Cloud ให้เลือกหรือสร้างโปรเจ็กต์ Google Cloud ในหน้าตัวเลือกโปรเจ็กต์
  2. ตรวจสอบว่าได้เปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ที่อยู่ในระบบคลาวด์แล้ว ดูวิธีตรวจสอบว่าได้เปิดใช้การเรียกเก็บเงินในโปรเจ็กต์แล้วหรือไม่
  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 จะอ้างอิงโฟลเดอร์อื่นๆ ในระบบด้วย ซึ่งคุณจะได้เห็นในภายหลังตามความจำเป็น

สร้างโฟลเดอร์ตัวอย่าง (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 ใน Labs นี้

หากใช้โควต้าฟรีปัจจุบันที่มอบให้บัญชี 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

หากเลือก Cloud Shell เพื่อเรียกใช้ Gemini ระบบจะเลือกและกำหนดค่าธีมเริ่มต้นสำหรับ 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)

ระบบ: %ProgramData%\gemini-cli\settings.json (ซึ่งโดยปกติจะขยายเป็น C:\ProgramData\gemini-cli\settings.json)

ผู้ใช้ Mac: ~/.gemini/settings.json (ซึ่งขยายเป็น /Users/<ชื่อผู้ใช้ของคุณ>/.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 2 ครั้งในเซสชันเทอร์มินัล CLI ของ Gemini แบบอินเทอร์แอกทีฟ เมื่อออกจาก Gemini CLI ระบบจะแสดงสถิติเซสชันซึ่งจะให้ข้อมูลเชิงลึกเกี่ยวกับเซสชัน การใช้โมเดล และเมตริกอื่นๆ

6. Gemini CLI - พารามิเตอร์คำสั่ง

เมื่อเริ่มใช้ Gemini CLI คุณจะระบุพารามิเตอร์บรรทัดคำสั่งได้ 2-3 รายการ หากต้องการดูรายการตัวเลือกทั้งหมด ให้ใช้ --help ตามที่แสดงด้านล่าง

gemini --help

ซึ่งควรแสดงตัวเลือกทั้งหมดที่ใช้ได้ เราขอแนะนำให้คุณศึกษาเอกสารประกอบที่นี่

มาดูตัวอย่างกัน วิธีแรกคือการกำหนดค่า Gemini CLI ให้ใช้โหมด Gemini ที่เฉพาะเจาะจง ปัจจุบัน ณ เวลาที่อัปเดต Labs นี้ รายชื่อโมเดลที่รองรับมีดังนี้ หากต้องการใช้โมเดลที่เฉพาะเจาะจง คุณสามารถทำได้เมื่อเริ่ม 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 ทำให้ 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 Search เพื่อรับข่าวสารจากแหล่งข้อมูลที่เกี่ยวข้องซึ่งสามารถให้ข่าวสารทางการเงินได้ จากนั้นจะต้องสร้างไฟล์ชื่อ 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 คุณเข้าสู่โหมดเชลล์ได้โดยกด ! ในกล่องข้อความ ซึ่งจะสลับไปเป็นโหมดเชลล์ คุณกลับไปได้โดยกด ! อีกครั้งหรือกดปุ่ม ESC

เมื่ออยู่ในโหมดเชลล์ คุณจะเห็น ! ที่จุดเริ่มต้นของพรอมต์ดังที่แสดงด้านล่าง

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 command คือจุดเริ่มต้นในการจัดการส่วนขยายในเครื่อง

ดำเนินการในเทอร์มินัลเพื่อดูรายการคำสั่งที่ใช้ได้

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:

คำสั่งนั้นตรงไปตรงมา (ติดตั้ง/ถอนการติดตั้ง แสดงรายการ อัปเดต เปิด/ปิด ฯลฯ) และเราจะใช้คำสั่งบางอย่างเหล่านี้ในโค้ดแล็บนี้

ตรวจสอบรายการส่วนขยายปัจจุบัน

ก่อนติดตั้งอะไรก็ตาม เรามาตรวจสอบ "คลีนสเตต" กันก่อน

  1. เรียกใช้คำสั่ง gemini extensions list
  2. คุณควรเห็นเอาต์พุตต่อไปนี้ ซึ่งยืนยันว่ายังไม่ได้ติดตั้งส่วนขยาย
No extensions installed.

การกำหนดค่าเซิร์ฟเวอร์ MCP ของ Cloud Run

ส่วนขยาย Cloud Run ที่มีอยู่ในแกลเลอรีส่วนขยาย Gemini CLI คือ MCP Server ที่ช่วยให้เราติดตั้งใช้งานแอปพลิเคชันใน 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 Coding ด้วย 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. 

พรอมต์และคำตอบ 2-3 รายการถัดไปเป็นตัวอย่างโฟลว์ที่เราสังเกตเห็น 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 ของเรา ซึ่งจะทำให้เครื่องมือเซิร์ฟเวอร์ MCP ของ GitHub ทำงานในเบื้องหลัง

ป้อนพรอมต์ที่คล้ายกับพรอมต์ด้านล่าง

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 และทำการพุช

หมายเหตุ: มีบางกรณีที่ Gemini CLI อาจหมดเวลาหรือใช้ชื่อผู้ใช้ที่ไม่ถูกต้อง ฯลฯ โปรดโต้ตอบกับ 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 เพื่อแก้ไข

เมื่อการเปลี่ยนแปลงดูดีแล้ว คุณสามารถทำตามขั้นตอนเดียวกันเพื่อคอมมิตและพุชไปยังที่เก็บข้อมูลระยะไกลได้ หรืออาจดำเนินการให้คุณโดยอัตโนมัติ คุณสามารถป้อนพรอมต์เพื่อถามว่า Gemini CLI ทำอะไรได้หรือไม่ได้ทุกเมื่อ

สร้างปัญหาตามฟีเจอร์ที่แนะนำ

มาลองทำอะไรที่น่าสนใจกัน คุณจะขอความช่วยเหลือจาก Gemini CLI เกี่ยวกับวิธีปรับปรุงประสบการณ์ของผู้ใช้ในแอปพลิเคชันนี้ และตามการประเมินของ Gemini CLI ก็จะสร้างคำแนะนำเหล่านั้นเป็นปัญหาในที่เก็บ GitHub เดียวกันได้ โดยจะใช้เครื่องมือ "create_issue" จากเซิร์ฟเวอร์ MCP ของ GitHub

ลองใช้พรอมต์ต่อไปนี้

  • เราอยากให้คุณประเมินแอปพลิเคชันจากมุมมองของประสบการณ์ของผู้ใช้ ใช้งานง่าย ตอบสนองได้ดี มีข้อความที่เป็นประโยชน์ และอื่นๆ โปรดจัดทำรายการการปรับปรุง แล้วสร้างเป็นปัญหาในที่เก็บ GitHub

โดยจะแชร์การปรับปรุงกับคุณก่อน จากนั้นจึงดำเนินการต่อโดยได้รับสิทธิ์จากคุณเพื่อสร้างปัญหาในที่เก็บ 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 ให้สร้างโฟลเดอร์ก่อน ได้แก่ รูปภาพ เอกสาร และวิดีโอ จากนั้นจะขอความช่วยเหลือจาก Gemini CLI ให้จัดระเบียบไฟล์ในโฟลเดอร์

CLI ของ Gemini มักจะขอสิทธิ์จากคุณก่อนที่จะเรียกใช้คำสั่ง โดยเฉพาะคำสั่งที่แก้ไขระบบไฟล์ (เช่น การเขียน การย้าย หรือการลบไฟล์) โปรดตรวจสอบพรอมต์เหล่านี้อย่างละเอียดก่อนให้สิทธิ์ทุกครั้ง นี่คือตาข่ายนิรภัยของคุณ

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. การสรุป: สำหรับเอกสารแต่ละฉบับในโฟลเดอร์ "เอกสาร" ให้สร้างไฟล์ txt ในโฟลเดอร์เดียวกันชื่อ "summary_ORIGINAL_FILENAME.txt" ซึ่งมีสรุป 3 ประโยคของประเด็นหลักในเอกสาร
  2. จัดหมวดหมู่ตามประเภท: สแกนไฟล์ PDF และ DOCX ทั้งหมดในไดเรกทอรีนี้ ย้ายไฟล์ทั้งหมดที่มีคำว่า "ใบแจ้งหนี้" ในชื่อหรือเนื้อหาไปยังโฟลเดอร์ "Financial/Invoices" ย้ายไฟล์ที่มีคำว่า "ใบเสร็จ" ไปยังโฟลเดอร์ "การเงิน/ใบเสร็จ" ส่วนไฟล์ .docx อื่นๆ จะอยู่ในโฟลเดอร์ "รายงาน"
  3. การแยกข้อมูลสำคัญ (และการ "ติดแท็ก"): อ่านเนื้อหาของไฟล์ PDF แต่ละไฟล์ในโฟลเดอร์ "การเงิน/ใบแจ้งหนี้" หากพบวันที่ ให้เปลี่ยนชื่อไฟล์ให้มีวันที่ดังกล่าวในรูปแบบ YYYY-MM-DD เช่น "invoice_2025-07-26_original_name.pdf"

การจัดระเบียบรูปภาพ

มาดูกันว่าคุณจะจัดระเบียบเนื้อหารูปภาพในเครื่องได้อย่างไร

วิธีลองใช้

  • คุณจะต้องมีไดเรกทอรี/โฟลเดอร์ที่มีไฟล์รูปภาพต่างๆ (.jpg, .png ฯลฯ) รวมรูปภาพที่มีข้อมูล EXIF (รูปภาพส่วนใหญ่จากกล้อง/โทรศัพท์จะมีข้อมูลนี้)
  • ไปที่ไดเรกทอรีนี้
  • เปิดใช้ Gemini CLI

ลองใช้สถานการณ์ต่อไปนี้ (พรอมต์จะอยู่ข้างสถานการณ์แต่ละอย่าง)

  • เปลี่ยนชื่อตามวันที่ (ข้อมูล EXIF): เปลี่ยนชื่อไฟล์ .jpg และ .png ทั้งหมดในไดเรกทอรีนี้ให้มีวันที่สร้างจากข้อมูล EXIF ในรูปแบบ "ปปปปดดวว_ชมมวว_ชื่อเดิม.jpg" หากไม่พบวันที่ EXIF ให้ใช้วันที่แก้ไขล่าสุดของไฟล์
  • สร้างคำอธิบายรูปภาพ: สำหรับรูปภาพแต่ละรูปในโฟลเดอร์นี้ ให้เขียนคำอธิบายสิ่งที่อยู่ในรูปภาพและบันทึกคำอธิบายนั้นในไฟล์ข้อความชื่อ "description_ORIGINAL_FILENAME.txt" ในไดเรกทอรีเดียวกัน
  • ระบุรายการที่ซ้ำกัน (เชิงแนวคิด ต้องใช้ตรรกะขั้นสูงกว่า): ค้นหารูปภาพที่ซ้ำกันในโฟลเดอร์นี้ตามเนื้อหาภาพ แล้วแสดงชื่อไฟล์ อย่าเพิ่งลบ

สรุปบทความ (ไฟล์ในเครื่องหรือเว็บ)

สำหรับแต่ละสถานการณ์ด้านล่างนี้ คุณสามารถเปลี่ยน URL, หัวข้อที่สนใจ และชื่อไฟล์ในเครื่องได้ตามต้องการ ชื่อไฟล์ที่ระบุเป็นชื่อไฟล์ตัวอย่าง คุณสามารถแทนที่ชื่อไฟล์เหล่านั้นด้วยชื่อไฟล์ที่คุณมีในระบบ

ลองใช้สถานการณ์ต่อไปนี้ (พรอมต์จะอยู่ข้างสถานการณ์แต่ละอย่าง)

  • สรุปบทความบนเว็บ (URL เดียว): ไปที่ https://medium.com/google-cloud/getting-started-with-gemini-cli-8cc4674a1371 แล้วสรุปประเด็นสำคัญ 3 อันดับแรกจากบทความข่าวนี้
  • สรุปบทความบนเว็บหลายบทความ (เช่น จากการค้นหา): ค้นหาบทความข่าวล่าสุดเกี่ยวกับ "Gemini CLI" โดยใช้ Google Search สำหรับบทความที่เกี่ยวข้อง 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, หัวข้อที่สนใจ และชื่อไฟล์ในเครื่องได้ตามต้องการ ชื่อไฟล์ที่ระบุเป็นชื่อไฟล์ตัวอย่าง คุณสามารถแทนที่ชื่อไฟล์เหล่านั้นด้วยชื่อไฟล์ที่คุณมีในระบบ

ลองใช้สถานการณ์ต่อไปนี้ (พรอมต์จะอยู่ข้างสถานการณ์แต่ละอย่าง)

  • ถามและตอบเกี่ยวกับเอกสารในเครื่อง: ฉันจะแนบไฟล์ "คู่มือผู้ใช้.pdf" ขั้นตอนในการแก้ปัญหาการเชื่อมต่อเครือข่ายมีอะไรบ้าง
  • ถามและตอบในหน้าเว็บ: จากเนื้อหาใน"https://www.who.int/news-room/fact-sheets/detail/climate-change-and-health" ความเสี่ยงด้านสุขภาพหลักๆ ที่เกี่ยวข้องกับการเปลี่ยนแปลงสภาพภูมิอากาศตามข้อมูลของ WHO คืออะไร
  • เปรียบเทียบข้อมูลจากแหล่งที่มาหลายแห่ง: ฉันมีบทความข่าว 2 บทความคือ "article1.txt" และ "article2.txt" ซึ่งทั้ง 2 บทความพูดถึงการเปลี่ยนแปลงนโยบายเศรษฐกิจล่าสุด เปรียบเทียบและเปรียบต่างมุมมองของพวกเขาเกี่ยวกับผลกระทบที่อาจเกิดขึ้นกับธุรกิจขนาดเล็ก

การสร้างเนื้อหาตามข้อมูลที่ดึงออกมา

สำหรับแต่ละสถานการณ์ด้านล่างนี้ คุณสามารถเปลี่ยน URL, หัวข้อที่สนใจ และชื่อไฟล์ในเครื่องได้ตามต้องการ

ลองใช้สถานการณ์ต่อไปนี้ (พรอมต์จะอยู่ข้างสถานการณ์แต่ละอย่าง)

  • สร้างสรุปข่าวจากบทความ: อ่าน @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 เพื่อทำงานกับฐานข้อมูลต่างๆ ได้อย่างมีประสิทธิภาพมากขึ้น คุณสามารถใช้ Gemini สำหรับหลายสถานการณ์ เช่น การค้นหาด้วยภาษาที่เป็นธรรมชาติ การส่งออกข้อมูล การออกแบบสคีมาฐานข้อมูล การสร้างข้อมูลทดสอบที่สมจริง และอื่นๆ

คุณจะต้องใช้ 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

ให้สิทธิ์ดำเนินการ 1 ครั้งเพื่อให้ได้เอาต์พุตที่คาดไว้

69e96f22610e7892.png

ลองใช้พรอมต์ต่อไปนี้หรือพรอมต์อื่นๆ ที่คุณเลือก

  • มีพนักงานกี่คน
  • สคีมาของตารางใบแจ้งหนี้คืออะไร
  • ใบแจ้งหนี้ 3 อันดับแรกตามยอดรวมคือใบแจ้งหนี้ใด และลูกค้าใดเป็นผู้สั่งซื้อใบแจ้งหนี้เหล่านั้น

คุณจะเห็นว่า Gemini CLI จะจัดการ 2 สิ่ง ได้แก่ การสร้างคำสั่ง 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, ความสามารถของ Gemini CLI และนำไปใช้กับกรณีการใช้งานบางอย่างเรียบร้อยแล้ว

เอกสารอ้างอิง