1. Giới thiệu
Trong lớp học lập trình này, bạn sẽ tìm hiểu về Gemini CLI, một tác nhân AI nguồn mở mang sức mạnh của Gemini trực tiếp vào thiết bị đầu cuối của bạn.
Kiến thức bạn sẽ học được
- Cài đặt và định cấu hình Gemini CLI
- Khám phá các công cụ, lệnh tích hợp và cách định cấu hình Máy chủ MCP trong Gemini CLI
- Tuỳ chỉnh Gemini CLI thông qua tệp
GEMINI.md - Khám phá một số trường hợp sử dụng với Gemini CLI
Bạn cần có
Bạn có thể chạy toàn bộ lớp học lập trình này trong Google Cloud Shell. Google Cloud Shell được cài đặt sẵn Gemini CLI.
Ngoài ra, nếu muốn làm việc trên máy của riêng mình, bạn có thể tham khảo phần cài đặt Gemini CLI cục bộ.
Bạn sẽ cần những thông tin sau:
- Trình duyệt web Chrome
- Tài khoản Gmail
Lớp học lập trình này được thiết kế cho người dùng và nhà phát triển ở mọi cấp độ (kể cả người mới bắt đầu). Các trường hợp sử dụng trong lớp học lập trình được phân loại thành các nhiệm vụ dành cho nhà phát triển và không dành cho nhà phát triển. Các trường hợp sử dụng của nhà phát triển minh hoạ cách sử dụng mã rung với Gemini CLI và cách làm việc với kho lưu trữ Github để thực hiện các tác vụ phát triển phổ biến như giải thích/hiểu mã, tạo tài liệu, khắc phục vấn đề và nhiều việc khác. Bạn nên hoàn tất các trường hợp sử dụng này trong lớp học lập trình. Có một phần không bắt buộc ở cuối, bao gồm một số việc cần làm hằng ngày không dành cho nhà phát triển.
2. Trước khi bắt đầu
Tạo dự án
- Trong Google Cloud Console, trên trang chọn dự án, hãy chọn hoặc tạo một dự án trên Google Cloud.
- Đảm bảo bạn đã bật tính năng thanh toán cho dự án trên Cloud. Tìm hiểu cách kiểm tra xem tính năng thanh toán có được bật trên một dự án hay không.
- Bạn sẽ sử dụng Cloud Shell, một môi trường dòng lệnh chạy trong Google Cloud và được tải sẵn bằng bq. Nhấp vào Kích hoạt Cloud Shell ở đầu bảng điều khiển Google Cloud.

- Sau khi kết nối với Cloud Shell, bạn có thể kiểm tra để đảm bảo rằng bạn đã được xác thực và dự án được đặt thành mã dự án của bạn bằng lệnh sau:
gcloud auth list
- Chạy lệnh sau trong Cloud Shell để xác nhận rằng lệnh gcloud biết về dự án của bạn.
gcloud config list project
- Nếu bạn chưa đặt dự án, hãy dùng lệnh sau để đặt:
gcloud config set project <YOUR_PROJECT_ID>
3. Cài đặt
Trước khi bạn thiết lập và chạy Gemini CLI, hãy tạo một thư mục mà chúng ta sẽ dùng làm thư mục chính cho tất cả các dự án mà chúng ta tạo bên trong thư mục đó. Đây là điểm bắt đầu để Gemini CLI hoạt động, mặc dù nó cũng sẽ tham chiếu một số thư mục khác trên hệ thống của bạn và bạn sẽ truy cập vào các thư mục đó sau, khi cần.
Tiếp tục tạo một thư mục mẫu (gemini-cli-projects) rồi chuyển đến thư mục đó thông qua các lệnh bên dưới. Nếu bạn muốn sử dụng tên thư mục khác, vui lòng thực hiện.
mkdir gemini-cli-projects
Hãy chuyển đến thư mục đó:
cd gemini-cli-projects
Bạn có thể trực tiếp chạy Gemini CLI thông qua lệnh gemini.
Vui lòng chuyển thẳng đến phần tiếp theo (cấu hình Gemini CLI thông qua settings.json).
Nếu bạn muốn cài đặt Gemini CLI cục bộ, hãy làm theo hướng dẫn bên dưới.
Bước đầu tiên là cài đặt Node 20 trở lên trên máy của bạn. Sau khi hoàn tất, bạn có thể cài đặt và chạy Gemini CLI bằng một trong những phương thức sau:
- Trước tiên, bạn có thể cài đặt Gemini CLI trên toàn hệ thống. Bạn có thể cần có quyền Quản trị viên để thực hiện bước này.
# option 1: install Gemini CLI
npm install -g @google/gemini-cli
# .. and then run
gemini
- Chạy lệnh sau:
# option 2: run without installing Gemini CLI
npx https://github.com/google-gemini/gemini-cli
Bạn có thể xác nhận rằng CLI đã được cài đặt bằng cách chạy:
gemini --version
Giả sử bạn đã chạy Gemini CLI bằng một trong các phương thức nêu trên, bạn sẽ thấy màn hình sau đây yêu cầu bạn chọn một giao diện. Hãy tiếp tục và chọn một kiểu mà bạn thích:

Sau khi bạn chọn, hệ thống sẽ yêu cầu bạn chọn Phương thức xác thực. Bạn nên sử dụng Tài khoản Google cá nhân chứ không nên dùng tài khoản không phải của Google hoặc tài khoản liên quan đến Google Workspace trong phòng thí nghiệm này. Giấy phép miễn phí này cho phép bạn sử dụng Gemini 2.5 Pro và cửa sổ ngữ cảnh 1 triệu token của mô hình này. Cấp miễn phí cho phép gửi 60 yêu cầu đến mô hình mỗi phút và 1.000 yêu cầu mỗi ngày mà không tốn phí.
Nếu hạn mức miễn phí hiện tại được cấp cho Tài khoản Google không đủ, bạn có thể chọn sử dụng Khoá API Gemini hoặc thậm chí là Google Cloud Vertex AI. Trong trường hợp này, bạn sẽ cần có mã dự án và tên vị trí cho dự án đó. Hãy tham khảo phần Xác thực trong tài liệu nếu bạn dự định sử dụng các phương thức xác thực khác.

Hãy nhấp vào Enter. Thao tác này sẽ mở trang Xác thực của Google trong trình duyệt. Tiến hành xác thực bằng Tài khoản Google của bạn, chấp nhận các điều khoản và sau khi xác thực thành công, bạn sẽ thấy rằng Gemini CLI đã sẵn sàng và đang chờ lệnh của bạn. Dưới đây là ảnh chụp màn hình mẫu:

4. Cấu hình Gemini CLI thông qua settings.json
Nếu bạn chọn Cloud Shell để chạy Gemini, thì một giao diện mặc định cho Gemini CLI và phương thức xác thực đã được chọn và định cấu hình cho bạn.
Nếu đã cài đặt Gemini CLI trên máy và khởi chạy ứng dụng này lần đầu tiên, bạn đã chọn một giao diện rồi chọn một phương thức xác thực.
Giờ đây, trong những lần chạy Gemini CLI tiếp theo, bạn sẽ không được yêu cầu chọn lại một giao diện và phương thức xác thực. Điều này có nghĩa là tệp này sẽ được duy trì ở một nơi nào đó và tệp mà tệp này sử dụng có tên là settings.json. Đây là cách để tuỳ chỉnh Gemini CLI.
Các chế độ cài đặt được áp dụng theo mức độ ưu tiên sau đây (Cloud Shell chỉ cung cấp chế độ cài đặt Người dùng):
- Hệ thống:
/etc/gemini-cli/settings.json(áp dụng cho tất cả người dùng, ghi đè chế độ cài đặt của người dùng và không gian làm việc). - Workspace:
.gemini/settings.json(ghi đè chế độ cài đặt của người dùng). - Người dùng:
~/.gemini/settings.json.
Người dùng Windows: %USERPROFILE%.gemini\settings.json (thường mở rộng thành C:\Users<YourUsername>.gemini\settings.json)
Hệ thống: %ProgramData%\gemini-cli\settings.json (thường mở rộng thành C:\ProgramData\gemini-cli\settings.json)
Người dùng máy Mac: ~/.gemini/settings.json (mở rộng thành /Users/<YourUsername>/.gemini/settings.json)
Hệ thống: /etc/gemini-cli/settings.json
Nếu bạn nhớ lại, tại thời điểm chọn giao diện, bạn đã chọn lưu các chế độ cài đặt trong phần Cài đặt người dùng. Vì vậy, hãy truy cập vào ~/.gemini folder và bạn sẽ thấy tệp settings.json.
Tệp settings.json của tôi được minh hoạ bên dưới. Nếu đã chọn một giao diện khác, bạn sẽ thấy tên của giao diện đó ở đó.
{
"theme": "Default",
"selectedAuthType": "oauth-personal" or "cloud-shell"
}
5. Lần đầu tiên tương tác với Gemini CLI
Hãy bắt đầu với Gemini CLI và nhập truy vấn đầu tiên của bạn như minh hoạ dưới đây:
Give me a famous quote on Artificial Intelligence and who said that?
Phản hồi dự kiến được trình bày dưới đây:
GoogleSearch Searching the web for: "famous quote on Artificial Intelligence and who said it" ...
Search results for "famous quote on Artificial Intelligence and who said it" returned.
✦ "The development of full artificial intelligence could spell the end of the human race." - Stephen Hawking.
Bạn sẽ nhận thấy rằng truy vấn của chúng ta đã tạo ra một công cụ GoogleSearch (một công cụ tích hợp trong Gemini CLI) được gọi. Nói cách khác, bạn đã sử dụng một trong những công cụ mạnh mẽ được tích hợp sẵn của Gemini CLI, cụ thể là GoogleSearch. Công cụ này sẽ đưa ra câu trả lời dựa trên thông tin mà nó lấy được từ web. Bạn sẽ tìm hiểu thêm về Công cụ trong phần tiếp theo.
Để nhanh chóng tìm hiểu về Gemini CLI và các lệnh mà công cụ này hỗ trợ, bạn có thể nhập /help (dấu gạch chéo) để xem nhiều lệnh và tổ hợp phím.
Tạm thời, hãy thoát Gemini CLI. Bạn có thể thực hiện việc này thông qua lệnh /quit hoặc thực hiện lệnh Ctrl-C hai lần trong phiên tương tác của Gemini CLI.
6. Gemini CLI – Tham số lệnh
Có một số tham số dòng lệnh mà bạn có thể cung cấp khi khởi động Gemini CLI. Để xem danh sách đầy đủ các lựa chọn, bạn có thể sử dụng --help như minh hoạ dưới đây.
gemini --help
Thao tác này sẽ cho thấy đầy đủ các lựa chọn có sẵn. Bạn nên xem tài liệu tại đây.
Hãy cùng tìm hiểu một số ví dụ. Cách đầu tiên là định cấu hình Gemini CLI để sử dụng mô hình Pro hoặc Flash. Hiện tại, tại thời điểm viết hướng dẫn này, đây là 2 mô hình duy nhất được hỗ trợ. Theo mặc định, mô hình Gemini 2.5 Pro sẽ được dùng. Tuy nhiên, nếu muốn dùng Mô hình Flash, bạn có thể thực hiện việc này khi khởi động Gemini CLI thông qua tham số -m như minh hoạ dưới đây:
gemini -m "gemini-2.5-flash"
Bạn sẽ nhận thấy rằng nếu bắt đầu theo cách trên, bạn có thể kiểm tra mô hình ở dưới cùng bên phải của thiết bị đầu cuối Gemini CLI như minh hoạ dưới đây:

Sau khi vào ứng dụng Gemini CLI, bạn có thể dùng lệnh /model để mở một hộp thoại cho phép bạn chọn mô hình. Dưới đây là một ví dụ về quy trình chạy và tuỳ thuộc vào yêu cầu cũng như hướng dẫn được đưa ra, bạn có thể tiếp tục chuyển đổi mô hình để chọn mô hình phù hợp cho tác vụ tuỳ thuộc vào độ phức tạp và nhu cầu kiểm soát chi phí.

Chế độ không tương tác
Một lựa chọn thú vị là chạy Gemini CLI ở chế độ không tương tác. Điều này có nghĩa là bạn cung cấp trực tiếp câu lệnh cho Gemini và Gemini sẽ tiếp tục phản hồi câu lệnh đó mà không cần mở thiết bị đầu cuối tương tác Gemini CLI. Điều này rất hữu ích nếu bạn dự định sử dụng Gemini CLI theo cách tự động trong tập lệnh hoặc bất kỳ quy trình tự động hoá nào khác. Bạn có thể dùng tham số -p để cung cấp câu lệnh cho Gemini CLI như minh hoạ bên dưới hoặc chỉ cần dùng đối số vị trí để đưa ra câu lệnh.
gemini "What is the gcloud command to deploy to Cloud Run"
Xin lưu ý rằng bạn không thể tiếp tục trò chuyện bằng cách đặt câu hỏi nối tiếp. Chế độ này cũng không cho phép bạn uỷ quyền cho các công cụ (bao gồm cả WriteFile) hoặc chạy các lệnh shell.
7. Gemini CLI – Các công cụ tích hợp
Gemini CLI đi kèm với một bộ công cụ tích hợp và tài liệu về công cụ nêu rõ "Mô hình Gemini sử dụng các công cụ này để tương tác với môi trường cục bộ của bạn, truy cập thông tin và thực hiện các hành động. Những công cụ này giúp tăng cường các chức năng của CLI, cho phép công cụ này không chỉ tạo văn bản mà còn hỗ trợ nhiều nhiệm vụ."
Để xem danh sách các Công cụ tích hợp hiện tại, hãy gọi lệnh /tools như minh hoạ bên dưới:
Available Gemini CLI tools:
- Codebase Investigator Agent (codebase_investigator)
- Edit (replace)
- FindFiles (glob)
- GoogleSearch (google_web_search)
- ReadFile (read_file)
- ReadFolder (list_directory)
- SaveMemory (save_memory)
- SearchText (search_file_content)
- Shell (run_shell_command)
- WebFetch (web_fetch)
- WriteFile (write_file)
- WriteTodos (write_todos)
Một trong những điều bạn cần lưu ý ngay lập tức là tự hỏi liệu Gemini CLI có thể gọi những công cụ này một cách đơn giản khi muốn hay không? Câu trả lời mặc định là không, khi nói đến các thao tác nhạy cảm có thể liên quan đến việc ghi vào hệ thống cục bộ, đọc từ hệ thống bên ngoài, truy cập vào mạng bên ngoài, v.v.
Mặc dù có một --yolo khi bạn khởi động CLI (thường không được khuyến khích), nhưng bạn sẽ thấy Gemini CLI nhắc bạn cấp quyền chạy công cụ mà công cụ này đã chọn. Bạn có thể từ chối cấp quyền, hoặc cho phép chạy một lần hoặc cấp quyền chung để luôn chạy. Bạn đang và nên nắm toàn quyền kiểm soát mọi việc.
Hãy sử dụng một câu lệnh để Gemini CLI chọn một trong các công cụ tích hợp để thực thi và giúp bạn hiểu rõ cách thức hoạt động của tất cả các công cụ này.
Hãy tưởng tượng một tình huống mà bạn muốn lấy thông tin về tin tức tài chính mới nhất trên toàn thế giới và lưu thông tin đó vào một tệp trong thư mục làm việc cục bộ nơi bạn khởi chạy Gemini CLI. Hãy sử dụng câu lệnh sau:
Search for the latest headlines today in the world of finance and save them in a file named finance-news-today.txt
Hãy tưởng tượng xem nó cần làm gì. Lý tưởng nhất là nó cần truy cập Google Tìm kiếm để lấy tin tức từ một số nguồn thông tin có liên quan có thể cung cấp tin tức tài chính. Sau đó, bạn cần tạo một tệp có tên là finance-news-today.txt (một thao tác ghi trên hệ thống cục bộ sẽ yêu cầu bạn cấp quyền) cùng với nội dung của tệp.
Hãy xem điều gì sẽ xảy ra (bạn nên tiếp tục thực hiện quy trình tương tự trên máy của mình).
Việc đầu tiên mà công cụ này làm là gọi công cụ GoogleSearch để tìm kiếm trên web và truy xuất kết quả, như minh hoạ dưới đây:
GoogleSearch Searching the web for: "latest finance headlines today"
Search results for "latest finance headlines today" returned.
Sau khi hoàn tất, bạn có thể ghi nội dung này vào tệp và nội dung sẽ sử dụng công cụ WriteFile. Tuy nhiên, vì đây là một thao tác nhạy cảm (ghi), nên nội dung sẽ yêu cầu bạn cấp quyền. Bạn có thể quyết định loại quyền, tức là cho phép một lần, luôn cho phép, v.v. Hãy chọn cho phép một lần.

