智能代理聊天机器人

一个基于模型上下文协议(MCP)的AI助手应用,具有智能任务分解与执行、丰富的工具集成和现代用户界面,适用于开发者和技术团队。

  • by chakisahmed
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 chakisahmed/agentic-chatbot-mcp

使用说明

代理聊天机器人MCP

使用 模型上下文协议(MCP),以现代为特色 Next.js 前端和健壮 python 后端。该项目演示了如何构建代理工作流,集成各种工具(文件系统、GitHub等),并提供无缝的聊天体验。

🌟 特性

  • 代理工作流:使用DeepSeek模型进行智能任务分解和执行。
  • 模型上下文协议(MCP):将人工智能模型连接到外部工具和数据的标准化方法。
  • 丰富的工具集:
    • 📂 文件资源管理器:安全地读取、写入和列出文件。
    • 🐙 GitHub 集成:搜索存储库并查看文件内容。
    • 🌐 Web浏览器:获取和处理web内容。
    • 🛠️ 代码工具:分析和操作实用程序。
    • 💾 SQLite和本地RAG:数据持久性和检索增强生成。
  • 现代用户界面:
    • 建于 Next.js 14 & 顺风 CSS.
    • 实时流式响应。
    • 代码块的语法高亮显示。
    • 交互式文件查看器和调试抽屉。

🏗️ 建筑

该项目被组织为一个单仓库,有两个主要组成部分:

  • mcp-learning/ (后端):

    • 基于Python的MCP服务器和客户端。
    • 用于前端通信的WebSocket API服务器。
    • 代理主管和工具实施。
  • mcp-ui/ (前端):

    • React/Next.js应用程序。
    • 聊天界面,工具调用可视化。
    • 客户端MCP挂钩和状态管理。

系统图

graph TD
    Client[Next.js Frontend] <-->|WebSocket| WSS[WebSocket Server]
    WSS -->|Message| Supervisor[Agent Supervisor]
    Supervisor -->|Plan| Router[Tool Router]
    
    subgraph "MCP Servers"
        Router <--> FS[File System]
        Router <--> GH[GitHub]
        Router <--> Browser[Browser Puppet]
        Router <--> RAG[Local RAG]
        Router <--> SQLite[SQLite Explorer]
    end

    Supervisor -->|Response| WSS

📸 截图

🚀 入门指南

先决条件

  • Python 3.10+
  • Node.js 18+ & npm
  • Git

1.克隆存储库

git clone https://github.com/chakisahmed/agentic-chatbot-mcp.git
cd agentic-chatbot-mcp

2.后端设置(mcp-learning)

导航到后端目录并设置Python环境:

cd mcp-learning

# Create a virtual environment
python -m venv venv

# Activate the virtual environment
# Windows:
.\venv\Scripts\activate
# Mac/Linux:
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

配置: 创建一个 .env 归档 mcp-learning/ 使用API密钥:

DEEPSEEK_API_KEY=your_key_here
GITHUB_TOKEN=your_token_here (optional)

3.前端设置(mcp-ui)

导航到前端目录并安装依赖项:

cd ../mcp-ui

# Install Node modules
npm install

配置: 创建一个 .env.local 归档 mcp-ui/:

NEXT_PUBLIC_API_URL=ws://localhost:8000/ws

🏃‍♂️ 运行应用程序

启动后端服务器

从 mcp-learning 目录:

python -m ws_server.api_server

WebSocket服务器将在 ws://localhost:8000.

启动前端客户端

从 mcp-ui 目录:

npm run dev

访问应用程序 http://localhost:3000.

📚 文档

  • MCP工具:详见 mcp-learning/servers/
  • 代理逻辑:参见 mcp-learning/clients/agent_supervisor.py
  • UI组件:位于 mcp-ui/src/components/

🤝 贡献

欢迎投稿、问题和功能请求!

📄 许可证

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