AI Postman 持续抓取 RSS、Atom 和 GitHub 来源,在后台完成正文清洗、重复内容合并、相关性排序和最终编辑。到设定时间,收件箱里出现的是一份成稿,不是一堆待处理链接。
| 日报区域 | 用途 |
|---|---|
Must Read |
今天不应错过的少数内容 |
Focus Updates |
关注方向的有效进展 |
Worth Saving |
有长期参考价值的资料 |
Surprise |
一条受控的视野扩展 |
每条内容都带推荐理由。邮件里的“有用 / 跟进 / 一般”会回到下一轮排序。
Note
最早的版本会在模型失败时发送模板兜底。邮件准时,但不值得打开。现在开启 DIGEST_FORCE_LLM_FINALIZE=true 后,最终编辑失败就不发送:没有合格内容,也是一种结果。
flowchart LR
S[RSS / GitHub] --> F[抓取与正文清洗]
F --> D[去重与内容增强]
D --> R[画像感知排序]
R --> Q{编辑质量门槛}
Q -->|通过| M[生成并发送日报]
Q -->|未通过| H[本期保持沉默]
M --> B[反馈进入下一轮]
抓取和预构建会提前执行,发送时刻不承担完整模型链路。Spring Boot 负责调度、事务、偏好和投递;Python Worker 隔离抓取、清洗和模型任务。
仓库里已经实现的模块
- 用户画像、阅读偏好与来源管理。
- Quartz 抓取、预构建、最终编辑和投递任务。
- Raw Item → Normalized Item → Enrichment → Digest 的持久化链路。
- RSS/GitHub Fetcher、正文清洗、URL/标题去重。
- 来源发现、来源质量检查和候选来源审核。
- SMTP 邮件渲染、投递决策和反馈记录。
- 首封邮件验收与发布前敏感信息检查。
Ubuntu / Debian:
git clone https://github.com/SCW5370/AI-POSTMAN.git
cd AI-POSTMAN
bash install-deps.sh
bash start-all.sh至少需要配置:
LLM_API_KEY=...
LLM_BASE_URL=...
LLM_MODEL=...
SMTP_USERNAME=...
SMTP_PASSWORD=...不修改现有 Nginx:
ENABLE_NGINX=false bash start-all.shdocker compose -f docker/docker-compose.yml up -d postgres redis
bash scripts/run-backend.sh
bash scripts/run-worker.sh
cd frontend && npm install && npm run devEMAIL=you@example.com bash scripts/acceptance-first-email.sh
FULL_CHECK=true bash scripts/release-check.sh当前版本面向个人、小规模自托管。完整数据库和接口约定位于 docs/。