# Gemini CLI là gì? Còn dùng được không khi đã có Antigravity CLI

URL: https://opcaios.org/blog/gemini-cli-la-gi
Ngày: 2026-11-04
Cập nhật: 2026-11-03
Tác giả: Lê Quốc Nghĩa
Chuyên mục: Hướng dẫn

Gemini CLI là gì? Gemini CLI là tác tử AI mã nguồn mở (giấy phép Apache 2.0) của Google chạy trong terminal: bạn gõ yêu cầu bằng ngôn ngữ thường, tác tử đọc mã, sửa file, chạy lệnh shell và gọi công cụ ngoài qua MCP, dùng model Gemini. Phần giới thiệu chung về Gemini nằm ở bài [Gemini là gì?](/blog/gemini-la-gi). Điều quan trọng nhất cần biết trước: theo README trên GitHub và bài blog của Google Developers (đọc ngày 04/11/2026), từ 18/06/2026 Gemini CLI ngừng phục vụ người dùng miễn phí và người dùng Google AI Pro, Ultra; nhóm này được chuyển sang Antigravity CLI. Gemini CLI nay dành cho tổ chức có giấy phép Gemini Code Assist Standard, Enterprise và người dùng khoá API trả phí. Bài không hứa tăng năng suất (OPCAIOS chưa đo), chỉ mô tả tính năng theo tài liệu, hạn mức và ai còn nên dùng.

![Sơ đồ Gemini CLI: cài đặt, đăng nhập, GEMINI.md, bốn chế độ duyệt, sandbox, MCP, extensions, skills, hooks, policy engine và chế độ -p](https://opcaios.org/images/blog/gemini-cli-la-gi/so-do.webp)
*Gemini CLI: từ cài đặt tới các lớp kiểm soát và mở rộng. Sơ đồ: OPCAIOS.*

## Gemini CLI hiện dành cho ai sau thay đổi tháng 6/2026?

Gemini CLI hiện dành chủ yếu cho tổ chức trên Google Cloud, không còn là lựa chọn mặc định cho cá nhân. Bài "An important update: Transitioning Gemini CLI to Antigravity CLI" trên Google Developers Blog (19/05/2026, đọc ngày 04/11/2026) cho biết từ 18/06/2026, Gemini CLI ngừng phục vụ yêu cầu của người dùng Google AI Pro, Ultra và người dùng miễn phí qua Gemini Code Assist for individuals. Người dùng doanh nghiệp có giấy phép Gemini Code Assist Standard hoặc Enterprise giữ nguyên quyền truy cập, và Gemini CLI vẫn dùng được với khoá API trả phí. README (đọc cùng ngày) thêm: Gemini CLI chưa được tối ưu cho dòng Gemini 4 như Gemini 4 Argon, và không nên dùng để chấm điểm model. Google gợi ý cá nhân dùng Antigravity CLI (lệnh `agy`); gọi API từ script có công cụ riêng là Gemini API CLI. Nếu bạn là người làm một mình, đọc bài [Antigravity CLI (agy)](/blog/antigravity-cli-agy) trước khi cài Gemini CLI.

## Cài đặt Gemini CLI như thế nào?

Cài đặt Gemini CLI cần Node.js 20 trở lên; trang Installation (đọc 04/11/2026) liệt kê macOS 15 trở lên và Windows 11 24H2 trở lên trong yêu cầu hệ thống. Các cách cài theo README:

```bash
npx @google/gemini-cli
npm install -g @google/gemini-cli
brew install gemini-cli
```

Dòng đầu chạy thử không cần cài, dòng hai cài toàn cục qua npm, dòng ba cài qua Homebrew trên macOS hoặc Linux. Dự án có ba kênh phát hành: nightly, preview và stable (hằng tuần). Bản stable mới nhất trên trang changelog ngày 04/11/2026 là v0.64.0, phát hành 13/10/2026. Kiểm tra bản đang có bằng `gemini --version`.

## Đăng nhập Gemini CLI có những cách nào?

Đăng nhập Gemini CLI có ba cách theo README và trang Authentication (đọc 04/11/2026):

1. **Sign in with Google:** chạy `gemini`, chọn đăng nhập, trình duyệt mở trang đăng nhập, thông tin được lưu cục bộ cho lần sau. Với giấy phép Code Assist của tổ chức, cần đặt biến `GOOGLE_CLOUD_PROJECT`.
2. **Khoá Gemini API:** lấy khoá trong Google AI Studio, đặt vào biến `GEMINI_API_KEY`.
3. **Vertex AI:** đặt `GOOGLE_API_KEY` và `GOOGLE_GENAI_USE_VERTEXAI=true`.

Lưu ý: trang Authentication vẫn khuyên đăng nhập bằng tài khoản Google cá nhân, mâu thuẫn với README và blog; chúng tôi coi README và blog là mới hơn. Cách lấy và bảo vệ khoá xem ở bài [Gemini API và AI Studio](/blog/gemini-api-va-ai-studio).

## GEMINI.md trong Gemini CLI dùng để làm gì?

GEMINI.md là file ngữ cảnh chứa chỉ dẫn lâu dài cho tác tử, như quy ước mã, lệnh kiểm thử, phong cách viết, để không phải lặp lại trong mỗi prompt. Theo trang "Provide context with GEMINI.md files" (đọc 04/11/2026), Gemini CLI nạp ngữ cảnh theo ba lớp rồi ghép nội dung gửi kèm mỗi prompt:

1. **File toàn cục** trong thư mục `.gemini` ở thư mục người dùng, áp cho mọi dự án.
2. **File trong thư mục làm việc** và các thư mục cha, áp cho dự án đang mở.
3. **File nạp đúng lúc:** khi công cụ chạm vào một thư mục, CLI tìm GEMINI.md ở đó và các thư mục cha tới gốc được tin cậy.

Lệnh `/memory show` hiện ngữ cảnh đang nạp; file lớn tách nhỏ bằng cú pháp `@file.md`. Ý tưởng giống CLAUDE.md của Claude Code và AGENTS.md của Codex.

## Chế độ duyệt --approval-mode khác nhau thế nào?

Chế độ duyệt quyết định tác tử được tự làm gì mà không hỏi bạn. Theo `gemini --help` bản 0.55.1, cờ `--approval-mode` nhận bốn giá trị:

| Chế độ | Hành vi theo trợ giúp | Khi nào hợp |
|---|---|---|
| `default` | Hỏi trước khi chạy công cụ | Dự án thật, khi mới dùng |
| `auto_edit` | Tự duyệt công cụ sửa file | Việc sửa mã quen thuộc, có Git |
| `yolo` | Tự duyệt mọi công cụ | Chỉ trong sandbox hoặc máy thử |
| `plan` | Chỉ đọc | Khảo sát, lập kế hoạch trước khi sửa |

Cờ `-y` hoặc `--yolo` tương đương chế độ yolo. Trang Plan Mode (đọc 04/11/2026) mô tả plan là môi trường chỉ đọc để nghiên cứu và lập kế hoạch trước khi sửa mã. Lời khuyên an toàn: không chạy yolo trên thư mục chứa khoá, file `.env` hay dữ liệu khách hàng; xem [bảo mật khi dùng AI viết code](/blog/bao-mat-khi-dung-ai-viet-code).

## Sandbox của Gemini CLI bảo vệ được gì?

Sandbox là lớp cách ly giữa thao tác của tác tử (lệnh shell, sửa file) và máy thật, giảm rủi ro hỏng hệ thống hay mất dữ liệu. Theo trang "Sandboxing in Gemini CLI" (đọc 04/11/2026), bật sandbox bằng cờ `-s`, biến môi trường `GEMINI_SANDBOX` (giá trị `true`, `docker`, `podman`, `sandbox-exec`, `runsc`, `lxc`) hoặc mục `tools.sandbox` trong settings.json. Trên macOS có Seatbelt dùng `sandbox-exec`; hồ sơ mặc định `permissive-open` giới hạn ghi trong thư mục dự án nhưng vẫn cho đọc rộng và vào mạng. Hồ sơ `strict-proxied` chặt hơn, giới hạn cả đọc và mạng. Nghĩa là sandbox mặc định không ngăn đọc file ngoài dự án hay gửi dữ liệu ra mạng.

## MCP, extensions và skills mở rộng Gemini CLI ra sao?

Ba cơ chế mở rộng giải quyết ba nhu cầu khác nhau. Theo tài liệu (đọc 04/11/2026) và trợ giúp bản 0.55.1:

1. **MCP:** máy chủ MCP cung cấp công cụ và tài nguyên cho tác tử. Lệnh `gemini mcp add <name> <commandOrUrl>` thêm máy chủ; có `list`, `remove`, `enable`, `disable`.
2. **Extensions:** gói chứa prompt, máy chủ MCP, lệnh tuỳ chỉnh, theme, hooks, tác tử con và skills, cài bằng `gemini extensions install <source>` từ URL Git hoặc thư mục cục bộ.
3. **Skills:** theo chuẩn mở Agent Skills, mỗi skill là thư mục có `SKILL.md`. Đầu phiên CLI chỉ nạp tên và mô tả; khi việc khớp, model gọi công cụ `activate_skill`, bạn xác nhận, rồi nội dung mới được nạp. Quản lý bằng `gemini skills list`, `install`, `link`, `enable`, `disable`.

Extension, skill từ nguồn lạ có thể chạy lệnh trên máy bạn; đọc mã trước khi cài.

## Hooks và policy engine kiểm soát tác tử thế nào?

Hooks và policy engine là hai lớp kiểm soát chạy cạnh tác tử. Theo trang Gemini CLI hooks (đọc 04/11/2026), hook là script chạy đồng bộ tại các điểm trong vòng lặp như `SessionStart`, `BeforeAgent`, `BeforeModel`, `BeforeTool`, `AfterTool`, `SessionEnd`; hook đọc JSON từ stdin, trả JSON ra stdout, có thể chặn công cụ, thêm ngữ cảnh hoặc ghi nhật ký. In chữ khác JSON ra stdout làm hỏng phân tích và CLI mặc định cho phép. Có lệnh `gemini hooks migrate` chuyển hooks từ Claude Code. Policy engine (trang Policy engine, đọc cùng ngày) dùng file TOML, mỗi luật có điều kiện (tên công cụ, tham số, chế độ duyệt), quyết định `allow`, `deny` hoặc `ask_user` và độ ưu tiên; luật ưu tiên cao nhất khớp sẽ thắng. Ví dụ trong tài liệu chặn lệnh shell bắt đầu bằng `rm -rf`. Cờ `--policy` nạp thêm file luật; cờ `--allowed-tools` cũ đã bị đánh dấu ngừng.

## Chế độ không tương tác -p dùng khi nào?

Chế độ không tương tác (headless) chạy một yêu cầu rồi thoát, hợp cho script, CI hay công cụ tự động hoá. Theo `gemini --help` và trang Headless mode (đọc 04/11/2026), chế độ này bật khi dùng `-p`/`--prompt` hoặc khi chạy ngoài terminal tương tác. Ví dụ trong README:

```bash
gemini -p "Explain the architecture of this codebase"
```

Cờ `--output-format` nhận `text`, `json` (một đối tượng có `response`, `stats`, `error`) hoặc `stream-json` (luồng sự kiện JSONL). Mã thoát: 0 thành công, 1 lỗi chung hoặc lỗi API, 42 lỗi đầu vào, 53 vượt giới hạn lượt. Đừng ghép `-p` với yolo trên dữ liệu thật khi chưa có policy chặn lệnh nguy hiểm.

## Hạn mức miễn phí của Gemini CLI hôm nay ra sao?

Hạn mức miễn phí của Gemini CLI cho cá nhân, theo README và blog Google đọc ngày 04/11/2026, không còn: truy cập miễn phí và gói Google AI Pro, Ultra đã chuyển sang Antigravity CLI từ 18/06/2026. Trang "Quotas and pricing" trên geminicli.com cùng ngày vẫn đăng bảng cũ (ví dụ 1.000 yêu cầu mỗi ngày cho Code Assist cá nhân, 250 yêu cầu mỗi ngày cho khoá API không trả phí); bảng này mâu thuẫn với README nên chúng tôi coi là chưa cập nhật, không dùng làm căn cứ. Con số còn khớp với thông báo là hạn mức của tổ chức: Code Assist Standard 1.500 và Enterprise 2.000 yêu cầu mỗi người mỗi ngày. Khoá API trả phí theo hạn mức và giá của Gemini API.

## Gemini CLI khác Claude Code, Codex và Antigravity thế nào?

Bốn công cụ đều là tác tử lập trình, khác chủ yếu ở model và đối tượng (tóm tắt, không phải đánh giá chất lượng):

| Công cụ | Model chính | Đối tượng hiện nay |
|---|---|---|
| Gemini CLI | Gemini | Tổ chức có Code Assist, khoá API trả phí |
| [Antigravity CLI](/blog/antigravity-cli-agy) và ứng dụng | Gemini | Cá nhân miễn phí, AI Pro, Ultra, Google Cloud |
| [Claude Code](/blog/claude-code-la-gi) | Claude | Người dùng Anthropic |
| [Codex](/blog/codex-la-gi) | Model của OpenAI | Người dùng OpenAI |

## Kinh nghiệm của OPCAIOS

Máy Mac chính của OPCAIOS có Gemini CLI bản 0.55.1 cài qua Homebrew, cũ hơn bản stable v0.64.0. Khi viết bài, chúng tôi chỉ chạy `gemini --version`, `gemini --help` và trợ giúp của lệnh con để đối chiếu cờ; không chạy tác vụ nào, không đăng nhập. `gemini extensions list` báo chưa cài extension, `gemini mcp list` báo chưa cấu hình máy chủ MCP. Chúng tôi chưa đo năng suất. Việc điều phối hằng ngày dùng Google Antigravity (chạy model Gemini), song song với Claude Code và Codex; xem [Antigravity, Claude Code và Codex trong một hệ thống](/blog/antigravity-claude-code-va-codex-trong-mot-he-thong).

## Câu hỏi thường gặp

### Gemini CLI còn miễn phí không?

Theo README trên GitHub và bài blog Google Developers đọc ngày 04/11/2026, không còn cho cá nhân: từ 18/06/2026 Gemini CLI ngừng phục vụ người dùng miễn phí qua Gemini Code Assist for individuals và người dùng Google AI Pro, Ultra. Mã nguồn vẫn mở theo Apache 2.0, nhưng gọi model cần giấy phép Code Assist của tổ chức, khoá Gemini API trả phí hoặc Vertex AI.

### Người làm một mình nên dùng Gemini CLI hay Antigravity CLI?

Theo hướng dẫn trong README đọc ngày 04/11/2026, Google gợi ý cá nhân, tài khoản miễn phí và người dùng Google AI Pro, Ultra dùng Antigravity CLI; Gemini CLI dành cho tổ chức có Gemini Code Assist Standard, Enterprise hoặc Code Assist for GitHub. Theo blog Google, Antigravity CLI giữ Agent Skills, Hooks, Subagents và Extensions (thành plugins), dù chưa tương đương hoàn toàn. Người làm một mình nên thử Antigravity CLI trước, còn ai đã có giấy phép Code Assist của tổ chức hoặc quy trình CI dựng sẵn quanh Gemini CLI thì vẫn có lý do giữ.

### GEMINI.md có giống CLAUDE.md và AGENTS.md không?

Cùng ý tưởng: một file Markdown chứa chỉ dẫn lâu dài cho tác tử. Theo tài liệu đọc ngày 04/11/2026, Gemini CLI nạp GEMINI.md từ thư mục người dùng, thư mục dự án và thư mục cha, thêm file nạp đúng lúc khi công cụ chạm vào thư mục con, rồi ghép tất cả gửi kèm mỗi prompt. Cú pháp `@file.md` cho phép tách file lớn.

### Chạy Gemini CLI ở chế độ yolo có an toàn không?

Không an toàn trên máy thật hay thư mục có dữ liệu nhạy cảm. Chế độ yolo, theo `gemini --help`, tự duyệt mọi công cụ, kể cả lệnh shell. Sandbox mặc định trên macOS chỉ giới hạn ghi trong thư mục dự án, vẫn cho đọc rộng và vào mạng, theo trang Sandboxing đọc ngày 04/11/2026. Nếu cần chạy tự động, hãy dùng container, hồ sơ sandbox chặt hơn và policy engine với luật `deny` cho lệnh nguy hiểm, rồi kiểm tra thay đổi bằng Git.

### Muốn học cách dùng tác tử lập trình cho công việc thì bắt đầu từ đâu?

Chọn công cụ hợp tài khoản đang có, viết file ngữ cảnh ngắn, giữ chế độ duyệt mặc định trong vài tuần đầu, dùng Git để xem lại mọi thay đổi. Bắt đầu bằng việc nhỏ như viết kiểm thử hay tài liệu. Nếu muốn có lộ trình bài bản, xem [khoá đào tạo ứng dụng AI](/services/dao-tao-ung-dung-ai) của OPCAIOS.

*Nguồn: README của google-gemini/gemini-cli trên GitHub, bài "An important update: Transitioning Gemini CLI to Antigravity CLI" trên Google Developers Blog (19/05/2026), các trang tài liệu trên geminicli.com/docs và `gemini --help` bản 0.55.1 (đọc ngày 04/11/2026); điều chưa kiểm chứng: hành vi thực tế khi chạy tác vụ, hạn mức khi dùng khoá API trả phí, độ chính xác của trang Quotas trên geminicli.com; mô tả cờ dựa trên bản 0.55.1, bản mới có thể khác. Kinh nghiệm là của OPCAIOS.*
