26 điểm bởi GN⁺ 2025-11-28 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp
  • Gemini CLI là trợ lý AI mã nguồn mở cho phép sử dụng trực tiếp các mô hình Gemini của Google trong terminal, một công cụ dòng lệnh tương tác có thể viết mã, gỡ lỗi và tự động hóa tác vụ bằng lệnh ngôn ngữ tự nhiên
  • Khoảng 30 mẹo chuyên sâu đề cập đến các tính năng nâng cao như quản lý ngữ cảnh liên tục bằng GEMINI.md, lệnh tùy chỉnh, mở rộng máy chủ MCP, bộ nhớ, khôi phục checkpoint, v.v.
  • Cung cấp các tính năng tối ưu hóa quy trình phát triển như tham chiếu tệp/hình ảnh (@), chế độ YOLO (tự động phê duyệt), chạy headless, làm việc với nhiều thư mục và tích hợp IDE (VS Code)
  • Bao gồm các tính năng mới tập trung vào tự động hóa, quan sát và khả năng mở rộng như GitHub Action, tiện ích mở rộng (Extensions), telemetry và token caching
  • Gemini CLI đang tiến hóa vượt khỏi một công cụ chat AI đơn thuần để trở thành nền tảng phát triển tác tử tích hợp điều khiển toàn bộ môi trường phát triển

Tổng quan về Gemini CLI

  • Gemini CLI là giao diện dòng lệnh dựa trên AI cho phép sử dụng trực tiếp các mô hình Google Gemini trong terminal
    • Được xây dựng bằng Node.js/TypeScript và hoạt động trên mọi hệ điều hành chính
    • Khi nhập lệnh bằng ngôn ngữ tự nhiên, công cụ có thể thực hiện các tác vụ nhiều bước như tạo mã, gỡ lỗi, cấu hình hệ thống
  • Có thể cài đặt bằng npm install -g @google/gemini-cli hoặc npx @google/gemini-cli
  • Hỗ trợ xác thực bằng đăng nhập tài khoản Google (miễn phí) hoặc API key (trả phí/doanh nghiệp)
    • Tài khoản miễn phí cho phép khoảng 60 yêu cầu mỗi phút và 1.000 yêu cầu mỗi ngày
    • Khi dùng API key, khả năng bảo vệ dữ liệu được tăng cường và áp dụng chính sách lưu giữ log
  • Chạy mặc định bằng lệnh gemini, đồng thời hỗ trợ lệnh / (điều khiển phiên) và lệnh ! (thực thi shell)
    • Theo mặc định, chế độ an toàn được bật để yêu cầu người dùng phê duyệt (Y/n) khi hệ thống sắp bị thay đổi

Tip 1 — Quản lý ngữ cảnh liên tục qua GEMINI.md

  • Lưu hướng dẫn theo dự án hoặc thông tin nền vào tệp GEMINI.md để AI luôn phản hồi trong cùng một ngữ cảnh
    • Ví dụ: phong cách lập trình, kiến trúc, quy tắc hàm
  • Hợp nhất theo thứ bậc giữa tệp toàn cục (~/.gemini/GEMINI.md) và tệp theo dự án (.gemini/GEMINI.md)
  • Dùng /memory show để xem ngữ cảnh đang được nạp, và /memory refresh để làm mới
  • Có thể tạo mẫu mặc định bằng lệnh /init, đồng thời hỗ trợ nạp nhiều tệp bằng @include

Tip 2 — Tạo lệnh slash tùy chỉnh

  • Định nghĩa lệnh tùy chỉnh bằng tệp TOML để tự động hóa các công việc lặp lại
    • Ví dụ: /test:gen → tạo bài kiểm thử Jest dựa trên yêu cầu
  • Có thể đăng ký ở cấp toàn cục (~/.gemini/commands/) hoặc theo dự án (.gemini/commands/)
  • Các lệnh hoạt động dựa trên mẫu prompt và có thể chia sẻ giữa các thành viên trong nhóm
  • Hữu ích cho chuẩn hóa workflow như định dạng nhất quán hoặc gán vai trò (ví dụ: /review:security)

Tip 3 — Mở rộng Gemini bằng máy chủ MCP

  • Tích hợp với hệ thống bên ngoài thông qua máy chủ Model Context Protocol (MCP)
    • Ví dụ: Figma, Google Docs, Clipboard, cơ sở dữ liệu nội bộ
  • Đăng ký máy chủ bằng lệnh gemini mcp add, cấu hình được lưu trong settings.json
  • Dùng lệnh /mcp để xem danh sách máy chủ và công cụ đã đăng ký
  • Hỗ trợ OAuth 2.0 để kết nối API an toàn

Tip 4 — Thêm và gọi lại bộ nhớ

  • Dùng /memory add "<text>" để lưu thông tin quan trọng vào bộ nhớ dài hạn
    • Ví dụ: “Cổng RabbitMQ là 5673”
  • Dùng /memory show để xem toàn bộ bộ nhớ, /memory refresh để làm mới
  • Hữu ích để lưu nhật ký quyết định hoặc thiết lập cá nhân như giọng văn, tên gọi

Tip 5 — Checkpoint và khôi phục với /restore

  • Tự động tạo snapshot trước khi thay đổi tệp, có thể quay lại trạng thái trước đó bằng /restore
  • Kích hoạt bằng tùy chọn --checkpointing hoặc trong tệp cấu hình
  • Dùng /restore list để xem danh sách checkpoint, và /restore <id> để khôi phục
  • Khi dùng song song với Git, đây là lưới an toàn cho công việc AI

Tip 6 — Đọc Google Docs·Sheets

  • Khi cấu hình máy chủ Workspace MCP, có thể đọc trực tiếp liên kết Google Docs/Sheets để tóm tắt
  • Cần xác thực OAuth, truy cập bằng các lệnh như /read_google_doc
  • Có thể tham chiếu tài liệu, bảng tính và tệp Drive bằng liên kết để đưa ngữ cảnh vào mà không cần sao chép

Tip 7 — Tham chiếu tệp·hình ảnh bằng cú pháp @

  • Dùng @đường_dẫn_tệp để đính kèm trực tiếp mã, tài liệu hoặc hình ảnh vào prompt
    • Ví dụ: Explain this code: @./src/main.js
  • Tự động áp dụng quy tắc .gitignore.geminiignore
  • Hỗ trợ nhận diện hình ảnh (bao gồm OCR) và so sánh nhiều tệp

Tip 8 — Tạo công cụ tức thời

  • Khi cần, Gemini có thể tự tạo script tạm thời hoặc máy chủ MCP
    • Ví dụ: trình phân tích JSON, công cụ phân tích log
  • Mã được tạo có thể được xem lại dưới dạng diff rồi mới phê duyệt
  • Các script hữu ích có thể được nâng cấp thành lệnh tùy chỉnh

Tip 9 — Xử lý sự cố hệ thống và cấu hình

  • Có thể dùng cả ngoài phạm vi dự án như một trợ lý quản lý môi trường phát triển
    • Ví dụ: sửa .bashrc, phân tích log lỗi, tự động cài Docker
  • Luôn yêu cầu phê duyệt trước khi chạy lệnh, hỗ trợ điều chỉnh hệ thống an toàn

Tip 10 — Chế độ YOLO (tự động phê duyệt)

  • Dùng --yolo hoặc Ctrl+Y để tự động phê duyệt mọi lần chạy công cụ
  • Hữu ích để tăng tốc các tác vụ lặp lại nhưng có rủi ro
  • Có thể cấu hình danh sách trắng để chỉ tự động phê duyệt một số lệnh nhất định

Tip 11 — Chế độ headless và script

  • Chạy không tương tác bằng gemini -p "prompt"
  • Có thể thay thế system prompt bằng GEMINI_SYSTEM_MD
  • Hỗ trợ đầu ra JSON (--format=json) và tệp tóm tắt phiên (--session-summary)
  • Phù hợp để tích hợp CI/CD và script tự động hóa

Tip 12 — Lưu và tiếp tục phiên chat

  • Dùng /chat save <name> để lưu phiên, /chat resume <name> để khôi phục
  • Có thể xem danh sách bằng /chat list và chia sẻ bằng /chat share
  • Hữu ích khi gỡ lỗi kéo dài hoặc làm song song nhiều dự án

Tip 13 — Workspace nhiều thư mục

  • Dùng --include-directories hoặc tệp cấu hình để gộp nhiều thư mục thành một workspace
  • Dùng /directory show để xem các thư mục hiện được bao gồm
  • Hỗ trợ môi trường polyrepo như chỉnh sửa frontend và backend cùng lúc

Tip 14 — Sắp xếp tệp bằng AI

  • Phân loại và di chuyển tệp trong thư mục theo từng loại
    • Ví dụ: hình ảnh → Images, PDF → Documents
  • Có thể tự động đổi tên dựa trên nội dung hình ảnh
  • Nên xem trước lệnh trước khi chạy để kiểm tra an toàn

Tip 15 — Duy trì ngữ cảnh bằng nén hội thoại

  • Dùng lệnh /compress để tóm tắt các cuộc hội thoại dài và giải phóng không gian ngữ cảnh
  • Có thể duy trì phiên làm việc mà chỉ giữ lại thông tin cốt lõi
  • Có thể đặt ngưỡng nén tự động

Tip 16 — Chạy lệnh shell bằng !

  • Dùng !command để chạy trực tiếp lệnh terminal
  • Chỉ nhập ! để vào chế độ shell, và nhập lại ! để thoát
  • Tích hợp hội thoại AI và lệnh hệ thống trong một giao diện duy nhất

Tip 17 — Dùng mọi công cụ CLI làm công cụ Gemini

  • AI có thể gọi mọi lệnh trong $PATH
    • Ví dụ: convert, docker, ffmpeg, git
  • Tùy môi trường, nên giới hạn PATH hoặc cấu hình danh sách trắng

Tip 18 — Tận dụng đầu vào đa phương thức

  • Có thể đính kèm hình ảnh, PDF, tệp âm thanh bằng @ để phân tích
    • Ví dụ: mô tả ảnh chụp UI, phân tích ảnh lỗi, xử lý OCR
  • Hỗ trợ tạo mã và trích xuất dữ liệu dựa trên tư liệu trực quan

Tip 19 — Kiểm soát $PATH và quyền truy cập công cụ

  • Chạy với PATH bị giới hạn để tăng độ ổn định và bảo mật
  • Có thể chặn các lệnh nguy hiểm bằng excludeTools trong settings.json
  • Hỗ trợ chạy trong môi trường Docker cô lập với tùy chọn --sandbox

Tip 20 — Token caching và theo dõi mức sử dụng

  • Khi dùng API key hoặc xác thực Vertex, có thể giảm chi phí bằng cách tái sử dụng token
  • Dùng lệnh /stats để xem tỷ lệ cache hit và mức sử dụng token
  • Có thể lưu báo cáo JSON theo từng phiên bằng --session-summary

Tip 21 — Sao chép vào clipboard bằng /copy

  • Sao chép ngay đầu ra gần nhất (như mã nguồn) vào clipboard
  • Hỗ trợ macOS (pbcopy), Windows (clip), Linux (xclip)

Tip 22 — Điều khiển phím tắt Ctrl+C

  • Nhấn một lần để dừng tác vụ, nhấn hai lần để thoát CLI
  • Trong chế độ shell, có thể thoát bằng Ctrl+C hoặc Esc

Tip 23 — Tùy chỉnh người dùng bằng settings.json

  • Có thể cấu hình chi tiết như theme, sandbox, tự động phê duyệt, chế độ Vim
  • Hỗ trợ chỉnh sửa tương tác bằng lệnh /settings
  • Hợp nhất cài đặt toàn cục (~/.gemini/) và theo dự án

Tip 24 — Tích hợp VS Code

  • Với tiện ích mở rộng VS Code (Companion Extension), công cụ có thể tự động nhận diện tệp, con trỏ và vùng chọn
  • Khi đề xuất thay đổi mã, VS Code sẽ tự động hiển thị diff viewer
  • Quản lý bằng /ide install, /ide enable, /ide status

Tip 25 — Tự động hóa GitHub Action

  • Gemini CLI GitHub Action có thể tự động phân loại issue và review PR
  • Có thể yêu cầu các tác vụ như tạo mã kiểm thử bằng cách mention @gemini-cli
  • Dùng lệnh /setup-github để tự động tạo tệp workflow

Tip 26 — Telemetry (Observability)

  • Thu thập metric phiên, log và trace dựa trên OpenTelemetry
  • Kích hoạt bằng cấu hình "telemetry.enabled": true hoặc cờ --telemetry
  • Có thể gửi đến nhiều backend như tệp cục bộ, GCP, Prometheus

Tip 27 — Theo dõi roadmap

  • Có thể xem các tính năng sắp tới trong roadmap Gemini CLI công khai trên GitHub
    • Ví dụ: tác tử nền, mở rộng mô hình, cải thiện UI
  • Có thể tham gia góp ý cộng đồng và đề xuất tính năng

Tip 28 — Tiện ích mở rộng (Extensions)

  • Dùng gemini extensions install <URL> để tích hợp dịch vụ bên ngoài
    • Ví dụ: Cloud Run, BigQuery, Figma, Stripe
  • Extensions có cấu trúc mô-đun để thêm công cụ MCP, lệnh và ngữ cảnh
  • Dùng lệnh /extensions để xem danh sách extension đang hoạt động

Tính năng bổ sung — Corgi Mode 🐕

  • Dùng lệnh /corgi để chạy hoạt ảnh corgi trong terminal
  • Đây chỉ là một easter egg giúp thư giãn khi dùng CLI

Kết luận

  • Gemini CLI là giao diện phát triển dựa trên AI bao trùm từ viết mã, quản lý hệ thống, tự động hóa đến cộng tác
  • Với GEMINI.md, MCP, extensions và tích hợp IDE, công cụ này mang lại ngữ cảnh liên tục và khả năng mở rộng công cụ
  • Nhờ hệ sinh thái mã nguồn mở và tốc độ cập nhật nhanh, Gemini CLI đang phát triển thành nền tảng AI trung tâm của workflow dành cho lập trình viên

Chưa có bình luận nào.

Chưa có bình luận nào.