新闻聚合服务

NewsNinja是一款个人新闻聚合服务,能够无声地收集新闻标题和Reddit评论,并通过AI音频摘要直接传递到用户耳朵,无需滚动浏览。

  • by Masihuddinkhan
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Masihuddinkhan/AI-powered-News-Genrated-using-MCP-

使用说明

NewsNinja - 隐秘新闻聚合器

您的私人新闻忍者,默默收集头条新闻和Reddit上的反应,然后直接将音频简报送到您的耳边。 无需滑动,唯有心灵触动。


特点/功能

  • 🗞️ 抓取优质新闻网站内容(绕过付费墙)
  • 🕵️♂️ 提取实时Reddit反应(即使来自JavaScript密集的帖子)
  • 🔊 基于AI的音频摘要(使用ElevenLabs的文本转语音技术)
  • ⚡ 实时更新(得益于Bright Data的MCP技术)

先决条件

  • Python 3.9及以上版本
  • Bright Data账户(https://brightdata.com)
  • ElevenLabs账户(https://elevenlabs.io)

快速入门

  1. 克隆Dojo
git clone https://github.com/AIwithhassan/newsninja.git
cd NewsNinja
  1. 安装依赖项
pipenv install
pipenv shell
  1. 忍者秘籍(环境设置) 创建 .env 文件:
cp .env.example .env

在 .env 文件中配置你的密钥:

# Bright Data
BRIGHTDATA_MCP_KEY="your_mcp_api_key"
BROWSER_AUTH="your_browser_auth_token"

# ElevenLabs 
ELEVENLABS_API_KEY="your_text_to_speech_key"
  1. 准备你的武器(Bright Data设置)
  • 创建MCP区域:https://brightdata.com/cp/zones
  • 启用浏览器身份验证
  • 将凭据复制到 .env 文件

《忍者奔跑》(或译为《忍者行动》)

第一个终端(后端):

pipenv run python backend.py

第二终端(前端):

pipenv run streamlit run frontend.py

项目结构

.
├── frontend.py          # Streamlit UI
├── backend.py           # API & data processing  
├── utils.py             # UTILS  
├── news_scraper.py      # News Scraper  
├── reddit_scraper.py    # Reddit Scraper  
├── models.py            # Pydantic model
├── Pipfile              # Dependency scroll
├── .env.example         # Secret map template
└── requirements.txt     # Alternative dependency list