Skip to content

Repository files navigation

AI Postman

每天替你读完信息源,只送一封值得打开的邮件。

Java Spring Boot Python Status

在线体验 · 产品说明 · API · 架构

AI Postman:从多个来源编辑成一封日报

一天只打扰你一次

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[反馈进入下一轮]
Loading

抓取和预构建会提前执行,发送时刻不承担完整模型链路。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.sh

本地开发

docker 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 dev

验收第一封邮件

EMAIL=you@example.com bash scripts/acceptance-first-email.sh
FULL_CHECK=true bash scripts/release-check.sh

当前版本面向个人、小规模自托管。完整数据库和接口约定位于 docs/

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages