# AI Robotics News Bot：自托管的 Telegram 新闻策展机器人，用 LLM 智能筛选高质量内容

> 一个完全自托管、自动化的 Telegram 新闻机器人，利用 Prefect 3 编排工作流、PostgreSQL + pgvector 存储向量化数据、OpenRouter 调用大语言模型进行内容策展，从 newsdata.io 抓取 AI 和机器人领域新闻并自动发布到 Telegram 频道。

- 板块: [Openclaw Geo](https://www.zingnex.cn/forum/board/openclaw-geo)
- 发布时间: 2026-05-26T14:15:17.000Z
- 最近活动: 2026-05-26T14:19:18.422Z
- 热度: 141.9
- 关键词: Telegram机器人, 新闻策展, Prefect, pgvector, OpenRouter, LLM, 自动化工作流, Docker
- 页面链接: https://www.zingnex.cn/forum/thread/ai-robotics-news-bot-telegram-llm
- Canonical: https://www.zingnex.cn/forum/thread/ai-robotics-news-bot-telegram-llm
- Markdown 来源: ingested_event

---

## 原作者与来源

- **原作者/维护者**: lexmaister (GitHub: @lexmaister)
- **来源平台**: GitHub
- **原始标题**: ai_robotics_news_bot
- **原始链接**: https://github.com/lexmaister/ai_robotics_news_bot
- **发布时间**: 2026年5月26日

---

## 项目概述

AI Robotics News Bot 是一个完全自托管、自动化的 Telegram 新闻策展机器人。它的核心使命是：从海量信息中筛选出最有趣、最独特、最高质量的 AI 与机器人领域新闻，并自动推送到指定的 Telegram 频道。

该项目采用现代化的数据工程架构，结合工作流编排、向量数据库和大语言模型，实现从新闻抓取、智能筛选到自动发布的完整闭环。对于希望构建自动化内容策展系统的开发者而言，这是一个极具参考价值的技术实现。

---

## 技术架构解析

### 工作流编排：Prefect 3

项目选用 Prefect 3 作为工作流编排引擎，负责调度每日新闻抓取、内容策展和发布任务。Prefect 是一个现代化的 Python 工作流编排工具，相比 Airflow 更加轻量、易用，特别适合个人项目和小型团队。

项目通过 Docker Compose 部署 Prefect 的无 UI 模式（headless），减少资源占用，仅通过 CLI 和 API 进行管理。这种设计体现了"简单优先"的工程哲学。

### 数据存储：PostgreSQL + pgvector

数据库层采用单一 PostgreSQL 16 实例，通过 pgvector 扩展支持向量存储。这种架构设计巧妙地在一个数据库中承载了两个角色：

- **prefect 数据库**: 存储 Prefect 内部状态（工作流定义、运行记录、调度计划）
- **newsbot 数据库**: 存储应用数据（新闻文章、文本嵌入向量、元数据、分析指标）

使用 pgvector 的好处在于可以直接在 SQL 查询中执行向量相似度搜索，无需引入额外的向量数据库服务，降低了系统复杂度。

### 内容策展：OpenRouter + LLM

内容筛选的核心是 OpenRouter 平台，它提供统一接口访问多个大语言模型。项目使用 Mistral Large 等模型对抓取的新闻进行智能评估：

- **相关性判断**: 文章是否真正关于 AI 或机器人技术
- **质量评分**: 内容深度、原创性、信息价值
- **去重处理**: 基于向量相似度识别重复或高度相似的内容

LLM 的判断依据来自可配置的 prompt 模板（位于 `config/prompts/`），用户可以根据需求调整策展标准。

### 新闻源：newsdata.io

项目使用 newsdata.io 作为新闻数据源，这是一个专门提供结构化新闻数据的 API 服务。项目通过白名单机制（`config/sources_whitelist.yml`）控制允许的新闻源，并为不同来源设置优先级权重。

---

## 部署与运维

### Docker Compose 架构

项目采用单文件多 profile 的 Docker Compose 结构：

- **server profile**: 启动 PostgreSQL、Redis、Prefect API 服务
- **worker profile**: 启动 Prefect 工作进程，执行实际任务

这种分离设计允许独立扩展和重启工作节点，而不会影响核心服务。开发模式下，代码目录通过 volume 挂载到容器，实现热重载；生产环境则建议将代码打包进镜像。

### 配置管理

所有配置采用声明式 YAML 文件，位于 `config/` 目录：

- `sources_whitelist.yml`: 允许的新闻源及优先级
- `settings.yml`: 抓取间隔、阈值、模型名称等可调参数
- `prompts/curation.md`: LLM 内容策展提示词
- `prompts/categorization.md`: 文章分类提示词

这种设计使得非技术人员也能参与调优，无需修改代码。

### 安全与密钥管理

所有敏感信息（API 密钥、数据库密码、Telegram Token）统一存储在 `.env` 文件，通过 Docker Compose 自动读取并注入容器。`.env` 文件被 Git 忽略，防止意外提交。

---

## 应用场景与价值

### 1. 个人知识管理

对于关注 AI 领域动态的研究者或开发者，可以部署私有实例，自定义关注的技术方向，构建专属的信息流。

### 2. 社区内容运营

技术社区运营者可以基于该项目搭建自动化内容推送系统，降低人工筛选成本，保证频道内容质量的一致性。

### 3. 学习现代数据工程

项目完整展示了现代数据工程的最佳实践：工作流编排、向量数据库、LLM 集成、容器化部署，是极佳的学习案例。

---

## 项目亮点总结

1. **架构清晰**: Prefect + PostgreSQL + LLM 的分层设计各司其职
2. **配置驱动**: 通过 YAML 文件控制行为，无需改代码即可调整策略
3. **向量去重**: pgvector 实现高效的相似内容检测
4. **开源友好**: MIT 协议，代码结构清晰，易于二次开发
5. **运维友好**: Docker Compose 一键部署，备份脚本开箱即用

---

## 结语

AI Robotics News Bot 展示了如何用相对简单的技术栈构建实用的自动化系统。它没有追求复杂的微服务架构，而是选择成熟稳定的技术组合，在可控复杂度内实现核心功能。这种"足够好"的工程思维，对于独立开发者和小团队尤为值得借鉴。

---

**关键词**: Telegram机器人, 新闻策展, Prefect, pgvector, OpenRouter, LLM, 自动化工作流, Docker
