Gmail PubSub 集成允许 OpenClaw 通过 Google Cloud Pub/Sub(谷歌云发布/订阅服务)实时接收 Gmail 邮件变更通知,无需轮询即可在邮件到达的第一时间触发 Agent(智能体)处理。

工作原理

┌───────┐  新邮件  ┌──────────────┐  推送消息  ┌─────────┐  Webhook  ┌──────────┐
│ Gmail │ ──────> │ Google Cloud │ ────────> │ OpenClaw│ ────────> │  Agent   │
│       │         │   Pub/Sub    │           │ Gateway │           │  处理邮件 │
└───────┘         └──────────────┘           └─────────┘          └──────────┘

实时性

相比 Polls(轮询)方式每隔数分钟检查一次,PubSub 推送模式可在邮件到达后 秒级 通知 OpenClaw,显著提升响应速度。

前置条件

  1. Google Cloud Platform (GCP) 账号及项目
  2. 启用 Gmail API 和 Pub/Sub API
  3. OAuth 2.0 Client(OAuth 2.0 客户端)凭据
  4. OpenClaw Gateway 拥有公网可访问的 HTTPS 端点

配置步骤

Step 1: 创建 GCP 项目并启用 API

# 安装 gcloud CLI
# 创建项目
gcloud projects create openclaw-mail --name "OpenClaw Mail"
gcloud config set project openclaw-mail

# 启用所需 API
gcloud services enable gmail.googleapis.com
gcloud services enable pubsub.googleapis.com

Step 2: 创建 Pub/Sub Topic 和 Subscription

# 创建 Topic
gcloud pubsub topics create gmail-notifications

# 授权 Gmail 向该 Topic 发布消息
gcloud pubsub topics add-iam-policy-binding gmail-notifications \
  --member="serviceAccount:gmail-api-push@system.gserviceaccount.com" \
  --role="roles/pubsub.publisher"

# 创建 Push Subscription,指向 OpenClaw 的 Webhook 端点
gcloud pubsub subscriptions create gmail-sub \
  --topic=gmail-notifications \
  --push-endpoint="https://your-gateway.com/hooks/gmail-pubsub" \
  --ack-deadline=60

Step 3: 配置 OAuth 凭据

在 GCP Console 中创建 OAuth 2.0 凭据,下载 credentials.json

# 将凭据放到 OpenClaw 配置目录
cp credentials.json ~/.openclaw/gmail/credentials.json

Step 4: 设置 Gmail Watch

通过 Gmail API 注册 Watch(邮件监控):

# 使用 OpenClaw CLI 设置
openclaw gmail watch \
  --credentials ~/.openclaw/gmail/credentials.json \
  --topic "projects/openclaw-mail/topics/gmail-notifications" \
  --labels "INBOX"

Watch 过期

Gmail Watch 每 7 天 自动过期。OpenClaw 会在后台自动续期,但请确保 OAuth Token 持续有效。

Step 5: 在 OpenClaw 中配置集成

{
  "integrations": {
    "gmail-pubsub": {
      "enabled": true,
      "credentials": "~/.openclaw/gmail/credentials.json",
      "topic": "projects/openclaw-mail/topics/gmail-notifications",
      "watchLabels": ["INBOX"],
      "autoRenew": true,
      "handler": {
        "session": "isolated",
        "message": "收到新邮件,请处理:\n发件人: {from}\n主题: {subject}\n摘要: {snippet}",
        "delivery": "announce"
      },
      "filters": {
        "excludeSenders": ["noreply@", "no-reply@"],
        "includeLabels": ["INBOX"],
        "hasAttachment": false
      }
    }
  }
}

邮件处理工作流

收到通知后,Agent 可执行以下操作:

自动分类与标记

{
  "handler": {
    "message": "分析邮件内容,自动分类为:工作/个人/推广/重要,并打标签"
  }
}

自动提取附件

{
  "handler": {
    "message": "检查邮件附件,如果是发票/合同,提取关键信息保存到数据库"
  }
}

自动回复

{
  "handler": {
    "message": "如果是客户询价邮件,根据产品目录生成报价回复草稿"
  }
}

典型应用场景

场景 说明
发票自动处理 识别发票附件,OCR 提取信息,录入财务系统
客户邮件自动回复 分析来意,自动生成回复草稿
简历自动筛选 提取简历附件,匹配岗位要求,打分排序
订单确认通知 解析订单确认邮件,更新内部系统状态
告警邮件处理 识别服务告警邮件,自动触发运维操作

调试与监控

# 查看 Gmail 集成状态
openclaw gmail status

# 查看最近收到的通知
openclaw gmail notifications --limit 10

# 手动触发 Watch 续期
openclaw gmail renew

# 测试推送通道
openclaw gmail test-push

错误处理

错误 原因 解决方案
UNAUTHENTICATED OAuth Token 过期 重新运行 openclaw gmail auth
NOT_FOUND Topic 不存在 检查 GCP 项目和 Topic 名称
PERMISSION_DENIED 权限不足 检查 IAM Policy Binding
DEADLINE_EXCEEDED 消息确认超时 增大 ack-deadline

《AI提示工程必知必会》为读者提供了丰富的AI提示工程知识与实战技能。《AI提示工程必知必会》主要内容包括各类提示词的应用,如问答式、指令式、状态类、建议式、安全类和感谢类提示词,以及如何通过实战演练掌握提示词的使用技巧;使用提示词进行文本摘要、改写重述、语法纠错、机器翻译等语言处理任务,以及在数据挖掘、程序开发等领域的应用;AI在绘画创作上的应用,百度文心一言和阿里通义大模型这两大智能平台的特性与功能,以及市场调研中提示词的实战应用。通过阅读《AI提示工程必知必会》,读者可掌握如何有效利用AI提示工程提升工作效率,创新工作流程,并在职场中脱颖而出。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