gws - Google Workspace CLI
(github.com/googleworkspace)- पूरे Google Workspace API को एक ही CLI से नियंत्रित करने वाला टूल, जो Drive·Gmail·Calendar·Sheets·Docs·Chat·Admin आदि को सपोर्ट करता है
- Google Discovery Service के आधार पर रनटाइम में कमांड कॉन्फ़िगरेशन को डायनेमिक रूप से बनाता है, इसलिए नया API जुड़ते ही वह अपने-आप परिलक्षित हो जाता है
- AI agents के लिए 100 से अधिक skills शामिल हैं और structured JSON output के ज़रिए LLM integration को सपोर्ट करता है
- OAuth·Service Account·CI environment सहित कई authentication methods देता है और Model Armor के माध्यम से response security फीचर सपोर्ट करता है
- इंसानों और AI दोनों के लिए automation-केंद्रित CLI, जो Google Workspace ecosystem की unified management और automation efficiency बढ़ाने वाला टूल है
अवलोकन
gwsएक Google Workspace के लिए unified CLI है, जिससे Drive·Gmail·Calendar·Sheets·Docs·Chat·Admin सहित सभी APIs को एक ही command line से चलाया जा सकता है- Google Discovery Service के ज़रिए कमांड कॉन्फ़िगरेशन अपने-आप जनरेट करता है, और नया API endpoint जुड़ते ही तुरंत परिलक्षित हो जाता है
- सभी outputs structured JSON format में दिए जाते हैं, जिससे AI agents या automation scripts के साथ integration आसान हो जाता है
- प्रोजेक्ट सक्रिय विकास में है, और v1.0 से पहले बड़े बदलाव हो सकते हैं
प्रमुख विशेषताएँ
- tab completion, --help, --dry-run, automatic pagination जैसी human-friendly CLI सुविधाएँ
- AI agent integration के लिए 100 से अधिक
SKILL.mdआधारित skills शामिल- Gmail, Drive, Docs, Calendar, Sheets जैसी प्रमुख सेवाओं के लिए 50 से अधिक उन्नत recipes शामिल
- Gemini CLI extension इंस्टॉल करने पर Gemini agent सीधे
gwscommands और skills को कॉल कर सकता है - MCP(Model Context Protocol) server mode के माध्यम से Claude Desktop, Gemini CLI, VS Code आदि में Workspace API को tools के रूप में expose किया जा सकता है
प्रमाणीकरण के तरीके
- लोकल interactive authentication: AES-256-GCM से एन्क्रिप्ट किए गए credentials को OS keyring में स्टोर करता है
- मैनुअल OAuth setup: Google Cloud Console में सीधे client बनाया जा सकता है
- browser·agent-assisted authentication: मैनुअल या ऑटोमैटिक तरीके से OAuth approval संभालता है
- CI/server environment authentication:
gws auth exportसे credentials export करके environment variables के रूप में सेट किए जा सकते हैं - Service Account और pre-issued tokens सपोर्ट करता है; प्राथमिकता क्रम token > credentials file > keyring storage है
AI Agent Skills
- repository में शामिल 100 से अधिक skills हर API और सामान्य workflow को automate करते हैं
npx skills addकमांड से सभी या अलग-अलग skills इंस्टॉल किए जा सकते हैं- OpenClaw environment में symbolic link या copy के ज़रिए skills sync किए जा सकते हैं
gws-sharedskill में CLI इंस्टॉल न होने पर auto-install फीचर शामिल है
Gemini CLI extension
gemini extensions install https://github.com/googleworkspace/cliकमांड से इंस्टॉल करें- इंस्टॉल के बाद Gemini CLI agent सीधे
gwscommands और skills को कॉल कर सकता है gwsकी authentication जानकारी अपने-आप inherit कर लेता है, इसलिए अलग से login की ज़रूरत नहीं होती
MCP server फीचर
gws mcpकमांड से MCP server चलाकर Workspace API को MCP-compatible clients के सामने expose किया जा सकता है- उदाहरण:
gws mcp -s drive,gmail,calendar
- उदाहरण:
- हर service 10 से 80 tools जोड़ती है, इसलिए client की tool limit (50~100) के हिसाब से चयन किया जा सकता है
--workflows,--helpersflags से workflows और helper tools को expose किया जा सकता है
उन्नत सुविधाएँ
- Multipart upload: file upload और metadata creation एक साथ करता है
- pagination control:
--page-all,--page-limit,--page-delayoptions देता है - Model Armor integration: API responses को scan करके prompt injection को ब्लॉक करता है
GOOGLE_WORKSPACE_CLI_SANITIZE_TEMPLATE,GOOGLE_WORKSPACE_CLI_SANITIZE_MODEenvironment variables से नियंत्रित
आर्किटेक्चर
- 2-step parsing structure पर काम करता है
- पहले argument से service की पहचान
- Discovery document प्राप्त करना (24 घंटे cache)
clap::Commandtree बनाना- arguments को दोबारा parse करना और authentication करना
- HTTP request चलाना
- सभी परिणाम (success·error·metadata) JSON structure में output होते हैं
समस्या समाधान
- API सक्रिय न होने पर
accessNotConfigurederror आता हैenable_urlfield के लिंक पर क्लिक करके API सक्रिय करें और फिर दोबारा प्रयास करेंgws auth setupकमांड से आवश्यक APIs को अपने-आप सक्रिय किया जा सकता है
विकास और परिनियोजन
- Apache-2.0 लाइसेंस. Rust(99.5%)
- यह आधिकारिक Google उत्पाद नहीं है, बल्कि एक अनौपचारिक open source project है
2 टिप्पणियां
gogसे अलग, Google के सभी API के लिए डायनैमिक तरीके से कमांड जनरेट करने वाला इसका अप्रोच काफ़ी अनोखा लगता है।डेवलपर Justin Poehnelt Google Workspace DevRel हैं, इसलिए इस पर और भी भरोसा होता है।
Hacker News की राय
AI और MCPs की दुनिया में अचानक ऐसा लग रहा है कि कंपनियां ठीक-ठाक API/CLI tools बनाने की दिशा में बढ़ रही हैं
यह शायद Workspace Studio का CLI version है
अच्छा लग रहा है कि Google उस दिशा में बढ़ रहा है जिस तरह developers सच में apps इस्तेमाल करना चाहते हैं
मुझे लगता है कि यह Google dashboard या भद्दी third-party libraries से कहीं बेहतर है
Google कहता है कि यह official support नहीं है, लेकिन बाहर की तुलना में अंदर से बेहतर support मिलने की संभावना ज्यादा है
GCP Next 22~24 अप्रैल को होने वाला है
उम्मीद है उसके बाद भी यह project बना रहेगा
समझ नहीं आता
rustbinary install करने के लिएnpmका इस्तेमाल क्यों किया जा रहा हैआजकल agent skills को CLI चाहिए, इसलिए अच्छा होगा अगर यह रुझान एक trend बन जाए
आसानी से कल्पना की जा सकती है कि सभी CTO इसे अपने OpenClaw instance से जोड़ने के लिए उत्साहित हो जाएंगे
available commands का dynamically बदलना एक anti-pattern लगता है, लेकिन AI शायद इसे संभाल पाए
काश Apple भी iCloud के लिए यही approach अपनाता
दिलचस्प है, लेकिन थोड़ा डरावना भी। अगर यह Google का official product नहीं है, तो शायद TOS violation हो सकता है