Sep 20, 2026

gws 把整个 Google Workspace 装进你的 agent 命令行

31k 星的 Workspace 命令行工具,覆盖 Drive、Gmail、Calendar、Sheets 以及 Workspace 的其余服务——为 agent 输出结构化 JSON,每个 API 一个 skill,50 个精选配方,还有 +standup-report 这类助手命令。

#tutorial#agent-tools#productivity#workflow

把 AI agent 接入 Google Workspace 通常意味着为每个任务手写 API 胶水代码。gws——31k 星,出自 googleworkspace 组织——选了另一条路:整个命令面在运行时从 Google 官方的 Discovery Service 动态生成,Workspace 新增端点时 CLI 已经会说它——同时带上 README 的免责声明:这不是 Google 官方支持的产品。

为什么这个 Skill 重要

每条响应都是结构化 JSON——这正是它对 agent 友好的原因:LLM 直接读输出,不需要额外的解析层。README 的 AI Agent Skills 一节写道仓库内置 100+ 个 Agent Skill(SKILL.md 文件)——每个受支持的 API 各一个——外加面向常见工作流的更高层助手命令,以及横跨 Gmail、Drive、Docs、Calendar 和 Sheets 的 50 个精选配方。手工编写的助手命令以 + 为前缀,因此绝不会与 Discovery 生成的命令撞名:gws gmail +triage 汇总未读收件箱,gws workflow +standup-report 汇编今日会议与待办,gws workflow +email-to-task 把一封 Gmail 转成 Tasks 条目。时间感知的助手命令会自动读取你 Google 账号的时区。

安装

npm install -g @googleworkspace/cli

文档记录的替代安装方式包括 Homebrew、预编译发布二进制、cargo 和 Nix flake。然后认证:

gws auth setup     # one-time: creates a Cloud project, enables APIs, logs you in
gws auth login     # subsequent scope selection and login

gws auth setup 依赖 gcloud CLI。如果你的 OAuth 应用未经验证,要留意范围上限:Google 把测试模式的同意页限制在约 25 个 scope,而 README 说明 recommended 预设包含 85+ 个 scope、会直接失败——对 @gmail.com 账号尤其如此。改为逐个服务选择:

gws auth login -s drive,gmail,sheets

skill 与二进制分开安装:

npx skills add https://github.com/googleworkspace/cli

也可以按需单个安装(.../skills/gws-drive、.../skills/gws-gmail)。Gemini CLI 扩展也有文档记录:gemini extensions install https://github.com/googleworkspace/cli。

实战:让 agent 替你跑晨会简报

  1. 安装 CLI、完成认证,并添加你用到服务的 skill。
  2. 让助手命令做汇总:
gws calendar +agenda
gws gmail +triage
gws workflow +standup-report

+standup-report 把今日会议与待办整理成一段晨会摘要;+agenda 默认按账号时区显示即将到来的日程,需要时用 --timezone 覆盖。 3. 把同样的命令交给你的 agent——或者直接下达简报指令:

Run gws workflow +standup-report and gws gmail +triage, then draft a short
morning summary of my day from the JSON output.

实战:用 agent 驱动 Drive 与 Sheets

agent 打交道的就是普通命令和 JSON。列出最近 10 个文件是 gws drive files list --params '{"pageSize": 10}';追加一行是 gws sheets +append --spreadsheet SPREADSHEET_ID --values "Alice,95"。两个旗标能让 agent 循环更安全:--dry-run 预览请求而不真正发送,--page-all 把每一页都以 NDJSON 流式输出而不是停在默认页数。当输出看起来不对时,gws schema drive.files.list 会打印任意方法的精确请求/响应 schema。

技巧

  • Sheets 的范围里有 !,会触发 bash 的历史展开——务必用单引号包住:'Sheet1!A1:C10'。
  • 脚本可以按结构化退出码分支——文档记录了从 0 成功到 5 内部错误的六个取值——而不必解析错误文本。
  • Model Armor 集成会在响应进入 agent 之前扫描提示注入:传 --sanitize "projects/P/locations/L/templates/T";模式默认 warn,可设为 block。
  • Discovery 文档缓存 24 小时,agent 反复调用不会重复拉取 schema。

何时不用这个 Skill

第一条有用的命令之前,你需要一个 Google Cloud 项目和 OAuth——没有 API key 快速通道。项目仍在活跃开发中,README 预告通往 v1.0 的路上会有破坏性变更,自动化场景请锁定版本。而且它并非 Google 官方支持的产品,在受管域名里,组织管理员也可能会合情合理地拒绝这个 OAuth 应用。


查看 排行榜 了解更多 skill。