使用说明
项目简介
OWL (Optimized Workforce Learning) 是一个基于CAMEL-AI框架构建的多智能体协作系统,专注于现实世界任务的自动化。它通过模型上下文协议 (MCP) 提供标准化的上下文服务,支持资源管理、工具执行和Prompt模板渲染,从而实现更自然、高效和稳健的AI智能体协作。
主要功能点
- 多智能体协作框架: 支持构建复杂的智能体协作系统,解决多步骤、多领域任务。
- 模型上下文协议 (MCP) 支持: 内置MCP工具包,实现与各种工具和数据源的标准化交互。
- 丰富的工具集: 集成浏览器自动化、在线搜索、多模态处理、文档解析、代码执行等多种工具,覆盖广泛的任务需求。
- 灵活的模型配置: 支持多种LLM后端,包括OpenAI、Qwen、DeepSeek、Azure OpenAI和Ollama等,可根据需求选择合适的模型。
- Web用户界面: 提供易用的Web界面,方便用户与OWL系统交互,进行任务配置和监控。
安装步骤
-
克隆仓库
git clone https://github.com/camel-ai/owl.git cd owl -
选择安装方式 (推荐使用uv)
- 使用 uv (推荐)
pip install uv uv venv .venv --python=3.10 source .venv/bin/activate # 或 .venv\Scripts\activate (Windows) uv pip install -e . - 使用 venv 和 pip
python3.10 -m venv .venv source .venv/bin/activate # 或 .venv\Scripts\activate (Windows) pip install -r requirements.txt --use-pep517 - 使用 conda
conda create -n owl python=3.10 conda activate owl pip install -e . # 或 pip install -r requirements.txt --use-pep517
- 使用 uv (推荐)
-
配置环境变量 复制 '.env_template' 文件并重命名为 '.env',然后根据需要填写API密钥等配置信息。
cp .env_template .env vim .env # 或使用其他编辑器修改注意: 对于基本示例,只需配置LLM API密钥 (例如 'OPENAI_API_KEY')。
服务器配置
OWL 本身作为 MCP 服务器,无需额外配置服务器端。但作为 MCP 客户端的应用 (如 MCP Desktop Commander),需要配置连接到 OWL 服务器的信息。
OWL 通过 Python 代码运行,其启动方式即为 MCP 服务器的启动命令。以下是 MCP 客户端 (如 MCP Desktop Commander) 连接 OWL 服务器时可能需要的配置信息示例 (JSON 格式):
{ "serverName": "owl-server", "command": "python", "args": ["examples/run.py"], "description": "OWL MCP Server", "protocol": "stdio" }
参数注释:
- '"serverName"': 服务器名称,自定义,用于在客户端标识连接。
- '"command"': 启动服务器的命令,这里是 'python'。
- '"args"': 命令参数,指定运行 'examples/run.py' 脚本,这将启动 OWL 系统,作为 MCP 服务器运行。 根据你运行的具体示例脚本 ('run.py', 'run_mcp.py' 等) 修改此参数。
- '"description"': 服务器描述,可选,方便用户识别服务器用途。
- '"protocol"': 通信协议,默认为 'stdio',OWL 也支持其他协议如 'websocket' 和 'sse',但通常 'stdio' 即可满足需求。
重要提示: 用户无需直接编辑或运行 'mcp_servers_config.json' 文件,此配置文件是在 MCP 客户端 (如 MCP Desktop Commander) 中使用的,用于配置客户端如何连接到 OWL 服务器。 OWL 服务器的启动和运行通过执行 Python 脚本完成。
基本使用方法
-
运行示例脚本 安装完成后,可以通过运行示例脚本来体验OWL的功能。例如,运行 'examples/run.py' 脚本:
python examples/run.py这将启动OWL系统,并执行示例任务。
-
修改任务 可以修改 'examples/run.py' 脚本中的 'question' 变量来更改OWL执行的任务。
# examples/run.py question = "你的任务描述" # 修改这里 society = construct_society(question) answer, chat_history, token_count = run_society(society) print(f"\033[94mAnswer: {answer}\033[0m") -
使用Web界面 OWL 提供了一个Web用户界面,可以通过以下命令启动:
python owl/webapp.py # 英文界面 python owl/webapp_zh.py # 中文界面启动后,可以通过浏览器访问 'http://localhost:7860' (默认地址) 来使用Web界面进行交互。
-
MCP 功能示例 要体验MCP功能,可以运行 'examples/run_mcp.py' 脚本,并确保已配置和启动了 Playwright MCP Service。
python examples/run_mcp.py
关键词
多智能体协作, 任务自动化, AI框架, 工具调用, 上下文服务
信息
分类
AI与计算