About AI News Subscription Agent
AI News Subscription Agent is an MCP server published by akatsukikyouko in the AI category: 智闻订阅是一个智能化的新闻聚合与报告生成平台。用户可以根据个人兴趣,通过设定关键词和选择信任的新闻来源网站,来创建专属的每日新闻订阅计划。平台内置一个由AI驱动的代理(Agent),它能够自动浏览网页、抓取相关文章、并运用大语言模型(LLM)对信息进行深度分析、提炼和总结。 每天在预设的时间,系统会自动生成一份结构清晰的定制化新闻报告,内容包括“头条新闻”、“特别关注”和“今日总结”三大板块,帮助用户从繁杂的信息中高效获取自己最关心的资讯。该项目采用Flask作为后端框架,通过APScheduler实现任务定时调度,并设计了独立的任务队列和工作线程来处理耗时的AI分析任务,确保了系统的稳定性和响应速度。.
The repository has 16 stars and 1 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/akatsukikyouko/AI-News-Subscription-AgentThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about AI News Subscription Agent
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 5 days ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- !License declaredNo license file. Legally you have no right to use it in a product.
- !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
- !Dependencies pinnedNo lockfile. Installs can pull different code over time.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
README
智闻订阅
这是一个基于 Web 的智能订阅助手应用。它允许用户根据特定的关键词和自定义的新闻源,创建个性化的每日新闻报告。本应用通过一个 AI 代理(Agent)从网络上抓取、汇总新闻,并将其整理成易于阅读的格式。
功能特性
- 自定义订阅: 自由创建、管理和删除个性化的新闻订阅计划。
- 新闻源管理: 添加或删除任何新闻网站作为信息来源。
- 关键词定位: 定义特定的关键词或短语(例如:“AI进展”、“量子计算”)来定制您关心的报告内容。
- 定时生成报告: 可设定一个每日的固定时间,让系统自动生成报告。
- 手动触发: 可以随时手动运行报告生成任务。
- AI 驱动的内容总结: 利用大语言模型(LLM)智能分析和总结文章,并将其分类为“头条新闻”、“特别关注”和“今日总结”。
- 报告查阅: 在一个洁净、优美的 Markdown 渲染页面中查看生成的报告。
系统架构
本系统由以下几个协同工作的组件构成:
-
主应用控制器 (
app.py): 项目的核心。它使用 Flask 框架作为 Web 服务器,负责处理所有用户请求和页面路由。同时,它集成 APScheduler 来管理定时任务,并利用**多线程和队列(Queue)**来处理耗时的 AI 任务,避免阻塞主程序。 -
Web 前端 (HTML):
index.html: 主页面,用于展示和管理所有订阅任务。report.html: 用于展示已生成报告内容的模板页面。
-
数据库 (
database.py): 使用 SQLite 数据库持久化存储用户的订阅、新闻源和生成的报告。 -
网页抓取服务 (
news_browser.py): 一个基于FastMCP构建的后台微服务。它使用DrissionPage库来控制一个真实的网页浏览器,从而提取新闻链接和文章内容。 -
AI 新闻代理 (
news_agent_client.py): 项目的 AI 核心,基于pydantic-ai构建。它负责调度整个流程:调用网页抓取服务来收集数据,然后将数据发送给大语言模型(LLM)进行分析、总结和格式化。 -
配置文件 (
config.json): 用于存放 LLM 的 API 密钥和接口地址等信息。
安装与部署
请按照以下步骤来设置和运行本应用。
1. 环境要求
- Python 3.8+
- 一个现代网页浏览器 (例如: Google Chrome 或 Microsoft Edge)
- 一个兼容 OpenAI 格式的 LLM 服务商提供的 API 密钥(示例配置使用了阿里云的通义千问)。
2. 克隆代码库
3. 安装依赖
推荐使用 Python 虚拟环境。
# 创建虚拟环境 (可选, 但强烈推荐)
python -m venv venv
# 激活虚拟环境
# Windows:
# venv\Scripts\activate
# macOS/Linux:
# source venv/bin/activate
# 安装所有必需的库
pip install -r requirements.txt
4. 配置应用
-
配置大语言模型 (LLM): 打开
config.json文件,将其中的占位符替换为您真实的 API 密钥和模型服务地址。{ "base_url": "你的大模型服务商的api地址", "api_key": "你的api_key", "llm_model_name": "要使用的大模型,比如qwen-plus" } -
配置浏览器路径 (如果需要): 如果您的浏览器没有安装在默认位置,您可能需要编辑
news_browser.py文件,通过co.set_browser_path()来手动指定其可执行文件的路径。
5. 初始化数据库
app.py 会在启动时自动检查并初始化数据库,但您也可以手动执行一次以确保数据库文件已创建。
python database.py
6. 运行应用
您需要同时运行两个独立的进程:news_browser.py 网页抓取服务和 app.py 主应用。
-
启动网页抓取服务: 打开一个终端窗口,运行以下命令:
python news_browser.py此服务将启动并监听
http://0.0.0.0:9017端口。 -
启动主 Web 应用: 另外打开一个新的终端窗口,运行以下命令来启动主程序:
python app.py主应用启动后,会监听
http://0.0.0.0:9039端口。
使用指南
- 访问 Web 界面: 打开您的浏览器,访问
http://127.0.0.1:9039。 - 添加新闻源: 点击“管理新闻源”,添加您希望抓取新闻的网站名称和 URL。
- 创建新订阅:
- 点击“创建新订阅”。
- 为您的报告计划输入一个名称(例如:“每日科技简报”)。
- 输入您感兴趣的关键词(例如:“人工智能, 机器学习”)。
- 设置一个每日生成报告的时间。
- 勾选您希望本次订阅使用的新闻源。
- 查看报告: 当报告生成后(无论是按计划自动生成还是手动点击“立即运行”),一个“查看报告”的链接将会出现,点击即可查看由 AI 生成的完整新闻报告。
README fetched from the repository 5 days ago. The original is authoritative.