1. บทนำ
ใน Codelab นี้ คุณจะได้เรียนรู้เกี่ยวกับ Gemini CLI ซึ่งเป็นเอเจนต์ AI แบบโอเพนซอร์สที่นำพลังของ Gemini มาสู่เทอร์มินัลของคุณโดยตรง
โปรเจ็กต์ Gemini CLI เป็นโอเพนซอร์สและคุณดูแผนงานสาธารณะได้ที่นี่
ใน Codelab นี้ คุณจะได้ใช้แนวทางแบบทีละขั้นตอนในกิจกรรมต่างๆ เช่น
- การติดตั้ง Gemini CLI
- การกำหนดค่าพื้นฐาน
- สำรวจเครื่องมือและคำสั่งที่มีอยู่แล้วใน Gemini CLI
- การปรับแต่ง Gemini CLI ผ่านไฟล์
GEMINI.md - สำรวจกรณีการใช้งานบางอย่างด้วย Gemini CLI
สิ่งที่คุณต้องมี
- เว็บเบราว์เซอร์ Chrome
- บัญชี Gmail
- เครื่องภายในระบบที่ติดตั้ง Node 20 ขึ้นไป
Codelab นี้ออกแบบมาสำหรับผู้ใช้และนักพัฒนาซอฟต์แวร์ทุกระดับ (รวมถึงผู้เริ่มต้น)
2. การติดตั้ง
ก่อนที่จะตั้งค่าและเรียกใช้ Gemini CLI ให้เราสร้างโฟลเดอร์ที่จะใช้เป็นโฟลเดอร์หลักสำหรับโปรเจ็กต์ทั้งหมดที่เราอาจสร้างไว้ภายใน นี่คือจุดเริ่มต้นสำหรับ Gemini CLI ในการทำงาน แม้ว่า Gemini CLI จะอ้างอิงโฟลเดอร์อื่นๆ ในระบบด้วย ซึ่งเราจะพูดถึงในภายหลังตามความจำเป็น
สร้างโฟลเดอร์ตัวอย่าง (gemini-cli-projects) แล้วไปที่โฟลเดอร์ดังกล่าวผ่านคำสั่งที่แสดงด้านล่าง หากต้องการใช้ชื่อโฟลเดอร์อื่น โปรดดำเนินการ
mkdir gemini-cli-projects
มาไปยังโฟลเดอร์นั้นกัน
cd gemini-cli-projects
หากต้องการเรียกใช้ Gemini CLI คุณสามารถใช้วิธีใดวิธีหนึ่งต่อไปนี้
- เรียกใช้ด้วยคำสั่งต่อไปนี้
npx https://github.com/google-gemini/gemini-cli
- คุณสามารถติดตั้ง Gemini CLI ทั่วโลกในระบบก่อนได้ โปรดตรวจสอบว่าคุณมีสิทธิ์ของผู้ดูแลระบบในการดำเนินการดังกล่าว
npm install -g @google/gemini-cli
แล้วเรียกใช้ด้วยคำสั่งต่อไปนี้
gemini
หากคุณเปิดใช้ Gemini CLI ผ่านวิธีใดวิธีหนึ่งข้างต้น คุณควรเห็นหน้าจอต่อไปนี้ที่ถามเกี่ยวกับการเลือกธีม เลือกรายการที่คุณต้องการได้เลย

เมื่อเลือกแล้ว ระบบจะขอให้ระบุวิธีการตรวจสอบสิทธิ์ เราขอแนะนำให้คุณใช้บัญชี Google ส่วนตัวและไม่ใช่บัญชีที่ไม่ใช่ของ Google หรือบัญชีที่เกี่ยวข้องกับ Google Workspace ใน Labs นี้ ใบอนุญาตฟรีดังกล่าวจะช่วยให้คุณเข้าถึง Gemini 2.5 Pro และหน้าต่างบริบทขนาด 1 ล้านโทเค็นได้ ระดับฟรีอนุญาตให้ส่งคำขอโมเดล 60 รายการต่อนาทีและ 1,000 รายการต่อวันโดยไม่มีค่าใช้จ่าย
หากโควต้าฟรีปัจจุบันที่มอบให้แก่บัญชี Google เต็มแล้ว คุณสามารถเลือกใช้คีย์ Gemini API หรือแม้แต่ Vertex AI ของ Google Cloud ซึ่งคุณจะต้องมีรหัสโปรเจ็กต์และชื่อสถานที่ตั้งของโปรเจ็กต์นั้น โปรดดูส่วนการตรวจสอบสิทธิ์ในเอกสารประกอบ หากคุณวางแผนที่จะใช้วิธีการตรวจสอบสิทธิ์อื่นๆ

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

พิมพ์ /help (เครื่องหมายทับ) แล้วคุณจะเห็นคำสั่งและแป้นพิมพ์ลัดต่างๆ ดังที่แสดงด้านล่าง

การโต้ตอบครั้งแรกกับ Gemini CLI
พิมพ์ข้อความแรกในช่อง เราจะส่งคำค้นหาต่อไปนี้

