今天上午的時(shí)候,Google Workspace CLI 上線到了 GitHub,掛在 Google Workspace 的官方組織名下
![]()
GitHub:https://github.com/googleworkspace/cli
我開始寫這篇文章的時(shí)候,這個(gè)項(xiàng)目是 2700 個(gè) Star;
當(dāng)我發(fā)出去的時(shí)候,重新截了個(gè)圖,已經(jīng)有 3500 個(gè) Star 了
草...剛發(fā)完預(yù)覽,又變成 3700 個(gè) Star..
![]()
快速增長的 Star
這個(gè)項(xiàng)目,最早由 Google Cloud AI 的 Director Addy Osmani 親自在推特上宣布
![]()
https://x.com/addyosmani/status/2029372736267805081
README 里有一句聲明:這不是谷歌官方支持的產(chǎn)品
![]()
This is not an officially supported Google product
但掛在官方 org 下、主要開發(fā)者 Justin Poehnelt 是谷歌 Workspace 開發(fā)者關(guān)系團(tuán)隊(duì)的成員,Addy Osmani 親自背書。這個(gè)項(xiàng)目的定位大概是「谷歌認(rèn)可,但不做服務(wù)承諾」
它在解決一個(gè)具體問題
我先說個(gè)觀點(diǎn):
那些對人類「界面友好」的產(chǎn)品,對 Agent 并不友好
過去三十年,所有主流生產(chǎn)力軟件都是為人的眼睛和鼠標(biāo)設(shè)計(jì)的。郵件、文檔、日歷、云盤,全部是點(diǎn)擊和拖拽。Agent 來了,它不能點(diǎn)擊,也看不懂網(wǎng)頁界面。
Agent 所需要的,是:發(fā)一個(gè)命令,收到結(jié)構(gòu)化的數(shù)據(jù),然后繼續(xù)干活
Google Workspace CLI 把 Google Workspace 的所有 API,包成了一行行 Agent 可以直接調(diào)用的命令,結(jié)果全部是 JSON,可以直接解析和處理
比如,讓 Agent 列出最近的 10 個(gè)文件:
gws drive files list --params '{"pageSize": 10}'比如,新建一個(gè)表格:
gws sheets spreadsheets create --json '{"properties": {"title": "Q1 預(yù)算"}}'比如,發(fā)一條 Chat 消息(--dry-run 是預(yù)覽模式,不會(huì)真的發(fā)出去):
gws chat spaces messages create \
--params '{"parent": "spaces/xyz"}' \
--json '{"text": "部署完成"}' \
--dry-run所有輸出,包括報(bào)錯(cuò),都是 JSON
覆蓋 Google Workspace 的全部主要產(chǎn)品
Drive、Gmail、Calendar、Sheets、Docs、Chat、Admin,以及其他所有 Workspace API,都在支持范圍里
![]()
覆蓋產(chǎn)品范圍占位
有一個(gè)設(shè)計(jì)值得單說:它不預(yù)設(shè)命令列表
每次運(yùn)行時(shí),它直接去讀谷歌自己的 API 目錄(Discovery Service),實(shí)時(shí)生成命令。谷歌哪天新增了一個(gè) API,這個(gè)工具自動(dòng)就能用,不需要等版本更新
認(rèn)證方面覆蓋了所有場景:本地登錄、CI 環(huán)境、服務(wù)器端 Service Account,以及直接傳入已有的 token
并且,這些憑證在本地加密存儲(chǔ)
Agent 接入有三種方式
無論用哪種 Agent 工具,都可以接進(jìn)來
作為命令行工具直接用
安裝之后,Agent(比如 Claude Code、OpenClaw 等)可以直接調(diào)用 shell 命令,拿到 JSON 結(jié)果。一個(gè)人同時(shí)調(diào)度多個(gè) Agent 處理 Workspace 里的事務(wù),靠的就是這層接口
作為 MCP Server
一行命令啟動(dòng):
gws mcp -s drive,gmail,calendar之后在 Claude Desktop、Gemini CLI、VS Code 等任何支持 MCP 的客戶端里,都可以直接調(diào)用這些工具
通過 Skills 接入
倉庫里內(nèi)置了 100 多個(gè) SKILL.md 文件,覆蓋所有支持的 API,還有針對 Gmail、Drive、Docs、Calendar、Sheets 的 50 個(gè)常用操作配方
# 一行命令安裝全部
npx skills add https://github.com/googleworkspace/cliOpenClaw 用戶可以直接 symlink 進(jìn)去,工具檢測到?jīng)]有安裝時(shí)會(huì)自動(dòng)提示安裝
OpenClaw 的作者,想一決高下
Peter Steinberger 是 OpenClaw 的開發(fā)者,別人是當(dāng)紅炸子雞,他是當(dāng)紅的小龍蝦
他幾個(gè)月前自己做了一個(gè)叫 gog 的 Google Workspace CLI(gogcli.sh),起因正是覺得市面上沒有好用的同類工具
今天,Google Workspace CLI 發(fā)布的時(shí)候,他在推特上回應(yīng)說:會(huì)跑 eval 測試,看看哪個(gè)工具更適合 Agent 用,「但看到需要的 JSON 命令格式,我不太確定了」
![]()
https://x.com/i/status/2029363714642837806
兩個(gè)工具的命令風(fēng)格確實(shí)不同。gog 更接近日常語言:
gog gmail search 'newer_than:7d'Google Workspace CLI 更接近 API 原始結(jié)構(gòu):
gws drive files list --params '{"pageSize": 5}'對 Agent 來說,封裝層越高、命令越接近自然語言,理解成本越低,出錯(cuò)機(jī)會(huì)也越少。eval 結(jié)果出來之前,哪種更適合 Agent,沒有定論
Addy Osmani 在推文里說歡迎 Peter 提 feature request
還有一個(gè)細(xì)節(jié)
倉庫根目錄有一個(gè) AGENTS.md,和 README.md 并排放著
![]()
https://github.com/googleworkspace/cli/blob/main/AGENTS.md
這是專門寫給 AI 編程助手(比如 Claude Code)的開發(fā)貢獻(xiàn)指南,告訴它怎么給這個(gè)項(xiàng)目寫代碼、提 PR、做安全校驗(yàn)
文件里有一句話值得留意:「這個(gè) CLI 經(jīng)常被 AI Agent 調(diào)用,寫代碼時(shí)永遠(yuǎn)假設(shè)輸入可能是惡意的」
開發(fā)者已經(jīng)默認(rèn)自己的代碼庫會(huì)被 AI 參與維護(hù),同時(shí)也默認(rèn)調(diào)用方會(huì)是 Agent
gog 倉庫里也有同名文件,格式一致。這大概會(huì)成為開源項(xiàng)目的標(biāo)配之一
另外,這個(gè)工具支持接入 Google Cloud 的 Model Armor,在 API 返回內(nèi)容到達(dá) Agent 之前,自動(dòng)掃描是否存在 prompt injection 攻擊,可以設(shè)置成警告或者直接攔截。Agent 作為調(diào)用方,本身也是攻擊面,這個(gè)設(shè)計(jì)在說同一件事
當(dāng)前版本 v0.3.4,仍在活躍開發(fā),v1.0 之前可能有 breaking changes
GitHub:https://github.com/googleworkspace/cli
![]()
https://github.com/googleworkspace/cli
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.