名称: email-triage
版本: 1.0.1
描述: 使用本地 Ollama 大语言模型进行 AI 分类的 IMAP 邮件扫描与优先级处理工具。扫描未读邮件,将其分类为紧急、需回复、信息性或垃圾邮件,并为智能体呈现重要消息。可独立运行并具备启发式回退机制——Ollama 为可选但推荐使用。
元数据:
openclaw:
requires:
bins: ["python3"]
扫描您的 IMAP 收件箱,将邮件按优先级分类,并突出显示需要关注的消息。使用本地大语言模型(Ollama)进行智能分类,当 Ollama 不可用时,会回退到基于规则的启发式分类方法。
| 图标 | 类别 | 描述 |
|---|---|---|
| 🔴 | 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
report 命令:仅呈现尚未被处理的紧急和需回复邮件,并按优先级排序。mark-surfaced 命令:将已报告的邮件标记为“已处理”,使其不再出现在未来的报告中。scan 命令,然后使用 report --json 检查是否有需要关注的事项。scan → report --json → 处理结果 → mark-surfaced。