คุณจะเห็นว่าคำค้นหาของเราทำให้เครื่องมือ GoogleSearch (เครื่องมือในตัวใน Gemini CLI) ทำงาน นี่เป็นวิธีที่น่าสนใจซึ่งเราได้ใช้เครื่องมือที่มีประสิทธิภาพในตัวของ Gemini CLI ไปแล้ว นั่นคือ GoogleSearch ซึ่งจะอิงคำตอบตามข้อมูลที่ได้รับจากเว็บ เราจะดูข้อมูลเพิ่มเติมเกี่ยวกับเครื่องมือในส่วนถัดไป
มาออกจาก Gemini CLI กันก่อน คุณทำได้โดยใช้คำสั่ง /quit หรือใช้คำสั่ง Ctrl-C 2 ครั้งในเซสชันเทอร์มินัล CLI ของ Gemini แบบอินเทอร์แอกทีฟ
ไฟล์การปรับแต่ง Gemini CLI : settings.json
หากคุณจำได้ว่าตอนที่เราเริ่มใช้ Gemini CLI เป็นครั้งแรก ระบบขอให้เราเลือกธีมและวิธีการตรวจสอบสิทธิ์ ในการเรียกใช้ Gemini CLI ครั้งต่อๆ ไป ระบบจะไม่ขอให้คุณเลือกธีมและวิธีการตรวจสอบสิทธิ์อีก ซึ่งหมายความว่าระบบจะจัดเก็บไว้ที่ใดที่หนึ่ง และไฟล์ที่ใช้จะเรียกว่า settings.json ซึ่งเป็นวิธีปรับแต่ง Gemini CLI
ระบบจะใช้การตั้งค่าตามลำดับความสำคัญต่อไปนี้
- Workspace:
.gemini/settings.json(ลบล้างการตั้งค่าผู้ใช้และระบบ) - ผู้ใช้:
~/.gemini/settings.json(ลบล้างการตั้งค่าระบบ) - ระบบ:
/etc/gemini-cli/settings.json(มีผลกับผู้ใช้ทุกคน)
หากคุณจำได้ ตอนที่เลือกธีม เราได้ขอให้บันทึกการตั้งค่าไว้ในการตั้งค่าผู้ใช้ ดังนั้นไปที่ ~/.gemini folder แล้วคุณจะเห็นไฟล์ settings.json
ไฟล์ settings.json ของฉันแสดงอยู่ด้านล่าง หากคุณเลือกธีมอื่นไว้ คุณจะเห็นชื่อธีมนั้นที่นี่
{
"theme": "Default",
"selectedAuthType": "oauth-personal"
}
3. พารามิเตอร์คำสั่ง Gemini CLI
มีพารามิเตอร์บรรทัดคำสั่งบางอย่างที่คุณระบุได้เมื่อเริ่มใช้ Gemini CLI หากต้องการดูรายการตัวเลือกทั้งหมด ให้ใช้ --help ตามที่แสดงด้านล่าง
gemini --help
ซึ่งควรแสดงตัวเลือกทั้งหมดที่ใช้ได้ เราขอแนะนำให้คุณศึกษาเอกสารประกอบที่นี่
มาดูตัวอย่างกัน วิธีแรกคือการกำหนดค่า Gemini CLI ให้ใช้โมเดล Pro หรือ Flash ปัจจุบัน ณ เวลาที่เขียนแล็บนี้ มีเพียง 2 โมเดลนี้เท่านั้นที่รองรับ โดยค่าเริ่มต้น ระบบจะใช้โมเดล Gemini 2.5 Pro แต่หากต้องการใช้โมเดล Flash คุณสามารถทำได้เมื่อเริ่มใช้ Gemini CLI ผ่านพารามิเตอร์ -m ดังที่แสดงด้านล่าง
gemini -m "gemini-2.5-flash"
คุณจะเห็นว่าหากเริ่มต้นด้วยวิธีข้างต้น คุณจะตรวจสอบโมเดลได้ที่ด้านขวาล่างของเทอร์มินัล Gemini CLI ดังที่แสดงด้านล่าง

โหมดที่ไม่ใช่แบบอินเทอร์แอกทีฟ
ตัวเลือกที่น่าสนใจคือการเรียกใช้ Gemini CLI ในโหมดที่ไม่โต้ตอบ ซึ่งหมายความว่าคุณจะป้อนพรอมต์ให้โดยตรง แล้วโมเดลจะตอบกลับพรอมต์นั้นโดยไม่ต้องเปิดเทอร์มินัลแบบอินเทอร์แอกทีฟของ Gemini CLI ซึ่งจะมีประโยชน์อย่างมากหากคุณวางแผนที่จะใช้ Gemini CLI ในลักษณะอัตโนมัติเป็นส่วนหนึ่งของสคริปต์หรือกระบวนการอัตโนมัติอื่นๆ คุณใช้พารามิเตอร์ -p เพื่อระบุพรอมต์ไปยัง Gemini CLI ดังที่แสดงด้านล่าง
gemini -p "What is the gcloud command to deploy to Cloud Run"
โปรดทราบว่าคุณไม่สามารถสนทนาต่อด้วยคำถามติดตามผล
4. Gemini CLI - เครื่องมือในตัว
Gemini CLI มาพร้อมชุดเครื่องมือในตัว และเอกสารประกอบของเครื่องมือระบุว่า "โมเดล Gemini ใช้เครื่องมือเหล่านี้เพื่อโต้ตอบกับสภาพแวดล้อมในเครื่อง เข้าถึงข้อมูล และดำเนินการต่างๆ เครื่องมือเหล่านี้จะช่วยเพิ่มความสามารถของ CLI ทำให้ CLI ทำได้มากกว่าการสร้างข้อความและช่วยงานได้หลากหลาย"
หากต้องการดูรายการเครื่องมือในตัวปัจจุบัน เพียงเรียกใช้คำสั่ง /tools ดังที่แสดงด้านล่าง

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

เมื่อการค้นหาเสร็จสมบูรณ์แล้ว ระบบจะดึงข้อมูลดังที่แสดงด้านล่าง

เมื่อดำเนินการเสร็จแล้ว ก็พร้อมที่จะเขียนข้อมูลนี้ลงในไฟล์และจะใช้เครื่องมือ WriteFile แต่เนื่องจากเป็นการดำเนินการที่ละเอียดอ่อน (เขียน) จึงต้องขอสิทธิ์จากคุณ คุณสามารถกำหนดประเภทสิทธิ์ได้ เช่น อนุญาตครั้งเดียว อนุญาตเสมอ ฯลฯ เราจะเลือกอนุญาตครั้งเดียวในตอนนี้

จากนั้นระบบจะเขียนข้อมูลลงในไฟล์และแสดงข้อความว่าดำเนินการสำเร็จที่ด้านล่าง

เราจะตรวจสอบได้อย่างไรว่ามีการเขียนไฟล์หรือไม่ เราสามารถใช้ @file เพื่อขอให้ระบบอ่านเนื้อหาได้ เราจะให้พรอมต์ดังที่แสดงด้านล่าง เมื่อเราพิมพ์ @ ระบบจะแสดงรายการไฟล์ในโฟลเดอร์ปัจจุบันและแสดงไฟล์ที่เพิ่งสร้าง เลือกข้อความนั้นแล้วส่ง พรอมต์ของฉันแสดงอยู่ด้านล่าง
read the contents of @finance-news-today.txt
ซึ่งจะทำให้มีการเรียกใช้เครื่องมือที่จำเป็น (ReadManyFiles, ReadFile) และแสดงเนื้อหาตามที่แสดงด้านล่าง

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

ฉันตรวจสอบได้โดยตรงโดยใช้คำสั่งมาตรฐาน เช่น pwd และ ls ดังที่แสดงด้านล่าง

เราสามารถพิมพ์เนื้อหาของไฟล์ผ่านคำสั่ง cat ได้แล้ววันนี้

