Token导航 LogoToken导航TokenDH.com
研究检索需要联网clawhub未标认证来源可访问clear审计提醒

inbox-cleanup收件箱清理

Agent Skill

inbox-cleanup 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

14,302

周安装

573

GitHub Stars

公开资料未说明

下载量

4,630
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:inbox-cleanup(收件箱清理)
来源仓库:https://github.com/nissan/inbox-cleanup
安装命令:
openclaw skills install inbox-cleanup
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install inbox-cleanup

简介

inbox-cleanup 支持 IMAP 协议批量清理邮件,可按规则删除或归档指定内容。

  • 适合在 OpenClaw 中需要整理大型收件箱、批量删除特定发件人邮件或执行定期维护时使用。
  • 提供试运行模式防止误删,允许预览操作结果后再执行正式清理动作。
  • 安装命令:openclaw skills install inbox-cleanup,需配置正确的邮箱账户与 IMAP 凭据。
  • 注意首次使用前务必开启试运行模式,并备份重要邮件以防意外丢失。

SKILL.md

name
inbox-cleanup
version
1.0.3
description
IMAP bulk email triage — pattern-based delete/archive with dry-run mode. Use when: cleaning up large email inboxes, bulk-deleting emails from specific senders or domains, archiving newsletter/digest emails, triaging email by sender domain or subject patterns. Supports IMAP STARTTLS (e.g. Proton Bridge), dry-run preview, YAML/JSON config for patterns, and processes UIDs (not sequence numbers) for reliable bulk ops.
author
nissan
tags
metadata
openclaw
emoji
📬
network
outbound
true
security_notes
Connects to user's own IMAP server (Proton Bridge on localhost or remote mailserver) using the user's own credentials. Reads and deletes/archives the user's own email only. No email content is sent to external parties.
reason
Connects to IMAP servers (including Proton Mail Bridge) to delete/archive emails

inbox-cleanup

Bulk IMAP email triage: classify → delete/archive by sender domain, subject keywords, or custom patterns.


When to Use This / When NOT to Use This

Use inbox-cleanup when:

  • You need to bulk-delete or archive 50+ emails matching a pattern (sender domain, subject keyword)
  • The inbox has a large backlog from known noisy senders (GitHub notifications, Slack digests, newsletters)
  • You want a dry-run preview before committing any destructive action
  • You need reproducible triage logic stored as config (not one-off manual clicks)

Do NOT use inbox-cleanup when:

  • Reading or searching for a specific email — use IMAP tools or webmail directly
  • Triaging fewer than ~10 emails — just do it manually
  • You want to reply, forward, or compose — this is delete/archive only
  • You're unsure what's in the inbox — always dry-run first, never run live blind

Boundary with other skills: This skill does NOT read email content for decision-making (no NLP/LLM classification). It matches on sender domain and subject string patterns only. For content-aware triage, a different approach is needed.


⚠️ What NOT to Delete

Some email categories look like noise but must be preserved:

  • Transactional emails — order confirmations, shipping notices, receipts (needed for expense tracking)
  • Auth codes / OTPs / 2FA emails — one-time codes, password resets
  • Legal / compliance — invoices, tax docs, terms-of-service change notices
  • Bank / financial — statements, transaction alerts
  • Domain / hosting renewals — expiry notices from registrars, DNS providers

Safeguard pattern: Add these sender domains to leave_domains in your config. When in doubt, archive instead of delete.

leave_domains:
  - ato.gov.au          # Australian Tax Office
  - myob.com            # Accounting
  - godaddy.com         # Domain registrar
  - cloudflare.com      # DNS / hosting
  - stripe.com          # Payments
  - paypal.com          # Payments
  - no-reply@apple.com  # Apple receipts

Key Files

  • scripts/inbox_cleanup.py — main cleanup script (dry-run by default)
  • scripts/config_example.yaml — pattern config template

Quick Start

# Step 1: Always dry-run first — no changes made, just a preview
python3 scripts/inbox_cleanup.py --config my_patterns.yaml --dry-run

# Step 2: Review the output. If it looks right:
python3 scripts/inbox_cleanup.py --config my_patterns.yaml

What a Successful Dry-Run Looks Like

When dry-run completes, you'll see output like:

[DRY RUN] Would delete 142 emails from github.com
[DRY RUN] Would delete 38 emails from slack.com
[DRY RUN] Would archive 17 emails from notion.so
[DRY RUN] Would archive 9 emails matching keyword "newsletter"
[DRY RUN] Skipping 3 emails from leave_domains (stripe.com, paypal.com)
─────────────────────────────────────────────
Total would-delete: 180
Total would-archive: 26
Total skipped (leave_domains): 3

