ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

OpenManus 云平台部署保姆级教程:用 conda 隔离 Python 环境并接入 TaoToken 统一 Key

OpenManus 云平台部署保姆级教程:用 conda 隔离 Python 环境并接入 TaoToken 统一 Key 1. 云服务器上跑 OpenManus为什么总卡在 Python 依赖和 LLM 接入OpenManus 是 MetaGPT 社区成员开源的一个通用 AI Agent 项目你可以把它理解成「能在自己机器上跑、能看它一步步思考并调用工具」的智能体框架。它不需要邀请码克隆代码、配好 LLM API 就能用主代理负责理解需求并分配任务PlanningAgent 把复杂任务拆成可执行步骤ToolCallAgent 再去调用浏览器自动化、代码执行器、文件处理等工具。适合谁适合想在云服务器上长期挂一个 Agent、又不想被本地环境折腾的开发者。但真到云平台上从零部署坑基本集中在两处一是 Python 版本和依赖冲突系统自带的 Python 往往被其他服务占用直接pip install很容易把全局环境污染甚至把系统工具搞崩二是 LLM 接入配置OpenManus 的config.toml里要填model、base_url、api_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_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 注册并登录然后在控制台里创建 API Key。控制台入口在 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite Key 管理页在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 。创建完把 Key 复制出来形如sk-...先存到本地后面写进config.toml。API 通道地址统一用 https://taotoken.net/api 注意这个地址后面不加 UTM 参数直接作为base_url的基础。OpenManus 走的是 OpenAI 兼容协议所以base_url填https://taotoken.net/api/v1这种带/v1的形式即可具体以你所用模型在文档里的说明为准接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 。提示Key 只创建一次就够后面 OpenManus 的[llm]和[llm.vision]两段都复用同一个 Key不用分别申请。如果你后面要长期跑编码类、Agent 类任务可以了解下 Coding Plan https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 按套餐走比单次调用更省心只是想先验证模型通不通用模型对话页 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentchatutm_campaignrewrite 发一条消息就能确认 Key 是否生效。3. 云服务器上创建 conda 隔离环境并部署 OpenManus这一章是主体从登录云服务器开始到依赖装完为止。假设你已经有一台能 SSH 登录的云主机Ubuntu 22.04 为例并且有 sudo 权限。3.1 安装 Miniconda 并初始化先确认系统里有没有 condaconda --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 activate报CommandNotFoundError就是没初始化。3.2 创建 OpenManus 专用环境OpenManus 官方推荐 Python 3.12我们单独建一个名为open_manus的环境和系统 Python 完全隔离conda create -n open_manus python3.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.tomlOpenManus 的配置模板在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-你的TaoTokenKeymodel字段填你在 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 foundMiniconda 装完没重开会话或者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_url和api_key保持 TaoToken 的统一配置不动重启python main.py即可。这样你手里多个模型可以随时切换不用维护多套 Key。如果打算把 OpenManus 当长期 Agent 用建议在云服务器上用tmux或nohup挂后台避免 SSH 断开就停tmux new -s openmanus conda activate open_manus python main.py按CtrlB再按D脱离会话下次tmux attach -t openmanus回来。Key 管理、用量查看都在控制台 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 接入细节以文档 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 为准。编码类、Agent 类任务跑得多的话Coding Plan https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 会比零散调用更合适。
返回列表