Token导航 LogoToken导航TokenDH.com
News Narrator logo
设计创作stdio官方级别未说明来源级核验

News Narrator

MCP Server

一个通过MCP服务器获取实时新闻标题,生成AI图像并提供交互式播报体验的系统。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
Python图像生成设计

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

DavidZucchet

提供方

DavidZucchet

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run playwright install chromium

详细介绍

MCP集成新闻旁白系统

该系统使用MCP(模型上下文协议)服务器获取实时新闻标题,为每个标题生成AI驱动的图像,并提供具有暂停/恢复功能和智能问答功能的交互式叙述体验。

🚀 特性

  • 实时新闻获取:使用MCP服务器从主要新闻来源获取实时头条新闻
  • AI图像生成:使用稳定扩散为每个标题创建相关图像
  • 互动叙事:具有实时用户交互的暂停/恢复功能
  • 智能问答:询问有关头条新闻的问题,并获得人工智能的答案
  • 优雅的退路:即使MCP服务器发生故障,示例标题也能正常工作

📋 先决条件

  • Python 3.12+
  • Node.js(用于MCP服务器)
  • OpenAI API密钥
  • uv包管理器

🛠️ 安装

  1. 克隆存储库
   git clone 
   cd news-narrator
  1. 使用uv安装依赖项
   # Install uv if you haven't already
   curl -LsSf https://astral.sh/uv/install.sh | sh

   # Install project dependencies from pyproject.toml
   uv sync
  1. 设置环境变量
   # Create .env file manually with your OpenAI API key
   echo "OPENAI_API_KEY=your_api_key_here" > .env
  1. 安装Playwright浏览器(如果需要)
   # If you don't have Chrome or Chromium installed
   uv run playwright install chromium

🚀 用法

运行应用程序

uv run python main.py

⏰ 首次运行注意事项: 初始执行大约需要 10分钟 下载稳定扩散模型(~4GB)。由于模型在本地缓存,后续运行将开始得更快。

交互流

  1. 选择标题计数:输入标题数量(1-20,默认值:5)
  2. 等待取回:系统使用MCP获取实时头条新闻
  3. 查看标题:请参阅要叙述的标题列表
  4. 交互式控制:

- 按 Enter 暂停/继续叙述 - 键入问题以获得AI支持的答案 - 每个标题都会自动生成图像

示例会话

📊 How many headlines would you like? (1-20, default: 5): 3
📰 Fetching 3 latest headlines...
✅ Successfully fetched 3 headlines!

🟢 Narration starting. Press ENTER to pause/resume or type questions.

📰 Headline 1: Major breakthrough in renewable energy storage announced
🛠️ Generating image...
🖼️ Image saved at: generated_images/major_breakthrough_renewable_energy.png

[Press Enter to pause, type questions, or let it continue...]

🔧 配置

环境变量

  • OPENAI_API_KEY:您的OpenAI API密钥(必需)
  • LOG_LEVEL:日志记录级别(默认值:INFO)
  • IMAGE_OUTPUT_DIR:生成图像的目录(默认:generated_images)
  • MCP_TIMEOUT:MCP服务器超时(秒)(默认值:60)

🧪 测试

测试标题来源

uv run python -c "
import asyncio
from main import fetch_latest_headlines

async def test_headlines():
    print('Testing headline fetching...')
    try:
        headlines = await fetch_latest_headlines(3)
        print(f'✅ Fetched {len(headlines)} headlines:')
        for i, h in enumerate(headlines, 1):
            print(f'   {i}. {h}')
    except Exception as e:
        print(f'❌ Error: {e}')

asyncio.run(test_headlines())
"

使用开发依赖关系运行

# Install development dependencies
uv sync --group dev

# Run linting and formatting
uv run black main.py
uv run flake8 main.py
uv run mypy main.py

🐛 故障排除

常见问题

MCP服务器连接失败

  • 确保已安装Node.js: node --version
  • 如果您遇到与浏览器相关的错误,请安装Playwright浏览器: uv run playwright install chromium
  • 检查网络连接

图像生成错误

  • 第一轮需要时间:初始设置下载稳定扩散模型(约4GB,约10分钟)
  • 后续运行:模型在本地缓存时速度更快
  • 系统默认使用CPU进行优化
  • 检查输出目录中的磁盘空间
  • 为了更快地生成,请确保您有足够的RAM

OpenAI API错误

  • 在中验证API密钥 .env 文件
  • 检查API配额和账单
  • 确保稳定的互联网连接

浏览器/编剧问题

  • 安装所需的浏览器: uv run playwright install chromium
  • 在某些系统中,您可能需要: uv run playwright install chrome

调试模式

启用调试日志记录:

export LOG_LEVEL=DEBUG
uv run python main.py

📁 项目结构

news-narrator/
├── main.py                    # Final polished version with all features
├── FullMCPNarratorImage.py   # Full integration (development step 4)
├── NarratorImage.py          # Basic narrator with Q&A (development step 3)
├── image.py                  # Image generation component (development step 2)
├── MCP.py                    # MCP integration component (development step 1)
├── pyproject.toml            # Project configuration with dependencies
├── .env                      # Environment variables (create manually)
├── README.md                 # This file
└── generated_images/         # Generated images (created at runtime)

🚀 发展历程

该项目是逐步构建的,展示了解决复杂问题的系统方法:

  1. MCP.py -从用于网页浏览的基本MCP服务器集成开始
  2. image.py -添加了稳定扩散图像生成功能
  3. NarratorImage.py -创建了具有问答功能的基本叙述者系统
  4. FullMCPNarratorImage.py -集成MCP标题提取和叙述者
  5. main.py -经过改进的用户体验和错误处理的最终抛光版本

每个文件都代表开发过程中的一个工作里程碑,显示了项目是如何从单个组件演变为一个完整的集成系统的。

🔧 发展

代码的风格

# Format code
uv run black main.py

# Type checking  
uv run mypy main.py

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支: git checkout -b feature-name
  3. 通过适当的测试进行更改
  4. 确保代码质量: black, flake8, mypy
  5. 用描述性消息提交
  6. 推送并创建拉取请求

📝 许可证

该项目根据MIT许可证获得许可。

🙏 致谢

  • 用于GPT模型和API的OpenAI
  • 稳定扩散的稳定性AI
  • MCP(模型上下文协议)项目
  • Astral紫外包装管理器

______________________________________________________________________

版本: 1.0.0\ Python版本: 3.12+\ 程序包管理器:紫外线

目录标签

目录标签

Python图像生成设计新闻播报本地部署AI图像生成交互式体验实时新闻智能问答

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

api-key

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdioapi-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP