前言
Google Chat 是 Google Workspace 中的企业通讯工具。OpenClaw 支持与 Google Chat 深度集成,为企业团队提供 AI 助手服务。由于 Google Chat 的配置步骤较多,本教程将逐步引导你完成整个流程。
前置要求
- 已安装并运行 OpenClaw
- Google Workspace 管理员权限(或开发者权限)
- Google Cloud Console 访问权限
- 一个可公网访问的 HTTPS 地址
配置步骤(共 9 步)
第 1 步:创建 Google Cloud 项目
- 访问 Google Cloud Console
- 创建新项目或选择已有项目
- 记录项目 ID
第 2 步:启用 Google Chat API
在项目中启用 Chat API:
# 使用 gcloud CLI
gcloud services enable chat.googleapis.com --project=你的项目ID
或者在 Cloud Console 中搜索 "Google Chat API" 并点击启用。
第 3 步:创建服务账号
- 进入 IAM 与管理 → 服务账号
- 创建新的服务账号,命名为
openclaw-chat-bot - 下载 JSON 格式的密钥文件
# 使用 gcloud CLI 创建
gcloud iam service-accounts create openclaw-chat-bot \
--display-name="OpenClaw Chat Bot"
# 生成密钥
gcloud iam service-accounts keys create credentials.json \
--iam-account=openclaw-chat-bot@你的项目ID.iam.gserviceaccount.com
重要:妥善保管 credentials.json 文件,不要提交到版本控制。
第 4 步:配置 Chat 应用
- 在 Cloud Console 中进入 Google Chat API → Configuration
- 填写应用信息:
- 应用名称:OpenClaw Assistant
- 头像 URL:你的机器人头像地址
- 描述:AI 智能助手
第 5 步:设置 Webhook 受众类型
在 Chat 应用配置中,选择连接方式:
- App URL:填写你的 Webhook 地址
- Audience type:根据需求选择(Domain、Specific people 等)
Webhook URL 格式示例:https://your-domain.com/googlechat
第 6 步:配置 OpenClaw
channels:
- type: googlechat
credentialsPath: "/path/to/credentials.json"
dmPolicy: "open"
groupPolicy: "onmention"
typingIndicator: "realtime"
第 7 步:安全路径配置
重要安全提示:只暴露 /googlechat 路径,不要将 OpenClaw 的完整 API 暴露在公网上。
# Nginx 配置示例 - 仅代理 Google Chat 路径
server {
listen 443 ssl;
server_name your-domain.com;
location /googlechat {
proxy_pass http://localhost:3000/googlechat;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
# 拒绝其他所有路径
location / {
return 403;
}
}
第 8 步:部署公网接入
选择合适的方案将 OpenClaw 暴露到公网:
方案一:Tailscale Funnel
# 使用 Tailscale Funnel 安全暴露
tailscale funnel 3000
方案二:Caddy 反向代理
your-domain.com {
route /googlechat* {
reverse_proxy localhost:3000
}
respond 403
}
方案三:Cloudflare Tunnel
cloudflared tunnel --url http://localhost:3000 --hostname your-domain.com
第 9 步:验证与发布
- 在 Google Chat 中搜索你的应用名称
- 向机器人发送测试消息
- 确认 AI 正常回复后发布应用
核心配置详解
输入指示器(typingIndicator)
控制机器人在处理消息时是否显示"正在输入"状态:
typingIndicator: "off" # 不显示
typingIndicator: "realtime" # 实时显示打字状态
typingIndicator: "start" # 仅在开始处理时显示一次
DM 配对
dmPolicy: "open" # 接受所有私聊
dmPolicy: "paired" # 需要审批
dmPolicy: "off" # 关闭私聊
群组提及要求
在群组中,建议开启提及要求,避免机器人响应所有消息:
groupPolicy: "onmention" # 被 @ 时才回复
媒体文件
Google Chat 频道支持收发媒体文件,单个文件大小限制为 20MB。
安全建议
- 最小暴露原则:只暴露
/googlechat路径到公网 - 服务账号权限:只授予 Chat API 所需的最小权限
- 密钥轮换:定期更换服务账号密钥
- 网络隔离:使用 VPC 或防火墙限制入站流量来源
# 验证 Google Chat 请求的来源 IP
# Google 的 IP 范围可以通过以下地址查询
curl https://www.gstatic.com/ipranges/goog.json
常见问题
服务账号认证失败
确认 credentials.json 文件路径正确且文件内容完整。检查服务账号是否拥有 Chat API 权限。
Webhook 无法连通
- 确认 HTTPS 证书有效
- 检查防火墙是否放行了 443 端口
- 使用
curl测试 Webhook 端点是否可访问
curl -I https://your-domain.com/googlechat
# 应返回 200 或 405(Method Not Allowed 也是正常的)
群组中机器人不回复
确认机器人已被添加到群组空间,且消息中 @ 了机器人(如果 groupPolicy 为 onmention)。
消息延迟
Google Chat Webhook 本身延迟较低,如有明显延迟,检查 AI 模型的响应时间和网络链路。
总结
Google Chat 的对接流程虽然步骤较多,但每一步都比较清晰。核心要点是正确配置服务账号、安全暴露 Webhook 路径。适合已经使用 Google Workspace 的企业团队部署内部 AI 助手。