🦉 OWL 是一个前沿的多智能体协作框架,推动任务自动化的边界,构建在 Camel AI 之上,其愿景是彻底变革 AI 智能体协作解决现实任务的方式。通过利用动态智能体交互,OWL 实现了跨多领域更自然、高效且稳健的任务自动化。github.com/camel-ai/ow…
前言
日前,在 Manus 引爆社交媒体后,多个开源通用 Agent 也迅速出圈,OWL 便是其中之一。然而,笔者在遵循 Github 官方指南安装运行 OWL 时,也遇到一些问题。本文旨在提供一个更简单的部署指南,让您快速体验这个 Agent 的魅力。
安装
1)准备好 git 和 python
从各自官网安装即可,Python 3.10, 3.11, 3.12 取其一,无需多言
2)安装 uv
# uv 是这个项目需要用到的 python 包管理器(之一),用来管理项目依赖。pip install uv
3)克隆 GitHub 仓库
git clone https://github.com/camel-ai/owl.git
4)进入项目目录
cd owl
5)激活虚拟环境
source .venv/bin/activate.venv\Scripts\activate
6)开启科学上网(非必须,会更快更稳定),安装 CAMEL 及其所有依赖
uv pip install -e .
注意‼️ 完成以上步骤后即可暂停,不要执行官方指南里的 deactivate 命令,否则离开虚拟环境后会因依赖缺失,无法运行项目
设置 API Key
OWL 调用模型完成各种任务,因此我们需要一个 api key 提供这个基础能力。以下是 OWL 目前支持的模型提供商
- OpenAIQwenDeepSeekGroqAzure
1)获取 API key
如果你之前没有使用过 api key,这里求快的话建议直接使用 Qwen,因为目前阿里有注册送 100w token 的活动,遵循指南(help.aliyun.com/zh/model-st… 完成注册和 api key 的获取。
如果你已有以上可用的模型提供商的 key,请按照喜好配置。
2)配置 .env
OWL 会读取 owl/owl/.env 这个文件里配置的 api key 进行模型调用,这个文件一开始是没有的,我们需要从模板复制一个出来:
cd owlcp .env_template .env
接着用你喜欢的编辑器打开 .env 文件,把刚才申请到的 Qwn api key 或已有的 key 填到对应的地方
...QWEN_API_KEY='你申请到的 key'...
注意:如果是其他模型提供商的 key,需要填到对应的位置。最后,除了我们需要的(例如这里是 Qwen),其他模型提供商的配置都应该是被注释的。
运行 OWL
运行入口位于 owl/owl,确保你在这个目录下
python webapp_zh.pypython webapp.py
运行成功后,你应该看到如下提示
打开 local URL 后面的网址,即可看到 OWL GUI 使用界面。注意:后面当你第一次执行任务时,会有安装浏览器相关组件的动作,需要等待一段时间
可以看到目前整个产品形态还是处于比较初级的阶段。这里可以点击 Examples 下的默认示例来测试功能,例如这里我测试了第一个示例的最终效果如下:
从对话记录来看,OWL 的工作流程中 User Agent 和 Assistant Agent 两个角色交替出现,前者负责规划,后者负责执行,是当前通用 Agent 的典型设计。
在这个示例里,OWL 做了如下事情:
- 调用百度搜索获取到 Camel 的 github 地址调用浏览器进入 Camel 的 github 主页,获取到它的 star 和 folk 数据编写 python 代码,图形化展示 Camel 的 github 数据
可以看到 OWL 已经展示了初步的任务规划和工具调用能力,关于更复杂更真实的场景后续测试后再与大家分享。
deactivate
结尾
这篇文章主要想让不熟悉技术或者 python 项目的朋友快速地将 OWL 跑起来,体验开源 Agent 的魅力。总结有以下注意事项:
- Python 版本需要在 3.10~3.12 之间使用 uv 作为包管理器(后续也方便我们配置 mcp 服务)项目依赖较多,最好在安装前科学上网;依赖下载完成后有较长的 preparing packages 的时间,请耐心等待在进入虚拟化环境、安装所有项目依赖后,在将 OWL GUI 跑起来前,不要执行 deactivate对模型 API 调用不是很熟悉的朋友,可以使用 Qwen 的 API Key 作为测试(注册简便,送 100w token)第一次执行任务时,会有安装浏览器相关组件的动作,需要等待一段时间执行 OWL 内置的示例时,结束前,不要频繁切换窗口,否则会影响任务的规划调度。