运行时依赖
安装命令
点击复制技能文档
inbox-cleanup 批量 IMAP 电子邮件分类:根据发送者域名、主题关键词或自定义模式分类 → 删除/存档。
何时使用此功能:
- 需要批量删除或存档 50+ 条匹配模式(发送者域名、主题关键词)的电子邮件。
- 收件箱中有来自已知噪音发送者的大量积压(GitHub 通知、Slack 摘要、新闻稿)。
- 您希望在执行任何破坏性操作之前进行 dry-run 预览。
- 需要将可复制的分类逻辑存储为配置(而不是一次性手动点击)。
何时不使用此功能:
- 读取或搜索特定电子邮件 —— 使用 IMAP 工具或直接使用 webmail。
- 分类少于 ~10 封电子邮件 —— 手动完成即可。
- 您希望回复、转发或撰写 —— 此功能仅用于删除/存档。
- 不确定收件箱中有什么 —— 总是先进行 dry-run,永远不要盲目运行。
与其他技能的边界: 此技能不读取电子邮件内容进行决策(无 NLP/LLM 分类)。它仅匹配发送者域名和主题字符串模式。对于内容感知分类,需要不同的方法。
⚠️ 不要删除的内容: 某些电子邮件类别看起来像噪音,但必须保留:
- 事务性电子邮件 —— 订单确认、发货通知、收据(用于费用跟踪)。
- 身份验证代码/OTP/2FA 电子邮件 —— 一次性代码、密码重置。
- 法律/合规 —— 发票、税务文件、服务条款变更通知。
- 银行/金融 —— 语句、交易警报。
- 域名/托管续费 —— 注册商、DNS 提供商的过期通知。
- ato.gov.au # 澳大利亚税务局
- myob.com # 会计
- godaddy.com # 域名注册商
- cloudflare.com # DNS/托管
- stripe.com # 支付
- paypal.com # 支付
- no-reply@apple.com # Apple 收据
关键文件: scripts/inbox_cleanup.py —— 主要清理脚本(默认为 dry-run)。 scripts/config_example.yaml —— 模式配置模板。
快速开始: # 步骤 1:始终先进行 dry-run —— 不进行任何更改,只是预览。 python3 scripts/inbox_cleanup.py --config my_patterns.yaml --dry-run # 步骤 2:查看输出。如果看起来正确: python3 scripts/inbox_cleanup.py --config my_patterns.yaml
成功的 dry-run 示例: 当 dry-run 完成时,您将看到类似以下的输出: [DRY RUN] 将删除 142 封来自 github.com 的电子邮件。 [DRY RUN] 将删除 38 封来自 slack.com 的电子邮件。 [DRY RUN] 将存档 17 封来自 notion.so 的电子邮件。 [DRY RUN] 将存档 9 封包含关键词 "newsletter" 的电子邮件。 [DRY RUN] 跳过 3 封来自 leave_domains 的电子邮件(stripe.com、paypal.com)。 ──────────────────────────────────────────── 总共将删除:180 总共将存档:26 总共跳过(leave_domains):3 如果数字看起来不正确(例如,预期为几百,但实际为 0 匹配),请检查:
- IMAP_HOST/IMAP_PORT/IMAP_USER 环境变量是否设置。
- 配置中的发送者域名是否与实际域名完全匹配(例如,noreply.github.com ≠ github.com)。
- 脚本是否连接到正确的 IMAP 文件夹(默认:INBOX)。
所需环境变量: IMAP_HOST=127.0.0.1 # IMAP 服务器主机(127.0.0.1 为 Proton Bridge 本地代理)。 IMAP_PORT=1143 # 端口:993 = 直接 SSL,1143 = Proton Bridge STARTTLS。 IMAP_USER=you@example.com #您的 IMAP 登录用户名。 IMAP_PASSWORD=yourpassword # IMAP 密码(使用 op read for 1Password)。 IMAP_STARTTLS=true # true = 连接后升级为 STARTTLS(Proton Bridge);false = 从开始使用 SSL。 IMAP_SKIP_CERT_VERIFY=true # true = 接受自签名证书(Proton Bridge 所需)。 ARCHIVE_FOLDER=Archive # 要将已存档电子邮件移动到的确切 IMAP 文件夹名称(必须已存在)。 或者使用 --imap-* CLI 标志。请参阅 python3 scripts/inbox_cleanup.py --help。
配置文件格式(YAML): # 应永久删除的电子邮件的发送者域名。 delete_domains:
- github.com # GitHub 通知(问题、PR、操作)。
- noreply.github.com # GitHub 无回复(不同的子域名 —— 如果需要,请列出两个)。
- slack.com # Slack 摘要/通知电子邮件。
- notion.so # Notion 共享通知。
- coinbase.com # 加密货币价格警报。
- newsletter # 匹配 "The Weekly Newsletter"、"Newsletter #42" 等。
- digest # "Daily Digest"、"Weekly Digest"。
- weekly roundup # 精确子字符串匹配。
- "^\\[GitHub\\]" # 以 "[GitHub]" 开头的主题。
- ato.gov.au # 澳大利亚税务局。
- myob.com # 会计。
- godaddy.com # 域名注册商。
- cloudflare.com # DNS/托管。
- stripe.com # 支付。
- paypal.com # 支付。
- no-reply@apple.com # Apple 收据。