OpenManus 云平台部署保姆级教程:用 conda 隔离 Python 环境并接入 TaoToken 统一 Key
2026/9/23 10:55:31 网站建设 项目流程

1. 云服务器上跑 OpenManus,为什么总卡在 Python 依赖和 LLM 接入

OpenManus 是 MetaGPT 社区成员开源的一个通用 AI Agent 项目,你可以把它理解成「能在自己机器上跑、能看它一步步思考并调用工具」的智能体框架。它不需要邀请码,克隆代码、配好 LLM API 就能用,主代理负责理解需求并分配任务,PlanningAgent 把复杂任务拆成可执行步骤,ToolCallAgent 再去调用浏览器自动化、代码执行器、文件处理等工具。适合谁?适合想在云服务器上长期挂一个 Agent、又不想被本地环境折腾的开发者。

但真到云平台上从零部署,坑基本集中在两处:一是 Python 版本和依赖冲突,系统自带的 Python 往往被其他服务占用,直接pip install很容易把全局环境污染,甚至把系统工具搞崩;二是 LLM 接入配置,OpenManus 的config.toml里要填modelbase_urlapi_key,很多人手里有好几个模型的 Key,每换一个模型就改一次配置,管理起来很乱。

这篇就按「云服务器 → conda 隔离环境 → 接入 TaoToken 统一 Key → 启动验证」的顺序走一遍,命令和配置都给全,你照着敲就能跑起来。核心思路是:用 conda 把 OpenManus 的 Python 环境单独关起来,用 TaoToken 的统一 Key 和 API 通道地址把 LLM 接入这层收口,后面换模型只改一个model字段。

2. 前置准备:TaoToken 统一 Key 与 API 通道地址

在动服务器之前,先把 LLM 接入这层准备好,不然 OpenManus 启动了也跑不动任务。TaoToken 在这里扮演的角色是「统一 Key + 统一 API 通道」:你不需要在 OpenManus 里分别配 OpenAI、Anthropic 等各家地址,而是把base_url指向同一个通道地址,api_key用同一个 Key,换模型时只改model名字。

具体操作路径:

先去官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 注册并登录,然后在控制台里创建 API Key。控制台入口在 https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite ,Key 管理页在 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite 。创建完把 Key 复制出来,形如sk-...,先存到本地,后面写进config.toml

API 通道地址统一用 https://taotoken.net/api ,注意这个地址后面不加 UTM 参数,直接作为base_url的基础。OpenManus 走的是 OpenAI 兼容协议,所以base_urlhttps://taotoken.net/api/v1这种带/v1的形式即可(具体以你所用模型在文档里的说明为准,接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite )。

提示:Key 只创建一次就够,后面 OpenManus 的[llm][llm.vision]两段都复用同一个 Key,不用分别申请。

如果你后面要长期跑编码类、Agent 类任务,可以了解下 Coding Plan( https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite ),按套餐走比单次调用更省心;只是想先验证模型通不通,用模型对话页( https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=chat&utm_campaign=rewrite )发一条消息就能确认 Key 是否生效。

3. 云服务器上创建 conda 隔离环境并部署 OpenManus

这一章是主体,从登录云服务器开始,到依赖装完为止。假设你已经有一台能 SSH 登录的云主机(Ubuntu 22.04 为例),并且有 sudo 权限。

3.1 安装 Miniconda 并初始化

先确认系统里有没有 conda:

conda --version

如果没有,装一个 Miniconda(比 Anaconda 轻,云服务器上够用):

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh

安装过程中一路回车,最后问是否conda init选 yes。装完重新开一个 SSH 会话,或者执行:

source ~/.bashrc conda --version

能打印出版本号就说明 conda 可用了。这一步很关键,很多人装完不重开会话,后面conda activateCommandNotFoundError,就是没初始化。

3.2 创建 OpenManus 专用环境

OpenManus 官方推荐 Python 3.12,我们单独建一个名为open_manus的环境,和系统 Python 完全隔离:

conda create -n open_manus python=3.12 -y

-y是自动确认,省得中途还要输 y。创建完激活:

conda activate open_manus python --version

应该输出Python 3.12.x。如果提示conda init相关错误,执行一次conda init然后重开会话即可。

3.3 克隆项目并安装依赖

git clone https://github.com/mannaandpoem/OpenManus.git cd OpenManus pip install -r requirements.txt

依赖里包含浏览器自动化、代码执行等组件,装的时候耐心等。如果某一步卡在编译,多半是缺系统库,Ubuntu 上补一下:

sudo apt-get update sudo apt-get install -y build-essential python3-dev

装完可以用pip list | grep -i openai之类确认关键包在不在。这里强调一下:所有pip install都必须在conda activate open_manus之后执行,否则会装到 base 环境或系统环境,后面启动时 import 报错,排查起来很费劲。

3.4 生成并填写 config.toml

OpenManus 的配置模板在config/config.example.toml,需要复制成config.toml再改:

cd config cp config.example.toml config.toml vim config.toml

i进入插入模式,改完按Esc,输入:wq保存退出。核心是把[llm][llm.vision]两段指向 TaoToken 的统一通道:

# Global LLM configuration [llm] model = "claude-3-5-sonnet" base_url = "https://taotoken.net/api/v1" api_key = "sk-你的TaoTokenKey" max_tokens = 4096 temperature = 0.0 # Optional configuration for specific LLM models [llm.vision] model = "claude-3-5-sonnet" base_url = "https://taotoken.net/api/v1" api_key = "sk-你的TaoTokenKey"

model字段填你在 TaoToken 里想用的模型名,base_url统一走https://taotoken.net/api/v1api_key两段填同一个 Key。这样以后换模型,只改model一处,不用动地址和 Key。

注意:config.toml里含 Key,别提交到 Git,也别贴到公开群里。项目.gitignore一般已经忽略它,自己再确认一下。

4. 启动验证:跑通一次请求看结果

配置写完,回到项目根目录启动主程序:

cd ~/OpenManus conda activate open_manus python main.py

正常的话会看到 OpenManus 的交互提示,输入一个简单任务,比如「帮我列一下当前目录下的文件并说明用途」。它会先规划、再调用工具、最后给结果。如果 LLM 接入正确,你能看到它一步步输出思考过程;如果 Key 或地址有问题,通常会在第一次调用模型时就报错。

想更轻量地先验证 Key 通不通,可以单独发一条请求:

curl https://taotoken.net/api/v1/chat/completions \ -H "Authorization: Bearer sk-你的TaoTokenKey" \ -H "Content-Type: application/json" \ -d '{ "model": "claude-3-5-sonnet", "messages": [{"role": "user", "content": "ping"}] }'

返回里有choices字段就说明 Key 和通道都正常,再去跑main.py就稳了。这一步能帮你把「是 Key 问题还是 OpenManus 配置问题」快速分开。

5. 本篇常见报错排查

部署过程中最容易撞上的几类问题,按现象对号入座。

conda: command not found:Miniconda 装完没重开会话,或者conda init没执行。执行source ~/.bashrc,还不行就重开 SSH。

ModuleNotFoundError: No module named 'xxx':依赖装到了别的环境。确认conda activate open_manus已生效,再pip install -r requirements.txt重装一遍。

启动后调用模型报 401 / invalid api keyconfig.toml里 Key 填错,或者base_url写成了不带/v1的地址。对照第 3.4 节的配置检查,Key 前后不要有空格。

报连接超时 / connection error:先确认服务器能正常访问外网,再用第 4 节的curl单独测通道地址。如果curl通而main.py不通,多半是config.toml没保存成功,重新cat config/config.toml看一眼内容。

config.toml改了没生效:确认改的是config/config.toml而不是config.example.toml,并且启动时的工作目录是项目根目录。

浏览器自动化相关报错:依赖里的浏览器组件可能缺系统库,按 3.3 节补build-essential,必要时单独装 Playwright 的浏览器依赖。

6. 后续怎么用:统一 Key 换模型与长期运行

跑通之后,日常维护其实很轻。想换模型,只改config.toml[llm][llm.vision]model字段,base_urlapi_key保持 TaoToken 的统一配置不动,重启python main.py即可。这样你手里多个模型可以随时切换,不用维护多套 Key。

如果打算把 OpenManus 当长期 Agent 用,建议在云服务器上用tmuxnohup挂后台,避免 SSH 断开就停:

tmux new -s openmanus conda activate open_manus python main.py

Ctrl+B再按D脱离会话,下次tmux attach -t openmanus回来。Key 管理、用量查看都在控制台 https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite ,接入细节以文档 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite 为准。编码类、Agent 类任务跑得多的话,Coding Plan( https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite )会比零散调用更合适。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询