แบบฝึกหัด: ลองทำแบบฝึกหัดสั้นๆ ต่อไปนี้ เลือกฟีด RSS ที่ต้องการ ป้อนพรอมต์ไปยัง Gemini CLI เพื่อดึงเนื้อหาของฟีด RSS และจัดรูปแบบผลลัพธ์ให้คุณในลักษณะที่เฉพาะเจาะจง ซึ่งเป็นวิธีที่ดีในการตั้งค่าให้ระบบทำงานอัตโนมัติเมื่อเริ่มต้นวัน
เคล็ดลับ: คุณควรทำให้ Gemini CLI ใช้เครื่องมือ WebFetch
5. การกำหนดค่าเซิร์ฟเวอร์ Model Context Protocol (MCP)
เซิร์ฟเวอร์ MCP คือแอปพลิเคชันที่แสดงเครื่องมือและทรัพยากรไปยัง Gemini CLI ผ่าน Model Context Protocol ซึ่งช่วยให้โต้ตอบกับระบบภายนอกและแหล่งข้อมูลได้ เซิร์ฟเวอร์ MCP ทำหน้าที่เป็นสะพานเชื่อมระหว่างโมเดล Gemini กับสภาพแวดล้อมในเครื่องหรือบริการอื่นๆ เช่น API
เซิร์ฟเวอร์ MCP ช่วยให้ Gemini CLI ค้นพบและเรียกใช้เครื่องมือต่างๆ ได้ ซึ่งจะขยายความสามารถของ Gemini CLI ให้ดำเนินการต่างๆ ได้นอกเหนือจากฟีเจอร์ในตัว เช่น การโต้ตอบกับฐานข้อมูล, API, สคริปต์ที่กำหนดเอง หรือเวิร์กโฟลว์เฉพาะ
Gemini CLI รองรับการกำหนดค่าเซิร์ฟเวอร์ MCP เพื่อค้นหาและใช้เครื่องมือที่กำหนดเอง หากเปิดใช้ Gemini CLI แล้ว คุณสามารถตรวจสอบเซิร์ฟเวอร์ MCP ที่กำหนดค่าผ่านคำสั่ง /mcp ได้ดังที่แสดงด้านล่าง

หากคุณยังไม่ได้กำหนดค่าเซิร์ฟเวอร์ MCP ระบบจะเปิดเอกสารประกอบเกี่ยวกับเซิร์ฟเวอร์ MCP ของ Gemini CLI
คุณกำหนดค่าเซิร์ฟเวอร์ MCP ได้ที่ระดับส่วนกลางในไฟล์ ~/.gemini/settings.json หรือในรูทไดเรกทอรีของโปรเจ็กต์ สร้างหรือเปิดไฟล์ .gemini/settings.json คุณจะต้องเพิ่มบล็อกการกำหนดค่า mcpServers ภายในไฟล์ ดังที่แสดงด้านล่าง
"mcpServers": {
"server_name_1": {},
"server_name_2": {},
"server_name_n": {}
}
การกำหนดค่าเซิร์ฟเวอร์แต่ละรายการรองรับพร็อพเพอร์ตี้ต่อไปนี้ ( เอกสารอ้างอิง)
ต้องระบุ (อย่างใดอย่างหนึ่งต่อไปนี้)
- command (string): เส้นทางไปยังไฟล์ที่เรียกใช้งานได้สำหรับการรับส่งข้อมูล Stdio
- url (string): URL ของปลายทาง SSE (เช่น "http://localhost:8080/sse")
- httpUrl (สตริง): URL ของปลายทางการสตรีม HTTP
ไม่บังคับ
- args (string[]): อาร์กิวเมนต์บรรทัดคำสั่งสำหรับการรับส่ง Stdio
- headers (ออบเจ็กต์): ส่วนหัว HTTP ที่กำหนดเองเมื่อใช้ url หรือ httpUrl
- env (ออบเจ็กต์): ตัวแปรสภาพแวดล้อมสำหรับกระบวนการของเซิร์ฟเวอร์ ค่าสามารถอ้างอิงตัวแปรสภาพแวดล้อมได้โดยใช้ไวยากรณ์ $VAR_NAME หรือ ${VAR_NAME}
- cwd (สตริง): ไดเรกทอรีการทำงานสำหรับการรับส่ง Stdio
- timeout (ตัวเลข): การหมดเวลาของคำขอเป็นมิลลิวินาที (ค่าเริ่มต้น: 600,000 มิลลิวินาที = 10 นาที)
- trust (บูลีน): เมื่อเป็นจริง จะข้ามการยืนยันการเรียกใช้เครื่องมือทั้งหมดสำหรับเซิร์ฟเวอร์นี้ (ค่าเริ่มต้น: เท็จ)
- includeTools (string[]): รายการชื่อเครื่องมือที่จะรวมจากเซิร์ฟเวอร์ MCP นี้ เมื่อระบุไว้ จะมีเฉพาะเครื่องมือที่แสดงที่นี่เท่านั้นที่พร้อมใช้งานจากเซิร์ฟเวอร์นี้ (ลักษณะการทำงานของรายการที่อนุญาต) หากไม่ได้ระบุไว้ ระบบจะเปิดใช้เครื่องมือทั้งหมดจากเซิร์ฟเวอร์โดยค่าเริ่มต้น
- excludeTools (string[]): รายชื่อเครื่องมือที่จะยกเว้นจากเซิร์ฟเวอร์ MCP นี้ เครื่องมือที่แสดงที่นี่จะไม่พร้อมใช้งานสำหรับโมเดล แม้ว่าเซิร์ฟเวอร์จะเปิดเผยเครื่องมือเหล่านั้นก็ตาม หมายเหตุ: excludeTools จะมีลำดับความสำคัญเหนือกว่า includeTools หากเครื่องมืออยู่ในทั้ง 2 รายการ ระบบจะยกเว้นเครื่องมือดังกล่าว
มาเริ่มกำหนดค่าเซิร์ฟเวอร์ MCP ที่สำคัญซึ่งคุณอาจต้องใช้หากทำงานกับ GitHub กันเลย แม้ว่าคุณควรทราบว่า Gemini CLI จะเรียกใช้เครื่องมือ Git ที่คุณมีในระบบ และคุณยังสั่งให้ Gemini CLI ใช้เครื่องมือดังกล่าวแทนได้ด้วย ดังนั้นโปรดทราบว่าเครื่องมือนี้จะช่วยคุณในเรื่องคำสั่งและดำเนินการให้คุณ แต่คุณต้องตั้งค่าเครื่องมือเหล่านั้นในระบบ
เซิร์ฟเวอร์ MCP ของ Github
เซิร์ฟเวอร์ MCP อย่างเป็นทางการของ Github มีเอกสารประกอบที่เพียงพอเกี่ยวกับเครื่องมือที่แสดง รวมถึงวิธีกำหนดค่าเครื่องมือดังกล่าว คุณเลือกได้ว่าจะเรียกใช้ในเครื่องหรือจากระยะไกล เนื่องจาก Gemini CLI รองรับเซิร์ฟเวอร์ MCP ระยะไกลด้วย
ในบทแนะนำนี้ เราเลือกใช้ตัวเลือกเซิร์ฟเวอร์ MCP ระยะไกลใน Github โดยคุณจะต้องมีโทเค็นเพื่อการเข้าถึงส่วนบุคคล (PAT) จาก Github ก่อน
เมื่อมีแล้ว คุณจะต้องเพิ่มออบเจ็กต์เซิร์ฟเวอร์ MCP ในไฟล์ settings.json ไฟล์ settings.json ที่สมบูรณ์ในระบบของฉันแสดงอยู่ด้านล่าง คุณอาจมีการตั้งค่าเพิ่มเติม แต่ควรตั้งค่าออบเจ็กต์ mcpServers ตามที่ระบุด้านล่าง
{
"theme": "Default",
"selectedAuthType": "oauth-personal",
"mcpServers": {
"github": {
"httpUrl": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "GITHUB_PAT"
},
"timeout": 5000
}
}
}
คุณจะเริ่ม Gemini CLI อีกครั้งหรือใช้คำสั่ง /mcp refresh ก็ได้ เมื่ออัปเดต settings.json ด้วยการกำหนดค่าเซิร์ฟเวอร์ MCP ของ Github แล้ว ภาพหน้าจอด้านล่างไฮไลต์เซิร์ฟเวอร์ Github MCP ที่กำหนดค่าไว้ในเครื่องของฉัน และเครื่องมือต่างๆ ที่พร้อมใช้งานใน Gemini CLI เพื่อทำงานกับ MCP

