研究和内容收集应用程序
一个功能强大、功能齐全的研究和内容收集应用程序,具有实时参数调整功能。该应用程序使用Python和FastMCP构建,为进行研究、收集内容和构建结构化输出提供了直观的web界面。
特性
核心能力
- 全研究引擎:高级网络抓取和内容收集
- 实时参数调整:在任务运行时实时修改研究参数
- 内容分析:自动相关性评分、摘要和主题提取
- 内容构建:从研究中生成文章、报告、摘要和演示文稿
- 实时进度跟踪:通过实时更新监控研究进展
- 多种输出格式:导出为Markdown、HTML、JSON或纯文本
- 配置管理:保存和加载研究配置
多平台资产生成
为多个平台生成专业资产:
- 油管:视频脚本、缩略图模板、描述、SEO标签
- Gumroad:产品列表、定价策略、营销文案
- 埃齐:优化产品列表、标签、描述、搜索引擎优化
- 网站:登录页面、博客文章、SEO元素
- 游戏开发:设计文件、力学、故事结构
- 可画:模板规范、设计指南、调色板
- 多平台软件包:为产品发布生成完整的资产集
Web界面功能
- 美观、响应迅速的用户界面,采用渐变设计
- 实时参数滑块(深度、最大结果、相关性阈值、细节级别)
- 结果、统计、日志和构件编辑器的交互式选项卡
- 实时进度条和状态指示器
- 带有时间戳的活动日志记录
- 带有质量指标的统计仪表板
MCP工具(23+可用)
研究工具:
- 开始搜索 -使用可定制的参数开始研究
- get_research_status -检查当前任务状态和进度
- pause_research -暂停正在运行的研究任务
- resume_research -恢复暂停的任务
- 停止搜索 -停止当前研究
- update_parameters -运行时实时参数更新
- 获取结果 -以各种格式检索结果
- 导出结果 -导出到文件
- 建筑内容 -生成结构化内容(文章、报告等)
- 分析结果 -获得详细的分析和见解
- get_统计 -查看会话统计信息
- 搜索结果 -在收集的结果中搜索
- 保存配置 -保存研究设置
- load_configuration -加载已保存的设置
资产生成工具: 15\. generateyoutube_assets -创建视频脚本、缩略图、描述 16\. 发电机_胶路_列表 -为Gumroad生成产品列表 17\. 发电机设备列表 -创建优化的Etsy产品列表 18\. generate_web_assets -构建登录页面和博客模板 19\. generate_game_asset -创建游戏设计文档 20\. 发电机_控制器_规格 -生成Canva模板规范 21\. list_platforms -显示所有支持的平台 22\. generate_multi_platform_package -创建完整的资产包
提示: 23\. 研究\_ mpt -生成研究提示 24\. 内容_提示 -生成内容创建提示
安装
先决条件
- Python 3.13+
- 紫外线 包管理器
设置
- 克隆存储库:
git clone
cd RIDICULOUS- 安装Python版本和依赖项:
uv python install
uv sync --locked用法
启动服务器
在端口3000上运行服务器:
uv run main.py服务器将启动并显示:
Starting Research & Content Gathering Server...
Web interface will be available at: http://127.0.0.1:3000/
To access the web UI, open: http://127.0.0.1:3000/static/index.html使用Web界面
- 打开浏览器
http://127.0.0.1:3000/static/index.html - 在查询字段中输入您的研究主题
- 使用实时滑块调整参数:
- 深度级别 (1-10):研究的深度 - 最大结果 (5-100):最大结果数 - 相关性阈值 (0.0-1.0):最低质量分数 - 内容详细信息 (1-10):要提取的内容量
- 选择源类型和输出格式
- 点击“开始研究”开始
- 在研究运行时实时调整参数
- 根据需要使用暂停/恢复/停止控件
- 在“结果”选项卡中查看结果
- 查看统计数据以获取见解
- 从构件编辑器选项卡中的研究构建内容
使用MCP工具
您还可以通过MCP工具以编程方式与服务器交互:
# Example: Start research via MCP tool
await start_research(
query="Latest developments in AI",
source_type="academic",
depth=7,
max_results=30,
relevance_threshold=0.8,
detail_level=6
)
# Update parameters while running
await update_parameters(
depth=9,
max_results=50
)
# Get results
results = await get_results(format="markdown")
# Build content
content = await build_content(
content_type="article",
tone="professional",
output_file="research_article.md"
)
# Generate YouTube assets
youtube_script = await generate_youtube_assets(
topic="AI Research Trends",
asset_type="video_script",
duration="15min",
style="educational"
)
# Generate multi-platform package
package = await generate_multi_platform_package(
project_name="My New Product",
platforms="youtube,gumroad,etsy,web",
save_to_file=True
)为不同平台生成资产
YouTube内容创建:
# Video script
script = await generate_youtube_assets(
topic="How to Build a Web App",
asset_type="video_script",
style="tutorial"
)
# Thumbnail design specs
thumbnail = await generate_youtube_assets(
topic="Web Development",
asset_type="thumbnail_template",
style="bold"
)
# SEO tags
tags = await generate_youtube_assets(
topic="Web Development Tutorial",
asset_type="tags",
category="tech"
)Gumroad产品发布:
listing = await generate_gumroad_listing(
product_name="Ultimate Python Course",
product_type="course"
)Etsy商店:
product = await generate_etsy_listing(
product_name="Digital Planner Template",
category="planner"
)网站开发:
# Landing page
landing = await generate_web_assets(
product_name="SaaS Product",
asset_type="landing_page",
purpose="sales"
)
# Blog post template
blog = await generate_web_assets(
product_name="My Blog",
asset_type="blog_post_template",
topic="Getting Started with Python"
)游戏开发:
gdd = await generate_game_assets(
game_name="Space Adventure",
genre="action"
)MCP检验员测试
- 安装Node.js(^22.7.5)
- 运行检查器:
npx @modelcontextprotocol/inspector- 打开
http://localhost:6274 - 配置:
- 传输类型:流式HTTP - 网址:http://127.0.0.1:3000/mcp
项目结构
RIDICULOUS/
├── main.py # MCP server with all tools and prompts
├── research_engine.py # Core research engine logic
├── static/
│ └── index.html # Web interface
├── configs/ # Saved configurations (auto-created)
├── pyproject.toml # Dependencies
├── uv.lock # Lock file
└── README.md # This file研究参数
查询选项
- 怎么翻译:研究主题(必填)
- 源类型:所有,学术,新闻,技术,社会
- 深度:研究深度级别(1-10)
- max_results:要收集的最大结果(5-100)
- 相关阈值:最低质量分数(0.0-1.0)
- 详细级别:内容提取细节(1-10)
- 输出格式:markdown、html、json、文本
- 总结长度:简短、适中、详细
内容构建选项
从研究中构建不同类型的内容:
- 文章:带引言和结论的结构化文章
- 报告:正式研究报告及执行摘要
- 总结:调查结果简要执行摘要
- 演示:幻灯片格式的内容
音调选项
- 专业的
- 学术的
- 随意
- 技术
统计与分析
该应用程序跟踪全面的统计数据:
- 执行的查询总数
- 收集的结果总数
- 平均相关性得分
- 处理时间
- 来源分析
- 错误计数
- 质量得分(综合指标)
- 主题分布
- 源类型分布
实时参数调整
其中一个关键特征是在研究运行时调整参数的能力:
- 开始一项研究任务
- 移动侧边栏中的滑块
- 参数自动更新
- 研究实时适应新设置
这使您能够:
- 如果初始结果较浅,则增加深度
- 提高/降低相关性阈值以过滤结果
- 调整最大结果以收集更多或更少的数据
- 更改更多/更少内容的详细程度
导出与共享
以多种格式导出研究成果:
- 标记语言:非常适合记录
- 超文本标记语言:已准备好进行网络发布
- JSON:用于程序化处理
- 文本:简单的纯文本格式
保存配置以供重用:
# Save current settings
await save_configuration(
name="ai_research_config",
description="Settings for AI research tasks"
)
# Load later
config = await load_configuration(name="ai_research_config")发展
添加自定义搜索提供程序
编辑 research_engine.py 添加真正的搜索集成:
async def search_web(self, query: str, max_results: int = 10):
# Add integrations with:
# - Google Custom Search API
# - Bing Search API
# - DuckDuckGo
# - Academic databases (arXiv, PubMed, etc.)
# - News APIs
pass扩展内容构建器
在中添加新内容类型 research_engine.py:
class ContentBuilder:
def build_whitepaper(self, tone: str = "technical") -> str:
# Your custom content builder
pass然后注册 main.py:
elif content_type == "whitepaper":
content = builder.build_whitepaper(tone)自定义分析工具
在研究引擎中添加专业分析:
def analyze_sentiment(self, text: str) -> Dict[str, Any]:
# Custom sentiment analysis
pass
def extract_entities(self, text: str) -> List[str]:
# Named entity recognition
pass建筑
研究引擎
- 异步研究执行
- 并行内容提取
- 实时参数更新
- 暂停/恢复功能
- 进度跟踪
内容处理
- Web搜索和URL发现
- 内容获取(带超时处理)
- HTML解析和文本提取
- 相关性评分
- 摘要
- 主题分析
- 质量指标
MCP集成
- 具有流式HTTP传输的FastMCP服务器
- 15+综合研究控制工具
- web界面资源服务
- 用于研究和内容生成的提示模板
演出
该应用程序旨在提高效率:
- 用于并行处理的异步I/O
- 智能节流,避免速率限制
- 可配置超时
- 无阻塞的进度跟踪
- 内存高效的结果存储
限制和未来的增强
当前限制:
- Web搜索使用占位符(需要API集成)
- 基本文本提取(可以用ML模型增强)
- 简单相关性评分(可以使用嵌入/语义搜索)
计划中的增强功能:
- 与真实搜索API集成
- 高级NLP,用于更好的摘要
- 语义相似性评分
- 引文网络分析
- 多语言支持
- 大型结果集的数据库存储
- WebSocket实现真正的实时更新
- 合作研究会议
故障排除
端口已在使用中
# Find process using port 3000
lsof -i :3000
# Kill it or use a different port in main.py依赖关系问题
# Reinstall dependencies
uv sync --locked --reinstallWeb界面未加载
- 检查静态/index.html是否存在
- 确保服务器在端口3000上运行
- 尝试访问http://127.0.0.1:3000直接
许可证
这个项目是开源的,可以在MIT许可证下使用。
贡献
欢迎投稿!拜托:
- 分叉存储库
- 创建要素分支
- 为新功能添加测试
- 提交拉取请求
支持
对于问题、疑问或建议:
- 在GitHub上打开一个问题
- 检查现有文档
- 在以下网址查看MCP文件https://modelcontextprotocol.io
学分
内置:
- FastMCP -MCP服务器框架
- 意图tp -异步HTTP客户端
- 美丽汤 -HTML解析
- Python Markdown -Markdown处理
______________________________________________________________________
快乐的研究! 🔬📚✨
