2026年7月9日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

拆解 OpenClaw 补充 | 让龙虾收邮件、分析邮件、分拣收件箱:完整配置手把手实操

发布日期:2026-03-10 08:24:11 浏览次数: 4162
作者:与AI同行之路

微信搜一搜,关注“与AI同行之路”

推荐语

让你的龙虾助手高效处理邮件,从配置到实战一网打尽!

核心内容:
1. OpenClaw邮件处理的两种配置方式:主动轮询与实时推送
2. Docker部署的两种方案对比与详细操作指南
3. Gmail专用密码生成与imap-smtp-email技能安装全流程

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

 

本文为 拆解 OpenClaw 10 | 养一只会帮你谈价砍单的龙虾 的实战补充。主文讲了养龙虾的五步法,第三步「教技能」里提到了邮件处理。这篇把邮件、邮件、收件箱的完整配置补全 —— 从 Skill 安装、.env 到 HEARTBEAT、AgentS。

两种方式:主动取(心跳轮询)和被动推(新邮件实时推送)。主动取配置简单,被动推需要 Tailscale + gcloud。

Docker 部署:支持。推荐用 imap-smtp-email + Gmail App Password(见下方「Docker 专用方案」),无需 gog、无需 OAuth,配环境变量即可。若坚持用 gog,需在宿主机完成 OAuth 后挂载 keyring 目录进容器。

本地 Docker(如 docker-compose.yml 挂载 OPENCLAW_CONFIG_DIROPENCLAW_WORKSPACE_DIR):Skill 装在宿主机 $OPENCLAW_WORKSPACE_DIR 下,.env 写在 Skill 目录,容器通过 volume 自动读到。

Docker 专用方案(推荐)

OpenClaw 跑在 Docker 里时,用 imap-smtp-email Skill 最省事:不走 OAuth,用 Gmail App Password,环境变量传进去就行。

