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 mã nguồn mở mang sức mạnh của Gemini ngay trên cửa sổ dòng lệnh.
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à đị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 (đượ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 hướng dẫ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 dành 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 Gemini CLI để viết mã và làm việc với một kho lưu trữ trên 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 thành 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 bq. Nhấp vào Kích hoạt Cloud Shell ở đầu Cloud Console.

- 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 dự án:
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 xuất phát để 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, nếu 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 một 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. Xin lưu ý rằng Gemini CLI được cài đặt sẵn trên Cloud Shell và Cloud Workstations.
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 truy cập của 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
- Kích hoạt bằng 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, trong lần chạy đầu tiên, bạn có thể được yêu cầu chọn một giao diện. Nếu có, bạn có thể chọn giao diện mặc định hoặc giao diện mà bạn muốn.
Điều quan trọng tiếp theo là Xác thực. Bạn sẽ được yêu cầu 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.
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á Gemini API 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 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:

Trong trường hợp này, chúng tôi đã chọn Vertex AI, nhưng bạn có thể chọn tài khoản cá nhân. Bạn sẽ thấy chúng tôi đã chọn mô hình Gemini 2.5 (xuất hiện ở dưới cùng bên phải). Bạn có thể chọn mô hình cụ thể bất cứ lúc nào bằng cách sử dụng lệnh /model.
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 sẽ được chọn và định cấu hình sẵn cho bạn.
Nếu đã cài đặt Gemini CLI trên máy và khởi chạ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 giao diện và phương thức xác thực. Điều này có nghĩa là tệp này đượ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 đó ở đây.
{
"security": {
"auth": {
"selectedType": "oauth-personal" or "cloud-shell"
}
},
"ui": {
"theme": "Default"
}
}
5. Lần tương tác đầu tiên của chúng tôi với Gemini CLI
Hãy bắt đầu với Gemini CLI và nhập truy vấn đầu tiên như minh hoạ dưới đây:
Give me a famous quote on Artificial Intelligence and who said that?
Sau đây là phản hồi dự kiến:
> 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
Để 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 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 giao diện dòng lệnh Gemini. Khi bạn thoát Gemini CLI, công cụ này sẽ cho bạn biết số liệu thống kê về phiên, giúp bạn hiểu rõ hơn về phiên, mức sử dụng mô hình và các chỉ số khác.
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ạ bên dưới.
gemini --help
Thao tác này sẽ cho thấy toàn bộ các lựa chọn có sẵn. Bạn nên xem kỹ tài liệu tại đây.
Hãy cùng xem xét một vài ví dụ. Cách đầu tiên là định cấu hình Gemini CLI để sử dụng một chế độ Gemini cụ thể. Hiện tại, tại thời điểm cập nhật lớp học này, đây là danh sách các mô hình được hỗ trợ. Để sử dụng một mô hình cụ thể, bạn có thể thực hiện việc này tại thời điểm bắt đầu 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 cửa sổ dòng lệnh Gemini CLI.
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. Một lần chạy mẫu được minh hoạ bên dưới. Tuỳ thuộc vào yêu cầu và 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 CLI và Gemini CLI sẽ tiến hành phản hồi câu lệnh đó mà không cần mở cửa sổ dòng lệnh tương tác. Đ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 dùng tham số -p để cung cấp câu lệnh cho Gemini CLI như minh hoạ dưới đây:
gemini -p "What is the gcloud command to deploy to Cloud Run"
Xin lưu ý rằng bạn không thể tiếp tục cuộ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.
Xin lưu ý rằng nếu bạn bỏ lỡ tham số -p và chỉ cung cấp nội dung sau, thì Gemini CLI sẽ mở ra với câu lệnh và tiếp tục bên trong câu lệnh đó.
gemini "What is the gcloud command to deploy to Cloud Run"
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 khả 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 loại công việc."
Để 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:
- 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)
Một trong những điều bạn cần làm ngay 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 cầ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, 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. Câu lệnh này sẽ giúp bạn hiểu rõ cách hoạt động của công cụ.
Hãy tưởng tượng một tình huống mà bạn muốn nhận 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 cho nó. Sau đó, 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ộ của bạn 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:
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'.
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 saved the latest finance news to finance-news-today.txt.
Finance News Saved: The task is complete.
Làm cách nào để kiểm tra xem tệp đã được ghi hay chưa? 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. Dưới đây là câu lệnh của tôi:
read the contents of @finance-news-today.txt
Thao tác này sẽ gọi các công cụ bắt buộc (ReadManyFiles, ReadFile) và nội dung sẽ xuất hiện như minh hoạ dưới đây:
✓ 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 – 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 nút ! 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 thuộc 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 sẽ được đưa vào cửa sổ ngữ cảnh của mô hình.

Bạn cũng có thể in nội dung của tệp thông qua lệnh cat, tức là cat finance-news-today.txt.
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 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 ví dụ về câu lệnh:
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 đó. Bạn có thể được yêu cầu cấp quyền để sử dụng các công cụ này, vui lòng cấp quyền cần thiết.
9. Tiện ích của 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.