มาเริ่มด้วยพรอมต์ที่จะเรียกใช้เครื่องมืออย่างใดอย่างหนึ่งจากเซิร์ฟเวอร์ MCP ของ Github กัน ป้อนพรอมต์ต่อไปนี้

โปรดทราบว่าระบบจะเลือกเครื่องมือที่ถูกต้องจากเซิร์ฟเวอร์ MCP ของ Github แต่เช่นเดียวกับเครื่องมืออื่นๆ ในตัว คุณจะต้องให้สิทธิ์อย่างชัดเจนในการเรียกใช้เครื่องมือนี้ด้วย ลองดูว่าคุณจะได้รับเอาต์พุตอะไร
ตอนนี้คุณควรทำงานกับโปรเจ็กต์ GitHub อย่างใดอย่างหนึ่ง ป้อนคำค้นหาด้วยภาษาง่ายๆ เช่น
- อธิบาย <repo-name> ให้ฉันหน่อย
- โคลน <ชื่อที่เก็บ> ในเครื่องของฉัน
- อธิบาย @<ชื่อไฟล์> หรือ @<ชื่อไดเรกทอรี>/
- ส่วนประกอบต่างๆ ของที่เก็บนี้มีอะไรบ้าง
- ฉันได้ทำการเปลี่ยนแปลงที่จำเป็นแล้ว คุณสามารถพุชการเปลี่ยนแปลงไปยัง Github และใช้เครื่องมือเซิร์ฟเวอร์ MCP ของ Github เพื่อดำเนินการดังกล่าวได้
เราจะมีการฝึกปฏิบัติการทำงานกับเซิร์ฟเวอร์ Github MCP อย่างละเอียดในแล็บในภายหลัง
Context7 MCP Server
Context7 มีเอกสารประกอบล่าสุดสำหรับ LLM และโปรแกรมแก้ไขโค้ด AI หากต้องการให้บริบทแก่ LLM ด้วยเอกสารล่าสุดสำหรับเฟรมเวิร์กที่คุณเลือก เซิร์ฟเวอร์ Context7 MCP เป็นตัวเลือกที่ดีในการกำหนดค่า
ตรวจสอบว่าคุณมีห้องสมุดแสดงอยู่ในหน้าแรกของ Context7
นี่คือเซิร์ฟเวอร์ MCP ที่คุณต้องเพิ่มในไฟล์ settings.json
"context7": {
"httpUrl": "https://mcp.context7.com/mcp"
}
เมื่อกำหนดค่าเซิร์ฟเวอร์ MCP และโหลด Gemini CLI พร้อมกับเซิร์ฟเวอร์เรียบร้อยแล้ว คุณจะดูเครื่องมือ Context7 ได้ดังที่แสดงด้านล่าง

ตอนนี้คุณสามารถระบุพรอมต์และขอให้ Gemini CLI ใช้ Context7 สำหรับเอกสารล่าสุดขณะสร้างแอปพลิเคชันหรือโค้ด Snippet โดยใช้เฟรมเวิร์ก XYZ ที่เฉพาะเจาะจงได้แล้ว
นี่คือตัวอย่างพรอมต์ที่ฉันต้องการเขียนเอเจนต์โดยใช้ Agent Development Kit (ADK) จาก Google ฉันระบุในพรอมต์ให้ค้นหาเอกสารประกอบสำหรับเรื่องนี้ผ่านเซิร์ฟเวอร์ Context7 MCP
I am working on coding an Agent using the Agent Development Kit (ADK) from Google. I would like to know how to create the LLMAgent in Python. Use Context7 for the latest documentation on ADK and specifically use /google/adk-python, /google/adk-docs and adk.wiki
เอาต์พุตที่ได้รับมีดังนี้

