使用说明
项目简介
本项目是OWL (Optimized Workforce Learning) 多智能体系统的后端API实现,采用FastAPI框架构建,旨在替代原有的Gradio界面,提供更强大、更现代化的API服务。它为前端应用和MCP客户端提供了稳定高效的接口,支持资源管理、工具注册执行和Prompt模板渲染等核心功能。
主要功能点
- RESTful API 接口: 提供全面的RESTful API端点,用于管理和控制OWL系统的各项功能,例如启动任务、查询状态、管理环境配置、查看日志等。
- WebSocket 支持: 通过WebSocket协议提供实时的双向通信能力,支持客户端与服务器之间的实时数据推送和交互,例如任务状态更新、日志流式传输等。
- 环境管理: 提供API接口用于管理服务器运行所需的环境变量,方便用户配置API密钥和其他设置。
- 模块化设计: 采用模块化设计,API功能按模块组织,易于扩展和维护。
- 日志管理: 集成日志管理功能,方便监控服务器运行状态和排查问题。
- 多协议支持: 通过FastAPI框架,天然支持HTTP和WebSocket协议,为MCP客户端的连接提供灵活性。
安装步骤
- 环境准备: 确保已安装Python 3.10+ 和 Node.js 16.x+,并配置好npm。
- 后端安装:
- 进入项目根目录 'owl-redesign-prototype'。
- 创建Python虚拟环境:'python -m venv .venv'
- 激活虚拟环境:'.venv\Scripts\activate' (Windows) 或 'source .venv/bin/activate' (Linux/macOS)
- 安装后端依赖:'pip install -r owl_api/requirements.txt'
- 前端安装 (如果需要前端界面):
- 进入 'frontend/' 目录。
- 安装前端依赖:'npm install'
- 配置环境变量:
- 复制 '.env_template' 文件到 'owl/' 目录下并重命名为 '.env':'cp owl/.env_template owl/.env'
- 编辑 'owl/.env' 文件,填入所需的API密钥和其他配置信息。
服务器配置
MCP客户端需要配置OWL API服务器的启动命令和参数,以便建立连接。以下是基于仓库信息生成的MCP服务器配置示例(JSON格式):
{ "mcpServers": { "owl_api_server": { "serverName": "OWL API Server", "command": "python", "args": ["owl_api/main.py"], "description": "OWL API Server based on FastAPI backend", "transport": "websocket", "protocol": "json-rpc" } } }
参数注释:
- 'serverName': MCP服务器的名称,客户端用于识别和显示。
- 'command': 启动MCP服务器的命令,这里是Python解释器。
- 'args': 启动命令的参数,指定运行 'owl_api/main.py' 文件,即启动FastAPI后端服务。
- 'description': MCP服务器的描述信息,方便用户了解服务器用途。
- 'transport': 指定MCP客户端与服务器通信的传输协议,这里使用WebSocket。
- 'protocol': 指定MCP客户端与服务器通信的消息协议,这里使用JSON-RPC。
注意: MCP客户端需要根据实际网络环境和服务器部署情况,配置正确的服务器地址(例如,如果服务器部署在远程机器上,则需要配置服务器的IP地址或域名)。以上配置示例假设服务器运行在本地 'localhost',端口为默认的 '8000' 端口。
基本使用方法
- 启动后端API: 在项目根目录下运行命令 'python owl_api/main.py' 启动FastAPI后端服务。默认情况下,服务器将在 'http://localhost:8000' 启动。
- 启动前端 (可选): 如果需要使用前端界面,进入 'frontend/' 目录,运行 'npm run dev' 启动前端开发服务器。前端默认运行在 'http://localhost:5173'。
- 使用API: 可以通过HTTP请求或WebSocket连接访问后端API提供的各种功能。详细API端点信息请参考仓库中的 'API_DOCUMENTATION.md' 文件。
- 集成MCP客户端: 根据MCP客户端的具体使用方法,配置连接到OWL API Server,即可利用OWL API Server提供的资源、工具和Prompt模板功能。
信息
分类
网页与API