尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

OpenManus本地部署实战:conda+uv双环境配置,对接Ollama本地大模型完全免费

OpenManus本地部署实战:conda+uv双环境配置,对接Ollama本地大模型完全免费 1. 为什么要在本地跑 OpenManus OllamaOpenManus 是 Manus 的开源复刻版本核心能力是让大模型自己规划任务、调用工具、操作浏览器、读写文件最终把一个模糊的需求拆成可执行的动作链。它本身不绑定任何云端服务只要后端模型兼容 OpenAI 风格的接口就能接进来。而 Ollama 正好在本地暴露了http://localhost:11434/v1这样一个兼容端点两者一拼整套 Agent 流程就完全跑在你自己的开发机上不花一分钱也不依赖外部网络。这套组合适合谁一类是想研究 Agent 调度逻辑的开发者本地跑通后可以随意改 prompt、改工具集不用担心 token 账单另一类是手头有显卡但不想把数据发出去的场景比如处理内部文档、跑代码分析任务。我实测下来14B 级别的 coder 模型在 16G 显存上能跑32B 需要 24G 以上视觉任务再单独挂一个 minicpm-v 就行。整篇内容会覆盖两条环境路线conda 适合 Windows 和习惯 conda 管理的用户uv 适合 macOS/Linux 上追求速度的人。两条路最终都指向同一个config.toml和同一个python main.py启动入口。下面按顺序把每一步命令、每个字段、每个容易踩的坑都写清楚。2. 前置准备Python、Ollama 与 TaoToken 的定位在动手之前先把三样东西确认好。第一是 Python 3.12OpenManus 的依赖里有些包对 3.10 以下不友好直接用 3.12 最省事。第二是 Ollama去官网下载对应平台的安装包装完后终端里能执行ollama --version就算成功。第三是模型必须选支持 function calling 的否则 Agent 调不动工具。这里要说明一下 TaoToken 的位置。TaoToken 是一个模型接入网关官网在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 它提供 OpenAI 兼容的 API 端点 https://taotoken.net/api 。本地 Ollama 跑的是你自己的模型完全免费但如果你后面想切换到更强的云端模型做对比或者本地显卡不够跑大参数模型就可以在config.toml里把base_url换成 TaoToken 的地址用同一个配置文件切换后端不用改代码。它的 API Key 在 https://taotoken.net/api-keys 生成接入文档在 https://taotoken.net/doc 。注意本地 Ollama 和 TaoToken 是两种后端选择不是必须同时用。本地跑通后再考虑切换避免一开始就混淆变量。模型选择上函数调用能力是关键。qwen2.5-coder 系列表现稳定14b 适合 16G 显存32b 适合 24G 以上。视觉模型用 minicpm-v装的时候直接ollama run minicpm-v即可。装完用ollama list确认模型在列表里。3. 路线一conda 环境搭建Windows 友好conda 的优势是环境隔离干净Windows 上装依赖不容易出编译问题。先创建环境conda create -n open_manus python3.12 conda activate open_manus激活后终端提示符前面会出现(open_manus)。接着克隆仓库并进目录git clone https://github.com/mannaandpoem/OpenManus.git cd OpenManus然后装依赖。这一步如果网络慢可以换国内镜像源但不要用任何代理工具直接加-i参数指向清华源即可pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple装完后验证一下关键包python -c import openai, pydantic; print(ok)输出ok说明基础依赖没问题。conda 路线到这里环境就绪接下来跳到第 5 节配 Ollama 和 config.toml。4. 路线二uv 环境搭建macOS/Linux 推荐uv 是 Rust 写的包管理器装依赖比 pip 快很多macOS 上体验尤其好。先装 uvcurl -LsSf https://astral.sh/uv/install.sh | sh装完重开终端或 source 一下配置文件然后确认uv --version接着克隆仓库和 conda 路线一样git clone https://github.com/mannaandpoem/OpenManus.git cd OpenManus创建虚拟环境并激活。Windows 下用uv venv .venv\Scripts\activatemacOS/Linux 下用uv venv source .venv/bin/activate激活后装依赖uv pip install -r requirements.txtuv 的解析速度很快通常几十秒就完成。装完同样用python -c import openai验证。两条路线的区别只在环境管理工具后面的配置和启动完全一致。5. 对接 Ollama 与 config.toml 关键字段先把 Ollama 服务跑起来。装好 Ollama 后拉取模型ollama run qwen2.5-coder:14b这条命令会下载模型并进入交互模式输入/bye退出即可模型已经留在本地。视觉模型同理ollama run minicpm-v确认模型列表ollama list如果之前装过旧模型想清理用ollama rm 模型名称删除。Ollama 默认监听 11434 端口OpenManus 通过http://localhost:11434/v1访问它。接下来配 config.toml。进入 OpenManus 目录找到config/config.example.toml复制一份改名为config.tomlcp config/config.example.toml config/config.toml然后编辑config.toml把[llm]段改成[llm] model qwen2.5-coder:14b base_url http://localhost:11434/v1 api_key sk-local max_tokens 4096 temperature 0.0 [llm.vision] model minicpm-v base_url http://localhost:11434/v1 api_key sk-local几个字段说明model必须和ollama list里的名字完全一致大小写和标签都不能错base_url末尾的/v1不能省Ollama 的兼容层靠它路由api_key本地服务不校验随便填一个非空字符串即可但留空有些版本会报错temperature设 0.0 让 Agent 的动作更确定减少随机乱调工具的情况。提示如果你后面想切到 TaoToken 的云端模型把base_url改成 https://taotoken.net/api api_key换成在 https://taotoken.net/api-keys 生成的真实 Keymodel改成对应模型名即可其余字段不动。6. 启动验证一次端到端任务跑通配置完成后在 OpenManus 目录下执行python main.py启动后会出现交互提示输入一个具体任务比如帮我搜索今天关于开源 Agent 的新闻整理成三条摘要正常情况下你会看到 Agent 开始规划步骤调用浏览器工具打开页面抓取内容最后输出摘要。整个过程在终端里能看到工具调用日志类似Tool: browser_use这样的输出。如果它成功返回了三条摘要说明本地模型、Ollama 服务、config.toml 三者全部打通。下次再启动conda 用户执行conda activate open_manus cd OpenManus python main.pyuv 用户执行cd OpenManus source .venv/bin/activate python main.py想验证模型本身是否正常可以单独测一下 Ollama 的兼容端点curl http://localhost:11434/v1/chat/completions \ -H Content-Type: application/json \ -d {model:qwen2.5-coder:14b,messages:[{role:user,content:say hi}]}返回 JSON 里有choices字段就说明端点通。这一步能快速区分是模型服务的问题还是 OpenManus 配置的问题。7. 本篇常见错误排查报错model not foundconfig.toml 里的 model 名和ollama list输出不一致。Ollama 的模型名带标签比如qwen2.5-coder:14b少写:14b就会找不到。改完保存再启动。报错Connection refusedOllama 服务没起来。执行ollama serve手动启动或者确认 Ollama 桌面端在运行。端口被占用的话ollama list也会失败先解决端口冲突。Agent 不调用工具只聊天模型不支持 function calling。换 qwen2.5-coder 系列或确认你装的模型有工具调用能力。有些小参数模型虽然能对话但不会触发工具表现就是一直输出文字不执行动作。依赖装到一半报编译错误Python 版本不对。确认python --version是 3.12conda 环境激活后版本没切过去的话重新conda create一次。config.toml 改了没生效文件名必须是config.toml不是config.example.toml。有些人直接改 example 文件程序读的是另一个自然不生效。显存不够跑 14b换 7b 级别的 coder 模型或者用量化版本。ollama run qwen2.5-coder:7b在 8G 显存上能跑函数调用能力也够用。视觉任务报错[llm.vision]段没配或模型名写错。视觉模型和主模型可以不同但 base_url 要指向同一个 Ollama 端点。排查顺序建议从下往上先 curl 测 Ollama 端点再确认 config.toml 字段最后看 OpenManus 启动日志。这样能快速定位是模型层、配置层还是应用层的问题。8. 后续切换与扩展本地跑通之后如果你想对比云端模型的效果或者本地显卡跑不动 32b可以在 config.toml 里把base_url换成 TaoToken 的 https://taotoken.net/api api_key换成 https://taotoken.net/api-keys 生成的 Key。这样同一套 OpenManus 代码不用改只换配置就能在本地模型和云端模型之间切换。想先感受一下模型对话效果可以直接在 https://taotoken.net 的模型对话页面试如果是长期跑编码类 Agent 任务Coding Plan 在 https://taotoken.net/coding-plan 有更划算的额度方案。接入细节看 https://taotoken.net/doc 控制台在 https://taotoken.net/console 。本地这套环境最大的好处是可复现。把 conda 环境导出成 yaml或者把 uv 的依赖锁文件存下来换机器时几分钟就能重建。config.toml 里除了 api_key 之外都可以直接提交到自己的私有仓库团队里其他人拉下来改个模型名就能跑。Agent 的工具集在app/tool目录下想加自定义工具直接往里写注册后重启即可生效。
返回列表