Gemini CLI
(blog.google)- Khi nhà phát triển có thể gọi trực tiếp Gemini ngay trong terminal, họ có thể gắn không chỉ việc lập trình mà cả tạo nội dung, giải quyết vấn đề, nghiên cứu chuyên sâu và quản lý tác vụ vào workflow dòng lệnh
- Khi đăng nhập bằng tài khoản Google cá nhân, thông qua giấy phép Gemini Code Assist miễn phí, có thể sử dụng Gemini 2.5 Pro và cửa sổ ngữ cảnh 1 triệu token
- Trong giai đoạn preview, hạn mức miễn phí là 60 yêu cầu model mỗi phút và 1.000 yêu cầu mỗi ngày, tập trung vào việc giảm khả năng chạm giới hạn trong luồng phát triển cá nhân thông thường
- Được phát hành dưới dạng mã nguồn mở theo Apache 2.0, cho phép rà soát mã, kiểm tra tác động bảo mật, báo lỗi, đề xuất tính năng và đóng góp mã
- Chia sẻ công nghệ với Gemini Code Assist, cung cấp lập trình AI dựa trên prompt ở cả VS Code và terminal; chế độ agent được cung cấp không tính thêm phí trong các gói miễn phí, Standard và Enterprise
Agent Gemini dùng trong terminal
- Gemini CLI là một agent AI mã nguồn mở cho phép sử dụng Gemini trực tiếp trong terminal
- Cung cấp một đường dẫn gọn nhẹ để gửi prompt tới model, với thế mạnh ở các tác vụ lập trình
- Ngoài lập trình, có thể dùng cho các tác vụ sau
- Tạo nội dung
- Giải quyết vấn đề
- Nghiên cứu chuyên sâu
- Quản lý tác vụ
- Được tích hợp với Gemini Code Assist, cho phép người dùng các gói Code Assist miễn phí, Standard và Enterprise đều có thể sử dụng lập trình AI dựa trên prompt trong VS Code và Gemini CLI
Hạn mức sử dụng miễn phí và lựa chọn tính phí
- Để dùng Gemini CLI miễn phí, chỉ cần đăng nhập bằng tài khoản Google cá nhân để nhận giấy phép Gemini Code Assist miễn phí
- Giấy phép miễn phí bao gồm
- Quyền truy cập Gemini 2.5 Pro
- Cửa sổ ngữ cảnh 1 triệu token
- 60 yêu cầu model mỗi phút
- 1.000 yêu cầu model mỗi ngày
- Nhà phát triển chuyên nghiệp cần chạy nhiều agent cùng lúc hoặc cần dùng một model cụ thể có thể chọn tính phí theo mức sử dụng hoặc giấy phép trả phí
- Khóa Google AI Studio
- Khóa Vertex AI
- Giấy phép Gemini Code Assist Standard hoặc Enterprise
Tính năng dòng lệnh và tự động hóa
- Gemini CLI hiện ở trạng thái preview, cho phép viết mã và debug bằng ngôn ngữ tự nhiên, đồng thời đơn giản hóa workflow
- Các tính năng được hỗ trợ gồm
- Hiểu mã
- Thao tác tệp
- Thực thi lệnh
- Giải quyết vấn đề động
- Thông qua các công cụ tích hợp, có thể đưa ngữ cảnh web, phần mở rộng và luồng tự động hóa vào trong CLI
- Dùng Google Search để grounding prompt, lấy trang web và cung cấp ngữ cảnh bên ngoài theo thời gian thực cho model
- Mở rộng khả năng của Gemini CLI bằng Model Context Protocol(MCP) hoặc các phần mở rộng được đóng gói sẵn
- Tùy chỉnh prompt và chỉ dẫn theo nhu cầu người dùng và workflow
- Gọi Gemini CLI ở chế độ không tương tác trong script để tự động hóa tác vụ và tích hợp vào workflow hiện có
Mã nguồn mở và khả năng mở rộng
- Gemini CLI được phát hành dưới dạng mã nguồn mở hoàn toàn theo giấy phép Apache 2.0
- Nhà phát triển có thể kiểm tra mã để hiểu cách hoạt động và xác định tác động bảo mật
- Có thể tham gia trên kho GitHub theo các cách sau
- Báo cáo lỗi
- Đề xuất tính năng
- Cải thiện thực hành bảo mật
- Gửi cải tiến mã
- Các kênh tham gia dự án gồm
- Khả năng mở rộng dựa trên MCP, system prompt thông qua GEMINI.md, cùng thiết lập cá nhân và đội nhóm
Công nghệ chia sẻ với Gemini Code Assist
- Gemini Code Assist là trợ lý lập trình AI của Google dành cho sinh viên, lập trình viên theo sở thích và nhà phát triển chuyên nghiệp
- Chia sẻ cùng công nghệ với Gemini CLI; trong VS Code, có thể nhập prompt vào cửa sổ chat ở chế độ agent để giao việc
- Viết test
- Sửa lỗi
- Triển khai tính năng
- Di chuyển mã
- Agent của Code Assist có thể tạo kế hoạch nhiều bước dựa trên prompt, tự phục hồi khỏi các hướng triển khai thất bại và đề xuất giải pháp
- Chế độ agent của Gemini Code Assist được cung cấp không tính thêm phí cho các gói miễn phí, Standard và Enterprise thông qua Insiders channel
- Có thể cài đặt Gemini CLI từ kho GitHub để bắt đầu
1 bình luận
Các ý kiến trên Hacker News
Tôi đang phụ trách việc này. Hiện mức sử dụng đang tăng theo đường cong rất dốc, nên hôm nay các TPU khá vất vả
Cảm ơn mọi phản hồi cho đến nay; nhóm đang đọc luồng thảo luận này. Hãy tiếp tục gửi lỗi hoặc yêu cầu tính năng, chúng tôi sẽ xem tất cả
Vì tò mò, tôi cài Gemini CLI rồi trỏ nó vào dự án Ruby; chỉ với một yêu cầu là việc chuyển đổi đã xong, và từ “thử xem sao” đến chạy được thật chỉ mất 5 phút, khá ấn tượng
Nhờ vậy Claude Code hoạt động giống một mô hình đa agent phân cấp hơn là một agent đơn lẻ. Tôi tò mò liệu việc không đưa tính năng này vào có phải là chủ ý không, và nếu Gemini CLI cũng có thì tôi chắc chắn muốn thử
Bước tiếp theo là định nghĩa prompt tùy chỉnh, bộ công cụ và ngữ cảnh cho từng tác vụ lặp lại, rồi để chúng xuất hiện như công cụ của agent chính. Ví dụ, nếu có một công cụ như
create_new_page, ta có thể đưa quy trình tạo trang vào prompt, và agent chính có thể ủy quyền như một tác vụ được định nghĩa rõ ràng mà không làm rối ngữ cảnh của nó bằng các bước chi tiếtNhững yêu cầu có tác động cao gồm quyền dựa trên pattern như
Bash(git:)cho phép git nhưng chặn rm; giới hạn phạm vi đường dẫn nhưWrite(logs/.txt); cờ quyền CLI theo phiên như--allowedTools "Read,Bash(npm test)" --deniedTools "Write"; thứ tự ưu tiên cho phép/từ chối trong đó từ chối tường minh được ưu tiên hơn cho phép chung; và phân cấp tệp cấu hình theo thứ tự system → user → projectCác cải tiến có tác động trung bình gồm lọc tham số lệnh để cho phép
git commitnhưng chặngit --exec-path=/bin/sh; định dạng cấu hình hỗ trợ cả mảng đơn giản lẫn đối tượng quyền có cấu trúc;gemini permissions listđể debug các quyền thực sự đang hoạt động; và cấu hìnhenvcấp cao nhất cho endpoint OTEL hoặc API keyEngine quyền là phần cốt lõi, và nếu có thể diễn đạt “cho phép X nhưng cấm Y bên trong X” thì phần lớn use case nâng cao sẽ mở ra
Dù có ngữ cảnh 1 triệu token, việc định nghĩa ranh giới vẫn hữu ích trong các dự án lớn. Thường thì ranh giới tồn tại dưới một hình thức nào đó, nhưng coding agent không thể biết chính xác
Nếu có thể dùng một định dạng YAML đơn giản để chỉ định các module, vị trí trong cây mã nguồn và API của các module khác mà chúng tương tác, thì sẽ dễ biến nó thành ngữ cảnh thường xuyên nằm trong 1 triệu token. Khi agent xác định rằng nó cần làm việc trong ngữ cảnh của một module cụ thể, nó có thể tạo một cửa sổ ngữ cảnh mới chỉ chứa đúng module đó, xử lý codebase lớn như một codebase nhỏ; đây sẽ là lĩnh vực mà Gemini đặc biệt mạnh
GOOGLE_CLOUD_PROJECT environment variable not found. Add that to your .env and try again, no reload needed!Ít nhất tài liệu cần giải thích tốt hơn cách lấy biến môi trường này. Nếu không dùng GCP thì hoàn toàn không trực quan. Trường hợp xấu nhất là người dùng trả tiền cho Gemini lại không truy cập được, còn người dùng Google thông thường thì truy cập được
Tôi đã dùng Claude Code 4 Opus khá thành công trên một codebase Rust lớn, nhưng đôi khi thấy bực với các tác vụ phức tạp. Hôm nay tôi thử Gemini CLI; cài đặt thì dễ, nhưng gần như là thất bại
Khả năng sửa mã Rust sao cho biên dịch được kém hơn Claude một cách rõ rệt
Tuy vậy Gemini có một lần xuất ra câu này, có lẽ là điểm nhấn trong ngày: “Tôi đã làm mã rối tung hoàn toàn. Bây giờ tôi sẽ hoàn tác mọi thay đổi đã thực hiện trong codebase và bắt đầu lại.” Khả năng tự nhận thức và sẵn sàng hủy bỏ công việc thật tuyệt
Về cơ bản nó quá tự tin nghiêm trọng, và nếu không đổi system prompt thì dùng rất nhiều câu cảm thán. Có lẽ trong quá trình huấn luyện nó đã học được, hoặc tự phát hiện ra, rằng khẳng định tích cực tạo ra kết quả tốt hơn
Ban đầu nó tự thực hiện tìm kiếm rồi thêm
echovào từng mục; sau đó thử dùngpytrendsnhưng thất bại; rồi thử một dịch vụ trả phí khác và thất bại; sau thêm vài cách khác cũng thất bại, cuối cùng bỏ cuộc và tuyên bố thất bạiVì Gemini có thể tự chạy vòng lặp sửa/chạy nhờ sức mạnh của mình nên có tiềm năng trở nên hữu ích, nhưng cho đến giờ thì dưới kỳ vọng
Nhưng phiên bản CLI không tạo được mã nhất quán hoặc sửa được một số vấn đề trong codebase Rust. Hy vọng một ngày nào đó nó sẽ trở nên xuất sắc
Claude xử lý tốt, nhưng tôi không thích phần mã. Mã Gemini tạo ra tốt hơn nhiều, nhưng cuối cùng lại không kết nối được các phần với nhau
Vài ngày trước tôi đã thử vibe coding hoàn toàn một web app theo dõi cổ phiếu đơn giản dựa trên Streamlit Python bằng Claude Code, và cho đến trước khi nó không chạy được nữa thì mọi thứ cực kỳ ổn. Có vẻ khi vượt qua một ngưỡng kích thước dự án nào đó thì nó không còn sửa được bug nữa
Khi thử làm điều tương tự bằng Gemini CLI, ngưỡng kích thước dự án mà nó còn hoạt động tốt có vẻ lớn hơn khá nhiều. Ở điểm Claude Code bắt đầu lạc hướng, tôi bảo Gemini CLI “phân tích codebase và sửa tất cả bug”, rồi để nó sửa thêm vài bug nữa thì app cứ thế chạy được
Đúng là đang sống trong tương lai
Mấy tuần qua tôi đang dùng Claude cho dự án phụ, và thường đang vào nhịp trong khâu lập kế hoạch hoặc debug thì đến lúc sẵn sàng triển khai lại hết không gian ngữ cảnh. Dù cố dùng tốt chỉ thị
/compact, khi bắt đầu lại thì những sắc thái ngữ cảnh tinh tế bị mất và chất lượng triển khai kém điTôi muốn thử xem cửa sổ ngữ cảnh lớn hơn của Gemini có giải quyết được vấn đề này không
Đôi khi chỉ dùng Claude cũng được, nhưng phải lặp lại việc lập kế hoạch và tích hợp, đồng thời ghi lại mọi thứ rồi lặp lại tiếp
Nếu Gemini CLI là mã nguồn mở thì có vẻ có thể cắm bất kỳ model nào vào. Có thể thấy con đường để LLM trở thành hàng hóa phổ thông. Mọi Big Tech đều muốn LLM của mình là kẻ chiến thắng còn phần còn lại biến mất, nhưng so với việc đối thủ thắng, họ hẳn sẽ thích một thế giới hàng hóa phổ thông hơn nhiều
Nếu cách sử dụng trong tương lai gần với CLI agent, tôi không rõ các lớp UI hào nhoáng sẽ dẫn tới thắng-tất cả như thế nào. OpenAI đang dẫn trước về số người dùng chỉ nhờ thương hiệu ChatGPT, nhưng với tư cách UI cho công việc thực tế thì ChatGPT rõ ràng kém hơn
Lấy tài liệu đó làm điểm xuất phát thì AI có thể có ngữ cảnh để làm việc với bất kỳ module nào. Nếu không thể tài liệu hóa một module như vậy trong vòng 100 dòng thì đã đến lúc refactor
Nếu cửa sổ ngữ cảnh của Claude không đủ để xử lý một module cụ thể thì nhiều khả năng lập trình viên con người cũng không xử lý nổi. Điều quan trọng là nhắm LLM chính xác vào ngữ cảnh liên quan
Sẽ rất thú vị xem liệu nhu cầu DRAM có tăng mạnh hơn bình thường trong tương lai không. Có thể là vì nhiều phần mềm hơn được vibe coding, hoặc được tạo ra bằng các biến thể của nó
Nếu dùng cái này thì toàn bộ dữ liệu mã nguồn sẽ được gửi đến Google. Điều khoản ghi như sau: https://developers.google.com/gemini-code-assist/resources/p...
Khi sử dụng Gemini Code Assist cho cá nhân, Google thu thập prompt, mã liên quan, đầu ra được tạo, chỉnh sửa mã, thông tin sử dụng các tính năng liên quan và phản hồi để cung cấp, cải thiện và phát triển các sản phẩm, dịch vụ của Google cũng như công nghệ máy học
Để cải thiện chất lượng và sản phẩm, người kiểm duyệt là con người có thể đọc, chú thích và xử lý dữ liệu trên. Trước khi kiểm duyệt, Google cho biết họ tách dữ liệu khỏi Tài khoản Google và lưu trữ bản sao đã tách đó tối đa 18 tháng. Chính sách cũng nói không nên gửi thông tin hoặc dữ liệu mật mà bạn không muốn người kiểm duyệt xem, hoặc không muốn Google dùng để cải thiện sản phẩm, dịch vụ và công nghệ máy học
Tài liệu viết: “Nếu không muốn dữ liệu này được sử dụng để cải thiện các mô hình máy học của Google, bạn có thể opt-out theo các bước thiết lập Gemini Code Assist cho cá nhân”, và liên kết là https://developers.google.com/gemini-code-assist/docs/set-up...
Nếu trả tiền cho Code Assist thì dữ liệu không được dùng để cải thiện. Trường hợp dùng khóa Gemini API của tài khoản trả theo mức sử dụng cũng không dùng để cải thiện. Điều này chỉ áp dụng khi dùng tài khoản người tiêu dùng không trả phí và không opt-out. Khác với mô tả ban đầu
Kể cả khi đang dùng gói Pro Plus Ultra MegaMax Extreme Gold đắt đỏ cũng vậy. Hy vọng họ đang làm cho chuyện này rõ ràng hơn
Họ đã tổng hợp điều khoản dịch vụ và chính sách dữ liệu theo từng loại tài khoản, đồng thời tạo một tài liệu duy nhất có FAQ xử lý các câu hỏi trong thread này: https://github.com/google-gemini/gemini-cli/blob/main/docs/t...
configuration.md. Ở đó liệt kê các mục không thu thập gồm thông tin nhận dạng cá nhân, nội dung prompt và phản hồi, cũng như nội dung các tệp mà CLI đọc hoặc ghihttps://github.com/google-gemini/gemini-cli/blob/0915bf7d677...
https://huggingface.co/jartine/gemma-2-27b-it-llamafile
Theo báo cáo, 32% tổ chức đã triển khai vào môi trường vận hành: https://www.wiz.io/reports/the-state-of-ai-in-the-cloud-2025
Tôi rất thích cách dòng sản phẩm Gemini của Google bị phân mảnh. Tôi là thuê bao Pro, giờ mới biết rằng muốn có thêm hạn mức sử dụng thì phải là người dùng Gemini Code Assist Standard hoặc Enterprise
Tôi thậm chí còn không biết là có thứ đó. Là một người dùng Google bình thường thì tôi được một tầng sử dụng khá hào phóng, nhưng dù trả tiền cho “Gemini” thì cũng không nhận được lợi ích gì cho “Gemini CLI”. Vui thật
Tôi thích Gemini 2.5 Pro, và gần đây đã thử nhiều sản phẩm AI, bao gồm gói Gemini Pro, để tìm một trợ lý chat AI dùng hằng ngày. Đồng thời tôi cũng muốn giảm chi tiêu và số lượng gói đăng ký
Gói Gemini Pro nằm trong Google One nên tiện nếu dùng Google Drive, nhưng tôi đã có gói iCloud tích hợp sâu với iOS, nên không có kế hoạch chuyển sang Drive rồi mất các tính năng iCloud khác như mật khẩu
UI chat của Gemini tụt khá xa so với client OpenAI ChatGPT cho macOS. NotebookLM rất tốt cho việc tóm tắt tài liệu, nhưng không được tích hợp với chat Gemini, nên có cảm giác cứ phải qua lại giữa các sản phẩm Google
Cuối cùng tôi đăng ký Raycast AI. Vì ứng dụng chat được tích hợp tốt với các tính năng Raycast khác và cũng cho thử các model. Tôi không nhận được model mới nhất ngay lập tức, nhưng nó cho tôi một trải nghiệm tích hợp trong quy trình làm việc
Google bị dàn trải trên quá nhiều sản phẩm, nên trong các tác vụ thông thường họ thua OpenAI, còn trong coding thì thua Anthropic về trải nghiệm người dùng. Chỉ trong vài tháng, họ cố bắt kịp v0 bằng Google Stitch, GH Copilot/Cursor bằng một plugin VSCode còn non, và giờ là bắt kịp Claude Code bằng thứ này, nhưng tất cả trông như những side project sắp chết
Có Vertex, nơi host một số model, nhưng tôi không hiểu nó khác gì với cloud của chính Google. API cũng bị tách làm hai tùy theo cấp độ dự án. Điều này hoàn toàn trái ngược với những gì người ta kỳ vọng ở một nhà cung cấp AI: có thể bắt đầu nhỏ và không gặp rào cản bất kể quy mô dự án
Rốt cuộc, ngay khi dự án lớn lên thì phải chuyển từ Google AI Studio API sang Vertex API, tức là Google đã tạo ra một giải pháp API không mở rộng được. API tương thích OpenAI cũng không phải lúc nào cũng hoạt động tốt, và nhiều công cụ phụ thuộc vào nó cũng hay bị hỏng
Các sản phẩm Google AI cần được đơn giản hóa hoặc hợp nhất là Jules vs Gemini CLI, Vertex API và Google AI Studio API
Vì Vertex phụ thuộc vào Google Cloud, ứng dụng còn phải thay đổi cả các giá trị này, khiến dự án phức tạp hơn:
Gemini 2.5 Pro là model tốt nhất tôi từng dùng, và cá nhân tôi thấy còn hơn cả o3, nhưng không có cách nào kiểu một gói đăng ký đơn giản để có toàn quyền truy cập như Claude hay Cursor
Phía người dùng doanh nghiệp cũng vậy, và mảng đó thì OpenAI đang nắm rất chắc
Có vẻ ai đó đã học được rằng chúng ta thích CLI, rồi kết luận rằng vì thế CLI phải thu thêm tiền
Cách обход là gắn vài MCP vào GUI để dùng, nhưng tôi không thích vì điều hướng cửa sổ chậm chạp hơn so với điều hướng trong terminal multiplexer
Tôi đã render system prompt thành Gist: https://gist.github.com/simonw/9e5f13665b3112cea00035df7da69...
Có thêm ghi chú ở đây: https://simonwillison.net/2025/Jun/25/gemini-cli/
Thật tiếc, giá mà cái này được viết bằng Go hoặc Rust thì tốt biết mấy. Mong là dùng một ngôn ngữ có thể tạo binary thực thi đơn lẻ, không cần cài runtime như Node
Dù sao chương trình cũng không thực hiện tính toán nặng, và miễn là không phạm những “tội ác lập trình” lộ liễu thì trên phần cứng hiện đại chắc không có vấn đề gì
Lập luận duy nhất tôi nghĩ ra được chỉ có vậy, nhưng về nguyên tắc thì một ngôn ngữ như Go rất hợp với trường hợp sử dụng này
Dù bên nào thì cũng không quá quan trọng. Theo trải nghiệm rất hạn chế của tôi với Node, việc cài đặt, đóng gói và cô lập đã được trau chuốt khá tốt
https://bun.sh/docs/bundler/executables
https://docs.deno.com/runtime/reference/cli/compile/
Tôi chưa kiểm chứng xem có thực sự chạy không, nhưng nếu là mã Node bình thường, không có extension kỳ lạ, thì ít nhất với Bun có vẻ sẽ được. Không biết kích thước file thực thi sẽ thế nào so với Go hay Rust
Hiện thông báo “Đăng nhập thất bại. Hãy kiểm tra xem tài khoản Google của bạn có phải tài khoản Workspace hay không”
Tôi tự hỏi tầm nhìn của Gemini CLI có phải chỉ nhắm tới người dùng phi thương mại hay không. Tôi đã dùng tài khoản Workspace từ thời GSuite, và thứ tôi muốn chỉ là Gmail với domain riêng, nhưng cứ có cảm giác bị các sản phẩm Google trừng phạt liên tục
Tôi đã mất dữ liệu YouTube và dữ liệu Fitbit, một số gói đăng ký thì không thể chọn phiên bản khác, và từ góc nhìn người dùng cuối thì mọi thứ trông hoàn toàn ngẫu nhiên tùy từng dịch vụ. Giờ vì là tài khoản Workspace nên tôi cũng không dùng được Gemini CLI cho công việc phát triển phần mềm một người của mình. Cách tiếp cận này trông như chủ động đối địch với những người dùng trả phí trung thành
GOOGLE_CLOUD_PROJECT: https://github.com/google-gemini/gemini-cli/issues/1434Và còn cần nhiều thứ khác nữa
Tôi đã dùng cái này khoảng một tháng và nó đúng là quái vật. Chủ yếu vì 2.5 Pro ở đẳng cấp hàng đầu và tận dụng tốt cửa sổ ngữ cảnh khổng lồ 1 triệu token
Các công cụ khác thường cố nén trước ngữ cảnh hoặc chỉ đọc một phần file. Tôi đã ném vào một codebase rất lớn mà nó vẫn dễ dàng khám phá và học được
Tôi thật sự chỉ gõ
hellomà nhận được kết quả này:API Error: {"error":{"message":"{\n \"error\": {\n \"code\": 429,\n \"message\": \"Resource has been exhausted (e.g. check quota).\",\n \"status\": \"RESOURCE_EXHAUSTED\"\n }\n}\n","code":429,"status":"Too Many Requests"}}]Nó bảo thử lại sau, hoặc nếu muốn tăng hạn mức thì yêu cầu tăng quota trong AI Studio, hoặc chuyển sang phương thức
/authkhác. Trên màn hình thì dòngPolishing the pixels...đã hiện được 84 giâyUI quản trị và tài liệu giống như một mê cung tra tấn. Tôi cứ nghĩ ra hàng loạt cách dùng hai tiếng cuộc đời mình tốt hơn nhiều