Sau đó, thông tin này sẽ được ghi vào tệp và một thông báo thành công sẽ xuất hiện bên dưới:
✦ I have successfully saved the latest finance headlines into the file finance-news-today.txt.
Làm cách nào để kiểm tra xem tệp có được ghi hay không? Bạn có thể dùng biểu tượng @file để yêu cầu đọc nội dung. Khi bạn nhập @, danh sách các tệp trong thư mục hiện tại sẽ xuất hiện và tệp vừa tạo cũng xuất hiện. Chọn câu lệnh đó rồi gửi. Câu lệnh của tôi được trình bày dưới đây:
read the contents of @finance-news-today.txt
Thao tác này sẽ dẫn đến việc các công cụ bắt buộc (ReadManyFiles, ReadFile) được gọi và nội dung sẽ xuất hiện như minh hoạ dưới đây:

8. Gemini CLI – Chế độ shell
Đây là thời điểm thích hợp để tìm hiểu cách làm việc trực tiếp với Shell trong Gemini CLI. Bạn có thể chuyển sang chế độ shell bằng cách nhấn ! trong hộp tin nhắn. Thao tác này sẽ chuyển sang chế độ Shell. Bạn có thể quay lại bằng cách nhấn lại phím ! hoặc nhấn phím ESC.
Khi ở chế độ shell, bạn sẽ thấy biểu tượng ! ở đầu lời nhắc như minh hoạ dưới đây:

Bạn có thể kiểm tra trực tiếp bằng các lệnh tiêu chuẩn như pwd và ls như minh hoạ bên dưới. Xin lưu ý rằng các lệnh này giả định một hệ điều hành loại Linux. Nếu bạn đang dùng một hệ điều hành khác (Windows), vui lòng sử dụng các lệnh tương đương như (cd, dir và type). Xin lưu ý rằng đầu ra của các lệnh gọi này được đưa vào cửa sổ ngữ cảnh của mô hình.

Bạn có thể in nội dung của tệp thông qua lệnh cat ngay hôm nay.

Bài tập: Sau đây là một bài tập ngắn để bạn thử. Chọn một nguồn cấp dữ liệu RSS mà bạn muốn. Đưa ra một câu lệnh cho Gemini CLI để tìm nạp nội dung của nguồn cấp dữ liệu RSS và định dạng kết quả theo một cách cụ thể cho bạn. Đây là một cách hay để tự động hoá một việc nào đó vào đầu ngày. Bạn thậm chí có thể yêu cầu Gemini CLI tìm hiểu xem có nguồn cấp dữ liệu RSS cho một khu vực cụ thể hay không, ví dụ: Ghi chú phát hành của Google Cloud Platform.
Sau đây là một câu lệnh mẫu:
Get the latest release notes for Google Cloud from its RSS Feed and display the key points in a well-formatted list.
Lý tưởng nhất là lời nhắc này sẽ gọi công cụ GoogleSearch trước để tìm nguồn cấp dữ liệu RSS của Google Cloud Platform, sau đó sử dụng công cụ WebFetch để lấy nội dung của nguồn cấp dữ liệu RSS và hiển thị nội dung đó.
9. Tiện ích Gemini CLI
Như tài liệu nêu rõ, các tiện ích Gemini CLI đóng gói câu lệnh, máy chủ MCP và lệnh tuỳ chỉnh thành một định dạng quen thuộc và thân thiện với người dùng. Với các tiện ích, bạn có thể mở rộng các chức năng của Gemini CLI và chia sẻ những chức năng đó với người khác. Đây là cơ chế chính để mở rộng chức năng của Gemini CLI ngoài các công cụ tích hợp sẵn.
Tiện ích là một gói độc lập, có thể phân phiên bản và dễ dàng phân phối. Hãy coi đây là "vùng chứa" cho các chế độ tuỳ chỉnh Gemini CLI, tập hợp mọi thứ cần thiết cho một quy trình làm việc cụ thể vào một gói duy nhất, gọn gàng.

