You Jian
邮箱知识库(Mail Knowledge Base):收取、阅读、检索邮件,并把邮件构建成可全文检索的本地知识库。 支持多账号 IMAP 收信、读全文、下载附件、关键词检索、每日摘要分类。 Tr…
by cycleuser · MIT
The skill
邮箱知识库(Mail Knowledge Base):收取、阅读、检索邮件,并把邮件构建成可全文检索的本地知识库。 支持多账号 IMAP 收信、读全文、下载附件、关键词检索、每日摘要分类。 Triggers when: 需要收取/阅读/搜索邮件、把邮件归档成可检索知识库、按发件人/主题/日期归纳邮件、 生成"今天要处理哪些邮件"的摘要、下载邮件附件归档。 Commands: - /邮箱 fetch <账号|all> [--unread] [--limit N] - 收取邮件列表 - /邮箱 read <账号> <uid> - 读某封邮件全文 - /邮箱 search <账号|all> <关键词> - 按关键词检索邮件 - /邮箱 kb <账号|all> [--dir 目录] - 把邮件构建成本地知识库 - /邮箱 digest <账号|all> [--days N] - 每日摘要(分类+待办) - /邮箱 attach <账号> <uid> [--dir 目录] - 下载附件 - /邮箱 send <账号> --to x --subject x --body x [--attach f] - 发送 - /mail <subcommand> - English alias Capabilities: 多账号 IMAP 收信、中文乱码解码(gbk/gb18030/big5)、全文检索、 邮件→Markdown+JSON 知识库、每日摘要分类
Safety Rules
参见 _shared/core/safety-rules.md
邮箱知识库 (Mail Knowledge Base)
把邮箱里的邮件变成可检索、可归档的本地知识库。三件事:收与读 → 建库 → 检索。
核心是 scripts/mailbox.py,agent 直接调用完成所有操作。
核心工作流
Step 1 收与读
/邮箱 fetch all --unread # 所有账号的未读列表(含 UID)
/邮箱 fetch work --unread # 单账号未读
/邮箱 read work 42 # 读第 42 封全文 + 附件清单
Step 2 建知识库
/邮箱 kb work --dir ~/MailKB # 把 work 邮箱邮件导出为 Markdown + index.json
/邮箱 kb all --dir ~/MailKB --unread # 所有账号的未读邮件建库
Step 3 检索
/邮箱 search all 发票 # 在所有邮箱按关键词检索(中文走客户端过滤)
rg -l "关键词" ~/MailKB # 在已建知识库里全文检索(Markdown 可被 rg/grep 检索)
/邮箱 digest all --days 7 # 每日摘要:分类 + 高频发件人 + 待办
Step 4 附件与发送
/邮箱 attach work 42 --dir ~/Downloads/发票
/邮箱 send work --to a@b.com --subject 会议纪要 --body-file 纪要.txt --attach 纪要.pdf
知识库产物(/邮箱 kb)
对指定账号拉取邮件,导出到 <dir>/<账号>/:
<账号>/
├── index.json # 索引:uid/发件人/主题/日期/正文/附件清单
└── <uid>_<日期>_<主题>.md # 每封一个 Markdown(front-matter + 正文 + 附件列表)
Markdown 带 YAML front-matter(uid/from/date/subject/attachments),可被 rg/grep 全文检索,
也可被 RAG 直接切片入库。
Quick Commands
| 命令 | 说明 | 是否写操作 |
|---|---|---|
/邮箱 fetch <账号|all> [--unread] [--limit] [--from] [--since] |
收取邮件列表 | 只读 |
/邮箱 read <账号> <uid> |
读全文 + 附件清单 | 只读 |
/邮箱 search <账号|all> <关键词> [--folder] [--limit] |
检索邮件 | 只读 |
/邮箱 kb <账号|all> [--dir] [--folder] [--limit] [--unread] |
构建邮件知识库 | 只读 |
/邮箱 digest <账号|all> [--days N] [--folder] |
每日摘要 | 只读 |
/邮箱 attach <账号> <uid> [--dir] |
下载附件 | 只读 |
/邮箱 stats <账号|all> / /邮箱 folders <账号> |
统计 / 列文件夹 | 只读 |
/邮箱 send <账号> --to x [--cc] [--subject] [--body|--body-file] [--attach] |
发送 | 写(默认 DRY-RUN,需 --yes) |
/邮箱 mark/move/delete <账号> <uid> … |
标记/移动/删除 | 写(默认 DRY-RUN,需 --yes) |
English 别名:/mail fetch|read|search|kb|digest|attach|send|stats|folders|mark|move|delete。
约定
- 读操作只读:fetch / read / search / kb / digest / attach / stats / folders 不改变服务器状态。
- 写操作先 DRY-RUN:send / mark / move / delete 默认打印将要执行的动作,加
--yes才真正执行。 - 账号名传
all即遍历全部已配置邮箱,统一收/搜/建库/摘要。 - 邮件收发与授权由独立的命令行程序负责(用户自建 CLI);本技能只约定读写、建库、检索的用法,
脚本支持环境变量
YOUJIAN_PASS_<账号名>提供凭据,避免在技能/日志中泄露密码。
中文支持
- MIME 头部 RFC 2047 解码、正文 gbk/gb18030/big5 回退、HTML→纯文本。
- IMAP modified UTF-7 中文文件夹名;非 ASCII 关键词走客户端过滤搜索。
- 邮件主题/发件人里的中文正确解码为可检索文本。
Anti-Patterns
| 违规 | 严重度 | 后果 |
|---|---|---|
| 把授权码写进代码/日志/git | 高 | 密码泄露 |
| send/mark/move/delete 不加 --yes 直接假设已执行 | 高 | 误操作真实邮件 |
| 中文关键词硬塞进服务器端 SEARCH | 中 | 搜不到(应客户端过滤) |
| 读全文/附件前不 SELECT 文件夹 | 高 | IMAP 报 illegal in state AUTH |
| 用序号而非 UID 操作 | 中 | 并发/删除后错位 |
依赖
- Python ≥ 3.8,核心收发只用标准库(imaplib/smtplib/email)。
- 加密凭据库(可选)需
cryptography;不用它也可走环境变量提供凭据。
文件结构
skills/you-jian/
├── README.md # 面向人的中文说明
├── SKILL.md # 本文件
├── rules/
│ └── digest.md # 摘要分类规则
├── scripts/
│ └── mailbox.py # 多邮箱客户端(收/读/搜/建库/发)
└── tests/
├── test_mailbox.py # 离线单测
├── mock_imap.py # 极简 IMAP+SMTP 服务器(测试用)
└── test_integration.py# 端到端集成测试
版本历史
| 版本 | 日期 | 变更 |
|---|---|---|
| 1.1.0 | 2026-09 | 新增 kb 知识库构建;SKILL 聚焦读写/建库/检索 |
| 1.0.0 | 2026-09 | 初始版本:多账号 IMAP/SMTP、中文解码、摘要分类 |
Use this skill
Connect your agent to the Skill Store MCP server and ask for it by ref: cycleuser/you-jian-36714664185.
Details
- Publisher
- cycleuser
- Category
- Personal & Home › Personal productivity
- License
- MIT
- Updated
- 2026-10-18
References
More from cycleuser
- Academic Guide Search doctoral dissertations for a given academic field, compile professional sites and database…
- Academic Writer Academic paper writing assistant for top-tier conferences and journals with AIGC-aware natural vo…
- An Jian Security review for skills before installation, detecting dangerous patterns and assessing risk l…
- Application Bundle 申报材料包(Application Bundle):把一份"申报/上报需求"组装成套交付物——填写表格模板(合并单元格保格式)、生成正文材料(事迹/推荐书/申报书/报告正文)、匹配并嵌入证据附件…