用途
Gmail 技能用于自动化 Gmail 操作,包括读取、发送、回复、转发和管理邮件。适用于邮件自动化、收件箱管理和沟通工作流。该技能通过 OAuth 认证访问 Gmail。
主要能力
- 列出邮件、列出未读邮件、搜索邮件、读取邮件内容
- 发送邮件、回复邮件、转发邮件
- 创建草稿、列出草稿、列出标签
- 删除邮件、归档邮件、标记已读
- 获取附件
安全规则(强制)
- 未经明确批准绝不发送:发送前必须向用户展示完整邮件(收件人、主题、正文),并询问“是否要发送此邮件?(是/否)”。即使用户说“给 X 发邮件”,也绝不自动发送;绝不在循环中未经逐封确认发送多封邮件。
- 草稿优先工作流(默认行为):所有发送、回复、转发操作先创建草稿。用户看到草稿后选择:是(立即发送)、否(删除草稿)或保留草稿(在 Gmail 中审阅)。这确保用户始终可以在 Gmail 界面中审阅后再发送。
- 敏感操作需要确认:发送邮件、回复邮件、转发邮件、发送草稿、删除草稿、删除邮件均需确认。
- 读取操作安全:列出邮件、搜索邮件、读取邮件内容、列出标签、列出草稿、获取附件无需确认。
使用方式
预检(始终首先运行)
python3 00-system/skills/google/google-master/scripts/google_auth.py --check --service gmail
退出码:
- 0:就绪,继续处理用户请求
- 1:需要登录,运行
python3 00-system/skills/google/google-master/scripts/google_auth.py --login - 2:缺少凭据或依赖,参见
../google-master/references/setup-guide.md
常用命令
列出邮件:
python3 00-system/skills/google/gmail/scripts/gmail_operations.py list --max 10
列出未读邮件:
python3 00-system/skills/google/gmail/scripts/gmail_operations.py list --query "is:unread" --max 10
搜索邮件:
python3 00-system/skills/google/gmail/scripts/gmail_operations.py search "from:user@example.com subject:report"
读取邮件:
python3 00-system/skills/google/gmail/scripts/gmail_operations.py read <message_id>
发送邮件:
python3 00-system/skills/google/gmail/scripts/gmail_operations.py send --to "user@example.com" --subject "Hello" --body "Message body"
回复邮件:
python3 00-system/skills/google/gmail/scripts/gmail_operations.py reply <message_id> --body "Reply text"
转发邮件:
python3 00-system/skills/google/gmail/scripts/gmail_operations.py forward <message_id> --to "user@example.com"
创建草稿:
python3 00-system/skills/google/gmail/scripts/gmail_operations.py draft --to "user@example.com" --subject "Draft" --body "Content"
列出草稿:
python3 00-system/skills/google/gmail/scripts/gmail_operations.py drafts
列出标签:
python3 00-system/skills/google/gmail/scripts/gmail_operations.py labels
删除/归档/标记已读:
python3 00-system/skills/google/gmail/scripts/gmail_operations.py trash <message_id>
python3 00-system/skills/google/gmail/scripts/gmail_operations.py archive <message_id>
python3 00-system/skills/google/gmail/scripts/gmail_operations.py mark-read <message_id>
Gmail 搜索语法
| 操作符 | 示例 | 说明 |
|---|---|---|
| from: | from:user@example.com | 来自发件人的邮件 |
| to: | to:me@example.com | 发给收件人的邮件 |
| subject: | subject:meeting | 主题包含某词 |
| is:unread | is:unread | 未读邮件 |
| has:attachment | has:attachment | 有附件 |
| after: | after:2024/01/01 | 某日期之后 |
| before: | before:2024/12/31 | 某日期之前 |
| label: | label:important | 有某标签 |
适用场景
- 邮件自动化:批量读取、搜索、整理邮件
- 收件箱管理:列出未读、标记已读、归档、删除
- 沟通工作流:起草、回复、转发邮件,并在发送前人工确认
限制
- 需要 OAuth 认证,首次使用需在 Google Cloud Console 创建凭据并配置环境变量
- 所有发送类操作必须经用户明确确认,不能自动发送
- 错误处理参见
../google-master/references/error-handling.md
设置
首次设置参见 ../google-master/references/setup-guide.md。
快速开始:
- 安装依赖:
pip install google-auth google-auth-oauthlib google-api-python-client
- 在 Google Cloud Console 创建 OAuth 凭据(启用 Gmail API,选择“桌面应用”)
- 在 Nexus 根目录的 .env 文件中添加:
GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your-client-secret
GOOGLE_PROJECT_ID=your-project-id
- 运行登录:
python3 00-system/skills/google/google-master/scripts/google_auth.py --login