Tiện ích có thể kết hợp bất kỳ tổ hợp nào sau đây:
- Lệnh dấu gạch chéo tuỳ chỉnh (tệp .toml của bạn).
- Cấu hình máy chủ MCP (trước đây nằm trong settings.json).
- Tệp bối cảnh (GEMINI.md) để cung cấp hướng dẫn và nguyên tắc cụ thể cho mô hình.
- Các quy định hạn chế về công cụ (excludeTools) để tạo ra một môi trường an toàn và tập trung hơn.
Khám phá Thư viện tiện ích
Thư viện tiện ích là thị trường trung tâm để khám phá tất cả tiện ích chính thức do Google và bên thứ ba xây dựng:
- Mở URL sau trong trình duyệt:
https://geminicli.com/extensions/browse/. - Thư viện này là công cụ giúp hệ sinh thái dễ dàng được khám phá. Bạn có thể xem các Tiện ích của những công ty như GitHub, Redis và DynaTrace, cho thấy phạm vi của các công cụ hiện có.
- Di chuyển xuống và tìm thẻ tiện ích cho Cloud Run.
- Xin lưu ý rằng thẻ này cung cấp nội dung mô tả, tác giả (Google) và nút lệnh
Copymột lần nhấp. Đây là cách đơn giản nhất để nhận lệnh cài đặt cho một tiện ích.
Tiện ích Gemini CLI – Lệnh quản lý
Lệnh gemini extensions là điểm bắt đầu để quản lý các Tiện ích tại địa phương.
Chạy lệnh này trong thiết bị đầu cuối để xem danh sách các lệnh có sẵn.
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.
Các lệnh này rất đơn giản (cài đặt/gỡ cài đặt, liệt kê, cập nhật, bật/tắt, v.v.) và chúng ta sẽ sử dụng một số lệnh trong số này trong lớp học lập trình này.
Kiểm tra danh sách tiện ích hiện tại
Trước khi cài đặt bất cứ thứ gì, hãy kiểm tra "trạng thái ban đầu" của chúng ta.
- Chạy lệnh
gemini extensions list: - Bạn sẽ thấy kết quả sau đây, xác nhận rằng bạn chưa cài đặt Tiện ích nào.
No extensions installed.
Định cấu hình máy chủ MCP của Github
Một trong các loại Tiện ích Gemini CLI là Máy chủ MCP. Máy chủ MCP là một ứng dụng cung cấp các công cụ và tài nguyên cho Gemini CLI thông qua Giao thức ngữ cảnh mô hình, cho phép Gemini CLI tương tác với các hệ thống và nguồn dữ liệu bên ngoài. Các máy chủ MCP đóng vai trò là cầu nối giữa mô hình Gemini và môi trường cục bộ của bạn hoặc các dịch vụ khác như API.
Chúng tôi có Máy chủ Github MCP trong Thư viện tiện ích của Gemini. Nhấp vào biểu tượng đó để mở thẻ Tiện ích. Tại đây, bạn cũng sẽ thấy lệnh cài đặt tiện ích:

Bạn chỉ cần sao chép hoặc dùng lệnh bên dưới:
gemini extensions install https://github.com/github/github-mcp-server
Tiếp tục với các quyền cần thiết. Sau khi cài đặt, bạn sẽ thấy tiện ích này trong danh sách tiện ích khi đưa ra lệnh gemini extensions list.
✓ github (1.0.0)
ID: faa318861b48de8d83c95eb8cd5e82c02393493978d198a0e7bf67fcb1bd22cb
name: c0b0109d9439de57fe3cf03abeccbc52f4c98170c732d3b69af5e6395ace574e
Path: /home/romin/.gemini/extensions/github
Source: https://github.com/github/github-mcp-server (Type: git)
Enabled (User): true
Enabled (Workspace): true
MCP servers:
github
Bạn có thể thấy đường dẫn của tiện ích và trong thư mục đó, bạn sẽ có một tệp có tên là gemini-extension.json. Nội dung của tệp này được trình bày bên dưới:
{
"name": "github",
"version": "1.0.0",
"mcpServers": {
"github": {
"description": "--description–",
"httpUrl": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer $GITHUB_MCP_PAT"
}
}
}
}
Bạn sẽ thấy rằng mã này có Mã truy cập cá nhân (PAT) được đọc thông qua một biến môi trường. Trước tiên, bạn cần có Mã truy cập cá nhân (PAT) từ Github. Sau khi có được khoá này, hãy đảm bảo rằng bạn đã tạo toàn bộ tệp .env và đặt giá trị này vào đó hoặc tạo một biến môi trường như sau (thay thế PAT_VALUE bằng giá trị thực tế):
export GITHUB_MCP_PAT=PAT_VALUE
Bạn nên khởi động lại Gemini CLI. Sau khi khởi chạy, bạn có thể dùng lệnh /mcp list để xem danh sách Máy chủ MCP và các công cụ tương ứng có sẵn. Bạn sẽ thấy Máy chủ MCP GitHub xuất hiện bằng màu xanh lục cùng với các công cụ của máy chủ này (hơn 30 công cụ). Sau đây là một phần danh sách:
🟢 github (từ github) – Sẵn sàng (40 công cụ)
Công cụ:
- add_comment_to_pending_review
- add_issue_comment
- assign_copilot_to_issue
- create_branch
- create_or_update_file
- create_pull_request
- create_repository
- delete_file
- fork_repository
- get_commit
- get_file_contents
- get_label
- get_latest_release
- get_me
- get_release_by_tag
- get_tag
- get_team_members
- get_teams
- issue_read
Hãy bắt đầu bằng một câu lệnh sẽ kích hoạt một trong các công cụ của Máy chủ MCP trên Github. Đưa ra câu lệnh sau (who am I on GitHub?). Thao tác này sẽ khiến Gemini CLI chọn đúng công cụ và yêu cầu bạn cấp quyền.

Sau khi bạn cho phép, công cụ này sẽ truy xuất kết quả như minh hoạ dưới đây:
✦ You are rominirani, a Developer Advocate at Google Cloud, located in Mumbai. You have 125 public repositories and 256 followers.
Giờ đây, bạn nên làm việc với một trong các dự án trên Github. Đưa ra câu hỏi bằng ngôn ngữ tự nhiên, chẳng hạn như:
- Hãy mô tả <repo-name> cho tôi?
- Sao chép <repo-name> trên máy cục bộ của tôi.
- Mô tả @<tên_tệp> hoặc @<tên_thư_mục>/
- Kho lưu trữ này có những thành phần nào?
- Tôi đã thực hiện các thay đổi cần thiết. Bạn có thể chuyển các thay đổi lên Github và sử dụng các công cụ Github MCP Server để thực hiện việc đó.
Bạn sẽ tìm thấy một bài tập để làm việc chi tiết với Máy chủ MCP của Github ở phần sau của lớp học.
Định cấu hình máy chủ MCP Cloud Run
Tiện ích Cloud Run có trong thư viện Tiện ích của Gemini CLI là một MCP Server cho phép chúng ta triển khai các ứng dụng của mình lên Cloud Run.
Thẻ Tiện ích Cloud Run trong Thư viện tiện ích được minh hoạ dưới đây:

