返回市场
全能代理

全能代理

作者:CubeStar111 星标更新:2025-09-17

项目介绍

技术文档摘要

OmniAgent

  • 高级多代理AI系统,具有自主文档处理、网络自动化、代码执行和智能查询检索功能,由LLM代理和MCP(模型上下文协议)服务器提供支持。

  • 获得Bajaj Finserv HackRX 6.0黑客马拉松2025冠军,从10,000多个团队中脱颖而出。

  • 我们在HackRX 6.0中的最终演示演讲可以在这里找到:Team ILLVZN Final Pitch.pdf

概述

OmniAgent 是一个复杂的代理AI系统,结合了多个专门的AI代理和强大的自动化能力。该系统使用模型上下文协议(MCP)服务器来为自主代理提供执行复杂任务的先进工具。

核心代理能力

<details> <summary><b>自主文档处理</b></summary>
  • 多格式处理:PDF、PPTX、DOCX、Excel(XLSX)、CSV、图像(PNG、JPG、TIFF)和平文文件
  • 高级OCR代理:Tesseract 和 EasyOCR 用于从图像和扫描文档中提取文本
  • 大型文档处理:智能分块和处理多达数千页的文档
  • 智能内容分析:带有语义理解的RAG(检索增强生成)管道
</details> <details> <summary><b>网络自动化与浏览器控制</b></summary>
  • 智能网络爬虫:自动网站导航和内容提取
  • 动态页面交互:启用JavaScript的渲染和表单交互
  • URL内容处理:直接处理网页、API和在线文档
  • 实时数据提取:实时网络数据检索并监控内容
</details> <details> <summary><b>代码执行与分析</b></summary>
  • 多语言执行:Python、JavaScript、shell命令和脚本自动化
  • 仓库分析:GitHub仓库处理和代码理解
  • 代码生成:自动代码创建和文档
  • 交互式执行:实时代码执行并可视化结果
</details> <details> <summary><b>智能查询与推理</b></summary>
  • 自然语言处理:带上下文理解的复杂查询解释
  • 多步骤任务执行:将复杂请求分解为可执行的代理工作流
  • 跨源分析:关联文档、网络内容和数据库中的信息
  • 流式AI响应:实时代理通信并跟踪进度
</details>

多代理架构

这个全栈代理生态系统的特点包括:

  • 代理编排:具备专门能力的协调AI代理
  • MCP工具集成:通过模型上下文协议扩展的代理工具包
  • 实时可观测性:VoltAgent 监控代理行为和调试
  • 高性能流水线:可扩展的文档、网络和代码处理
  • 交互式代理界面:用户友好的聊天界面和流式代理响应

HackRX 聊天 架构轮次1-4 架构轮次5-7 技术堆栈 VoltAgent 仪表板

架构

前端/主后端(Next.js 14+ with TypeScript)

第5、6、7轮的主要系统:

  • 聊天界面:在 /chat 提供交互式聊天UI和流式响应
  • HackRX 评估端点:主要后端API位于 /api/hackrx/run 用于评估目的
  • Next.js API 路由:服务器端处理与AI集成
  • MCP 客户端:需要时从Python MCP服务器消费工具
  • MCP 服务器:Playwright MCP Server (https://github.com/microsoft/playwright-mcp)
  • 可观测性:VoltAgent 集成用于监控和调试 (https://voltagent.dev)
  • 认证:Supabase Auth 用于安全的用户管理
  • 数据库:通过Supabase支持向量的PostgreSQL

Python 后端(补充/工具提供商)

第1-4轮 - 这是主要的后端系统: Python 后端作为工具提供商:

  • FastAPI 服务器:带有自动文档的高性能API
  • MCP 服务器:使用FastMCP进行工具集成的模型上下文协议服务器
  • 文档处理:支持多种向量存储的高级RAG管道
  • AI 集成:多个LLM提供商(OpenAI、Google Gemini、Groq、Cerebras)
  • 向量数据库:支持Pinecone、Qdrant和PGVector
  • OCR 处理:Tesseract OCR 和 EasyOCR 用于图像文本提取

技术堆栈

组件技术用途
前端框架Next.js 14+ with TypeScript主应用程序及API路由
UI 组件Radix UI + Tailwind CSS现代且可访问的界面
状态管理TanStack Query前端数据管理
HTTP 客户端Axios前端API通信
AI 集成Vercel AI SDK流式AI响应
认证Supabase Auth用户管理
数据库Supabase (PostgreSQL)数据持久化
可观测性VoltAgent代理监控及调试
后端APIFastAPI + Python 3.12+文档处理工具
MCP 集成模型上下文协议工具扩展性
向量存储Pinecone, Qdrant, PGVector语义搜索
网络自动化Playwright MCP浏览器控制
文档处理PyMuPDF, LangChain多格式支持
OCR 工具PyMuPDF4LLM, Tesseract OCR, python-pptx, EasyOCR文档文本提取
AI/MLLangChain 生态系统, OpenAI GPT, Google Gemini, Groq, Cerebras多提供商AI支持
运行时Python 3.12+后端执行环境
容器化Docker + Docker Compose部署
平台支持Windows 10/11 with PowerShell主要平台
替代方案Docker (跨平台)跨平台部署

快速开始

重要提示:对于第5、6、7轮,主要后端是Next.js应用程序。Python后端是可选的,仅在需要高级文档处理工具时才需要。

选项1:仅前端/主后端(推荐用于第5、6、7轮)

先决条件

  • Node.js 18+
  • Git

设置

# 克隆仓库
git clone https://github.com/CubeStar1/omni-agent.git
cd omni-agent/frontend

# 安装依赖
npm install

# 配置环境
cp env.example .env.local
# 编辑 .env.local 并配置

# 启动应用
npm run dev

访问点

  • 主应用http://127.0.0.1:3000
  • 聊天界面http://127..0.1:3000/chat
  • HackRX 评估APIhttp://127.0.0.1:3000/api/hackrx/run (主后端端点)

选项2:完整的Python工具设置(可选)

先决条件

  • Python 3.12+
  • Node.js 18+
  • Git

Python工具后端设置(可选)

cd backend
python -m venv venv
.\venv\Scripts\Activate.ps1  # Windows
pip install -r requirements.txt

# 配置环境
cp env.example .env
# 编辑 .env 并配置你的API密钥(或保留默认值)

# 启动主FastAPI服务器
python main.py

# 启动MCP服务器(在单独的终端中)
python run_mcp.py

Python服务(运行时):

  • FastAPI 服务器http://127.0.0.1:8000
  • MCP 服务器http://127.0.0.1:8001(FastMCP服务器)

前端设置

cd frontend
npm install
cp env.example .env.local
# 编辑 .env.local 并配置(包括使用Python工具时的MCP_URL)
npm run dev

选项3:Python工具与Docker(可选)

Python后端包含完整的Docker支持:

# Docker设置用于Python后端
cd backend
cp .env.example .env
# 编辑 .env 并配置你的API密钥

# 使用Docker Compose(推荐)
docker-compose up -d

# 或使用PowerShell脚本
.\docker-run.ps1

# 查看日志
docker-compose logs -f

注意:Docker仅适用于Python工具后端。主Next.js应用程序原生运行。

配置

数据库

  • 登录 Supabase 并创建新项目。
  • frontend/lib/supabase/migrations.sql 中的迁移粘贴到SQL编辑器中并运行它们。
  • 从项目设置中获取你的Supabase URL和Anon Key。

前端(.env) - 主应用

NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_ADMIN=

RESEND_API_KEY=
RESEND_DOMAIN=

NEXT_PUBLIC_APP_NAME=HackRX 聊天
NEXT_PUBLIC_APP_ICON='/logos/hackrx-logo.webp'

# AI 提供商
OPENAI_API_KEY=
XAI_API_KEY=
GROQ_API_KEY=
HACKRX_API_KEY=
HACKRX_BASE_URL="https://register.hackrx.in/llm/openai"
HACKRX_MCP_MODEL=hackrx-gpt-4.1-mini

# AI 工具
TAVILY_API_KEY=

NEXT_PUBLIC_MCP_URL=http://127.0.0.1:8001/mcp

# VoltAgent 可观测性
VOLTAGENT_PUBLIC_KEY=
VOLTAGENT_SECRET_KEY=

GITHUB_PERSONAL_ACCESS_TOKEN=

Python工具后端(.env) - 可选

# 环境配置
PROJECT_NAME="OmniAgent 智能系统"
ENVIRONMENT=生产

# 认证
BEARER_TOKEN=你的bearer-token

# MCP 服务器配置
MCP_SERVER_PORT=8001

# 向量存储配置
DEFAULT_VECTOR_STORE=inmemory
EMBEDDING_MODEL=text-embedding-3-small

# Pinecone 配置
PINECONE_API_KEY=你的pinecone-key
PINECONE_INDEX_NAME=hackrx-documents
PINECONE_ENVIRONMENT=us-east-1

# LLM 提供商
OPENAI_API_KEY=你的openai-key
GEMINI_API_KEY=你的gemini-key
DEFAULT_LLM_PROVIDER=openai
GROQ_API_KEY=你的groq-key
CEREBRAS_API_KEY=你的cerebras-key

# 处理配置
CHUNK_SIZE=1000
CHUNK_OVERLAP=200

# 数据库
SUPABASE_URL=你的supabase-url
SUPABASE_ANON_KEY=你的supabase-key
SUPABASE_SERVICE_KEY=你的supabase-service-key

# 额外设置
ENABLE_REQUEST_LOGGING=true
AGENT_ENABLED=true

API 端点

主应用(Next.js)

第5、6、7轮 - 主要后端:

  • 基础URLhttp://127.0.0.1:3000
  • 聊天界面http://127.0.0.1:3000/chat
  • HackRX 评估端点http://127.0.0.1:3000/api/hackrx/run
  • 聊天APIhttp://127.0.0.1:3000/api/chat

Python工具后端(可选 - 第1-4轮)

  • 基础URLhttp://127.0.0.1:8000
  • 健康检查http://127.0.0.1:8000/health
  • 文档http://127.0.0.1:8000/docs

MCP服务器(可选)

  • 基础URLhttp://127.0.0.1:8001
  • 工具retrieve_context, rag_search

项目结构

omni-agent/
├── frontend/                   # Next.js 主应用(第5、6、7轮的主要后端)
│   ├── app/                   # Next.js 应用目录
│   │   ├── chat/             # 聊天界面组件
│   │   ├── api/              # **主要后端API路由**
│   │   │   ├── chat/         # 聊天API端点
│   │   │   └── hackrx/run/   # **HackRX评估端点(主要后端)**
│   │   └── ...
│   ├── components/            # React组件
│   ├── lib/                   # 实用程序和配置
│   └── package.json           # Node依赖
├── backend/                   # Python工具后端(补充/可选)
│   ├── app/                  # FastAPI应用代码
│   ├── mcp_server/           # FastMCP服务器实现
│   │   ├── main.py          # MCP服务器入口点
│   │   ├── server.py        # FastMCP服务器配置
│   │   ├── tools/           # MCP工具(retrieve_context, rag_search)
│   │   └── config/          # MCP配置
│   ├── requirements.txt      # Python依赖
│   ├── requirements-mcp.txt  # MCP特定依赖
│   ├── main.py              # FastAPI服务器入口点
│   ├── run_mcp.py           # MCP服务器启动器
│   ├── Dockerfile           # Docker配置
│   ├── docker-compose.yml   # Docker Compose设置
│   ├── DOCKER_README.md     # Docker文档
│   └── README.md            # Python后端文档
├── challenge.html            # 挑战描述
└── README.md                # 此文件

开发命令

主应用(前端/Next.js后端)

cd frontend

# 启动开发服务器(主应用)
npm run dev

# 生产构建
npm run build

# 启动生产服务器
npm run start

# 运行代码检查
npm run lint

Python工具后端(可选)

cd backend

# 启动FastAPI服务器
python main.py

# 启动MCP服务器
python run_mcp.py

# 运行API测试
python test_api.py

# Docker命令
docker-compose up -d              # 启动服务
docker-compose up -d --build      # 重建并启动
docker-compose down               # 停止服务
docker-compose logs -f            # 查看日志

许可证

此项目根据MIT许可证发布 - 详情见LICENSE文件。

致谢

  1. 前端聊天CubeStar1/ai-sdk-template
  2. Playwright MCPMicrosoft Playwright MCP
  3. VoltAgentVoltAgent 可观测性