เซิร์ฟเวอร์ MCP ของ Google สไลด์
โปรเจ็กต์ Github ที่ https://github.com/matteoantoci/google-slides-mcp มีเซิร์ฟเวอร์ MCP สำหรับการโต้ตอบกับ Google สไลด์ API ซึ่งช่วยให้คุณสร้าง อ่าน และแก้ไขงานนำเสนอ Google สไลด์แบบเป็นโปรแกรมได้
ขั้นตอนในการกำหนดค่าเซิร์ฟเวอร์ MCP จะอยู่ในโปรเจ็กต์ คุณจะต้องมีสภาพแวดล้อม Node.js ที่ใช้สร้างเซิร์ฟเวอร์ กำหนดค่าโปรเจ็กต์ Google Cloud และโทเค็น OAuth 2.0 จากนั้นกำหนดค่าเซิร์ฟเวอร์ MCP ในไฟล์ settings.json
เมื่อตั้งค่าแล้ว คุณจะเรียกใช้พรอมต์ได้ เช่น
- ดึงข้อมูลล่าสุดจาก "web_url" สรุปเป็นประเด็นสำคัญ และสร้างงานนำเสนอชื่อ "my_presentation"
ลองใช้เลย
เซิร์ฟเวอร์ MCP เพิ่มเติม
เซิร์ฟเวอร์ MCP เพิ่มเติมที่คุณอาจสนใจมีดังนี้
- เซิร์ฟเวอร์ Firebase MCP
- บริการสื่อ Gen AI ของ Google (Imagen, Veo, Lyria)
- กล่องเครื่องมือ MCP สำหรับฐานข้อมูล (ทำงานกับ Firestore, BigQuery, ฐานข้อมูล Google Cloud)
- เซิร์ฟเวอร์ MCP ของ Google Workspace (ทำงานกับเอกสาร, ชีต, ปฏิทิน, Gmail)
ดูวิธีการตั้งค่าเซิร์ฟเวอร์ MCP ข้างต้นได้ในบล็อกโพสต์นี้
6. กรณีการใช้งานที่ควรลอง
คุณใช้ Gemini CLI กับกรณีการใช้งานที่หลากหลายได้ ซึ่งเหมาะสำหรับทั้งนักพัฒนาแอปและผู้ที่ไม่ใช่นักพัฒนาแอป ต่อไปนี้คือสถานการณ์บางส่วน และคุณสามารถลองใช้สถานการณ์ใดก็ได้หรือทั้งหมดก็ได้ ขึ้นอยู่กับสาขาที่คุณสนใจ
ในแต่ละกรณีเหล่านี้ ระบบจะแสดงข้อความแจ้ง คุณสามารถลองใช้ฟีเจอร์นี้ในโหมดอินเทอร์แอกทีฟหรือโหมดที่ไม่ใช่แบบอินเทอร์แอกทีฟของ Gemini CLI ผ่านพารามิเตอร์ -p ในขณะที่เปิดใช้ Gemini CLI
การจัดระเบียบไฟล์/โฟลเดอร์
คุณสามารถใช้ Gemini CLI เพื่อจัดระเบียบไฟล์ตามประเภทในโฟลเดอร์ต่างๆ ได้ตามต้องการ ไปที่โฟลเดอร์ในเครื่องที่มีไฟล์หลายไฟล์ เช่น .txt, .png, .jpg, .pdf, .mp4 และอื่นๆ ซึ่งมักจะเป็นโฟลเดอร์เดสก์ท็อปหรือโฟลเดอร์ดาวน์โหลด
ไปที่โฟลเดอร์นั้นแล้วเริ่ม 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.
สถานการณ์การจัดระเบียบอื่นๆ (ข้อความแจ้งจะอยู่ข้างสถานการณ์แต่ละอย่าง)
- การสรุป: สำหรับเอกสารแต่ละฉบับในโฟลเดอร์ "เอกสาร" ให้สร้างไฟล์ txt ในโฟลเดอร์เดียวกันชื่อ "summary_ORIGINAL_FILENAME.txt" ซึ่งมีสรุป 3 ประโยคของประเด็นหลักในเอกสาร
- จัดหมวดหมู่ตามประเภท: สแกนไฟล์ PDF และ DOCX ทั้งหมดในไดเรกทอรีนี้ ย้ายไฟล์ทั้งหมดที่มีคำว่า "ใบแจ้งหนี้" ในชื่อหรือเนื้อหาไปยังโฟลเดอร์ "การเงิน/ใบแจ้งหนี้" ย้ายไฟล์ที่มีคำว่า "ใบเสร็จ" ไปยังโฟลเดอร์ "การเงิน/ใบเสร็จ" ส่วนไฟล์ .docx อื่นๆ จะอยู่ในโฟลเดอร์ "รายงาน"
- การแยกข้อมูลสำคัญ (และการ "ติดแท็ก"): อ่านเนื้อหาของไฟล์ 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
- ดึงข้อมูลจากตารางใน PDF: ในไฟล์ "quarterly_sales.pdf" ให้ดึงข้อมูลจากตารางในหน้า 3 ที่แสดง "ยอดขายผลิตภัณฑ์ตามภูมิภาค" และนำเสนอในรูปแบบตาราง Markdown
- ดึงพาดหัวข่าวและแหล่งที่มาจากเว็บไซต์ข่าว: ไปที่ "https://news.google.com/" (หรือเว็บไซต์ข่าวที่คล้ายกัน) ดึงหัวข้อข่าวหลักจากหน้าแรกและแหล่งข่าวที่เกี่ยวข้อง นำเสนอเป็นรายการสัญลักษณ์หัวข้อย่อย
- ค้นหาข้อมูลจำเพาะของผลิตภัณฑ์จากหน้าอีคอมเมิร์ซ: ไปที่ "https://www.amazon.in/Google-Cloud-Certified-Associate-Engineer/dp/1119871441" (ตัวอย่างสำหรับหนังสือ) ดึงข้อมูลชื่อหนังสือ ผู้เขียน และรายละเอียดอื่นๆ แสดงข้อมูลนี้ในรูปแบบ JSON ที่มีโครงสร้าง
การตอบคำถามโดยอิงตามเนื้อหา (ลักษณะการทำงานคล้าย 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 image files. 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.
คุณควรได้รับเอาต์พุตที่มีลักษณะดังนี้

นำไปใช้กับไฟล์ของคุณเองในรูปแบบอื่นๆ ที่ไม่ใช่ข้อความ
การใช้ Gemini CLI เพื่อทำงานกับฐานข้อมูล
คุณใช้ Gemini CLI เพื่อทำงานกับฐานข้อมูลต่างๆ ได้อย่างมีประสิทธิภาพมากขึ้น คุณสามารถใช้ Gemini สำหรับสถานการณ์ต่างๆ ได้ เช่น การค้นหาด้วยภาษาที่เป็นธรรมชาติ การส่งออกข้อมูล การออกแบบสคีมาฐานข้อมูล การสร้างข้อมูลทดสอบที่สมจริง และอื่นๆ
เราจะใช้ SQLite3 เพื่อแสดงให้เห็น เราจะต้องติดตั้ง SQLite3 และมีฐานข้อมูล Chinook ตัวอย่าง
วิธีการตั้งค่า SQLite3 โดยย่อมีดังนี้
- macOS: SQLite3 ติดตั้งมาให้ล่วงหน้า ยืนยันด้วย
sqlite3 --versionหากจำเป็น ให้ติดตั้งด้วย Homebrew:brew install sqlite3 - Windows: ดาวน์โหลดไบนารีที่คอมไพล์ล่วงหน้าจากเว็บไซต์ SQLite แตกไฟล์ไปยังไดเรกทอรี (เช่น
C:\sqlite) เพิ่มไดเรกทอรีนั้นลงในตัวแปรสภาพแวดล้อม PATH ของระบบ - Linux: Debian/Ubuntu:
sudo apt update && sudo apt install sqlite3
ดาวน์โหลดฐานข้อมูล Chinook ตัวอย่าง (ลิงก์โดยตรงสำหรับดาวน์โหลด)
หากต้องการเรียกใช้พรอมต์เหล่านี้ ขอแนะนำให้คุณสร้างโฟลเดอร์ (database-tasks) ในไดเรกทอรี gemini-cli-projects คัดลอกไฟล์ฐานข้อมูล Chinook ไปยังโฟลเดอร์นั้น ตรวจสอบว่าได้ตั้งค่าเครื่องมือ sqlite3 ในระบบและพร้อมใช้งานในเส้นทาง เพื่อให้ Gemini CLI ใช้เครื่องมือดังกล่าวได้ เปิดใช้ Gemini CLI
แผนภาพสคีมาฐานข้อมูลแสดงอยู่ด้านล่าง

เราจะถือว่าคุณอยู่ในโฟลเดอร์ชื่อ database-tasks และไฟล์ฐานข้อมูล Chinook ชื่อ chinook.db
ด้านล่างนี้คือพรอมต์หลายรายการที่จะช่วยให้คุณทำงานกับฐานข้อมูลได้ เราจะอธิบายตัวอย่างแรกโดยย่อเพื่อแสดงสิทธิ์ที่จะมีการขอ
เราเริ่มต้นด้วยพรอมต์เพื่อแสดงรายการตารางที่มีอยู่ในฐานข้อมูล เราป้อนพรอมต์ต่อไปนี้
What tables are present in the @chinook.db
ซึ่งใช้เครื่องมือนี้เพื่ออ่านไฟล์ จากนั้นต้องการใช้ยูทิลิตี sqlite3 ที่อยู่ในระบบของฉันเพื่อดำเนินการที่จำเป็น

ให้สิทธิ์ในการเรียกใช้เพียงครั้งเดียว แล้วเราจะได้รับเอาต์พุตที่จำเป็น

ลองใช้พรอมต์ต่อไปนี้หรือพรอมต์อื่นๆ ที่คุณเลือก
- มีพนักงานกี่คน
- สคีมาของตารางใบแจ้งหนี้คืออะไร
- ใบแจ้งหนี้ 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).
เขียนโค้ดอย่างเพลิดเพลินด้วย Gemini CLI
มาใช้ Gemini CLI เพื่อเขียนโค้ดแอปพลิเคชันกัน เราจะขอให้ Gemini CLI สร้างแอปพลิเคชัน จากนั้นจะพุชเวอร์ชันเริ่มต้นไปยังที่เก็บ GitHub
ข้อกำหนดเบื้องต้น
หากต้องการทำงานในส่วนนี้ คุณจะต้องมีสิ่งต่อไปนี้
- Git
- Gemini CLI กับเซิร์ฟเวอร์ Github MCP (เราได้ดำเนินการไปก่อนหน้านี้แล้ว)
- มีความรู้พื้นฐานเกี่ยวกับ Git และมีความรู้ด้านการเขียนโปรแกรมเล็กน้อย
เราจะถือว่าคุณได้เปิดใช้ Gemini CLI ในโฟลเดอร์ที่ต้องการแล้ว ตรวจสอบว่าเซิร์ฟเวอร์ MCP เริ่มทำงานเรียบร้อยแล้ว โดยเฉพาะเซิร์ฟเวอร์ Github MCP
ป้อนพรอมต์ต่อไปนี้ คุณสามารถแก้ไขได้ตามที่เห็นสมควร โปรดทราบว่าตลอดเซสชันกับ 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 ไปมาตามต้องการ

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

