- Công cụ cho phép điều khiển toàn bộ Google Workspace API bằng một CLI duy nhất, hỗ trợ Drive, Gmail, Calendar, Sheets, Docs, Chat, Admin, v.v.
- Tạo cấu hình lệnh động tại thời điểm chạy dựa trên Google Discovery Service, nên khi có API mới được bổ sung thì sẽ tự động được phản ánh
- Bao gồm hơn 100 kỹ năng dành cho AI agent và hỗ trợ tích hợp với LLM thông qua đầu ra JSON có cấu trúc
- Cung cấp nhiều phương thức xác thực như OAuth, Service Account, môi trường CI và hỗ trợ tính năng bảo mật phản hồi thông qua Model Armor
- Là CLI tập trung vào tự động hóa dành cho cả con người lẫn AI, giúp nâng cao hiệu quả quản lý hợp nhất và tự động hóa trong hệ sinh thái Google Workspace
Tổng quan
gws là CLI hợp nhất chuyên cho Google Workspace, cho phép thực thi mọi API như Drive, Gmail, Calendar, Sheets, Docs, Chat, Admin trên một dòng lệnh duy nhất
- Tự động tạo cấu hình lệnh thông qua Google Discovery Service và phản ánh ngay khi có endpoint API mới được thêm vào
- Mọi đầu ra đều được cung cấp dưới định dạng JSON có cấu trúc, giúp dễ dàng tích hợp với AI agent hoặc script tự động hóa
- Dự án đang được phát triển tích cực và trước phiên bản v1.0 có thể sẽ có các thay đổi lớn
Tính năng chính
- Cung cấp các tính năng CLI thân thiện với con người như tab completion, --help, --dry-run, tự động phân trang
- Bao gồm hơn 100 kỹ năng dựa trên
SKILL.md để tích hợp AI agent
- Bao gồm hơn 50 công thức nâng cao cho các dịch vụ chính như Gmail, Drive, Docs, Calendar, Sheets
- Khi cài tiện ích mở rộng Gemini CLI, agent Gemini có thể gọi trực tiếp các lệnh và kỹ năng của
gws
- Thông qua chế độ máy chủ MCP (Model Context Protocol), có thể đưa Workspace API ra thành công cụ trong Claude Desktop, Gemini CLI, VS Code, v.v.
Phương thức xác thực
- Xác thực tương tác cục bộ: lưu thông tin xác thực được mã hóa bằng AES-256-GCM trong keyring của hệ điều hành
- Thiết lập OAuth thủ công: có thể tự tạo client trong Google Cloud Console
- Xác thực có hỗ trợ từ trình duyệt hoặc agent: xử lý phê duyệt OAuth theo cách thủ công hoặc tự động
- Xác thực cho môi trường CI/server: xuất thông tin xác thực bằng
gws auth export và chỉ định qua biến môi trường
- Hỗ trợ Service Account và token được cấp sẵn, với thứ tự ưu tiên là token > file thông tin xác thực > dữ liệu lưu trong keyring
Kỹ năng AI Agent
- Hơn 100 kỹ năng có trong kho lưu trữ dùng để tự động hóa từng API và các workflow chung
- Có thể cài toàn bộ hoặc từng kỹ năng riêng lẻ bằng lệnh
npx skills add
- Trong môi trường OpenClaw, có thể đồng bộ kỹ năng bằng liên kết tượng trưng hoặc sao chép
- Kỹ năng
gws-shared bao gồm tính năng tự động cài đặt khi chưa có CLI
Tiện ích mở rộng Gemini CLI
- Cài đặt bằng lệnh
gemini extensions install https://github.com/googleworkspace/cli
- Sau khi cài, agent Gemini CLI có thể gọi trực tiếp các lệnh và kỹ năng của
gws
- Tự động kế thừa thông tin xác thực của
gws, nên có thể sử dụng mà không cần đăng nhập riêng
Tính năng máy chủ MCP
- Chạy máy chủ MCP bằng lệnh
gws mcp để đưa Workspace API ra cho các client tương thích MCP
- Ví dụ:
gws mcp -s drive,gmail,calendar
- Mỗi dịch vụ bổ sung từ 10 đến 80 công cụ, có thể chọn theo giới hạn công cụ của client (50–100 công cụ)
- Có thể đưa ra các công cụ workflow và helper bằng cờ
--workflows, --helpers
Tính năng nâng cao
- Tải lên multipart: thực hiện đồng thời việc tải tệp lên và tạo metadata
- Điều khiển phân trang: cung cấp các tùy chọn
--page-all, --page-limit, --page-delay
- Tích hợp Model Armor: quét phản hồi API để chặn prompt injection
- Điều khiển bằng các biến môi trường
GOOGLE_WORKSPACE_CLI_SANITIZE_TEMPLATE, GOOGLE_WORKSPACE_CLI_SANITIZE_MODE
Kiến trúc
- Hoạt động theo cấu trúc phân tích 2 giai đoạn
- Nhận diện dịch vụ từ đối số đầu tiên
- Tải tài liệu Discovery (bộ nhớ đệm 24 giờ)
- Tạo cây
clap::Command
- Phân tích lại đối số và thực hiện xác thực
- Thực thi yêu cầu HTTP
- Mọi kết quả (thành công, lỗi, metadata) đều được xuất ra theo cấu trúc JSON
Khắc phục sự cố
- Khi API chưa được kích hoạt, sẽ xuất hiện lỗi
accessNotConfigured
- Nhấp vào liên kết trong trường
enable_url để kích hoạt API rồi thử lại
- Có thể tự động kích hoạt API cần thiết bằng lệnh
gws auth setup
Phát triển và triển khai
- Giấy phép Apache-2.0. Rust(99.5%)
- Không phải sản phẩm chính thức của Google, mà là dự án mã nguồn mở không chính thức
2 bình luận
Khác với
gog, cách tiếp cận tạo lệnh một cách động cho toàn bộ API của Google khá độc đáo.Nhà phát triển là Justin Poehnelt, lại còn là DevRel của Google Workspace nên càng thấy đáng tin hơn.
Ý kiến trên Hacker News
Có vẻ như trong thế giới của AI và MCPs, đột nhiên các công ty bắt đầu muốn xây dựng các công cụ API/CLI tử tế
Có vẻ đây là phiên bản CLI của Workspace Studio
Thật mừng khi thấy Google đang dịch chuyển theo cách mà các lập trình viên thực sự muốn dùng ứng dụng
Tôi nghĩ nó tốt hơn nhiều so với dashboard của Google hay các thư viện bên thứ ba chắp vá
Dù Google nói đây không phải hỗ trợ chính thức, khả năng cao nó vẫn được hỗ trợ nội bộ tốt hơn từ bên ngoài
GCP Next dự kiến sẽ diễn ra từ ngày 22 đến 24 tháng 4
Mong rằng dự án này vẫn sẽ được duy trì sau đó
Thắc mắc tại sao lại dùng
npmđể cài một binaryrustDạo này agent skills muốn có CLI, nên mong xu hướng này sẽ thực sự trở thành trend
Có thể hình dung cảnh mọi CTO đều xôn xao muốn nối cái này vào instance OpenClaw của mình
Việc các lệnh khả dụng thay đổi động trông giống một anti-pattern, nhưng có lẽ AI sẽ xử lý được chuyện đó
Mong Apple cũng làm điều tương tự cho iCloud
Thú vị nhưng hơi đáng sợ. Nếu đây không phải sản phẩm chính thức của Google thì có thể sẽ vi phạm TOS