If the numbers look wrong (e.g. 0 matches when you expected hundreds), check:

  1. The IMAP_HOST / IMAP_PORT / IMAP_USER env vars are set
  2. The sender domains in your config match exactly (e.g. noreply.github.comgithub.com)
  3. The script connected to the right IMAP folder (default: INBOX)

Required Env Vars

IMAP_HOST=127.0.0.1          # IMAP server host (127.0.0.1 for Proton Bridge local proxy)
IMAP_PORT=1143               # Port: 993 = direct SSL, 1143 = Proton Bridge STARTTLS
IMAP_USER=you@example.com    # Your IMAP login username
IMAP_PASSWORD=yourpassword   # IMAP password (use op read for 1Password)
IMAP_STARTTLS=true           # true = STARTTLS upgrade after connect (Proton Bridge); false = SSL-from-start
IMAP_SKIP_CERT_VERIFY=true   # true = accept self-signed cert (required for Proton Bridge)
ARCHIVE_FOLDER=Archive        # Exact IMAP folder name to move archived emails into (must already exist)

Or use --imap-* CLI flags. See python3 scripts/inbox_cleanup.py --help.


Config File Format (YAML)

# Sender domains whose emails should be permanently deleted
delete_domains:
  - github.com           # GitHub notifications (Issues, PRs, Actions)
  - noreply.github.com   # GitHub no-reply (different subdomain — list both if needed)
  - slack.com            # Slack digest/notification emails

# Sender domains whose emails should be moved to Archive (not deleted)
archive_domains:
  - notion.so            # Notion share notifications
  - coinbase.com         # Crypto price alerts

# Subject line keywords — emails matching any of these are archived (case-insensitive)
archive_keywords:
  - newsletter           # Matches "The Weekly Newsletter", "Newsletter #42", etc.
  - digest               # "Daily Digest", "Weekly Digest"
  - weekly roundup       # Exact substring match

# Subject line regex patterns — emails matching any of these are deleted
# Note: patterns are Python re.search() — anchored with ^ if you want start-of-line match
delete_subject_patterns:
  - "^\\[GitHub\\]"      # Subjects starting with "[GitHub]"

# Sender domains that should NEVER be touched — overrides all other rules
# Add banks, payment processors, auth providers, registrars here
leave_domains:
  - important-bank.com
  - stripe.com
  - paypal.com

Design Notes

  • UIDs not sequence numbers: The script always uses UID FETCH/UID STORE to

avoid message-renumbering bugs when messages are deleted mid-batch.

  • Dry-run by default: Always preview before committing. Pass --no-dry-run to apply.
  • Batch fetching: Headers fetched in batches of 50 for large inboxes. One-at-a-time

fetch mode available with --one-at-a-time for reliable UID tracking.

  • Progress logging: Stdout log with counts per domain and final report JSON.
  • STARTTLS support: Needed for Proton Bridge (port 1143 with self-signed cert).

Secret Management

Credentials via env vars or 1Password:

# Via env vars
export IMAP_PASSWORD="$(op read 'op://Vault/Email Account/password')"
python3 scripts/inbox_cleanup.py --config patterns.yaml

Common Mistakes

  1. Running live without a dry-run first

- Deleted emails may not be recoverable from all IMAP servers - Always run --dry-run first and review the counts

  1. Domain mismatch — listing github.com but emails come from noreply.github.com

- IMAP From headers often use subdomains. List both: github.com AND noreply.github.com - Run dry-run and check the "0 matches" — then inspect an actual email's From header

  1. ARCHIVE_FOLDER doesn't exist in the mailbox

- The script will error on archive operations if the folder isn't pre-created - Create the folder in webmail or your email client first

  1. Proton Bridge not running when script executes

- Port 1143 will refuse the connection - Ensure Proton Bridge desktop app is open and logged in before running

  1. leave_domains not populated

- Without leave_domains, the script will happily delete emails from payment processors, banks, and auth providers if they match another rule - Always populate leave_domains before any live run

  1. STARTTLS vs SSL confusion

- Direct IMAP SSL (Gmail, Fastmail): IMAP_PORT=993, IMAP_STARTTLS=false - Proton Bridge local proxy: IMAP_PORT=1143, IMAP_STARTTLS=true, IMAP_SKIP_CERT_VERIFY=true - Mixing these up causes connection failures or cert errors

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

86.6%
按下载量换算4,010

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills