email-triage

📧 本地 AI 驱动的隐私优先邮件管家

🥥4总安装量 2评分人数 1
100% 的用户推荐

基于本地 Ollama LLM 的 IMAP 邮件智能分类工具,支持紧急/待回复/信息/垃圾四级分类,零第三方依赖,为个人和团队提供隐私优先的收件箱自动化管理方案。

A

基本安全,请在特定环境下使用

  • 来自可信组织或认证账号,需要结合权限范围判断
  • ✅ 零第三方依赖,仅使用 Python 标准库,无供应链攻击风险
  • ✅ 无动态代码执行(eval/exec/subprocess),代码注入风险可控
  • ✅ 只读 IMAP 模式访问邮箱,遵循最小权限原则
  • ⚠️ 需配置邮箱凭据至环境变量,建议使用应用专用密码替代主密码
  • ⚠️ 邮件内容发送至本地 Ollama 处理,需确保服务绑定 127.0.0.1 避免外部暴露

使用说明

核心用法

Email Triage 是一款面向 IMAP 邮箱的智能分类工具,通过本地部署的 Ollama 大语言模型或启发式规则,自动将未读邮件划分为四个优先级类别:紧急(urgent)、需回复(needs-response)、信息类(informational)和垃圾邮件(spam)。用户通过命令行执行 scan 扫描收件箱、、report 查看待处理邮件、、mark-surfaced 标记已处理,形成完整的邮件处理工作流。工具采用状态持久化机制,通过 JSON 文件跟踪邮件分类历史和已读状态,避免重复处理。

显著优点

隐私优先架构:所有邮件内容仅在本地处理,Ollama 运行在 127.0.0.1,无需将敏感信息上传至云端 API,适合对数据主权要求严格的用户。

零依赖设计:仅使用 Python 标准库(imaplib、urllib、json 等),彻底消除供应链攻击风险,部署简单且长期可维护。

智能降级机制:当 Ollama 不可用时自动切换至关键词启发式分类,确保服务连续性;同时支持只读 IMAP 模式,降低误操作风险。

状态精细化管理:基于 Message-ID 的去重机制、200 条记录的自动修剪、以及 surfaced 标记系统,使工具能够无缝融入自动化工作流(如 cron 定时任务或 Agent 流水线)。

潜在缺点与局限性

分类精度依赖本地算力:7B 参数模型(默认 qwen2.5:7b)对复杂语境的理解有限,可能出现误判;启发式规则对非英语邮件或高度个性化的邮件格式效果欠佳。

IMAP 协议限制:仅支持标准 IMAP 访问,无法处理需要 OAuth2 的现代邮箱(如部分企业 Microsoft 365 配置),且每次扫描最多处理 20 封邮件,大规模收件箱需要频繁轮询。

单用户设计:状态文件为本地 JSON,不支持多设备同步或团队协作场景下的状态共享。

无主动通知能力:工具本身不集成推送或邮件提醒,需要外部系统轮询 report --json 输出才能触发后续动作。

适合的目标群体

  • 技术型个人用户:开发者、研究员、自由职业者等需要管理多个邮箱且重视隐私的人群
  • 小型团队运维:需要监控基础设施告警邮箱(urgent 类别)的 DevOps 工程师
  • 本地优先的自动化工作流:将邮件处理集成到自托管的 Agent 系统或 HomeLab 环境
  • 离线或受限网络环境:无法使用云端邮件服务 API 的内网或边缘计算场景

使用风险

凭据管理风险:IMAP 密码需通过环境变量配置,若部署环境日志记录不完善,存在敏感信息泄露可能;建议强制使用应用专用密码并限制环境变量访问权限。

状态文件膨胀:虽然自动修剪至 200 条,但高频扫描场景下 JSON 文件仍可能产生 I/O 瓶颈,建议定期归档或监控磁盘使用。

Ollama 服务可用性:本地 LLM 服务崩溃或模型加载失败将导致分类质量下降,生产环境需配置健康检查和告警。

邮件内容本地存储:分类后的邮件主题、发件人等信息持久化在状态文件中,共享设备或备份场景需注意数据残留风险。

email-triage 内容

文件夹图标scripts文件夹
手动下载zip · 7.5 kB
email-triage.pytext/plain
请选择文件