多代理研究系统

基于MCP协议的多代理研究系统,集成了深度网络搜索、信息合成与验证以及内容生成功能,适用于技术研究和数据分析。

  • by anubhav-77-dev
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 anubhav-77-dev/MCP-Multi-Agent-Deep-Researcher

使用说明

🤖 MCP多智能体深度研究员

一个强大的多智能体研究系统建立在 模型上下文协议(MCP),使用 船员AI 对于代理编排, 链接起来 用于深层网络搜索,以及 phi3 用于本地AI处理的模型(通过Ollama)。具有API访问和漂亮的web界面,可轻松完成研究任务。

🌟 特性

  • 🧠 多代理系统:三个专业的人工智能代理协同工作
    • 网络搜索器:使用LinkUp API进行深度网络搜索
    • 研究分析师:信息综合和核查
    • 技术文档工程师:清晰、结构化的内容创建
  • 🌐 漂亮的Web界面:现代、响应式前端,便于交互
  • 🔌 API访问:带有FastAPI和自动文档的RESTful API
  • 🏠 本地AI处理:使用Ollama和phi3模型-不需要外部AI API
  • 📡 MCP协议:完全符合模型上下文协议以进行集成
  • 🚀 一次指令发射:用一个命令开始一切

🎯 快速开始

通过3个简单步骤开始:

# 1. Clone the repository
git clone https://github.com/anubhav-77-dev/MCP-Multi-Agent-Deep-Researcher.git
cd MCP-Multi-Agent-Deep-Researcher

# 2. Run the setup script
python3 setup.py

# 3. Launch everything!
python3 launcher.py

就是这样!系统将在您的浏览器中自动打开 http://localhost:3000/frontend.html

📸 截图

web界面

API文档

🏗️ 建筑

建筑

该系统实现了一个三代理工作流:

  1. 网络搜索器:使用LinkUp API从多个来源查找相关信息
  2. 研究分析师:综合并验证信息,注重深度和清晰度
  3. 技术文档工程师:生成清晰、全面的降价答案
graph TD
    A[Web Interface] --> B[FastAPI Backend]
    B --> C[MCP Server]
    C --> D[CrewAI Orchestrator]
    D --> E[Web Searcher Agent]
    D --> F[Research Analyst Agent] 
    D --> G[Technical Writer Agent]
    E --> H[LinkUp API]
    F --> I[Ollama + phi3]
    G --> I
    H --> J[Web Search Results]
    I --> K[AI Analysis & Writing]
    J --> F
    K --> L[Final Research Output]

📋 先决条件

  • Python 3.10+
  • 诗歌 用于依赖关系管理
  • 奥拉玛 用于本地AI处理
  • LinkUp API密钥 (免费等级在 LinkUp.so)

🚀 安装和设置

选项1:自动设置(推荐)

# Clone the repository
git clone https://github.com/anubhav-77-dev/MCP-Multi-Agent-Deep-Researcher.git
cd MCP-Multi-Agent-Deep-Researcher

# Run automated setup (checks dependencies, installs packages, configures environment)
python3 setup.py

# Launch the application (starts both frontend and backend)
python3 launcher.py

选项2:手动设置

Click to expand manual setup instructions

1.安装依赖项

# Install Poetry (if not already installed)
curl -sSL https://install.python-poetry.org | python3 -

# Install project dependencies
poetry install

2.安装和配置Olama

# Install Ollama (visit https://ollama.ai/ for OS-specific instructions)
# On macOS:
brew install ollama

# Start Ollama service
ollama serve

# Pull the phi3 model (in a new terminal)
ollama pull phi3:latest

# Verify installation
ollama list

3.配置环境

# Copy environment template
cp .env.example .env

# Edit .env file and add your LinkUp API key
nano .env

所需的环境变量:

LINKUP_API_KEY=your_linkup_api_key_here
OLLAMA_BASE_URL=http://localhost:11434
MODEL_NAME=phi3:latest

4.启动服务

# Option A: Use the launcher (recommended)
python3 launcher.py

# Option B: Start services manually
# Terminal 1 - Backend API
poetry run python Multi-Agent-deep-researcher-mcp-windows-linux/http_server.py

# Terminal 2 - Frontend
python3 -m http.server 3000

# Terminal 3 - MCP Server (optional, for MCP client integration)
poetry run python Multi-Agent-deep-researcher-mcp-windows-linux/server.py

🔑 获取LinkUp API密钥

  1. 访问 LinkUp.so
  2. 注册一个免费帐户
  3. 从仪表板获取API密钥
  4. 将其添加到您的 .env 文件

