Gemini CLI
Cấu hình và sử dụng AGTCloud trong Gemini CLI.
Gemini CLI là tác tử terminal mã nguồn mở của Google, có thể hiểu dự án, phân tích tệp và dùng lệnh cùng công cụ sau khi được cấp quyền. Cấu hình địa chỉ Gemini API, API Key và ID mô hình để Gemini CLI dùng điểm vào tương thích Gemini Generate Content của AGTCloud.
Hướng dẫn này chỉ trình bày kết nối cơ bản và quy trình kiểm tra an toàn của Gemini CLI. Sửa tệp, lệnh Shell, gọi hàm và khả năng tác tử khác phụ thuộc mô hình đích cùng mức hỗ trợ thực tế của các cấu trúc Gemini Parts, Function Call và giao thức liên quan.
Kiểm tra hội thoại cơ bản trước, rồi mới thử khả năng công cụ
Văn bản thông thường trả về thành công chỉ cho thấy đường xử lý sinh nội dung cơ bản đã kết nối, không có nghĩa sửa tệp, thực thi lệnh và mọi công cụ tích hợp đều khả dụng. Giữ xác nhận thủ công trong lần thử đầu tiên, không bật phê duyệt tự động.
Chuẩn bị
Trước khi bắt đầu, hãy đảm bảo bạn đã:
- Cài Node.js phiên bản
20trở lên; - Chuẩn bị terminal Bash, Zsh hoặc PowerShell;
- Tạo AGTCloud API Key trên trang API Keys;
- Sao chép ID mô hình mà Key hiện tại nhìn thấy và hỗ trợ Gemini Generate Content từ danh mục mô hình;
- Chuẩn bị thư mục thử nghiệm không chứa mã nhạy cảm hoặc thông tin xác thực của môi trường production.
MODEL_ID là giá trị giữ chỗ cần thay thế, không phải tên mô hình thực tế. Dùng ID mô hình mà API Key hiện tại nhìn thấy và hỗ trợ Gemini Generate Content.
Cài đặt Gemini CLI
Nên cài phiên bản ổn định hiện tại. Các cách cài đặt đều cung cấp cùng lệnh gemini.
Cài toàn cục bằng npm:
npm install -g @google/gemini-cliPhù hợp với macOS, Linux, WSL và Windows đã cài Node.js 20+.
Sau khi cài đặt, kiểm tra phiên bản:
gemini --versionNếu không tìm thấy lệnh, mở lại terminal và xác nhận thư mục lệnh npm toàn cục nằm trong PATH.
Cấu hình AGTCloud
Gemini CLI cần bốn biến môi trường: API Key, ID mô hình, địa chỉ Gemini API tùy chỉnh và phương thức xác thực Bearer.
Cấu hình tạm thời trong terminal hiện tại:
export GEMINI_API_KEY="your-api-key"
export GEMINI_MODEL="MODEL_ID"
export GOOGLE_GEMINI_BASE_URL="https://api.agtcloud.cn"
export GEMINI_API_KEY_AUTH_MECHANISM="bearer"Các biến này chỉ có hiệu lực trong phiên terminal hiện tại; cần đặt lại sau khi đóng terminal.
Giải thích cấu hình
| Biến môi trường | Mục đích |
|---|---|
GEMINI_API_KEY | AGTCloud API Key được tạo trên trang API Keys |
GEMINI_MODEL | ID mô hình mà Key hiện tại nhìn thấy và hỗ trợ Gemini Generate Content |
GOOGLE_GEMINI_BASE_URL | Địa chỉ Gemini API, dùng https://api.agtcloud.cn |
GEMINI_API_KEY_AUTH_MECHANISM | Đặt là bearer để gửi AGTCloud API Key qua Authorization Header |
Không thêm /v1 vào Base URL
Chỉ điền https://api.agtcloud.cn cho GOOGLE_GEMINI_BASE_URL. Gemini SDK nối tiếp /v1beta/models/{model}:generateContent; nếu điền https://api.agtcloud.cn/v1, đường dẫn cuối có thể thành /v1/v1beta/... không đúng.
Hướng dẫn này không đặt GOOGLE_GENAI_API_VERSION, để Gemini CLI dùng phiên bản mặc định v1beta của Gemini API. Cũng không ghi đường dẫn yêu cầu generateContent đầy đủ vào Base URL.
Lưu cấu hình cấp người dùng
Sau khi xác nhận cấu hình tạm thời hoạt động, có thể ghi các biến vào tệp .env cấp người dùng của Gemini CLI. Tệp có thể chứa API Key thật, không đưa vào kho mã.
Đường dẫn tệp cấp người dùng:
~/.gemini/.envNội dung tệp:
GEMINI_API_KEY=your-api-key
GEMINI_MODEL=MODEL_ID
GOOGLE_GEMINI_BASE_URL=https://api.agtcloud.cn
GEMINI_API_KEY_AUTH_MECHANISM=bearerGemini CLI tìm tệp môi trường trong thư mục làm việc hiện tại và các thư mục cha. .env hoặc .gemini/.env gần hơn trong dự án có thể được ưu tiên hơn cấu hình cấp người dùng; khi cấu hình không có hiệu lực, kiểm tra các tệp này trước.
Cố định phương thức xác thực API Key
Gemini CLI hỗ trợ nhiều cách xác thực Google. Khi dùng qua AGTCloud, chọn Gemini API Key, không chọn đăng nhập Google hoặc Vertex AI.
Hợp nhất cấu hình dưới đây vào settings.json cấp người dùng; không ghi đè chủ đề, quyền hoặc thiết lập khác đã có:
{
"security": {
"auth": {
"selectedType": "gemini-api-key"
}
}
}Vị trí tệp cấu hình:
| Hệ điều hành | Đường dẫn |
|---|---|
| macOS / Linux / WSL | ~/.gemini/settings.json |
| Windows | %USERPROFILE%\.gemini\settings.json |
Sau khi lưu, thoát hoàn toàn rồi khởi chạy lại Gemini CLI. selectedType chọn quy trình xác thực API Key, còn GEMINI_API_KEY_AUTH_MECHANISM=bearer tạo Bearer Header theo yêu cầu AGTCloud; hai thiết lập không thay thế nhau.
Chọn mô hình
Mô hình mặc định do GEMINI_MODEL quyết định. Để chỉ định mô hình tạm thời cho một phiên, chạy:
gemini --model MODEL_ID/model trong phiên tương tác có thể là điểm vào bổ trợ, nhưng danh sách không nhất thiết tự chứa mọi mô hình do API Key AGTCloud hiện tại trả về. Nếu mô hình không tồn tại hoặc không hiển thị, sao chép lại ID đầy đủ từ danh mục mô hình và ưu tiên chỉ định qua GEMINI_MODEL hoặc --model.
Kiểm tra kết nối
Thử sinh nội dung tối thiểu
Trong thư mục không chứa tệp nhạy cảm, chạy:
gemini -p "Chỉ trả lời: Kết nối AGTCloud thành công." --output-format jsonNếu trả về JSON có nội dung trả lời, Base URL, API Key, xác thực Bearer và ID mô hình đã thiết lập kết nối cơ bản.
Thử đọc tệp
Vào dự án thử nghiệm an toàn có README.md:
gemini -p "@README.md Hãy tóm tắt mục đích dự án thành ba ý, không sửa bất kỳ tệp nào." --output-format jsonNếu đọc và tóm tắt bình thường, không sửa tệp, đường xử lý phân tích tệp cơ bản hoạt động.
Khởi chạy phiên tương tác
Sau khi các bước kiểm tra cơ bản đạt, chạy:
geminiTrong lần đầu, giữ phê duyệt thủ công mặc định. Kiểm tra từng thao tác trên tệp và lệnh mà Gemini CLI dự định thực hiện, không bật ngay chế độ phê duyệt tự động.
Câu hỏi thường gặp
| Hiện tượng | Kiểm tra trước | Cách xử lý |
|---|---|---|
Không tìm thấy lệnh gemini | Phiên bản Node.js, kết quả cài đặt và PATH | Xác nhận Node.js là 20+, mở lại terminal và chạy gemini --version |
| Vẫn yêu cầu đăng nhập Google | security.auth.selectedType | Hợp nhất cấu hình gemini-api-key, thoát rồi khởi chạy lại Gemini CLI |
| Biến môi trường không có hiệu lực | Tệp môi trường trong thư mục hiện tại, thư mục cha và thư mục người dùng | Kiểm tra .env hoặc .gemini/.env có ưu tiên cao hơn; không in API Key đầy đủ |
Trả về 401 | API Key và biến Bearer | Dùng API Key hợp lệ, xác nhận GEMINI_API_KEY_AUTH_MECHANISM=bearer |
Trả về 403 | Quyền Key và phạm vi mô hình hiển thị | Xác nhận Key hiện tại truy cập được mô hình và kiểm tra trạng thái tài khoản |
Trả về 404 | Base URL, phiên bản API và ID mô hình | Dùng https://api.agtcloud.cn, không thêm /v1, /v1beta hoặc Endpoint đầy đủ |
| Yêu cầu đi đến Vertex AI / Google | Biến môi trường Google gây xung đột | Xóa hoặc tắt GOOGLE_GENAI_USE_VERTEXAI, GOOGLE_GENAI_USE_GCA, GOOGLE_API_KEY và cấu hình khác ngoài hướng dẫn này |
| Mô hình không khả dụng | GEMINI_MODEL hoặc --model | Sao chép lại ID đầy đủ hỗ trợ Gemini Generate Content từ danh mục mô hình |
| Văn bản hoạt động nhưng công cụ thất bại | Khả năng mô hình và tương thích Gemini Function Call | Tạm giới hạn ở hội thoại thông thường và phân tích chỉ đọc, rồi kiểm tra khả năng gọi công cụ theo lỗi thực tế |
| Cấu hình Bearer không dùng được | Phiên bản Gemini CLI | Cập nhật bản ổn định hiện tại, không sửa mã cài đặt cục bộ hoặc ghi Key thủ công vào Header tùy chỉnh |
Nếu chưa xác định được vấn đề, ghi lại thời gian yêu cầu, API Base URL, ID mô hình, phiên bản Gemini CLI, trạng thái HTTP và lỗi đã loại thông tin nhạy cảm, rồi xem Lỗi và khắc phục sự cố. Không gửi API Key đầy đủ hoặc tệp .env chứa thông tin xác thực.
Khuyến nghị bảo mật
- Không ghi API Key thật vào kho mã, script dùng chung, ảnh chụp màn hình, nhật ký hoặc lịch sử trò chuyện;
- Nên kiểm tra bằng biến môi trường tạm thời trước, chỉ lưu cấu hình cấp người dùng sau khi thành công;
- Đặt quyền truy cập cục bộ phù hợp cho
.envvà tránh đồng bộ lên dịch vụ lưu trữ công khai; - Giữ phê duyệt thủ công trong lần đầu dùng công cụ và kiểm tra trên dự án ngoài môi trường production;
- Trước khi chia sẻ thông tin khắc phục sự cố, xóa Key đầy đủ, tên người dùng, đường dẫn cục bộ và mã nguồn nghiệp vụ.