电子邮件助手技能 (Email Agent Skill)
此技能赋予 AI 智能体完整的电子邮件处理能力,支持发送带附件的邮件、列出收件箱邮件、获取邮件详情、回复、标记已读及删除等操作。
功能概述
| 动作 (action) | 说明 |
|---|---|
send |
发送纯文本邮件,支持多个附件 |
list |
列出指定邮箱中的最近邮件(默认 INBOX) |
get |
根据邮件 ID 获取单封邮件的完整内容 |
reply |
回复指定邮件,自动添加 Re: 前缀和引用原文 |
mark_read |
将邮件标记为已读 |
delete |
删除指定邮件(移至已删除) |
指令 (Instructions)
当智能体被触发调用此技能时,请遵循以下步骤:
1. 环境准备
- 确保已安装
requirements.txt中的依赖包。 - 从
.env.example复制一份.env文件,并填入真实的邮箱配置(必须使用授权码,而非登录密码)。
2. 执行方式
调用 scripts/email_skill.py 中定义的 email_skill 函数,传入对应的 action 和所需参数。
3. 参数说明
所有请求均需包含 action 参数,其余参数按需提供:
| 参数名 | 类型 | 适用动作 | 描述 |
|---|---|---|---|
action |
string | 全部 | 必选,操作类型:send、list、get、reply、mark_read、delete |
to |
string | send, reply | 收件人邮箱地址 |
subject |
string | send, reply | 邮件主题 |
body |
string | send, reply | 邮件正文(纯文本) |
attachments |
array | send | 附件文件的绝对路径列表,可选 |
mailbox |
string | list, get, reply, mark_read, delete | 邮箱文件夹名称,默认 INBOX |
limit |
integer | list | 返回的邮件数量,默认 10 |
email_id |
string | get, reply, mark_read, delete | 邮件的唯一标识符(UID) |
include_body |
boolean | list | 是否在列表中包含邮件正文,默认 false |
4. 返回值
所有动作均返回一个 JSON 格式的字典,包含 success 字段表示操作是否成功。成功时返回相应数据(如邮件列表、邮件内容),失败时返回 error 字段说明原因。
5. 安全与最佳实践
- 邮箱密码必须使用应用专用密码(授权码),不得使用登录密码。
- 敏感信息(邮箱地址、授权码)应通过环境变量传入,不得硬编码。
- 在回复邮件前,确保已通过
get动作获取了正确的原邮件信息。
代码依赖
- Python 3.8+
- 详见
requirements.txt
示例对话
- 用户:“帮我给 boss@company.com 发一封主题为‘项目进度’的邮件,内容是……”
- 智能体:调用
action="send"完成发送。 - 用户:“看看我的收件箱里有没有新邮件。”
- 智能体:调用
action="list"返回最近的邮件摘要。 - 用户:“把刚才那封关于会议的邮件删掉。”
- 智能体:先调用
list或get定位邮件 ID,再调用action="delete"。