🎮 用法

Web界面(最简单)

  1. 启动应用程序: python3 launcher.py
  2. 打开浏览器 到 http://localhost:3000/frontend.html (自动打开)
  3. 输入您的研究查询 或者尝试示例查询
  4. 选择您的模式:
    • 🔍 快速搜索:使用LinkUp API进行快速网络搜索
    • 🧠 全面研究:完整的多代理分析工作流程
  5. 查看结果 具有格式化输出、复制/下载选项

API访问

快速搜索

curl -X POST http://localhost:8080/search \
  -H "Content-Type: application/json" \
  -d '{"query": "latest AI trends 2024"}'

全面研究

curl -X POST http://localhost:8080/research \
  -H "Content-Type: application/json" \
  -d '{"query": "comprehensive analysis of quantum computing applications"}'

健康检查

curl http://localhost:8080/health

MCP客户端集成

要与MCP兼容客户端集成,请添加以下配置:

{
  "mcpServers": {
    "crew_research": {
      "command": "poetry",
      "args": ["run", "python", "Multi-Agent-deep-researcher-mcp-windows-linux/server.py"],
      "env": {
        "LINKUP_API_KEY": "your_linkup_api_key_here"
      }
    }
  }
}

可用端点

端点 方法 描述
/health GET 健康检查
/search POST 快速网络搜索
/research POST 完整的多智能体研究
/docs 获取 交互式API文档

📁 项目结构

MCP-Multi-Agent-Deep-Researcher/
├── 🚀 launcher.py                    # Single-command launcher
├── 🌐 frontend.html                  # Web interface  
├── ⚙️ setup.py                       # Automated setup script
├── 📋 start.sh                       # Shell launcher script
├── 📖 QUICKSTART.md                  # Quick start guide
├── 🔧 Makefile                       # Development commands
├── 📦 pyproject.toml                 # Poetry dependencies
├── 🔐 .env.example                   # Environment template
├── ⚙️ mcp.config.json                # MCP client configuration
└── Multi-Agent-deep-researcher-mcp-windows-linux/
    ├── 🖥️ server.py                  # MCP protocol server
    ├── 🌐 http_server.py             # FastAPI REST server  
    ├── 🧪 test_research.py           # Testing utilities
    └── agents/                       # Multi-agent system
        ├── 🤖 research_crew.py       # CrewAI orchestration
        └── tools/                    # Agent tools
            ├── 🔍 linkup_search.py   # Web search integration
            └── 🧠 ollama_tool.py     # Local AI integration

🎯 查询示例

尝试以下示例研究查询:

快速搜索示例

  • “2024年最新的人工智能趋势是什么?”
  • “可再生能源的当前发展”
  • “量子计算的最新突破”

完整研究示例

  • “加密货币挖矿的环境影响综合分析”
  • “量子计算是如何工作的,它在现实世界中的应用是什么?”
  • “自动驾驶汽车的未来:技术、挑战和时间表”
  • “人工智能对医疗保健的影响:机遇和风险”

代理工作流

该系统使用CrewAI来协调三个专门的代理:

1.Web搜索代理

  • 角色:网络研究专家
  • 目标:使用LinkUp API查找全面的相关信息
  • 工具:链接搜索工具
  • 输出:网络搜索结果及其来源的详细摘要

2.研究分析师代理人

  • 角色:研究分析师
  • 目标:分析和综合信息,提供全面的见解
  • 输入:网络搜索结果
  • 输出:具有关键见解和经过验证的信息的结构化分析

3.技术编剧代理

  • 角色:技术作家
  • 目标:创建清晰、全面、结构良好的书面内容
  • 输入:研究分析
  • 输出:全面、格式良好的降价文档

配置