ฉันทำตามวิธีการ เริ่มเซิร์ฟเวอร์ และเห็นว่าเว็บไซต์ต่อไปนี้ทำงานได้ดี

คุณสามารถทำการเปลี่ยนแปลงเพิ่มเติมได้โดยใช้ 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
โดยจะอธิบายคำสั่งต่างๆ ดังนี้
- สร้างที่เก็บ
- โดยจะใช้คำสั่ง Git หลายคำสั่ง ได้แก่ init, add, commit เพื่อจัดการที่เก็บ Git ในเครื่อง
- จากนั้นจะตั้งค่ารีโมต Git และทำการพุช
หมายเหตุ: เราพบว่า Gemini CLI อาจหมดเวลาหรือใช้ชื่อผู้ใช้ที่ไม่ถูกต้อง ฯลฯ โปรดโต้ตอบกับ CLI และแนะนำวิธีแก้ไข
หากทุกอย่างเป็นไปด้วยดี คุณควรมีที่เก็บข้อมูล GitHub ตัวอย่างภาพหน้าจอแสดงอยู่ด้านล่าง

เรายังไม่ได้สร้าง README.md และสิ่งอื่นๆ ที่เรามักจะทำ แต่การดำเนินการนี้เป็นแบบฝึกหัดที่ดีสำหรับส่วนถัดไป ซึ่งเราจะทำงานกับที่เก็บข้อมูลที่คุณเพิ่งสร้างขึ้น
การใช้ Gemini CLI เพื่อทำงานในที่เก็บ GitHub
ในกรณีการใช้งานนี้ เราจะใช้ Gemini CLI เพื่อทำงานกับที่เก็บ GitHub เราจะพิจารณาสถานการณ์ต่างๆ ซึ่งรวมถึง
- ทำความเข้าใจฐานของโค้ด
- การสร้างเอกสาร
- การติดตั้งใช้งานฟีเจอร์ใหม่
- คอมมิตและพุชการเปลี่ยนแปลงกลับไปยังที่เก็บ
- ทำงานในปัญหาของ GitHub และใช้การเปลี่ยนแปลงที่เสนอ
ซึ่งจะช่วยให้คุณมีพื้นฐานที่ดีในการทำงานกับที่เก็บและใช้ Gemini CLI เป็นผู้ช่วยสำหรับงานที่เฉพาะเจาะจงสำหรับนักพัฒนาซอฟต์แวร์
ข้อกำหนดเบื้องต้น
หากต้องการทำงานในส่วนนี้ คุณจะต้องมีสิ่งต่อไปนี้
- Git
- Gemini CLI กับเซิร์ฟเวอร์ Github MCP (เราได้ดำเนินการไปก่อนหน้านี้แล้ว)
- ความคุ้นเคยกับพื้นฐานของ Git และความรู้ด้านการเขียนโปรแกรมเล็กน้อย (เราจะใช้ Node.js ในตัวอย่างนี้เนื่องจากคุณอาจมีสภาพแวดล้อมพร้อมใช้งานในเครื่องอยู่แล้วเนื่องจากคุณได้ติดตั้ง Gemini CLI) แต่คุณสามารถเลือกที่เก็บที่ต้องการด้วยภาษาการเขียนโปรแกรมและเฟรมเวิร์กอื่นได้ในภายหลัง
- คุณควรทำส่วนก่อนหน้าให้เสร็จและมีที่เก็บข้อมูลพร้อมใช้งาน ซึ่งเราได้สร้างเว็บไซต์ Event Talks ไว้
มาใช้ Gemini CLI ต่อจากโฟลเดอร์/ไดเรกทอรีที่คุณใช้สร้างแอปพลิเคชัน Event Talks หรือหากจำเป็น คุณสามารถโคลนที่เก็บไปยังเครื่องในพื้นที่ แล้วเริ่ม Gemini CLI จากไดเรกทอรีนั้นได้ ลองใช้สถานการณ์ต่อไปนี้ตามที่ระบุไว้ด้านล่าง
ทำความเข้าใจฐานของโค้ด
- ฉันอยากทราบรายละเอียดเกี่ยวกับโปรเจ็กต์นี้ ช่วยอธิบายฟีเจอร์หลักๆ แล้วแยกออกเป็นฝั่งเซิร์ฟเวอร์และฝั่งไคลเอ็นต์ ลองใช้โฟลว์ตัวอย่างและแสดงให้ฉันดูว่าคำขอและการตอบกลับทำงานอย่างไร
- อธิบาย @server.js
การสร้างไฟล์ README
- สร้างไฟล์ README สำหรับโปรเจ็กต์นี้
ในกรณีนี้ Gemini CLI ไม่เพียงสร้างไฟล์ README แต่ยังต้องการเรียกใช้คำสั่งเพื่อเพิ่มลงในที่เก็บ Git และพุชการเปลี่ยนแปลงไปยังรีโมต ซึ่งฉันอนุญาตให้ทำได้ นอกจากนี้ยังเสนอที่จะสร้างไฟล์ LICENSE ให้ฉัน ซึ่งฉันก็อนุญาตให้ทำได้เช่นกัน
ตอนนี้ฉันมีไฟล์ README และไฟล์ LICENSE ที่สร้างขึ้นแล้ว และได้พุชการเปลี่ยนแปลงไปยัง Github แล้ว

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

ทำงานในปัญหาของ GitHub และใช้การเปลี่ยนแปลงที่เสนอ
ตอนนี้เราสามารถเลือกปัญหาที่สร้างขึ้นก่อนหน้านี้และขอให้ Gemini CLI ทำงานและแก้ไขปัญหาได้แล้ว
ตัวอย่างปัญหาที่สร้างขึ้นแสดงอยู่ด้านล่าง

คัดลอก URL ของปัญหาทั้งหมด แล้วป้อนพรอมต์ดังนี้
- โปรดอ่านปัญหา:
<YOUR_ISSUE_URL>และทำความเข้าใจการเปลี่ยนแปลงที่ต้องดำเนินการ ก่อนอื่นให้พูดคุยเกี่ยวกับแผน แล้วจึงแสดงการเปลี่ยนแปลงที่เสนอในโค้ด
คุณสามารถอนุมัติการเปลี่ยนแปลงและพุชไปยังที่เก็บได้ คุณยังขอให้ปิดปัญหาได้ด้วย

7. (ไม่บังคับ) การปรับแต่ง Gemini CLI ด้วย GEMINI.md
หากสังเกตการใช้งาน Gemini CLI ที่ผ่านมา คุณจะเห็นว่าเราเพียงแค่ป้อนพรอมต์และคาดหวังให้ Gemini CLI ดำเนินการ ซึ่งบางครั้งผลลัพธ์ก็ไม่เป็นไปตามที่เราคาดหวัง ในบางพรอมต์ เราได้ระบุสิ่งที่ต้องทำอย่างชัดเจนและรวมคำสั่งเหล่านั้นไว้ในพรอมต์
ซึ่งอาจทำงานได้ดีตามที่คุณสั่งให้ Gemini CLI ทำและผลลัพธ์ที่คุณได้รับ แต่ในหลายกรณี คุณอาจต้องการตรวจสอบว่าแอปเป็นไปตามกฎ กฎเหล่านี้อาจเป็นภาษาโปรแกรมหรือเฟรมเวิร์กที่เฉพาะเจาะจงที่จะใช้ หรืออาจเป็นเครื่องมือเฉพาะก็ได้ อาจเป็นรูปแบบการเขียนโค้ด ไม่ได้มีแค่การสร้างเท่านั้น แต่คุณอาจต้องการให้ Gemini CLI อยู่ในสิ่งที่เรียกว่าโหมด "การวางแผน" อย่างเคร่งครัด และต้องการให้แสดงเฉพาะแผนเท่านั้นโดยไม่ต้องสร้างโค้ดหรือแก้ไขไฟล์ในระบบ
ป้อน GEMINI.md นี่คือไฟล์บริบท (ค่าเริ่มต้นคือ GEMINI.md แต่กำหนดค่าได้ผ่านการตั้งค่า contextFileName) ซึ่งมีความสำคัญอย่างยิ่งต่อการกำหนดค่าบริบทการสอน (เรียกอีกอย่างว่า "หน่วยความจำ") ที่ระบุไว้ในโมเดล Gemini ไฟล์นี้ช่วยให้คุณสามารถให้คำสั่งเฉพาะโปรเจ็กต์ คู่มือรูปแบบการเขียนโค้ด หรือข้อมูลพื้นฐานที่เกี่ยวข้องแก่ AI ซึ่งจะทำให้คำตอบของ AI ปรับแต่งและถูกต้องตามความต้องการของคุณมากขึ้น
ไฟล์ GEMINI.md อยู่ในรูปแบบ Markdown และโหลดในลักษณะลำดับชั้น ซึ่งรวมมาจากหลายตำแหน่ง
ลำดับการโหลดคือ
- บริบทส่วนกลาง: **
~/.gemini/GEMINI.md** (สำหรับวิธีการที่ใช้กับโปรเจ็กต์ทั้งหมด) - บริบทของโปรเจ็กต์/บรรพบุรุษ: CLI จะค้นหาจากไดเรกทอรีปัจจุบันของคุณไปจนถึงรูทของโปรเจ็กต์สำหรับไฟล์
GEMINI.md - บริบทของไดเรกทอรีย่อย: CLI จะสแกนไดเรกทอรีย่อยเพื่อหาไฟล์
GEMINI.mdด้วย ซึ่งจะช่วยให้มีวิธีการเฉพาะสำหรับคอมโพเนนต์
คุณใช้ /memory show เพื่อดูบริบทสุดท้ายที่รวมกันซึ่งส่งไปยังโมเดลได้
GEMINI.md มีลักษณะอย่างไร และเราจะสร้างจากเอกสารประกอบอย่างเป็นทางการได้อย่างไร
# Project: My Awesome TypeScript Library
## General Instructions:
- When generating new TypeScript code, please follow the existing coding style.
- Ensure all new functions and classes have JSDoc comments.
- Prefer functional programming paradigms where appropriate.
- All code should be compatible with TypeScript 5.0 and Node.js 20+.
## Coding Style:
- Use 2 spaces for indentation.
- Interface names should be prefixed with `I` (e.g., `IUserService`).
- Private class members should be prefixed with an underscore (`_`).
- Always use strict equality (`===` and `!==`).
## Specific Component: `src/api/client.ts`
- This file handles all outbound API requests.
- When adding new API call functions, ensure they include robust error handling and logging.
- Use the existing `fetchWithRetry` utility for all GET requests.
## Regarding Dependencies:
- Avoid introducing new external dependencies unless absolutely necessary.
- If a new dependency is required, please state the reason.
คุณจะเห็นว่าเอกสารนี้มีคำสั่งทั่วไปบางอย่าง รวมถึงคำสั่งที่เฉพาะเจาะจงมากสำหรับรูปแบบการเขียนโค้ด การจัดการการขึ้นต่อกัน และอื่นๆ แม้ว่านี่จะเป็นไฟล์ GEMINI.md ตัวอย่างสำหรับโปรเจ็กต์ TypeScript แต่คุณก็เขียนไฟล์ของคุณเองได้โดยอิงตามภาษาโปรแกรม เฟรมเวิร์ก รูปแบบการเขียนโค้ด และค่ากำหนดอื่นๆ
มาลองใช้ไฟล์ GEMINI.md ที่กำหนดเองกัน นี่คือข้อมูลจาก Gist ที่เผยแพร่ซึ่งแสดงวิธีใช้ Gemini CLI ในโหมดวางแผนเท่านั้น ไฟล์ดังกล่าวได้รับการทำซ้ำที่นี่
# Gemini CLI Plan Mode
You are Gemini CLI, an expert AI assistant operating in a special 'Plan Mode'. Your sole purpose is to research, analyze, and create detailed implementation plans. You must operate in a strict read-only capacity.
Gemini CLI's primary goal is to act like a senior engineer: understand the request, investigate the codebase and relevant resources, formulate a robust strategy, and then present a clear, step-by-step plan for approval. You are forbidden from making any modifications. You are also forbidden from implementing the plan.
## Core Principles of Plan Mode
* **Strictly Read-Only:** You can inspect files, navigate code repositories, evaluate project structure, search the web, and examine documentation.
* **Absolutely No Modifications:** You are prohibited from performing any action that alters the state of the system. This includes:
* Editing, creating, or deleting files.
* Running shell commands that make changes (e.g., `git commit`, `npm install`, `mkdir`).
* Altering system configurations or installing packages.
## Steps
1. **Acknowledge and Analyze:** Confirm you are in Plan Mode. Begin by thoroughly analyzing the user's request and the existing codebase to build context.
2. **Reasoning First:** Before presenting the plan, you must first output your analysis and reasoning. Explain what you've learned from your investigation (e.g., "I've inspected the following files...", "The current architecture uses...", "Based on the documentation for [library], the best approach is..."). This reasoning section must come **before** the final plan.
3. **Create the Plan:** Formulate a detailed, step-by-step implementation plan. Each step should be a clear, actionable instruction.
4. **Present for Approval:** The final step of every plan must be to present it to the user for review and approval. Do not proceed with the plan until you have received approval.
## Output Format
Your output must be a well-formatted markdown response containing two distinct sections in the following order:
1. **Analysis:** A paragraph or bulleted list detailing your findings and the reasoning behind your proposed strategy.
2. **Plan:** A numbered list of the precise steps to be taken for implementation. The final step must always be presenting the plan for approval.
NOTE: If in plan mode, do not implement the plan. You are only allowed to plan. Confirmation comes from a user message.
บันทึกเนื้อหาด้านบนลงในไฟล์ชื่อ GEMINI.md แล้วบันทึกไว้ใน ~/.gemini/GEMINI.md ซึ่งเป็นโฟลเดอร์เดียวกับที่เราสร้างไฟล์ settings.json นอกจากนี้ คุณยังเก็บไฟล์ GEMINI.md ไว้ในโฟลเดอร์ <current project folder>/.gemini หรือมีไฟล์ GEMINI.md หลายไฟล์ในไดเรกทอรีย่อยได้หากมีวิธีการที่แตกต่างกัน
ป้อนพรอมต์เพื่อสร้างแอปพลิเคชันและดูว่าแอปตอบสนองอย่างไร
นี่คือไฟล์ GEMINI.md อีกไฟล์ ( โหมดอธิบายของ Gemini) ที่คุณสามารถศึกษาแล้วนำไปปรับใช้ตามความต้องการและนำไปใช้ได้ โดยเน้นที่ GEMINI CLI ซึ่งเป็นคำแนะนำแบบอินเทอร์แอกทีฟที่ช่วยให้ผู้ใช้เข้าใจโค้ดเบสที่ซับซ้อนผ่านกระบวนการค้นพบแบบสนทนา
ไฟล์ GEMINI.md เป็นกุญแจสำคัญที่ทำให้ Gemini CLI ทำตามค่ากำหนดของคุณ และขอแนะนำให้ดูซีรีส์ที่ใช้งานได้จริงนี้ "Gemini CLI ที่ใช้งานได้จริง" ซึ่งเจาะลึกในส่วนนี้ วิธีสร้างไฟล์นี้โดยอัตโนมัติสำหรับโปรเจ็กต์ของคุณ การปรับแต่งแม้แต่พรอมต์ของระบบ และอื่นๆ
8. ขอแสดงความยินดี
ขอแสดงความยินดี คุณได้สำรวจ Gemini CLI, ความสามารถของ Gemini CLI และนำไปใช้กับกรณีการใช้งานบางอย่างเรียบร้อยแล้ว