OpenManus由MetaGPT团队开发,而MetaGPT是一个专注于多智能体框架的项目。在智能体行业,这算是一个老牌项目了。
团队成员在AI代理领域拥有丰富的经验,例如核心作者梁新兵和向劲宇曾在AI竞赛中取得优异成绩,并参与过“开源版Devin”等项目。这些技术背景使他们能够快速理解Manus的核心功能,并设计出复刻方案。
Demo:
看Demo,效果的确不错
OpenManus - Open-source Framework for Building AI Agents
使用 OpenManus 享受您自己的代理!
我们还很高兴地推出OpenManus-RL,这是一个开源项目,致力于基于强化学习 (RL)(例如 GRPO)的 LLM 代理调整方法,由 UIUC 和 OpenManus 的研究人员合作开发。
安装步骤
有两种方式使用Conda或者uv,因为我的机器上已经部署了Ananconda,所以我是用的第一种方法
- 创建新的 conda 环境:
conda create -n open_manus python=3.12
conda activate open_manus
- 克隆仓库:
git clone https://github.com/mannaandpoem/OpenManus.git
cd OpenManus
- 安装依赖:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
安装成功后需要修改配置。
配置说明
OpenManus 需要配置使用的 LLM API,请按以下步骤设置:
在 config
目录创建 config.toml
文件(可从示例复制):
cp config/config.example.toml config/config.toml
编辑 config/config.toml
添加 API 密钥和自定义设置:
官方给定配置是:
# 全局 LLM 配置
[llm]
model = "gpt-4o"
base_url = "https://api.openai.com/v1"
api_key = "sk-..." # 替换为真实 API 密钥
max_tokens = 4096
temperature = 0.0
# 可选特定 LLM 模型配置
[llm.vision]
model = "gpt-4o"
base_url = "https://api.openai.com/v1"
api_key = "sk-..." # 替换为真实 API 密钥
因为gpt-4o要花钱,所以我用本地的ollama服务。因为我的ollama跑在海光DCU(4卡)上,所以这也算是全国产部署OpenManus了。在DCU上部署Ollama参考:北方的郎:在海光DCU上用ollama部署DeepSeek-R1,及在Dify等中应用。
# Global LLM configuration
[llm]
model = "qwq"
base_url = "http://ollamahost:11434/v1"
api_key = "sk-..."
max_tokens = 4096
temperature = 0.0
# Optional configuration for specific LLM models
[llm.vision]
model = "minicpm-v"
base_url = "http://ollamahost:11434/vi"
api_key = "sk-..."
快速启动
一行命令运行 OpenManus:
python main.py
因为googlesearch调用总有一些问题,所以我只是简单测了一些不需要搜索的工作,例如
计算30以内的质数:
效果都还不错,准备后续看看怎么在本地配置搜索等其他工具。
GoogleSearch问题解决(换成baiduSearch)
pip install baidusearch
然后修改app/tool/google_search.py
将开头代码换成(注释位置为原代码):
import asyncio
from typing import List
#from googlesearch import search
from baidusearch.baidusearch import search
from app.tool.base import BaseTool
class GoogleSearch(BaseTool):
#name: str = "google_search"
name: str = "baidu_search"
Search这一步的问题过去了:
不过第二部又出问题了:
首先感觉是应该换支持Function Call的大模型才行。不过搜索(Tools models · Ollama Search)发现qwq是支持tools的。
也可能是调用本地ollama服务的问题。先修改配置换成硅基流动的API上的 "Qwen/QwQ-32B"看看
# 全局LLM配置
[llm]
# 模型名称
model = "Qwen/QwQ-32B"
# API基础URL
base_url = "https://api.siliconflow.cn/v1"
# 你的API密钥 (请替换为你自己的密钥)
api_key = "你的API密钥"
# 最大生成标记数
max_tokens = 4096
# 温度参数 (0.0表示最确定性的输出)
temperature = 0.0
然后就全部顺利执行了:
感觉因为这次ollama上面跑的都是q4模型,能力相对有限。能力差就让它稍微发挥一下把。把Temperture调整成了0.7,然后就运行下去了。
# Global LLM configuration
[llm]
model = "qwq"
base_url = "http://ollamahost:11434/v1"
api_key = "sk-..."
max_tokens = 4096
temperature = 0.0