谷歌AI发布了一款面向Workspace API的命令行工具(gws):为人机交互和AI代理提供统一的接口。
将 Google 工作空间 API(如 Drive、Gmail、Calendar 和 Sheets)集成到应用程序和数据管道通常需要编写模板代码来处理 REST 端点、分页和 OAuth 2.0 流。谷歌 AI 团队刚刚发布了一个 CLI 工具(gws)用于 Google 工作空间。开源的 googleworkspace/cli(通过 gws 命令调用)提供了一个统一的、动态的命令行界面来管理这些服务。
设计用于人类开发人员和 AI 代理,gws 通过提供结构化的 JSON 输出、本地的模型上下文协议(MCP)支持和自动化的身份验证工作流程,消除了编写自定义封装脚本的需求。
动态 API 发现架构
与传统的 CLI 工具不同,gws 在运行时动态构建其命令表面。
当执行时,gws 使用两阶段解析策略:
- 读取第一个参数以识别目标服务(例如
drive)。 - 获取该服务的 Google 发现文档(缓存时间为 24 小时)。
- 从文档的资源和方法中构建命令树。
- 解析剩余的参数,进行身份验证,并执行 HTTP 请求。
由于这种架构,gws 在新 Google 工作空间 API 端点添加到发现服务的那一刻就能自动支持它们。
面向软件工程师和数据科学家的核心功能
CLI 可以通过 npm (npm install -g @googleworkspace/cli) 或从源代码构建(cargo install --path .)进行安装。一旦安装,它就提供几个内置的用于数据提取和自动化的实用工具:
- 内省和预览: 每个资源都包含从发现 API 生成的
--help文档。你可以查看任何方法的模式(例如gws schema drive.files.list),或者使用--dry-run标志在执行前预览确切的 HTTP 请求。 - 结构化数据提取: 默认情况下,每个响应——包括错误和元数据——都作为结构化的 JSON 返回。
- 自动分页: 对于正在拉取大量数据集的开发人员,
--page-all标志自动处理 API 光标。它以 NDJSON(换行分隔 JSON)的形式流式传输分页结果,可以直接管道输入命令行 JSON 处理器:Bashgws drive files list --params '{"pageSize": 100}' --page-all | jq -r '.files[].name'
与 AI 代理和 MCP 集成
gws 的主要用例是作为大型语言模型(LLM)的工具调用后端。
- 模型上下文协议(MCP)服务器: 通过运行
gws mcp -s drive,gmail,calendar,CLI 在stdio上启动一个 MCP 服务器。这暴露了作为结构化工具的 Workspace API,任何 MCP 兼容的客户端(如 Claude 桌面或 VS Code)可以原生调用。 - 预构建的代理技能: 存储库包括超过 100 个覆盖所有支持 API 和常用工作流程的代理技能。AI 工程师可以直接将它们使用
npx skills add github:googleworkspace/cli安装到代理环境中。 - Gemini CLI 扩展: 使用 Gemini CLI 的开发人员可以安装
gws扩展(gemini extensions install https://github.com/googleworkspace/cli),允许本地 Gemini 代理继承gws凭据并本地管理 Workspace 资源。 - 模型盔甲(响应清理): 为了减轻在向 LLM 提供 API 数据时的提示注入风险,
gws支持 Google Cloud Model Armor。通过传递--sanitize标志,在数据到达您的代理之前扫描 API 响应中的恶意有效负载。
身份验证工作流程
CLI 在不同环境中安全地处理身份验证,替换了在自定义脚本中手动管理令牌的需求。优先考虑显式令牌,然后是凭证文件,最后是本地的密钥圈存储。
- 本地桌面: 运行
gws auth setup初始化一个交互式流程来配置 Google Cloud 项目、启用必要的 API 并处理 OAuth 登录。凭证使用 AES-256-GCM 加密在静止状态下存储,并存储在操作系统密钥圈中。 - 无头/CI/CD: 对于服务器环境,开发人员可以在本地完成交互式身份验证,并导出明文字凭证:Bash
gws auth export --unmasked > credentials.json在无头机器上,使用环境变量将 CLI 指向此文件:export GOOGLE_WORKSPACE_CLI_CREDENTIALS_FILE=/path/to/credentials.json。 - 服务帐户:
gws本地支持服务器到服务器的服务帐户密钥文件和通过GOOGLE_WORKSPACE_CLI_IMPERSONATED_USER变量的域内代理。
请查看 此处存储库. 也请随意关注我们的 Twitter,别忘了加入我们的 120k+ 机器学习 SubReddit 和订阅 我们的Newsletter。等等!你在电报上吗?现在你可以在电报上加入我们。
该帖子 Google AI 发布 workspace API 的 CLI 工具(gws):为人类和 AI 代理提供统一的接口 首次出现在 MarkTechPost。