Trước tiên, hãy cài đặt Tiện ích Cloud Run bằng cách nhấp vào Sao chép lệnh cài đặt như minh hoạ ở trên. Sau đó, hãy dán lệnh đó vào thiết bị đầu cuối Cloud Shell (lệnh này sẽ tương tự như lệnh sau):
gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp
Khi chạy lệnh trên, bạn sẽ thấy một thông báo yêu cầu bạn xác nhận. Hãy phê duyệt yêu cầu đó. Sau đó, Tiện ích Cloud Run sẽ cài đặt thành công.
Nếu thực thi lệnh gemini extensions list ngay bây giờ, bạn sẽ thấy tiện ích Cloud Run được cài đặt như minh hoạ dưới đây:
✓ cloud-run (1.0.0)
ID: 3c1a38909b6d7d90b6acc8ca1e80d97b4a867253a3cd12d841b2aab4e556a58f
name: 0b1820c1f0c043bbb3b54f496d862c02172424c930eb965d61f468be52e6f127
Path: /home/romin/.gemini/extensions/cloud-run
Source: https://github.com/GoogleCloudPlatform/cloud-run-mcp (Type: git)
Enabled (User): true
Enabled (Workspace): true
Context files:
/home/romin/.gemini/extensions/cloud-run/gemini-extension/GEMINI.md
MCP servers:
cloud-run
Nếu khởi chạy Gemini CLI ngay bây giờ và thực thi lệnh /mcp list, bạn sẽ thấy như sau:
🟢 cloud-run (from cloud-run) - Ready (8 tools, 2 prompts)
Tools:
- create_project
- deploy_container_image
- deploy_file_contents
- deploy_local_folder
- get_service
- get_service_log
- list_projects
- list_services
Prompts:
- deploy
- logs
Ở trên chỉ là một vài Tiện ích Gemini CLI mà chúng tôi đã hướng dẫn cách định cấu hình. Bạn có thể xem Thư viện tiện ích để khám phá thêm nhiều tiện ích hoặc thậm chí tham gia lớp học lập trình " Bắt đầu sử dụng các tiện ích của Gemini CLI".
10. Các trường hợp sử dụng để thử
Bạn có thể áp dụng Gemini CLI cho nhiều trường hợp sử dụng đối với cả nhà phát triển và người dùng không phải nhà phát triển. Sau đây là một số trường hợp và tuỳ thuộc vào lĩnh vực mà bạn quan tâm, bạn có thể thử bất kỳ hoặc tất cả các trường hợp này.
Trong mỗi trường hợp này, lời nhắc sẽ được cung cấp. Bạn có thể dùng thử tính năng này ở chế độ tương tác hoặc không tương tác của Gemini CLI thông qua tham số -p tại thời điểm chạy Gemini CLI.
Lập trình theo cảm hứng với Gemini CLI
Hãy dùng Gemini CLI để tạo mã cho một ứng dụng. Trong nhiệm vụ này, bạn sẽ yêu cầu Gemini CLI tạo một ứng dụng, sau đó đẩy phiên bản ban đầu lên một kho lưu trữ trên GitHub.
Điều kiện tiên quyết
Để thực hiện các tác vụ trong phần này, bạn cần đáp ứng một số điều kiện tiên quyết:
- Git
- Gemini CLI có Tiện ích Gemini CLI của GitHub (chúng ta đã làm việc này trước đó) hoặc nếu bạn đã thiết lập
gh( công cụ Github CLI), thì cũng được. - Làm quen với các kiến thức cơ bản về Git và có một chút kiến thức về lập trình
Chúng tôi sẽ giả định rằng bạn đã chạy Gemini CLI trong một thư mục cụ thể mà bạn chọn.
Bắt đầu bằng một câu lệnh ban đầu. Bạn có thể sửa đổi nội dung này theo ý mình. Xin lưu ý rằng trong suốt phiên làm việc với Gemini CLI, công cụ này sẽ yêu cầu bạn cấp quyền tạo tệp, v.v. Hãy cấp các quyền cần thiết.
Trong nhiệm vụ này, chúng ta không cần Gemini CLI chạy ứng dụng hoặc kiểm thử ứng dụng cho chúng ta vì chúng ta muốn có thêm quyền kiểm soát. Tuy nhiên, bạn hoàn toàn có thể làm vậy nếu muốn.
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.
Một vài câu lệnh và câu trả lời tiếp theo là một quy trình mẫu đã được quan sát. Gemini CLI sẽ đưa ra một kế hoạch và yêu cầu bạn xác nhận / làm rõ hoặc tiếp tục. Vui lòng làm theo hướng dẫn. Ví dụ: đây là chuỗi hội thoại mẫu của tôi:
1. Backend (Node.js/Express):
* Set up an Express server to serve the static frontend files.
* Create an /api/schedule endpoint that will:
* Generate the event schedule dynamically, including talk timings and the lunch break, based on your requirements.
* Store mock talk data (title, speakers, category, description).
* Filter the schedule based on a category query parameter.
2. Frontend (HTML, CSS, JavaScript):
* Create an index.html file for the main structure.
* Develop style.css for a clean and responsive design.
* Write script.js to:
* Fetch the schedule data from the backend.
* Dynamically render the talks and lunch break on the page.
* Implement a search input that filters talks by category, updating the displayed schedule without a full page reload.
3. Schedule Logic:
* The backend will handle calculating the precise start and end times for each 1-hour talk, factoring in the 10:00 AM start, 10-minute transitions, and the 1-hour lunch break.
Before I proceed with the code, could you please clarify the following:
* Example Talk Data: Could you provide some example talk titles, speakers, categories (keywords), and descriptions? This will help me create realistic dummy data for the schedule.
* Lunch Break Placement: Where should the 1-hour lunch break be placed in the schedule? (e.g., after the 3rd talk, at 1 PM, etc.)
* Styling Preferences: Do you have any specific styling preferences (e.g., color scheme, modern/minimalist, etc.)? If not, I will go with a clean, simple design.
✦ I will create a single-page website for your event. Here's my plan:
✓ WriteTodos Set 7 todo(s)
✦ I am waiting for your clarifications regarding the example talk data, lunch break placement, and styling preferences before I proceed with generating the code.
Cuối cùng, công cụ này đã cung cấp cho tôi bản tóm tắt sau:
✦ Instructions to Run and Test Locally:
1. Start the server:
Open your terminal in the project directory (/home/romin/gemini-cli-projects/event-website/) and run:
1 node server.js
You should see a message in the terminal indicating: Server running on http://localhost:3000.
2. Open in your browser:
Open your web browser and navigate to:
http://localhost:3000
3. Test functionality:
* You should see the event schedule displayed on the page, with talks and a lunch break.
* Search by category: In the "Search by category..." input box, type a category keyword (e.g., "AI", "Web Development", "Python", "Security").
* Click the "Search" button. The schedule displayed should filter to only show talks matching that category.
* Click the "Reset" button to clear the search filter and view the full schedule again.
Let me know if you encounter any issues or if you'd like to make any modifications or additions to the website!
Sau khi làm theo hướng dẫn để khởi động máy chủ và chuyển đến trang chủ, chúng ta sẽ có một trang web mẫu như minh hoạ bên dưới (bạn sẽ thấy một phiên bản của trang web tương tự nếu dùng cùng một câu lệnh):

Bạn có thể tiếp tục thực hiện các thay đổi khác với sự trợ giúp của Gemini CLI. Sau khi hài lòng với các thay đổi, bạn có thể chuyển các thay đổi này vào một kho lưu trữ trên GitHub.
Trước tiên, hãy tạo một tệp .gitignore và bạn có thể nhờ đến sự trợ giúp của Gemini CLI.
Create a .gitignore file for this project.
Bước tiếp theo là bạn cần đưa ra chỉ dẫn cho Gemini CLI để đẩy kho lưu trữ này vào tài khoản Github của chúng tôi. Thao tác này sẽ thực hiện các công cụ Github MCP Server ở chế độ nền.
Đưa ra một câu lệnh tương tự như câu lệnh bên dưới:
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
Thao tác này sẽ thực hiện một số lệnh sau:
- Tạo kho lưu trữ.
- Thao tác này sẽ sử dụng nhiều lệnh Git : init, add, commit để quản lý kho lưu trữ Git cục bộ.
- Sau đó, nó sẽ thiết lập Git từ xa và thực hiện thao tác đẩy
Lưu ý: Có những trường hợp Gemini CLI có thể hết thời gian chờ hoặc sử dụng tên người dùng không chính xác, v.v. Hãy tương tác với Gemini CLI và đề xuất các bản sửa lỗi.
Nếu mọi thứ diễn ra suôn sẻ, bạn sẽ có một kho lưu trữ trên GitHub. Dưới đây là ảnh chụp màn hình mẫu:

