Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

News Agent Web

GitHub Repo stars GitHub License Python Next.js

一个 AI 驱动的每日资讯自动推送系统

功能介绍快速开始配置说明部署指南


项目简介

News Agent Web 是一个基于 AI 的智能资讯采集与推送系统。它能够从多个 RSS 源自动采集最新资讯,使用 AI 生成结构化的日报文章,并通过 Web 界面进行展示和管理。

功能特点

资讯采集

  • 支持从多个 RSS 源采集资讯
  • 覆盖 AI/科技、加密货币、财经等领域
  • 灵活的源管理:添加、编辑、删除、启用/禁用
  • 自动去重和内容过滤

AI 内容生成

  • 使用 OpenAI 兼容格式的 API
  • 自动生成结构化的日报文章
  • 支持自定义 AI 模型和参数
  • 智能摘要和分类

定时任务

  • 支持自定义推送时间
  • 每天自动生成新内容
  • 灵活的时区选择

Web 界面

  • 现代化的响应式设计
  • 文章浏览和管理
  • 设置页面完成所有配置
  • 无需修改代码即可使用
截屏2026-01-23 下午11 55 34 截屏2026-01-23 下午11 56 05

技术栈

组件 技术
后端 FastAPI + SQLite + APScheduler
前端 Next.js 16 + React 19 + TailwindCSS
AI OpenAI 兼容格式 API
部署 Docker + Docker Compose

项目结构

news-agent-web/
├── backend/                      # FastAPI 后端
│   ├── app/
│   │   ├── main.py              # 主应用入口
│   │   ├── models.py            # 数据库模型
│   │   ├── schemas.py           # Pydantic 模型
│   │   ├── collector.py         # RSS 采集器
│   │   ├── generator.py         # AI 生成器
│   │   ├── news_service.py      # 新闻服务
│   │   ├── settings_service.py  # 设置服务
│   │   └── scheduler.py         # 定时任务
│   ├── scripts/
│   │   └── init_feeds.py        # 初始化脚本
│   ├── requirements.txt         # Python 依赖
│   └── Dockerfile
├── frontend/                     # Next.js 前端
│   ├── src/
│   │   ├── app/                 # 页面路由
│   │   ├── components/          # React 组件
│   │   ├── lib/                 # 工具库
│   │   └── types/               # TypeScript 类型
│   ├── package.json             # Node 依赖
│   └── Dockerfile
├── data/
│   └── feeds.yaml               # 默认 RSS 源配置
├── docker-compose.yml           # Docker 编排配置
├── LICENSE                      # MIT 许可证
└── README.md                    # 项目说明

快速开始

方式一:Docker 部署(推荐)

# 克隆项目
git clone https://github.com/zt6453928/news-agent.git
cd news-agent

# 一键启动
docker-compose up -d

# 查看日志
docker-compose logs -f

访问 http://localhost:3000 开始使用。

方式二:本地开发

1. 启动后端

cd backend

# 创建虚拟环境
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# 安装依赖
pip install -r requirements.txt

# 启动服务
uvicorn app.main:app --reload --port 8000

2. 初始化默认 RSS 源(可选)

cd backend
python -m scripts.init_feeds

3. 启动前端

cd frontend

# 安装依赖
npm install

# 启动开发服务器
npm run dev

4. 访问应用

配置说明

API 配置

在设置页面配置 OpenAI 兼容的 API:

配置项 说明 示例
API Base URL API 服务地址 https://api.openai.com
API Key API 密钥 sk-xxx...
Model 使用的模型名称 gpt-4o-mini

支持的 API 提供商

  • OpenAI 官方
  • Azure OpenAI
  • 各类第三方兼容服务

RSS 源管理

支持的源分类:

  • AI/科技
  • 加密货币
  • 财经

操作:

  • 添加自定义 RSS 源
  • 编辑现有源配置
  • 启用/禁用单个源
  • 删除不需要的源

定时任务配置

  • 设置每天固定时间运行采集任务
  • 选择合适的时区(默认北京时间)
  • 支持立即手动触发采集

部署指南

Docker Compose 部署

# 构建并启动
docker-compose up -d

# 停止服务
docker-compose down

# 重新构建
docker-compose up -d --build

环境变量

创建 .env 文件配置以下变量:

# 后端
PORT=8000

# 前端
NEXT_PUBLIC_API_URL=http://localhost:8000

生产环境建议

  1. 使用 HTTPS
  2. 配置反向代理(Nginx)
  3. 设置数据库备份
  4. 限制 API 访问频率
  5. 使用进程管理器(PM2/Systemd)

贡献指南

欢迎贡献代码、报告问题或提出建议!

请阅读 CONTRIBUTING.md 了解详情。

安全政策

请阅读 SECURITY.md 了解安全报告流程。

常见问题

Q: 采集失败怎么办?

A: 检查 RSS 源是否可访问,部分源可能有地区限制。

Q: AI 生成失败?

A: 确认 API 配置正确,检查 API Key 是否有效,以及模型名称是否正确。

Q: 如何自定义提示词?

A: 可以修改 backend/app/generator.py 中的提示词模板。

许可证

本项目采用 MIT License 开源协议。

致谢

感谢所有开源项目的贡献者!


返回顶部

如果这个项目对您有帮助,请给一个 Star ⭐

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

15 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages