1 điểm bởi GN⁺ 2025-06-26 | 1 bình luận | Chia sẻ qua WhatsApp
  • 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út1.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í

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

 
GN⁺ 2025-06-26
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ả

    • Chiều hôm qua tôi định chuyển một thuật toán viết bằng Ruby sang JavaScript thuần. Vì không biết Ruby nên tôi nhờ gpt-4.1 giúp, nhưng cứ sa mãi vào những ngõ cụt vô ích
      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
    • Claude Code có một tính năng thường bị bỏ qua nhưng tôi chưa thấy ở các công cụ agent khác. Công cụ gọi là sub-agent tạo một cửa sổ ngữ cảnh mới và để mô hình xử lý độc lập một tác vụ con được định nghĩa rõ rà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ết
    • Chuyển từ Claude Code sang thì thấy các tính năng cốt lõi có vẻ vững, nhưng để phù hợp với các use case doanh nghiệp thì nên tinh chỉnh thêm kiểm soát quyền. Đây là nhận xét dựa trên việc tôi lướt nhanh mã hiện tại
      Nhữ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 → project
      Các cải tiến có tác động trung bình gồm lọc tham số lệnh để cho phép git commit nhưng chặn git --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ình env cấp cao nhất cho endpoint OTEL hoặc API key
      Engine 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
    • Điều tôi thực sự muốn thấy ở một coding agent là khả năng, với tư cách kiến trúc sư, chính thức định nghĩa ranh giới module của phần mềm và để AI agent tuân theo cũng như tận dụng kiến trúc module đó
      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
    • Tôi là thành viên của một tổ chức đang trả phí dùng Gemini trong Google Workspace, nhưng nhận được thông báo 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

    • Gemini có một kiểu thất bại khá thú vị. Khi thay đổi nó tạo ra không chạy được, nó trả lời bằng những câu kỳ lạ giống con người như “Ừm, thật ngoài dự kiến”, rồi dù đang đi vào ngõ cụt vẫn tự tin tuyên bố “Tôi đã hiểu vấn đề! Bài kiểm tra cuối cùng sẽ vượt qua”
      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
    • Tôi yêu cầu một việc tương đối bình thường: “script hiển thị 5 truy vấn Google hàng đầu”
      Ban đầu nó tự thực hiện tìm kiếm rồi thêm echo vào từng mục; sau đó thử dùng pytrends như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ại
      Vì 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
    • Tôi cũng có trải nghiệm tương tự. Bình thường khi Claude Code bị kẹt, tôi dán toàn bộ mã vào Gemini Pro 2.5 để hỏi và đã vài lần giải được vấn đề, nên tôi khá 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 cũng làm y như vậy, bắt đầu lại từ đầu khi tình hình trở nên quá tệ. Tôi từng thấy điều đó khi việc chỉnh sửa vượt khỏi kiểm soát và làm hỏng mọi thứ
    • Tôi cũng vậy. Để thử nghiệm, tôi bảo nó triển khai một tính năng mới trong ứng dụng, và nó làm hỏng hoàn toàn, dùng cả những thứ như hàm chưa được định nghĩa. Sau vài lần báo lỗi và yêu cầu sửa, tôi bỏ cuộ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

    • Tôi tò mò sự khác biệt này liên quan đến kích thước cửa sổ ngữ cảnh đến mức nào. Cửa sổ của Gemini lớn gấp 5 lần Claude
      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 đi
      Tô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
    • Best practice hiện tại với Claude Code là giao các tác vụ nặng cho Gemini Pro 2.5 hoặc o3/o3pro. Nhờ hỗ trợ MCP, có thể làm khá mượt bằng các công cụ như Repo Prompt
      Đô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
    • Hãy để AI tài liệu hóa từng module bằng Markdown 100 dòng. Nó phải ở mức rất cao, không đưa chi tiết vào, chỉ cần chứa các con trỏ tới file liên quan để AI có thể tự tìm đế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
    • Tôi có cảm giác nếu làm prompt engineering tốt hơn và chỉ thị cụ thể hơn thì sẽ đạt hiệu quả nhiều hơn. Tôi không chắc “sửa tất cả bug” có hiệu quả như một use case thực tế hay không
    • Khi độ phức tạp thực sự xuất hiện, cách này sẽ sụp đổ, và khả năng cao là sẽ có rất nhiều code trùng lặp. Nếu tự viết thì hiệu suất bộ nhớ có thể đã tốt hơn khoảng gấp đôi
      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

    • Thực tế thì tinh tế hơn nhiều. Nếu dùng bản miễn phí của Code Assist, dữ liệu có thể được sử dụng trừ khi bạn opt-out, như ghi ở cuối tài liệu hỗ trợ được liên kết
      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
    • Cá nhân tôi thấy đây chính là phần gây bực bội nhất trong hệ sinh thái Gemini. 2.5 Pro rất có thể là mô hình tốt nhất hiện nay và tôi thực sự muốn dùng cho công việc, nhưng chính sách quyền riêng tư quá rối rắm và phân mảnh, khiến tôi phải mặc định rằng gần như không có bảo vệ quyền riêng tư nào
      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
    • Tôi nhận thấy chính sách quyền riêng tư của Gemini CLI gây khó hiểu tùy theo cách đăng nhập
      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...
    • Thông tin liên quan bị chôn dưới mục “Usage Statistics” trong 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 ghi
      https://github.com/google-gemini/gemini-cli/blob/0915bf7d677...
    • Mozilla và Google cung cấp một lựa chọn thay thế tên là gemmafile. Nó cho phép chạy họ mô hình Gemini mà Google gọi là Gemma dưới dạng một tệp cục bộ duy nhất, tách khỏi mạng và không cần dependency
      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

    • Google gặp cùng vấn đề như Microsoft. Họ có gần như mọi sản phẩm, nhưng thông điệp sản phẩm rối rắm lại làm loãng cả những thứ họ làm tố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
    • Đây là lý do nhiều startup và lập trình viên độc lập vẫn chuộng giải pháp không phải của Google, dù chất lượng Gemini 2.5 Pro cực kỳ cao. Google Cloud Dashboard rất lộn xộn và đã nhiều năm không được sửa
      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:
      # Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values  
      # with appropriate values for your project.  
      export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT  
      export GOOGLE_CLOUD_LOCATION=global  
      export GOOGLE_GENAI_USE_VERTEXAI=True  
      
    • Google đang bỏ lỡ quá lớn ở phần định giá
      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
    • Anthropic cũng tương tự. Nếu vài tháng gần đây chưa thay đổi, thì dù đăng ký Claude, muốn dùng Claude Code vẫn bị trừ vào mức dùng API được tính phí riêng ngoài gói đăng ký
      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
    • Cũng có gói thành viên AI ULTRA giá 300 USD/tháng. Điều thú vị là ngay cả thành viên Google One cũng không giải thích chi tiết được “tính năng bổ sung” là gì. Có lẽ vì nó có thể thay đổi mỗi khoảng một giờ
  • 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/

    • Vì Gemini CLI là mã nguồn mở, system prompt cũng có thể xem tại đây: https://github.com/google-gemini/gemini-cli/blob/4b5ca6bc777...
    • Buồn cười là nó khuyên dùng create-react-app, thứ đã bị bỏ mặc từ lâu và gần đây đã bị khai tử. Định vibe coding một ứng dụng ngay từ ngày đầu trên nền nợ kỹ thuật à
    • Nói là chỉ dùng đường dẫn tuyệt đối, nhưng ví dụ file tạm lại dùng đường dẫn tương đối. Hay thật
    • Chắc lúc nào cũng cực kỳ bận vì phải review các công cụ mới. Tôi tò mò không biết làm sao mà lại thành ra làm việc này
  • 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

    • Những dự án kiểu này cần cập nhật thường xuyên, nên có cơ chế tự động như npm hay pip có lẽ sẽ dễ hơn
      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
    • Cứ bảo Gemini CLI viết lại chính nó bằng ngôn ngữ bạn muốn là được
    • Cái này không hẳn là để tạo ra một sản phẩm chất lượng cao, mà giống như để nói rằng vì các công ty AI khác có công cụ CLI nên chúng tôi cũng có
    • Trong khi đó OpenAI đang bỏ TypeScript để viết lại Codex CLI bằng Rust: https://analyticsindiamag.com/global-tech/openai-is-ditching...
      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
    • Có vẻ có thể tạo file thực thi độc lập bằng Bun hoặc Deno:
      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

  • 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

    • Lần gần đây tôi dùng trong Cursor, nó làm hỏng import của một file Python lớn. Claude thì chưa từng bị vậy. Không biết bạn có gặp vấn đề kỳ lạ nào khi dùng Gemini không. Hôm nay tôi định thử CLI nên khá háo hức
    • Tôi tò mò workflow của bạn như thế nào
  • Tôi thật sự chỉ gõ hello mà 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 /auth khác. Trên màn hình thì dòng Polishing the pixels... đã hiện được 84 giây

    • Tôi cũng gặp đúng vấn đề đó. Không được ngay cả với API key vốn chạy tốt trong Aider, và cũng không được với giấy phép Gemini Code Assist Standard
      UI 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
    • Vấn đề này lẽ ra đã được giải quyết: https://github.com/google-gemini/gemini-cli/discussions/2064
    • Tôi dùng Gemini bằng API key và cũng gặp chính xác lỗi tương tự ở đây
    • Tôi cũng vậy. Tôi cũng có key biến môi trường dùng cho Aider. Nhân tiện, dạo này aider+gemini cũng chậm đến mức đau khổ