Xin lưu ý rằng bạn chưa tạo README.md cho dự án này và đó là một bài tập hay cho phần tiếp theo, nơi chúng ta sẽ làm việc với kho lưu trữ mà bạn vừa tạo.
Sử dụng Gemini CLI để làm việc trên một kho lưu trữ GitHub
Trong trường hợp sử dụng này, bạn sẽ dùng Gemini CLI để làm việc với một kho lưu trữ trên GitHub. Bạn sẽ thực hiện nhiều nhiệm vụ, bao gồm:
- Tìm hiểu cơ sở mã
- Tạo tài liệu
- Triển khai một tính năng mới
- Xác nhận và đẩy các thay đổi trở lại kho lưu trữ
- Xử lý một vấn đề trên GitHub và triển khai các thay đổi được đề xuất
Điều này sẽ giúp bạn có nền tảng vững chắc để làm việc với các kho lưu trữ và sử dụng Gemini CLI làm trợ lý cho những tác vụ dành riêng cho nhà phát triển này.
Điều kiện tiên quyết
Để thực hiện các thao tác trong phần này, bạn cần phải làm những việc sau:
- Git
- Gemini CLI với Tiện ích Gemini CLI MCP của Github (chúng ta đã làm việc này trước đó) hoặc nếu bạn đã thiết lập
gh( công cụ Github CLI), thì cũng được. - Quen thuộc với các kiến thức cơ bản về Git và có một chút kiến thức về lập trình (chúng ta sẽ sử dụng Node.js trong ví dụ này vì có thể bạn đã chuẩn bị sẵn môi trường trên máy do đã cài đặt Gemini CLI). Tuy nhiên, sau này, bạn có thể chọn một kho lưu trữ tuỳ ý bằng ngôn ngữ lập trình và khung khác.
- Bạn nên hoàn thành phần trước và có sẵn kho lưu trữ, nơi chúng ta đã tạo một trang web Event Talks.
Hãy tiếp tục sử dụng Gemini CLI trong thư mục/thư mục mà bạn đã dùng để tạo ứng dụng Event Talks. Nếu cần, bạn có thể sao chép kho lưu trữ vào máy cục bộ rồi khởi động Gemini CLI từ thư mục đó. Hãy thử các trường hợp sau đây như được liệt kê bên dưới:
Tìm hiểu cơ sở mã
- Tôi muốn hiểu rõ về dự án này. Giúp tôi hiểu các tính năng chính, sau đó chia nhỏ thành phía máy chủ và phía máy khách. Lấy một quy trình mẫu và cho tôi biết cách hoạt động của yêu cầu và phản hồi.
Explain @server.js
Tạo tệp README
- Tạo tệp
READMEcho dự án này.
Triển khai một tính năng mới
- Tôi muốn triển khai một tính năng mới cho phép người dùng tìm kiếm theo một Diễn giả cụ thể. Trước tiên, hãy cho tôi xem kế hoạch về cách bạn sẽ triển khai thay đổi này, sau đó chúng ta có thể tạo mã.
Hệ thống sẽ cung cấp cho bạn một kế hoạch mà bạn có thể phê duyệt. Sau khi được phê duyệt, Gemini CLI sẽ tiến hành thực hiện những thay đổi đó. Hãy kiểm thử các thay đổi của bạn và nếu có lỗi (rất có thể), hãy yêu cầu Gemini CLI sửa lỗi.
Sau khi các thay đổi trông ổn, bạn có thể làm theo các bước tương tự để xác nhận và đẩy các thay đổi đó lên kho lưu trữ từ xa.
Tạo vấn đề dựa trên các tính năng được đề xuất
Hãy thử làm điều gì đó thú vị. Bạn sẽ hỏi Gemini CLI về cách công cụ này có thể cải thiện trải nghiệm người dùng của ứng dụng này. Dựa trên đánh giá của mình, Gemini CLI có thể tạo những đề xuất đó dưới dạng vấn đề trong cùng một kho lưu trữ trên GitHub. Thao tác này sẽ sử dụng công cụ "create_issue" từ Máy chủ MCP của Github.
Hãy thử câu lệnh sau:
- Tôi muốn bạn đánh giá ứng dụng này dưới góc độ trải nghiệm người dùng. Dễ sử dụng, có tính phản hồi, thông báo hữu ích và nhiều yếu tố khác. Vui lòng đưa ra một danh sách các điểm cải thiện, sau đó tôi muốn bạn tạo các điểm cải thiện đó dưới dạng Vấn đề trong kho lưu trữ Github.
Lý tưởng nhất là trước tiên, công cụ này sẽ chia sẻ những điểm cải tiến với bạn, sau đó tiến hành tạo các vấn đề trong kho lưu trữ Github khi có sự cho phép của bạn. Sau đây là ảnh chụp màn hình mẫu từ lần chạy của chúng tôi:

Xử lý một vấn đề trên GitHub và triển khai các thay đổi được đề xuất
Giờ đây, bạn có thể chọn một trong những vấn đề đã được tạo trước đó và yêu cầu Gemini CLI xử lý cũng như triển khai vấn đề đó.
Dưới đây là một vấn đề mẫu mà công cụ này tạo ra:

Lấy toàn bộ URL của vấn đề và đưa ra một câu lệnh như sau:
- Vui lòng xem xét Vấn đề:
<YOUR_ISSUE_URL>và hiểu rõ những thay đổi cần thực hiện. Trước tiên, hãy thảo luận về kế hoạch, sau đó cho thấy những thay đổi được đề xuất trong mã.
Bạn có thể phê duyệt các thay đổi và đẩy chúng vào kho lưu trữ. Bạn thậm chí có thể yêu cầu Gemini đóng vấn đề này.
(Không bắt buộc) Việc hằng ngày
Các trường hợp sử dụng dưới đây là những tác vụ mà bạn có thể thường xuyên thực hiện. Các thao tác này bao gồm sắp xếp tệp vào thư mục, tìm nạp và tóm tắt nội dung trên web, xử lý tệp hình ảnh và trích xuất nội dung từ tệp, làm việc với cơ sở dữ liệu và nhiều thao tác khác.
Bạn có thể thoải mái khám phá bất kỳ trường hợp sử dụng nào mà bạn thích.
Sắp xếp tệp/thư mục
Bạn có thể dùng Gemini CLI để sắp xếp các tệp theo loại trong nhiều thư mục tuỳ theo nhu cầu. Chuyển đến một thư mục trên máy có nhiều tệp .txt, .png, .jpg, .pdf, .mp4 và các tệp khác. Đây thường là thư mục Desktop hoặc thư mục Tải xuống.
Dưới đây là một thư mục mẫu và nội dung của thư mục đó (bạn có thể có các tệp khác):

