OmniAgent
- 先进的多智能体人工智能系统 由LLM代理和MCP(模型上下文协议)服务器支持的自主文档处理、web自动化、代码执行和智能查询检索
- Bajaj Finserv HackRX 6.0黑客马拉松2025的获胜者,从10000多个团队中选出
- 我们关于HackRX 6.0的最终演讲可以在这里找到: ILLVZN队决赛投球.pdf
概述
OmniAgent 是个老练的人 智能人工智能系统 它将多个专业的人工智能代理与强大的自动化功能相结合。系统使用 模型上下文协议(MCP) 服务器为自主代理提供用于复杂任务执行的高级工具。
核心代理能力
Autonomous Document Processing
- 多格式处理:PDF、PPTX、DOCX、Excel(XLSX)、CSV、图像(PNG、JPG、TIFF)和纯文本文件
- 高级OCR代理:Tesseract和EasyOCR用于从图像和扫描文档中提取文本
- 大型文档处理:智能分块和处理长达数千页的文档
- 智能内容分析:具有语义理解的RAG(检索增强生成)管道
Web Automation & Browser Control
- 智能网络爬行:自动网站导航和内容提取
- 动态页面交互:支持JavaScript的渲染和表单交互
- URL内容处理:直接处理网页、API和在线文档
- 实时数据提取:实时网络数据检索和内容监控
Code Execution & Analysis
- 多语言执行:Python、JavaScript、shell命令和脚本自动化
- 存储库分析:GitHub存储库处理和代码理解
- 代码生成:自动代码创建和文档
- 交互式执行:实时代码执行,结果可视化
Intelligent Query & Reasoning
- 自然语言处理:具有上下文理解的复杂查询解释
- 多步骤任务执行:将复杂的请求分解为可执行代理工作流
- 交叉源分析:跨文档、web内容和数据库关联信息
- 流式AI响应:具有进度跟踪功能的实时代理通信
多代理架构
这 全栈代理生态系统 特征:
- 代理编排:具有专业能力的协调人工智能代理
- MCP工具集成:通过模型上下文协议可扩展代理工具包
- 实时可观测性:VoltAgent监控代理行为和调试
- 高性能管道:可扩展的文档、web和代码处理
- 交互式代理界面:用户友好的聊天,流媒体代理响应
HackRX Chat Architecture Rounds 1-4 Architecture Rounds 5-7 Technology Stack VoltAgent Dashboard
建筑
前端/主后端(Next.js 14+,带TypeScript)
第5、6、7轮的主要系统:
- 聊天界面:具有流式响应的交互式聊天用户界面
/chat - HackRX评估端点: 主后端API 在
/api/hackrx/run用于评估目的 - Next.js API路线:服务器端处理与AI集成
- MCP客户端:在需要时使用Python MCP服务器中的工具
- MCP服务器:剧作家MCP服务器(https://github.com/microsoft/playwright-mcp)
- 可观测性:用于监控和调试的VoltAgent集成(https://voltagent.dev)
- 认证:使用安全的用户管理支持身份验证
- 数据库:PostgreSQL通过Supabase与矢量支持
Python后端(辅助/工具提供程序)
对于第1-4轮,这是主要的后端系统: Python后端充当工具提供者:
- FastAPI服务器:具有自动文档的高性能API
- MCP服务器:使用FastMCP进行工具集成的模型上下文协议服务器
- 文档处理:支持多矢量存储的高级RAG管道
- 人工智能集成:多家法学硕士提供商(OpenAI、谷歌双子座、Groq、Cerebras)
- 矢量数据库:支持松果体、Qdrant和PGVector
- OCR处理:Tesseract OCR和EasyOCR用于图像文本提取
技术栈
| 组件 | 技术 | 目的 |
|---|---|---|
| 前端框架 | Next.js 14+带TypeScript | 主要应用程序和API路由 |
| UI组件 | Radix UI+Tailwind CSS | 现代、易用的界面 |
| 状态管理 | TanStack查询 | 前端数据管理 |
| HTTP客户端 | Axios | 前端API通信 |
| 人工智能集成 | Vercel AI SDK | 流式AI响应 |
| 认证 | Supabase Auth | 用户管理 |
| 数据库 | Supabase(PostgreSQL) | 数据持久化 |
| 可观测性 | VoltAgent | 代理监控和调试 |
| 后端API | FastAPI+Python 3.12+ | 文档处理工具 |
| MCP集成 | 模型上下文协议 | 工具可扩展性 |
| 矢量存储器 | 松果体、Qdrant、PGVector | 语义搜索 |
| Web自动化 | 剧作家MCP | 浏览器控制 |
| 文档处理 | PyMuPDF,LangChain | 支持多种格式 |
| OCR工具 | PyMuPDF4LLM、Tesseract OCR、python pptx、EasyOCR | 文档文本提取 |
| AI/ML | LangChain生态系统、OpenAI GPT、谷歌Gemini、Groq、Cerebras | 多提供商人工智能支持 |
| 运行时 | Python 3.12+ | 后端执行环境 |
| 容器化 | Docker+Docker编写 | 部署 |
| 平台支持 | Windows 10/11与PowerShell | 主要平台 |
| 替代 | Docker(跨平台) | 跨平台部署 |
快速开始
重要:对于第5、6、7轮,主要后端是Next.js应用程序。Python后端是可选的,只需要高级文档处理工具。
选项1:仅前端/主后端(建议用于第5、6、7轮)
先决条件
- Node.js 18+
- Git
设置
# Clone the repository
git clone https://github.com/CubeStar1/omni-agent.git
cd omni-agent/frontend
# Install dependencies
npm install
# Configure environment
cp env.example .env.local
# Edit .env.local with your configuration
# Start the application
npm run dev接入点
- 主要应用:
http://127.0.0.1:3000 - 聊天界面:
http://127.0.0.1:3000/chat - HackRX评估API:
http://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
# Configure environment
cp env.example .env
# Edit .env with your API keys (or leave as is for defaults)
# Start main FastAPI server
python main.py
# Start MCP server (in separate terminal)
python run_mcp.pyPython服务(运行时):
- FastAPI服务器:
http://127.0.0.1:8000 - MCP服务器:
http://127.0.0.1:8001(FastMCP服务器)
前端设置
cd frontend
npm install
cp env.example .env.local
# Edit .env.local with your configuration (including MCP_URL if using Python tools)
npm run dev选项3:带Docker的Python工具(可选)
Python后端包括完整的Docker支持:
# Docker setup for Python backend
cd backend
cp .env.example .env
# Edit .env with your API keys
# Using Docker Compose (recommended)
docker-compose up -d
# Or using PowerShell script
.\docker-run.ps1
# To view logs
docker-compose logs -f备注Docker仅适用于Python工具后端。主要的Next.js应用程序在本地运行。
配置
数据库
- 首选 Supabase 并创建一个新项目。
- 从以下位置粘贴迁移
frontend/lib/supabase/migrations.sql进入SQL编辑器并运行它们。 - 从项目设置中获取您的Supabase URL和匿名密钥。
前端(.env)-主应用程序
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_ADMIN=
RESEND_API_KEY=
RESEND_DOMAIN=
NEXT_PUBLIC_APP_NAME=HackRX Chat
NEXT_PUBLIC_APP_ICON='/logos/hackrx-logo.webp'
# AI Providers
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 Tools
TAVILY_API_KEY=
NEXT_PUBLIC_MCP_URL=http://127.0.0.1:8001/mcp
# VoltAgent Observability
VOLTAGENT_PUBLIC_KEY=
VOLTAGENT_SECRET_KEY=
GITHUB_PERSONAL_ACCESS_TOKEN=
Python工具后端(.env)-可选
# Environment Configuration
PROJECT_NAME="OmniAgent Intelligence System"
ENVIRONMENT=production
# Authentication
BEARER_TOKEN=your-bearer-token
# MCP Server Configuration
MCP_SERVER_PORT=8001
# Vector Store Configuration
DEFAULT_VECTOR_STORE=inmemory
EMBEDDING_MODEL=text-embedding-3-small
# Pinecone Configuration
PINECONE_API_KEY=your-pinecone-key
PINECONE_INDEX_NAME=hackrx-documents
PINECONE_ENVIRONMENT=us-east-1
# LLM Providers
OPENAI_API_KEY=your-openai-key
GEMINI_API_KEY=your-gemini-key
DEFAULT_LLM_PROVIDER=openai
GROQ_API_KEY=your-groq-key
CEREBRAS_API_KEY=your-cerebras-key
# Processing Configuration
CHUNK_SIZE=1000
CHUNK_OVERLAP=200
# Database
SUPABASE_URL=your-supabase-url
SUPABASE_ANON_KEY=your-supabase-key
SUPABASE_SERVICE_KEY=your-supabase-service-key
# Additional Settings
ENABLE_REQUEST_LOGGING=true
AGENT_ENABLED=trueAPI终点
主应用程序(Next.js)
对于第5、6、7轮-主要后端:
- 基本URL:
http://127.0.0.1:3000 - 聊天界面:
http://127.0.0.1:3000/chat - HackRX评估端点:
http://127.0.0.1:3000/api/hackrx/run - 聊天API:
http://127.0.0.1:3000/api/chat
Python工具后端(可选-第1-4轮)
- 基本URL:
http://127.0.0.1:8000 - 健康检查:
http://127.0.0.1:8000/health - 文档:
http://127.0.0.1:8000/docs
MCP服务器(可选)
- 基本URL:
http://127.0.0.1:8001 - 工具:
retrieve_context,rag_search
项目结构
omni-agent/
├── frontend/ # Next.js Main Application (Primary Backend for Rounds 5,6,7)
│ ├── app/ # Next.js app directory
│ │ ├── chat/ # Chat interface components
│ │ ├── api/ # **Main Backend API Routes**
│ │ │ ├── chat/ # Chat API endpoint
│ │ │ └── hackrx/run/ # **HackRX evaluation endpoint (Main Backend)**
│ │ └── ...
│ ├── components/ # React components
│ ├── lib/ # Utilities and configurations
│ └── package.json # Node dependencies
├── backend/ # Python Tools Backend (Supplementary/Optional)
│ ├── app/ # FastAPI application code
│ ├── mcp_server/ # FastMCP server implementation
│ │ ├── main.py # MCP server entry point
│ │ ├── server.py # FastMCP server configuration
│ │ ├── tools/ # MCP tools (retrieve_context, rag_search)
│ │ └── config/ # MCP configuration
│ ├── requirements.txt # Python dependencies
│ ├── requirements-mcp.txt # MCP-specific dependencies
│ ├── main.py # FastAPI server entry point
│ ├── run_mcp.py # MCP server launcher
│ ├── Dockerfile # Docker configuration
│ ├── docker-compose.yml # Docker Compose setup
│ ├── DOCKER_README.md # Docker documentation
│ └── README.md # Python backend documentation
├── challenge.html # Challenge description
└── README.md # This file开发命令
主应用程序(前端/Next.js后端)
cd frontend
# Start development server (Main Application)
npm run dev
# Production build
npm run build
# Start production server
npm run start
# Run linting
npm run lintPython工具后端(可选)
cd backend
# Start FastAPI server
python main.py
# Start MCP server
python run_mcp.py
# Run API tests
python test_api.py
# Docker commands
docker-compose up -d # Start services
docker-compose up -d --build # Rebuild and start
docker-compose down # Stop services
docker-compose logs -f # View logs许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
致谢
- 前端聊天: 立方体星1/ai sdk模板
- 剧作家MCP: 微软剧作家MCP
- VoltAgent: VoltAgent可观察性
