Gog 让 OpenClaw 通过独立的 gog 命令访问 Gmail、Calendar、Drive 等 Google 服务。第一次接入建议只做一件事:只读查找自己最近七天的邮件。这能先检验 Skill、命令行工具和 Google 授权是否真正连通,再决定要不要开放其他服务或写入权限。准备一台运行 OpenClaw 的机器、可用的终端、自己的 Google 账号和一个由你管理的 Google Cloud 项目。
先分清两个安装对象
OpenClaw 已可能自带名为 gog 的 Skill。先在运行 Agent 的机器上查看:
openclaw skills info gog
openclaw skills check
若它已经存在且可用,不必覆盖。若确实缺少 Skill,并决定使用 ClawHub 上 steipete 发布的 v1.0.0,才在自己的 OpenClaw 环境安装:
openclaw skills install @steipete/gog --version 1.0.0
Skill 是告诉 Agent 怎样调用工具的说明,不会替你安装 gog 可执行文件,也不会完成 Google 授权。即使 OpenClaw 列出了 Skill,缺少 gog 二进制文件时仍无法使用。ClawHub v1.0.0 的简表和当前 OpenClaw 内置 Skill 不完全一样;已有内置版时先保留它。
安装 gog 命令并准备最小授权
在 macOS 或 Linux 且已有 Homebrew 的机器上,官方安装方式是:
brew install openclaw/tap/gogcli
gog --version
这里安装的是 gogcli 项目的 gog 命令,不是上面的 ClawHub Skill。Windows、容器和手动二进制安装请按文末 gogcli 安装文档选择;不要在 Windows 终端直接照抄 brew 命令。以下授权步骤以你自己能操作浏览器的机器为例。
到 Google Cloud Console 创建或选择自己的项目,先只启用 Gmail API;配置 OAuth 同意屏幕,并创建类型为 Desktop app 的 OAuth 客户端,下载客户端 JSON。若项目仍处于 External + Testing,需把自己的 Google 账号加入测试用户。不要把 JSON、授权回调 URL、访问令牌或 keyring 密码发给 Agent,也不要放进聊天记录或公开仓库。
在可信的本机终端,将路径和邮箱换成自己的实际值,逐步执行:
gog auth credentials set /absolute/path/to/client_secret.json
gog --readonly auth add you@gmail.com --services gmail
gog auth list --check
gog auth doctor --check
第二条命令会进入 Google 授权流程。这里同时限定了 gmail 服务,并让 gog 请求可用的只读 OAuth 权限;后续查询仍显式带 --readonly,作为运行时的第二道防线。检查最后两条命令的每个账号状态和诊断内容,不要只看进程退出码。已有可用账号时可跳过重复授权,直接进行下一步只读查询;若旧授权范围更宽,运行时加 --readonly 不会缩小已经发出的 OAuth 令牌权限。
第一次输入与结果检查
仍在同一运行环境中,用自己的邮箱代入:
gog --readonly --account you@gmail.com gmail search 'is:unread newer_than:7d' --max 5 --json --wrap-untrusted
正常情况下,命令会返回结构化的搜索结果;可能找到邮件线程,也可能因为最近没有未读邮件而返回空结果。空结果不是授权失败的证据。若看到授权或 API 错误,先回到上一节检查账号、Gmail API 和 OAuth 状态。gog 的 gmail search 按线程查询;需要逐封邮件时再查官方的 gmail messages search,不要把线程数说成邮件封数。
终端这一步确认能读之后,可以在 OpenClaw 对话中这样提出任务;这是可改写的示例请求,不是本站运行记录:
请使用 gog Skill,只读查询我账号 you@gmail.com 最近 7 天的未读 Gmail,
最多列出 5 个邮件线程的发件人、主题和日期。请使用 --readonly,
不要发送、删除、归档或修改邮件,也不要输出邮件正文。
如果查询为空,请说清是空结果;如果失败,请告诉我具体报错和需要检查的步骤。
如果终端能查到,Agent 却说不可用,再用 openclaw skills check 核对 gog 是否对当前 Agent 可见、命令是否在该进程的 PATH,以及账号令牌是否可由 Agent 进程读取。不要用“终端成功”替代“Agent 成功”。
最常见的三个卡点
- Google 报 API 未启用。 确认启用的是下载该 OAuth 客户端 JSON 的同一个 Cloud 项目里的 Gmail API;只添加
--services gmail不会自动启用 Cloud API。 - 大约一周后出现
invalid_grant。 Google 说明 External + Testing 的用户数据授权通常七天到期。到 Cloud Console 的 Audience 检查发布状态及适用要求;若更改状态,需要按 gogcli 文档重新完成同范围授权。不要把所有invalid_grant都归因于这一种原因。 - 本机命令可用,OpenClaw Agent 报
keyring.password。 一位用户曾在 Ubuntu 24.04 无头部署、OpenClaw 2026.5.7/gog 0.15 中遇到这种差异。先按 gogcli 安装文档检查实际 Gateway/Agent 进程的 keyring 后端、HOME 和密码环境,勿因为 Agent 读不到令牌就贸然删除已存授权。远程无浏览器时,可参考当前 OpenClaw Skill 的--manual或 SSH 端口转发流程;回调 URL 只能在可信终端交给 gog,不能贴进 Agent 对话。
这份首次流程故意只覆盖 Gmail 读取。Calendar、Drive、Sheets 等都要分别启用对应 Google API 并获得相应服务授权;发送邮件和修改数据更应按实际任务另行决定权限。