环境变量

  • LINKUP_API_KEY:用于web搜索功能的LinkUp API密钥
  • OLLAMA_BASE_URL:Ollama API的基本URL(默认值:http://localhost:11434)
  • MODEL_NAME:要使用的Ollama模型(默认值:phi3)

自定义代理

您可以通过修改来自定义代理 agents/research_crew.py:

  • 调整代理角色、目标和背景故事
  • 修改任务描述和预期输出
  • 添加或删除特定代理的工具
  • 更改流程(顺序、层次等)

🐛 故障排除

常见问题及解决方案

🚫 "Address already in use" error
# Kill existing processes
pkill -f "python.*http_server"
pkill -f "http.server"

# Or restart with different ports
python3 launcher.py
🔗 Ollama connection failed
# Check if Ollama is running
ollama serve

# Verify model is available
ollama list

# Pull model if missing
ollama pull phi3:latest

# Check Ollama is accessible
curl http://localhost:11434/api/tags
🔑 LinkUp API errors
  1. 在中验证API密钥 .env 文件
  2. 检查LinkUp仪表板的使用限制
  3. 测试API密钥:
curl -H "Authorization: Bearer YOUR_API_KEY" \
     -H "Content-Type: application/json" \
     -d '{"q": "test"}' \
     https://api.linkup.so/v1/search
🧩 Dependencies issues
# Reinstall dependencies
poetry install --no-cache

# Or use pip fallback
pip install -r requirements.txt

# Check Python version
python3 --version  # Should be 3.10+
🌐 CORS/Frontend issues
  • 确保两台服务器都在运行
  • 检查浏览器控制台是否有错误
  • 尝试直接访问后端: http://localhost:8080/health
  • 清除浏览器缓存并重新加载

获取帮助

  1. 检查日志:启动器显示两台服务器的详细日志
  2. 运行诊断程序: python3 setup.py 验证设置
  3. 测试组件: python3 simple_test.py 用于单独测试
  4. 启用调试模式:设置 logging.basicConfig(level=logging.DEBUG) 在服务器文件中

🛠️ 发展

快速命令

# Start everything
make start          # or make launch, make demo

# Development setup
make dev-setup      # Install deps + setup + verify

# Run tests
make test           # Basic functionality test
make quick-test     # Quick search test  

# Maintenance
make clean          # Clean cache files
make verify         # Verify installation

添加自定义代理

  1. 创建新代理 在 agents/research_crew.py:
custom_agent = Agent(
    role='Custom Specialist',
    goal='Your specific goal',
    backstory='Agent background',
    tools=[your_tools]
)
  1. 添加到船员工作流程:
custom_task = Task(
    description="Task description",
    agent=custom_agent,
    expected_output="Expected result format"
)

添加新工具

  1. 创建工具文件 在 agents/tools/:
class CustomTool(BaseTool):
    name = "Custom Tool"
    description = "Tool description"
    
    def _run(self, query: str) -> str:
        # Tool implementation
        return result
  1. 在代理商处注册 在 research_crew.py

环境配置

变量 描述 默认值
LINKUP_API_KEY LinkUp搜索API密钥 必需
OLLAMA_BASE_URL Ollama服务器URL http://localhost:11434
MODEL_NAME Olama型号名称 phi3:latest
OPENAI_API_KEY 设置为 ollama 供当地使用 ollama
OPENAI_API_BASE Ollama OpenAI兼容端点 http://localhost:11434/v1

🤝 贡献

我们欢迎捐款!以下是如何开始:

开发环境设置

# Fork and clone the repo
git clone https://github.com/anubhav-77-dev/MCP-Multi-Agent-Deep-Researcher.git
cd MCP-Multi-Agent-Deep-Researcher

# Install development dependencies  
poetry install --with dev

# Run pre-commit setup
pre-commit install

贡献指南

  1. 🍴 分叉存储库
  2. 🌿 创建要素分支: git checkout -b feature/amazing-feature
  3. ✨ 使用清晰的注释代码进行更改
  4. 🧪 添加新功能的测试
  5. ✅ 运行测试: make test
  6. 📝 根据需要更新文档
  7. 🚀 提交拉取请求

贡献领域

  • 🔧 新的代理工具和集成
  • 🎨 前端UI/UX改进
  • 📚 文件和示例
  • 🧪 测试覆盖范围扩展
  • 🐛 Bug修复和性能改进
  • 🌍 国际化

📊 性能和扩展

  • 快速搜索:约2-5秒(取决于LinkUp API)
  • 全面研究:约30-60秒(取决于查询复杂性)
  • 并发用户:支持多个同时请求
  • 内存使用:~500MB-1GB(取决于Olama型号)
  • 磁盘空间:~3GB(包括phi3型号)

🔒 安全与隐私

  • ✅ 本地AI处理:没有数据发送到外部人工智能服务
  • ✅ API密钥安全:LinkUp API密钥仅存储在本地
  • ✅ 无数据持久性:默认情况下不存储研究查询
  • ✅ CORS保护:可配置的原产地限制
  • ⚠️ 网页搜索:发送到LinkUp API的查询(请参阅其隐私政策)

📄 许可证

该项目根据 MIT许可证 -看看 许可证 文件以获取详细信息。

🙏 致谢

采用令人惊叹的开源技术构建:

⭐ 明星历史


由以下材料制成❤️ 面向人工智能研究界

🌟 标记此回购 • 🐛 报告Bug • 💡 请求功能