Chuyển đến thư mục đó rồi khởi động Gemini CLI. Trước tiên, bạn sẽ yêu cầu Gemini CLI tạo một số thư mục: Hình ảnh, Tài liệu, Video, sau đó bạn sẽ yêu cầu Gemini CLI sắp xếp các tệp trong các thư mục đó.
Gemini CLI thường sẽ nhắc bạn cấp quyền trước khi thực thi các lệnh, đặc biệt là những lệnh sửa đổi hệ thống tệp (chẳng hạn như ghi, di chuyển hoặc xoá tệp). Luôn xem xét kỹ những lời nhắc này trước khi cấp quyền. Đây là biện pháp dự phòng cho bạn.
Create the following folders "Images","Documents","Videos"
Sau đó, hãy đưa ra câu lệnh sau:
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.
Dưới đây là ví dụ về trạng thái cuối cùng của thư mục. Bạn sẽ thấy các thư mục con mới được tạo và các tệp được di chuyển vào thư mục con tương ứng, tuỳ thuộc vào loại tệp.

Một số tình huống sắp xếp khác (các câu lệnh được đưa ra bên cạnh mỗi tình huống):
- Tóm tắt: Đối với mỗi tài liệu trong thư mục "Tài liệu", hãy tạo một tệp txt trong cùng thư mục có tên là "summary_ORIGINAL_FILENAME.txt" chứa nội dung tóm tắt 3 câu về các điểm chính của tài liệu.
- Phân loại theo loại: Quét tất cả tệp PDF và DOCX trong thư mục này. Di chuyển tất cả tệp có tên hoặc nội dung chứa từ "hoá đơn" vào thư mục "Tài chính/Hoá đơn". Di chuyển các tệp có "biên nhận" vào thư mục "Tài chính/Biên nhận". Mọi tệp .docx khác sẽ được chuyển vào thư mục "Báo cáo".
- Trích xuất thông tin chính (và "gắn thẻ"): Đối với mỗi tệp PDF trong thư mục "Financial/Invoices" (Tài chính/Hoá đơn), hãy đọc nội dung của tệp đó. Nếu bạn tìm thấy ngày, hãy đổi tên tệp để thêm ngày đó theo định dạng YYYY-MM-DD, ví dụ: ‘invoice_2025-07-26_original_name.pdf'.
Sắp xếp hình ảnh
Hãy xem cách bạn có thể sắp xếp nội dung hình ảnh trong máy tính của mình.
Cách dùng thử:
- Bạn sẽ cần có một thư mục chứa nhiều tệp hình ảnh (.jpg, .png, v.v.). Bao gồm một số hình ảnh có dữ liệu EXIF (hầu hết ảnh chụp bằng camera/điện thoại đều có dữ liệu này).
- Chuyển đến thư mục này.
- Khởi chạy Gemini CLI.
Hãy thử một trong các tình huống sau (các câu lệnh được đưa ra bên cạnh mỗi tình huống):
- Đổi tên theo ngày (Dữ liệu EXIF): Đổi tên tất cả các tệp .jpg và .png trong thư mục này để thêm ngày tạo từ dữ liệu EXIF ở định dạng "YYYYMMDD_HHMMSS_original_name.jpg". Nếu không tìm thấy ngày EXIF, hãy sử dụng ngày sửa đổi gần đây nhất của tệp.
- Tạo nội dung mô tả hình ảnh: Đối với mỗi hình ảnh trong thư mục này, hãy mô tả nội dung trong hình ảnh và lưu nội dung mô tả đó vào một tệp văn bản có tên là "description_ORIGINAL_FILENAME.txt" trong cùng thư mục.
- Xác định nội dung trùng lặp (Dựa trên khái niệm, yêu cầu logic nâng cao hơn): Tìm mọi hình ảnh trùng lặp trong thư mục này dựa trên nội dung trực quan và liệt kê tên tệp của các hình ảnh đó. Đừng xoá các tệp này vội.
Tóm tắt bài viết (Tệp cục bộ hoặc trên web)
Đối với mỗi trường hợp dưới đây, bạn có thể thay đổi URL, chủ đề quan tâm và tên tệp cục bộ nếu cần. Tên tệp được cung cấp là tên tệp mẫu, bạn có thể thay thế bằng tên tệp của các tệp có trên hệ thống của mình.
Hãy thử một trong các tình huống sau (các câu lệnh được đưa ra bên cạnh mỗi tình huống):
- Tóm tắt một bài viết trên web (một URL): Truy cập vào https://medium.com/google-cloud/getting-started-with-gemini-cli-8cc4674a1371 rồi tóm tắt 3 điểm chính hàng đầu trong bài viết tin tức này.
- Tóm tắt nhiều bài viết trên web (ví dụ: từ một cụm từ tìm kiếm): Tìm các bài viết tin tức mới nhất về "Gemini CLI" bằng Google Tìm kiếm. Đối với 5 bài viết liên quan hàng đầu, hãy tóm tắt mỗi bài trong 2 đến 3 câu và liệt kê URL của các bài viết đó.
- Tóm tắt một tệp văn bản cục bộ: Tóm tắt các điểm chính của bài viết trong "my_research_paper.txt". Tập trung vào phương pháp và kết luận.
- Tóm tắt một tệp PDF trên thiết bị: Đọc "financial_report_Q2_2025.pdf". Tóm tắt hiệu quả hoạt động tài chính và những thách thức chính được đề cập.
Trích xuất thông tin cụ thể (Tệp cục bộ hoặc Web)
Đối với mỗi trường hợp dưới đây, bạn có thể thay đổi URL, chủ đề quan tâm và tên tệp cục bộ nếu cần. Tên tệp được cung cấp là tên tệp mẫu, bạn có thể thay thế bằng tên tệp của các tệp có trên hệ thống của mình.
Hãy thử một trong các tình huống sau (các câu lệnh được đưa ra bên cạnh mỗi tình huống):
- Trích xuất thực thể từ một bài viết trên thiết bị: Từ "biography.txt", hãy liệt kê tất cả cá nhân có tên và những ngày quan trọng liên quan đến họ.
- Trích xuất dữ liệu từ một bảng trong tệp PDF: Trong tệp "quarterly_sales.pdf", hãy trích xuất dữ liệu từ bảng trên trang 3 cho biết "Doanh số sản phẩm theo khu vực" và trình bày dữ liệu đó ở định dạng bảng Markdown.
- Trích xuất tiêu đề và nguồn tin tức từ một trang web tin tức: Truy cập vào "https://news.google.com/" (hoặc một trang web tin tức tương tự). Trích xuất các tiêu đề chính trên trang nhất và nguồn tin tức tương ứng. Trình bày dưới dạng danh sách có dấu đầu dòng.
- Tìm thông số kỹ thuật của sản phẩm trên một trang thương mại điện tử: Duyệt xem "https://www.amazon.in/Google-Cloud-Certified-Associate-Engineer/dp/1119871441" (ví dụ về một cuốn sách). Trích xuất tên sách, tác giả và các thông tin khác. Trình bày thông tin này ở định dạng JSON có cấu trúc.
- Trích xuất thời lượng của một video ở một định dạng nhất định (ví dụ: "2h37m42s").
Trả lời câu hỏi dựa trên nội dung (hành vi tương tự như RAG)
Đối với mỗi trường hợp dưới đây, bạn có thể thay đổi URL, chủ đề quan tâm và tên tệp cục bộ nếu cần. Tên tệp được cung cấp là tên tệp mẫu, bạn có thể thay thế bằng tên tệp của các tệp có trên hệ thống của mình.
Hãy thử một trong các tình huống sau (các câu lệnh được đưa ra bên cạnh mỗi tình huống):
- Hỏi và đáp về tài liệu tại địa phương: Tôi đang đính kèm "user_manual.pdf". Các bước khắc phục sự cố kết nối mạng là gì?
- Hỏi và đáp trên trang web: Dựa vào nội dung trên trang"https://www.who.int/news-room/fact-sheets/detail/climate-change-and-health", theo WHO, những nguy cơ chính đối với sức khoẻ liên quan đến biến đổi khí hậu là gì?
- So sánh thông tin từ nhiều nguồn: Tôi có hai bài viết tin tức: "article1.txt" và "article2.txt", cả hai đều thảo luận về những thay đổi gần đây trong chính sách kinh tế. So sánh và đối chiếu quan điểm của họ về tác động tiềm ẩn đối với doanh nghiệp nhỏ.
Tạo nội dung dựa trên thông tin được trích xuất
Đối với mỗi trường hợp dưới đây, bạn có thể thay đổi URL, chủ đề quan tâm và tên tệp cục bộ nếu cần.
Hãy thử một trong các tình huống sau (các câu lệnh được đưa ra bên cạnh mỗi tình huống):
- Tạo bản tin vắn tắt từ một bài viết: Đọc @tech_innovation_article.txt. Viết một bản tin ngắn gọn, hấp dẫn (khoảng 150 từ) phù hợp với bản tin của công ty, nêu bật công nghệ mới và tiềm năng của công nghệ đó.
- Soạn email tóm tắt bản chép lời của cuộc họp: Đây là tệp bản chép lời của cuộc họp: @meeting_transcript.txt. Soạn thảo một email gửi cho nhóm để tóm tắt các quyết định quan trọng đã đưa ra và việc cần làm đã được giao, bao gồm cả người chịu trách nhiệm cho từng việc.
Hỗ trợ đa phương thức của Gemini CLI
Gemini CLI hỗ trợ nhiều mô hình thông qua Gemini và bạn có thể yêu cầu Gemini CLI xử lý các tệp có nhiều định dạng nội dung theo yêu cầu của bạn.
Bạn sẽ xử lý một loạt hình ảnh hoá đơn bằng Gemini CLI và trích xuất thông tin chính từ các hình ảnh đó. Hãy làm theo các bước dưới đây:
- Tạo một thư mục trên máy của bạn và tải một số hoá đơn xuống từ kho lưu trữ sau đây trên Github.
- Khởi chạy Gemini CLI từ thư mục đó
Đưa ra câu lệnh sau để trích xuất thông tin từ hoá đơn dưới dạng bảng.
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.
Lý tưởng nhất là bạn sẽ nhận được kết quả đầu ra có dạng như sau:

Sau đây là một trường hợp khác, trong đó bạn có thể yêu cầu thêm các cột phái sinh. Giả sử bạn muốn hiển thị biểu tượng cảm xúc dấu thập đỏ cho tất cả ngày đến hạn thanh toán hoá đơn đã qua. Bạn có thể đưa ra câu lệnh như sau:
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.
Kết quả sẽ như sau:

Áp dụng quy tắc này cho mọi tệp của riêng bạn ở các định dạng khác ngoài văn bản.
Sử dụng Gemini CLI để làm việc với cơ sở dữ liệu
Bạn có thể sử dụng Gemini CLI để làm việc hiệu quả hơn với nhiều cơ sở dữ liệu. Bạn có thể sử dụng công cụ này cho nhiều trường hợp: truy vấn bằng ngôn ngữ tự nhiên, xuất dữ liệu, thiết kế giản đồ cơ sở dữ liệu, tạo dữ liệu kiểm thử thực tế, v.v.
Bạn sẽ dùng SQLite3 để thực hiện nhiệm vụ này. Bạn sẽ cần cài đặt SQLite3 và có cơ sở dữ liệu mẫu Chinook.
Sau đây là hướng dẫn ngắn gọn về cách thiết lập SQLite3:
- macOS: SQLite3 được cài đặt sẵn. Xác minh bằng
sqlite3 --version. Nếu cần, hãy cài đặt bằng Homebrew:brew install sqlite3. - Windows: Tải các tệp nhị phân được biên dịch sẵn xuống từ trang web của SQLite. Giải nén các tệp vào một thư mục (ví dụ:
C:\sqlite). Thêm thư mục đó vào biến môi trường PATH của hệ thống. - Linux: Debian/Ubuntu:
sudo apt update && sudo apt install sqlite3
Tải cơ sở dữ liệu mẫu Chinook xuống (đây là đường liên kết trực tiếp để tải cơ sở dữ liệu này xuống).
Để chạy các câu lệnh này, bạn nên tạo một thư mục (database-tasks) trong thư mục gemini-cli-projects. Sao chép tệp cơ sở dữ liệu Chinook vào thư mục đó. Đảm bảo rằng công cụ sqlite3 được thiết lập trên hệ thống của bạn và có trong đường dẫn để Gemini CLI có thể sử dụng công cụ đó. Khởi chạy Gemini CLI.
Sơ đồ giản đồ cơ sở dữ liệu được minh hoạ dưới đây:

Giả sử bạn đang ở trong một thư mục có tên là database-tasks và tệp cơ sở dữ liệu Chinook có tên là chinook.db.
Dưới đây là một số câu lệnh có thể giúp bạn làm việc với cơ sở dữ liệu. Hãy xem qua nhanh quyền đầu tiên để minh hoạ quyền sẽ được yêu cầu.
Bắt đầu bằng câu lệnh liệt kê các bảng có trong cơ sở dữ liệu, đưa ra câu lệnh sau:
What tables are present in the file: chinook.db
Thao tác này sử dụng công cụ để đọc tệp, sau đó muốn dùng tiện ích sqlite3 có trên hệ thống của bạn để thực hiện những việc cần thiết:

Cấp quyền chạy một lần để nhận được đầu ra như mong đợi:

Hãy thử các câu lệnh sau hoặc bất kỳ câu lệnh nào khác mà bạn chọn:
- Có bao nhiêu nhân viên?
- Cấu trúc bảng hoá đơn là gì?
- 3 hoá đơn nào có tổng giá trị cao nhất và khách hàng nào đã đặt những hoá đơn đó?
Bạn sẽ nhận thấy Gemini CLI đảm nhiệm 2 việc: Tạo câu lệnh SQL chính xác để đáp ứng yêu cầu của bạn và đưa ra lệnh sqlite3 chính xác.
Sử dụng Gemini CLI để tạo dữ liệu
Bạn có thể yêu cầu Gemini CLI tạo dữ liệu ở nhiều định dạng dữ liệu. Điều này có thể bao gồm từ các phần nội dung đến dữ liệu JSON mà bạn có thể cần mô phỏng. Hãy tập trung vào các trường hợp áp dụng cho nhà phát triển/người kiểm thử.
Sau đây là một số câu lệnh bạn có thể thử:
Tạo dữ liệu JSON của các bài đánh giá mẫu của khách hàng
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).
Tạo phản hồi API mô phỏng (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').
Tạo câu lệnh chèn cơ sở dữ liệu mẫu (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'.
Tạo dữ liệu CSV để tải/phân tích dữ liệu
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).
Tạo tệp cấu hình (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.
Tạo dữ liệu kiểm thử cho các trường hợp biên/xác thực
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. Xin chúc mừng
Xin chúc mừng! Bạn đã khám phá thành công Gemini CLI, các chức năng của công cụ này và áp dụng cho một số trường hợp sử dụng.