- Alat untuk mengendalikan seluruh Google Workspace API dalam satu CLI, mendukung Drive, Gmail, Calendar, Sheets, Docs, Chat, Admin, dan lainnya
- Berdasarkan Google Discovery Service untuk menghasilkan konfigurasi perintah secara dinamis saat runtime, sehingga API baru akan otomatis tercermin saat ditambahkan
- Menyertakan lebih dari 100 skill untuk agen AI dan mendukung integrasi dengan LLM melalui keluaran JSON terstruktur
- Menyediakan berbagai metode autentikasi seperti OAuth, Service Account, dan lingkungan CI, serta mendukung fitur keamanan respons melalui Model Armor
- CLI berfokus pada otomatisasi untuk manusia maupun AI, sebagai alat yang meningkatkan manajemen terpadu dan efisiensi otomatisasi dalam ekosistem Google Workspace
Gambaran umum
gws adalah CLI terpadu khusus Google Workspace yang memungkinkan semua API seperti Drive, Gmail, Calendar, Sheets, Docs, Chat, dan Admin dijalankan dari satu command line
- Menghasilkan konfigurasi perintah secara otomatis melalui Google Discovery Service, dan langsung mencerminkan endpoint API baru saat ditambahkan
- Semua output disediakan dalam format JSON terstruktur, sehingga mudah diintegrasikan dengan agen AI atau skrip otomatisasi
- Proyek ini masih dalam pengembangan aktif, dan sebelum v1.0 perubahan besar masih dapat terjadi
Fitur utama
- Menyediakan fitur CLI yang ramah pengguna seperti tab completion, --help, --dry-run, dan auto pagination
- Menyertakan lebih dari 100 skill berbasis
SKILL.md untuk integrasi agen AI
- Termasuk lebih dari 50 resep lanjutan untuk layanan utama seperti Gmail, Drive, Docs, Calendar, dan Sheets
- Dengan memasang ekstensi Gemini CLI, agen Gemini dapat langsung memanggil perintah dan skill
gws
- Melalui mode server MCP(Model Context Protocol), Workspace API dapat diekspos sebagai tool di Claude Desktop, Gemini CLI, VS Code, dan lainnya
Metode autentikasi
- Autentikasi interaktif lokal: menyimpan kredensial terenkripsi dengan AES-256-GCM di keyring OS
- Pengaturan OAuth manual: dapat membuat klien langsung di Google Cloud Console
- Autentikasi berbantuan browser/agen: memproses persetujuan OAuth secara manual atau otomatis
- Autentikasi untuk lingkungan CI/server: mengekspor kredensial dengan
gws auth export dan menetapkannya melalui environment variable
- Mendukung Service Account dan token yang telah diterbitkan sebelumnya, dengan prioritas token > file kredensial > penyimpanan keyring
AI Agent Skills
- Lebih dari 100 skill yang disertakan di repositori mengotomatisasi tiap API dan workflow umum
- Seluruh atau masing-masing skill dapat dipasang dengan perintah
npx skills add
- Di lingkungan OpenClaw, skill dapat disinkronkan melalui symbolic link atau penyalinan
- Skill
gws-shared menyertakan fungsi pemasangan otomatis saat CLI belum terpasang
Ekstensi Gemini CLI
- Dipasang dengan perintah
gemini extensions install https://github.com/googleworkspace/cli
- Setelah dipasang, agen Gemini CLI dapat langsung memanggil perintah dan skill
gws
- Otomatis mewarisi informasi autentikasi
gws, sehingga bisa digunakan tanpa login terpisah
Fitur server MCP
- Menjalankan server MCP dengan perintah
gws mcp untuk mengekspos Workspace API ke klien yang kompatibel dengan MCP
- Contoh:
gws mcp -s drive,gmail,calendar
- Tiap layanan menambahkan 10 hingga 80 tool, dan dapat dipilih sesuai batas tool klien (50 hingga 100)
- Workflow dan helper tool dapat diekspos dengan flag
--workflows, --helpers
Fitur lanjutan
- Multipart upload: mengunggah file dan membuat metadata secara bersamaan
- Kontrol pagination: menyediakan opsi
--page-all, --page-limit, --page-delay
- Integrasi Model Armor: memindai respons API untuk memblokir prompt injection
- Dikendalikan melalui environment variable
GOOGLE_WORKSPACE_CLI_SANITIZE_TEMPLATE, GOOGLE_WORKSPACE_CLI_SANITIZE_MODE
Arsitektur
- Beroperasi dengan struktur parsing 2 tahap
- Mengidentifikasi layanan dari argumen pertama
- Mengambil dokumen Discovery (cache 24 jam)
- Membangun tree
clap::Command
- Melakukan parsing ulang argumen dan autentikasi
- Menjalankan permintaan HTTP
- Semua hasil (berhasil, error, metadata) ditampilkan dalam struktur JSON
Pemecahan masalah
- Jika API belum diaktifkan, akan muncul error
accessNotConfigured
- Klik tautan pada field
enable_url untuk mengaktifkan API lalu coba lagi
- API yang dibutuhkan dapat diaktifkan otomatis dengan perintah
gws auth setup
Pengembangan dan distribusi
- Lisensi Apache-2.0. Rust(99.5%)
- Bukan produk resmi Google, melainkan proyek open source tidak resmi
2 komentar
Berbeda dengan
gog, pendekatannya yang secara dinamis menghasilkan perintah untuk semua API Google terasa unik.Pengembangnya adalah Justin Poehnelt, dan karena dia adalah DevRel Google Workspace, ini jadi terasa lebih meyakinkan.
Komentar Hacker News
Di era AI dan MCPs, tampaknya tiba-tiba perusahaan mulai bergerak untuk membangun alat API/CLI yang layak
Ini tampaknya adalah versi CLI dari Workspace Studio
Senang melihat Google bergerak mengikuti cara yang benar-benar ingin digunakan developer untuk memakai aplikasi
Menurut saya ini jauh lebih baik daripada dashboard Google atau library pihak ketiga yang seadanya
Meski Google bilang ini bukan dukungan resmi, kemungkinan besar tetap lebih terdukung dari dalam dibanding dari luar
GCP Next dijadwalkan berlangsung pada 22–24 April
Semoga proyek ini tetap dipelihara setelah itu
Saya penasaran kenapa menggunakan
npmuntuk memasang binerrustAkhir-akhir ini agent skill menginginkan CLI, jadi semoga arus seperti ini benar-benar menjadi tren
Bisa dibayangkan semua CTO sibuk mencoba menghubungkan ini ke instance OpenClaw mereka masing-masing
Fakta bahwa perintah yang tersedia berubah secara dinamis terlihat seperti antipola, tetapi mungkin AI bisa menanganinya
Semoga Apple juga melakukan pendekatan yang sama untuk iCloud
Menarik, tapi agak menakutkan. Jika ini bukan produk resmi Google, mungkin saja ada potensi pelanggaran TOS