OpenClaw 接入 Gmail 后,AI 助手能实时感知新邮件—— 自动分类、生成摘要、起草回复,让收件箱变成结构化任务清单。
工作原理
Gmail -> Google Pub/Sub -> OpenClaw -> Claude AI -> 结果推送
流程:
1. 新邮件到达 Gmail
2. Gmail 通过 Pub/Sub 推送通知给 OpenClaw
3. OpenClaw 获取邮件内容
4. Claude 分析/摘要/分类
5. 结果推送到 Telegram/Slack 等渠道
延迟:通常 < 10 秒
前置准备
1. 创建 Google Cloud 项目
1. 访问 console.cloud.google.com,创建新项目
2. 启用 Gmail API
3. 启用 Cloud Pub/Sub API
2. 配置 OAuth2 凭据
APIs & Services -> Credentials -> Create Credentials
-> OAuth 2.0 Client ID -> Web application
-> Authorized redirect URIs:
https://你的域名/channels/gmail/callback
3. 创建 Pub/Sub Topic
bash
# 创建 topic 和 subscription
gcloud pubsub topics create openclaw-gmail
gcloud pubsub subscriptions create openclaw-gmail-sub \
--topic=openclaw-gmail \
--push-endpoint=https://你的域名/channels/gmail/pubsub \
--ack-deadline=60
# 授权 Gmail 发布到此 topic
gcloud pubsub topics add-iam-policy-binding openclaw-gmail \
--member='serviceAccount:gmail-api-push@system.gserviceaccount.com' \
--role='roles/pubsub.publisher'OpenClaw 配置
json
{
"channels": {
"gmail": {
"enabled": true,
"clientId": "你的 OAuth Client ID",
"clientSecret": "你的 Client Secret",
"pubsubTopic": "projects/项目ID/topics/openclaw-gmail",
"filter": {
"excludeSenders": ["noreply@", "no-reply@"],
"onlyLabels": ["INBOX", "IMPORTANT"]
}
}
}
}授权流程
bash
openclaw gateway start
openclaw channels auth gmail # 浏览器 Google 授权页面
openclaw channels test gmail # 验证连接
openclaw channels gmail watch # 开启监听新邮件场景配置
新邮件实时摘要
json
{
"channels": {
"gmail": {
"onNewEmail": {
"action": "summarize",
"sendTo": "telegram",
"prompt": "简要总结这封邮件(不超过3句),需要回复的标注[需回复]"
}
}
}
}自动分类处理
json
{
"channels": {
"gmail": {
"onNewEmail": {
"action": "classify",
"categories": {
"urgent": {
"description": "客户投诉/紧急问题/老板邮件",
"notify": "telegram"
},
"newsletter": {
"description": "订阅邮件/营销邮件",
"action": "archive"
}
}
}
}
}
}与 Google Calendar 联动
json
{
"channels": {
"gmail": {
"integrations": {
"calendar": {
"enabled": true,
"autoDetect": true,
"prompt": "如果邮件中提到具体会议时间,自动在日历中创建事件"
}
}
}
}
}常见问题排查
| 问题 | 原因 | 解决 |
|---|---|---|
| OAuth 回调地址不匹配 | Console 中配置的 URI 不一致 | 检查 https/http、端口、路径完全一致 |
| Pub/Sub 延迟 > 1分钟 | ack-deadline 太短,消息被重投 | 增大 ack-deadline 到 120s |
| 同一邮件处理多次 | Pub/Sub 至少一次语义 | OpenClaw 内置去重,检查 ack 是否正常返回 |
| 订阅邮件太多 | 缺少过滤配置 | 配置 excludeSenders 和 excludeSubjectContains |
来源:OpenClaw 官方文档 - docs.openclaw.ai/channels/gmail