OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  email-triage:基于 AI 分类的 IMAP 邮件扫描与分选

email-triage:基于 AI 分类的 IMAP 邮件扫描与分选

 
  chatgp ·  2026-02-05 14:20:21 · 3 次点击  · 0 条评论  

名称: email-triage
版本: 1.0.1
描述: 使用本地 Ollama 大语言模型进行 AI 分类的 IMAP 邮件扫描与优先级处理工具。扫描未读邮件,将其分类为紧急、需回复、信息性或垃圾邮件,并为智能体呈现重要消息。可独立运行并具备启发式回退机制——Ollama 为可选但推荐使用。
元数据:
openclaw:
requires:
bins: ["python3"]


邮件优先级处理

扫描您的 IMAP 收件箱,将邮件按优先级分类,并突出显示需要关注的消息。使用本地大语言模型(Ollama)进行智能分类,当 Ollama 不可用时,会回退到基于规则的启发式分类方法。

先决条件

  • Python 3.10+
  • 支持 IMAP 访问的邮箱账户(如 Gmail、Fastmail、自建邮箱等)
  • Ollama (可选) — 用于 AI 驱动的分类。若未安装,脚本将使用基于关键词的启发式方法,对常见邮件模式依然有效。

分类标准

图标 类别 描述
🔴 urgent 服务中断、安全警报、法律事务、支付失败、时效性强的关键事务
🟡 needs-response 业务咨询、问题、需要回复的待办事项
🔵 informational 收据、确认函、新闻简报、自动通知
spam 营销推广、促销信息、未经请求的垃圾邮件

配置

所有配置均通过环境变量进行:

变量名 是否必需 默认值 描述
IMAP_HOST IMAP 服务器主机名
IMAP_PORT 993 IMAP 端口(SSL)
IMAP_USER IMAP 用户名 / 邮箱地址
IMAP_PASS IMAP 密码或应用专用密码
EMAIL_TRIAGE_STATE ./data/email-triage.json JSON 状态文件路径
OLLAMA_URL http://127.0.0.1:11434 Ollama API 端点
OLLAMA_MODEL qwen2.5:7b 用于分类的 Ollama 模型

写入的目录

  • EMAIL_TRIAGE_STATE (默认: ./data/email-triage.json) — 持久化状态文件,用于跟踪已分类邮件及其呈现状态。

命令

# 扫描收件箱并对新的未读邮件进行分类
python3 scripts/email/email-triage.py scan

# 扫描并输出详细信息(显示每条分类结果)
python3 scripts/email/email-triage.py scan --verbose

# 试运行 — 扫描并分类但不保存状态
python3 scripts/email/email-triage.py scan --dry-run

# 显示尚未被处理的重要邮件(紧急 + 需回复)
python3 scripts/email/email-triage.py report

# 功能同 report,但输出 JSON 格式(便于程序化处理)
python3 scripts/email/email-triage.py report --json

# 将已报告的邮件标记为“已处理”(使其不再出现在后续报告中)
python3 scripts/email/email-triage.py mark-surfaced

# 显示分类统计信息
python3 scripts/email/email-triage.py stats

工作原理

  1. 连接 IMAP:通过 SSL 连接并获取未读邮件(每次扫描最多 20 封)。
  2. 去重:根据邮件 Message-ID(或使用发件人+主题的哈希值作为后备方案)进行去重,确保邮件不会被重复分类。
  3. 分类:对每封邮件,优先使用 Ollama 进行分类;若不可用,则回退到基于关键词的启发式方法。
  4. 存储状态:将分类结果、原因及邮件是否已被处理等信息存储到本地 JSON 文件中。
  5. report 命令:仅呈现尚未被处理的紧急和需回复邮件,并按优先级排序。
  6. mark-surfaced 命令:将已报告的邮件标记为“已处理”,使其不再出现在未来的报告中。
  7. 自动清理:状态文件自动修剪,仅保留最近的 200 条记录,防止无限增长。

集成建议

  • 定时任务 / cron:定期运行 scan 命令,然后使用 report --json 检查是否有需要关注的事项。
  • 智能体工作流scanreport --json → 处理结果 → mark-surfaced
  • 不使用 Ollama:启发式分类器能很好地处理常见邮件模式(如自动通知、营销邮件、紧急关键词)。Ollama 主要用于处理语义模糊的邮件,提供更精细的分类。
  • 应用专用密码:如果您的邮箱提供商启用了双重验证,请为 IMAP 访问生成一个应用专用密码。
3 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor