SuperAPI AI 工具集

gws-gmail-watch

办公与效率

查看项目

更新于 10-16 04:20

技能介绍

用途

gws-gmail-watch 是 gws-claude-plugin 提供的一个 Gmail 相关技能,用于监听新邮件,并将邮件以 NDJSON(每行一个 JSON 对象)的形式流式输出。它适合需要持续获取 Gmail 新邮件并进行后续处理的场景。

前置条件

使用前需阅读 ../gws-shared/SKILL.md,了解认证方式、全局参数和安全规则。如果该文件缺失,可运行 gws generate-skills 生成。

主要能力

  • 监听新邮件并以 NDJSON 流式输出。
  • 通过 Google Cloud Pub/Sub 接收 Gmail 推送:可指定 GCP 项目 ID,也可直接使用已有的 Pub/Sub 订阅或已授予 Gmail 推送权限的 Pub/Sub 主题。
  • 按 Gmail 标签 ID 过滤,例如 INBOX、UNREAD,多个标签用逗号分隔。
  • 控制拉取行为:设置每批最大消息数(默认 10)、拉取间隔秒数(默认 5)、消息格式(full、metadata、minimal、raw,默认 full)。
  • 支持单次拉取后退出(--once)。
  • 支持退出时清理所创建的 Pub/Sub 资源(--cleanup)。
  • 支持将每封邮件写入指定目录下的独立 JSON 文件(--output-dir)。

使用方式

基本命令:

gws gmail +watch

可用参数:

  • --project:用于 Pub/Sub 资源的 GCP 项目 ID。
  • --subscription:已有的 Pub/Sub 订阅名称(跳过设置)。
  • --topic:已有的、已授予 Gmail 推送权限的 Pub/Sub 主题。
  • --label-ids:逗号分隔的 Gmail 标签 ID,用于过滤,例如 INBOX,UNREAD。
  • --max-messages:每次拉取批次的最大消息数,默认 10。
  • --poll-interval:两次拉取之间的秒数,默认 5。
  • --msg-format:Gmail 消息格式,可选 full、metadata、minimal、raw,默认 full。
  • --once:拉取一次后退出。
  • --cleanup:退出时删除所创建的 Pub/Sub 资源。
  • --output-dir:将每封邮件写入该目录下的独立 JSON 文件。

示例:

gws gmail +watch --project my-gcp-project gws gmail +watch --project my-project --label-ids INBOX --once gws gmail +watch --subscription projects/p/subscriptions/my-sub gws gmail +watch --project my-project --cleanup --output-dir ./emails

提示与限制

  • Gmail watch 会在 7 天后过期,需要重新运行以续期。
  • 如果不使用 --cleanup,Pub/Sub 资源会保留,便于重新连接。
  • 按 Ctrl-C 可优雅停止。

相关技能

  • gws-shared:全局参数与认证。
  • gws-gmail:所有发送、读取和管理邮件的命令。