1. 生成 Gmail App Password

    1. 登录 [Google 账号]https://myaccount.google.com/

    2. 开启两步验证(若未开启):[安全性与登录]https://myaccount.google.com/security → 左侧「安全性与登录」→ 主区域「您的 Google 账号登录选项」下的「两步验证」

    3. 进入 [App Passwords]https://myaccount.google.com/apppasswords,选「邮件」和「其他设备」,生成 16 位密码

    2. 安装 imap-smtp-email Skill

    在宿主机执行(需指定工作空间路径,与 docker-compose 的 OPENCLAW_WORKSPACE_DIR 一致):

    # 若 OPENCLAW_WORKSPACE_DIR=~/.openclaw/workspace
    cd
     ~/.openclaw/workspace
    npx playbooks add skill openclaw/skills --skill imap-smtp-email

    # 或指定目标目录(按你的 agent 结构)

    npx playbooks add skill openclaw/skills --skill imap-smtp-email --path ~/.openclaw/workspace

    3. 配置 Skill 环境变量

    在 Skill 目录创建 .env。playbooks 安装后路径一般为:

    • • ~/.openclaw/workspace/.agents/skills/imap-smtp-email/.env

    用 find 快速定位:find ~/.openclaw/workspace -name "imap-smtp-email" -type d

    IMAP_HOST=imap.gmail.com
    IMAP_PORT=993
    IMAP_USER=xxxx@gmail.com
    IMAP_PASS=你的16位AppPassword
    IMAP_TLS=true
    IMAP_MAILBOX=INBOX

    或在 docker-compose 里通过 environment 传入(注意别把密码写进版本库)。

    4. 确保容器能访问 Skill 的 env

    若 Skill 的 .env 在挂载的 workspace 里,Agent 调用时能读到。若用 docker-compose 的 environment,需确认 OpenClaw 会把它们传给 Skill 子进程(依具体部署方式而定)。

    5. HEARTBEAT 和 AGENTS 配置

    在 ~/.openclaw/workspace/ 下编辑两个文件:

    HEARTBEAT.md(心跳检查清单,Agent 按间隔执行):

    # 心跳检查清单
    -
     检查来自重要联系人的紧急邮件
    -
     检查 2 小时内即将到来的日历事件
    -
     回顾最近每日记忆并更新 MEMORY.md

    AGENTS.md(任务处理规则,告诉 Agent 怎么处理邮件):

    ## 任务处理规则
    -
     收到邮件:先分类(紧急/普通/可忽略),再按优先级处理
    -
     紧急的:摘要推给我,并提示需要尽快回复
    -
     普通的:起草回复草稿,等我确认后再发
    -
     可忽略的:标记已读,不打扰我
    -
     涉及删除、发送、支付:必须先给我看草稿,等我明确说「发」才能执行

    TOOLS.md(可选,方便 Agent 知道用哪个邮箱):

    - 邮箱: xxxx@gmail.com

    6. 重启容器

    在 OpenClaw 项目目录执行(确保 .env 里 OPENCLAW_CONFIG_DIROPENCLAW_WORKSPACE_DIR 已配置):

    cd /path/to/openclaw   # 如 digital-employee-platform/openclaw
    docker compose restart openclaw-gateway

    或 docker restart openclaw-gateway-1(容器名以实际为准)。

    若坚持用 gog(Docker)

    OpenClaw 官方镜像通常不含 gog。可选:

    • • 宿主机 OAuth + 挂载:在宿主机执行 gog auth add wuhoujin68@gmail.com --manual,完成授权后把 ~/.config/gogcli 挂载进容器(映射到容器内 node 用户的对应路径),并设置环境变量 GOG_KEYRING_PASSWORD。容器内需自行安装 gog(自定义镜像或启动时安装)。
    • • imap-smtp-email 更简单:无 gog、无 OAuth,适合 Docker。

    方式一:主动取(本机 / 非 Docker 推荐)

    Agent 按心跳间隔(默认 30 分钟)主动查收件箱。

    1. 安装 gog

    # macOS
    brew install steipete/tap/gogcli

    # 或

    brew install gogcli

    2. 创建 Google Cloud OAuth 客户端

    1. 1. 打开 Google Cloud Console
    2. 2. 新建项目或选现有项目
    3. 3. 启用 Gmail API:APIs & Services → Library → 搜索 "Gmail API" → Enable
    4. 4. 配置 OAuth 同意屏幕:APIs & Services → OAuth consent screen
    • • 用户类型选 External
    • • 填应用名称、支持邮箱
    • • 添加范围:https://www.googleapis.com/auth/gmail.readonly(只读)或 https://www.googleapis.com/auth/gmail.modify(读+草稿)
    • • 测试用户里添加 wuhoujin68@gmail.com(若应用在 Testing 模式)
    • • 个人用建议点 PUBLISH APP,否则令牌 7 天过期
    • 5. 创建凭据:APIs & Services → Credentials → Create Credentials → OAuth client ID
      • • 应用类型选 Desktop app
      • • 下载 JSON 文件(如 client_secret_xxx.json

      3. 用 gog 完成 OAuth 授权

      # 注册 OAuth 客户端
      gog auth credentials /path/to/client_secret_xxx.json

      # 授权账号(会打开浏览器)

      gog auth add wuhoujin68@gmail.com --services gmail

      # 无头环境用 --manual

      # gog auth add wuhoujin68@gmail.com --services gmail --manual --force-consent

      4. 验证

      gog gmail search 'is:unread' --max 5 --account wuhoujin68@gmail.com

      能列出未读邮件即成功。

      5. 安装 gmail-oauth 或 gmail Skill

      npx playbooks add skill openclaw/skills --skill gmail-oauth
      # 或

      npx playbooks add skill openclaw/skills --skill gmail

      6. 在 Agent 工作空间配置

      TOOLS.md 里加一行(可选,方便 Agent 知道用哪个账号):

      - 邮箱: wuhoujin68@gmail.com

      HEARTBEAT.md 里加收件箱检查:

      # 心跳检查清单
      -
       扫描 wuhoujin68@gmail.com 收件箱,有紧急邮件摘要推给我

      AGENTS.md 里说明任务规则(可选):

      ## 任务处理规则
      -
       收到邮件:先分类(紧急/普通/可忽略),再按优先级处理。紧急的摘要推给我,普通的起草回复等我确认

      7. 重启 OpenClaw 或等下次心跳

      Agent 会按 HEARTBEAT 间隔调用 gog gmail search 查未读,并推摘要给你。


      方式二:被动推(实时)

      新邮件到达时,Gmail 通过 Pub/Sub 推给 OpenClaw,实时性更好。需要 Tailscale、gcloud、Google Cloud 项目。

      前置条件

      • • Tailscale 已登录
      • • gcloud 已安装并登录
      • • gog 已完成方式一的 1–4 步

      一键配置(推荐)

      openclaw webhooks gmail setup --account wuhoujin68@gmail.com

      该命令会:

      • • 启用 Gmail hook 预设
      • • 配置 hooks.gmail
      • • 用 Tailscale Funnel 作为公网推送端点
      • • 在 macOS 上自动安装 gcloud、gogcli、tailscale(通过 brew)

      手动配置(若一键失败)

      1. 1. 选 GCP 项目(需与 gog OAuth 客户端同项目):
      gcloud auth login
      gcloud config set project <你的项目ID>
      1. 2. 启用 API
      gcloud services enable gmail.googleapis.com pubsub.googleapis.com
      gcloud pubsub topics create gog-gmail-watch
      1. 3. 授权 Gmail 推送
      gcloud pubsub topics add-iam-policy-binding gog-gmail-watch \
        --member=serviceAccount:gmail-api-push@system.gserviceaccount.com \
        --role=roles/pubsub.publisher
      1. 4. 启动 Gmail Watch
      gog gmail watch start \
        --account wuhoujin68@gmail.com \
        --label INBOX \
        --topic projects/<项目ID>/topics/gog-gmail-watch
      1. 5. 运行推送处理
      openclaw webhooks gmail run

      或依赖 Gateway 自动启动(hooks.enabled=true 且 hooks.gmail.account 已配置时)。

      配置投递到聊天

      在 openclaw.json 的 hooks 里加 mapping,让新邮件推到你用的渠道(如微信、钉钉):

      {
        hooks: {
          enabled: true,
          token: "OPENCLAW_HOOK_TOKEN",
          presets: ["gmail"],
          mappings: [
            {
              match: { path: "gmail" },
              action: "agent",
              deliver: true,
              channel: "last",
              messageTemplate: "新邮件 from {{messages[0].from}}\nSubject: {{messages[0].subject}}\n{{messages[0].snippet}}"
            }
          ]
        }
      }

      权限建议

      • • 只收邮件:OAuth 范围用 gmail.readonly
      • • 收 + 起草回复:用 gmail.modify,但 AGENTS.md 里写清楚「起草必须等我确认才能发」
      • • 不建议给发送权限,除非你接受 Agent 自主发邮件(参见 Day 12 保险理赔翻车故事)

     

    53AI,企业落地大模型首选服务商

    产品:场景落地咨询+大模型应用平台+行业解决方案

    承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

    联系我们

    售前咨询
    186 6662 7370
    预约演示
    185 8882 0121

    微信扫码

    添加专属顾问

    回到顶部

    加载中...

    扫码咨询

    扫码登录
    登录即表示您同意《53AI网站服务协议》
    服务协议

    欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

    在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

    一、 定义

    本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

    会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

    知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

    二、 账号注册与登录

    登录方式:本网站支持以下登录方式,您可根据实际情况选择:

    微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

    手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

    账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

    实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

    未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

    三、 服务内容与规范

    知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

    服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

    禁止行为:您在使用服务时不得实施以下行为:

    利用技术手段批量爬取、下载、转存知识库内容;

    将知识库内容用于商业目的或未经授权地向第三方传播;

    干扰本网站正常运行或侵犯其他用户合法权益;

    发布违法违规信息或从事违反公序良俗的活动。

    四、 知识产权声明

    权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

    有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

    侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

    五、 个人信息保护

    我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

    您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

    您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

    六、 免责声明

    内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

    不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

    第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

    七、 违约责任

    如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

    如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

    八、 法律适用与争议解决

    本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

    因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

    九、 其他

    本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

    本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

    我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


    已查阅