OpenManus 本地部署指南:从环境搭建到实战运行

45 阅读5分钟

想尝试最新的 AI Agent 助手 OpenManus?本教程带你一步步完成本地部署,包括 Python 多版本管理的全套解决方案。

引言

最近接触到了由 FoundationAgents 开发的智能 Agent 工具——OpenManus。OpenManus 要求 Python 3.12 版本,而我的系统还是原来的 3.10。既要保留原有的开发环境,又要满足新项目的需求,这就需要用到 Python 多版本管理工具:pyenv

下面是我从零开始的完整部署过程,希望能帮助到有类似需求的朋友!😊

一、为什么用 PyEnv?

面对多个项目对 Python 版本的不同要求,最优雅的解决方案不是卸载旧版本安装新版本(这样容易破坏现有环境),而是使用 PyEnv 这样的版本管理工具。它的优势在于:

  • ✅ 所有 Python 版本隔离存储,互不干扰
  • ✅ 可以随时切换全局、局部或临时的 Python 版本
  • ✅ 安全稳定,安装卸载都不影响系统其他程序
  • ✅ 类似 Node.js 的 NVM,用过就离不开系列

二、完整环境搭建步骤

📦 第一步:安装编译依赖

在安装新版本 Python 之前,系统需要准备好必要的编译工具。Ubuntu/Debian 系统执行:

sudo apt update
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev \
liblzma-dev python-openssl git

⚙️ 第二步:安装 pyenv

使用官方提供的安装脚本,一行搞定:

curl https://pyenv.run | bash

🔧 第三步:配置环境变量

安装后需要配置 Shell 配置文件,让系统识别 pyenv 命令:

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc

验证安装成功:

pyenv --version  # 如果输出版本号,说明成功啦!

🐍 第四步:安装 Python 3.12

查看可用版本列表:

pyenv install --list | grep 3.12

安装最新版本(这里以 3.12.6 为例):

pyenv install 3.12.6

这个过程可能需要几分钟时间,耐心等待即可 ☕

🔄 第五步:灵活切换版本

安装好后,有三种切换方式供你选择:

1️⃣ 全局切换

pyenv global 3.12.6
# 之后所有终端都默认使用 3.12.6
python --version  # 应该显示 Python 3.12.6

2️⃣ 局部切换(推荐)⭐

cd /path/to/your/project
pyenv local 3.12.6
# 只有在这个目录下才使用 3.12.6
# 其他目录保持之前的版本设置

这个方式特别适合在不同项目间无缝切换!

3️⃣ 临时切换

pyenv shell 3.12.6
# 仅在当前终端窗口生效,关窗口后失效

⏪ 进阶:如何切回系统版本?

想恢复系统原生 Python?只需:

pyenv global system
# 或者切换到其他已安装的版本
# pyenv global 3.10.0

PyEnv 把所有版本统一安装在 ~/.pyenv/versions 目录下,这种非常规整的目录结构让管理和维护变得超级轻松。


三、OpenManus 部署实战

环境准备好后,接下来就是部署 OpenManus 本身了!

📋 安装依赖

进入项目目录后,先局部设置 Python 版本:

pyenv local 3.12.6
uv venv --python 3.12.6
source .venv/bin/activate
uv pip install -r requirements.txt

⚙️ 配置 API

OpenManus 需要配置 LLM API 才能使用。复制配置模板:

cp config/config.example.toml config/config.toml

编辑 config.toml 文件,修改以下关键内容:

# 全局 LLM 配置
[llm]
model = "gpt-4o"
base_url = "https://api.openai.com/v1"
api_key = "sk-你的OpenAI密钥"
max_tokens = 8192
temperature = 0.7 

# 可选:视觉能力的 LLM 配置
[llm.vision]
model = "gpt-4o"
base_url = "https://api.openai.com/v1"
api_key = "sk-你的OpenAI密钥"

🚀 启动运行

重要提示:由于公司内网存在网络代理,需要在 main.py 中去掉代理配置:

if __name__ == "__main__":
    os.environ["http_proxy"] = ""
    os.environ["https_proxy"] = ""
    os.environ["HTTP_PROXY"] = ""
    os.environ["HTTPS_PROXY"] = ""
    os.environ["no_proxy"] = "*"
    os.environ["NO_PROXY"] = "*"
    asyncio.run(main())

然后启动服务:

python main.py

出现 "Enter your prompt:" 说明启动成功了!🎉


四、实测 Demo

让我们来测试一下 OpenManus 的能力吧!看我让它解释什么是 Python 装饰器:

Enter your prompt: 帮介绍一下python装饰器

OpenManus 不仅给出了专业的理论解释,还通过实际的 Python 代码执行演示了装饰器的按种用法:

  1. ✅ 基础装饰器 - 在函数前后添加日志
  2. ✅ 带参数的装饰器 - 如重复执行多次
  3. ✅ 保留函数元数据 - 使用 functools.wraps
  4. ✅ 类方法装饰器 - 为类方法添加调用日志
  5. ✅ 错误处理装饰器 - 优雅捕获异常
  6. ✅ 缓存装饰器(Memoization)- 提升 Fibonacci 数列性能
  7. ✅ 计时器装饰器 - 方便性能分析
  8. ✅ 多装饰器组合 - 日志+计时+错误处理一体化

整个过程 OpenManus 通过自行书写代码、执行验证、修正错误、逐层完善教学示例,展示了强大的代码理解和教学能力,真心震撼!🤯


五、总结与心得

搞定!经历这次部署,我有几点经验分享给大家:

💡 核心要点

  1. PyEnv 是多版本管理的瑞士军刀,学会它之后,再也不怕多个项目的版本冲突问题
  2. 局部版本切换最适合实际开发,全局做好基础配置,每个项目用自己的版本
  3. OpenManus 的启动过程很顺畅,如果遇到代理问题,记得检查并取消代理设置
  4. 虚拟环境必不可少uv venv + pip 都可以,保持项目间的干净隔离

🎯 下一步探索

部署只是第一步,接下来打算:

  • 深入了解 OpenManus 的插件体系
  • 尝试结合自己的日常工作流定制 agent 行为
  • 探索与其他工具(如浏览器自动化)的集成

OpenManus 代表了新一代 AI Agent 的可能性方向,非常值得花时间深入研究和实践!


参考资源