新闻详情

新闻详情

首页 / 资讯中心 / 详情

OpenManus 实战:用 MetaGPT 与 ReAct 3 小时复刻 Manus 的 Agent 骨架

发布时间:2026/9/29 9:53:20来源:尧图网络
OpenManus 实战:用 MetaGPT 与 ReAct 3 小时复刻 Manus 的 Agent 骨架
1. 为什么我要在本地复刻一个 Manus 骨架Manus 火起来那阵子我身边不少做 AI 应用的朋友都在讨论它的执行链路一个任务丢进去它自己拆步骤、开虚拟机、调浏览器、写文件、最后汇总成报告。看起来很完整但邀请码难求真正上手的人并不多。与其等不如自己搭一个能跑通的骨架——这就是 OpenManus 的价值它把 Manus 那套「规划 工具调用 多智能体协作」的核心结构用 MetaGPT 的工程思路和 ReAct 推理循环重新实现了一遍而且开源、无需邀请码。OpenManus 能做什么简单说它接收一个自然语言任务通过 ReActReasoning Acting循环不断「思考下一步 → 选择工具 → 执行 → 观察结果」直到任务完成。它适合谁适合想理解 Agent 编排原理的开发者、想快速验证工具调用链路的工程师以及想基于开源骨架做二次开发的人。我实测下来从零到跑通一次完整的「规划 → 工具调用 → 结果输出」3 小时是够的前提是配置别踩坑。这篇文章不会只讲概念。我会给出可复制的config.toml和settings.json配置骨架演示一次从任务规划到工具调用的完整验证流程并把我在接入过程中遇到的报错和排查方法一并写清楚。你跟着做能少走不少弯路。2. TaoToken 前置给 Agent 一个稳定的模型入口OpenManus 本身是一个编排框架它自己不生产推理能力真正干活的是背后的大模型。ReAct 循环里每一步「思考」和「决策」都要调用 LLM所以模型入口的稳定性直接决定 Agent 能不能跑完整个任务链。我选择用 TaoToken 作为模型接入层原因很实际OpenManus 默认走 OpenAI 兼容接口而 TaoToken 提供的就是标准 OpenAI 格式的 API改一个base_url和api_key就能接上不需要改框架源码。官网地址是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 端点是 https://taotoken.net/api 注意 API 地址不带 UTM 参数。你需要先拿到一个 API Key。进入控制台创建密钥https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 然后在 API Keys 页面生成https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 。拿到sk-开头的 key 之后先别急着写进 OpenManus用模型对话页面快速验证一下 key 是否可用https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 。这一步能省掉后面很多「到底是 key 问题还是框架问题」的纠结。注意OpenManus 的 ReAct 循环会频繁调用模型一个稍复杂的任务可能触发几十次请求。建议在 TaoToken 控制台先确认额度和并发限制避免跑到一半断掉。如果你后续要做长期编码类 Agent或者想让 Agent 持续跑多轮任务可以了解 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。接入文档在这里https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 遇到接口格式问题可以先查文档。3. 可复制配置config.toml 与 settings.json 骨架OpenManus 的配置分两层config.toml管模型和工具参数settings.json管运行时行为。下面是我实测能跑通的骨架你直接改 key 就能用。3.1 config.toml 模型配置# config.toml [llm] model gpt-4o base_url https://taotoken.net/api api_key sk-你的TaoToken密钥 max_tokens 4096 temperature 0.0 timeout 120 [llm.vision] model gpt-4o base_url https://taotoken.net/api api_key sk-你的TaoToken密钥 [ browser ] headless true timeout 30000 [search] engine google api_key 几个关键点说明。temperature 0.0是 ReAct 场景的推荐值因为 Agent 需要的是稳定决策而不是创意发散温度高了它容易在「选哪个工具」上反复横跳。timeout 120给足时间因为有些推理步骤响应较慢。base_url必须指向https://taotoken.net/api不要多加路径后缀OpenManus 会自动拼接/v1/chat/completions。3.2 settings.json 运行时配置{ max_steps: 30, max_actions_per_step: 5, enable_planning: true, enable_reflection: true, workspace_dir: ./workspace, log_level: INFO, tool_blacklist: [], browser: { headless: true, disable_security: false }, sandbox: { enabled: true, timeout: 60 } }max_steps控制 ReAct 循环的最大轮数30 是一个比较平衡的值——太小任务跑不完太大容易陷入死循环烧 token。enable_planning打开后Agent 会先生成一个待办列表再执行这正是 Manus 那套「先规划后执行」的简化版。enable_reflection让 Agent 在每步之后自我检查减少累积误差。3.3 环境变量与依赖安装# 创建虚拟环境 conda create -n openmanus python3.11 -y conda activate openmanus # 克隆并安装 git clone https://github.com/mannaandpoem/OpenManus.git cd OpenManus pip install -r requirements.txt # 安装浏览器依赖 playwright install chromiumplaywright install chromium这步别跳过OpenManus 的浏览器工具依赖它。我第一次跑的时候没装任务执行到「打开网页」就报Executable doesnt exist排查了半天才发现是浏览器内核缺失。4. 验证请求从任务规划到工具调用的完整流程配置写好后跑一个真实任务来验证整条链路。我用的是 OpenManus 演示里那个 SEO 审核任务但换成一个更轻量的目标方便你快速看到结果。4.1 启动与任务输入python main.py启动后进入交互界面输入任务对 https://example.com 进行基础 SEO 检查输出标题标签、meta 描述、H1 数量三项结果。4.2 观察 ReAct 循环Agent 会按这样的节奏推进第一步规划。它生成一个待办列表访问页面 → 提取 HTML → 解析 title/meta/h1 → 汇总输出。这一步对应enable_planning打开后的行为。第二步工具调用。它选择browser工具打开页面然后调用python_execute工具跑一段 BeautifulSoup 解析代码。你能在日志里看到类似这样的输出[INFO] Step 1: Planning... [INFO] Step 2: Action - browser.goto(urlhttps://example.com) [INFO] Observation - Page loaded, status 200 [INFO] Step 3: Action - python_execute(code...) [INFO] Observation - {title: Example Domain, meta: None, h1_count: 1} [INFO] Step 4: Reflection - Task complete第三步结果汇总。Agent 把观察到的数据整理成最终回答。整个过程大概 4 到 6 步消耗的 token 量在可控范围内。4.3 用模型对话做单点验证如果你不确定是模型问题还是框架问题可以先用模型对话页面单独测一次请求https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 。发一条简单的Hello确认返回正常。如果这里通、OpenManus 不通那问题一定在配置或依赖上不用怀疑模型入口。5. 本篇常见错排查这一节是我踩过的坑按报错信息对照排查。报错一openai.AuthenticationError: Incorrect API key先检查config.toml里的api_key有没有多余空格或引号。TaoToken 的 key 是sk-开头复制时容易带上换行。另外确认base_url写的是https://taotoken.net/api不是https://taotoken.net/api/v1——多写/v1会导致路径拼接错误。报错二playwright._impl._errors.Executable doesnt exist浏览器内核没装。执行playwright install chromium如果网络慢可以多试几次。装完后确认settings.json里browser.headless为true服务器环境没有显示器headless 必须开。报错三Agent 卡在Step N: Planning...不动大概率是max_tokens设太小模型输出被截断规划没生成完整。把config.toml里的max_tokens调到 4096 以上。另一个可能是temperature太高导致决策摇摆设回0.0。报错四TimeoutError频繁出现ReAct 循环里某一步响应超时。先把config.toml的timeout从 120 调到 180再检查是不是任务本身太复杂。如果任务需要几十步考虑拆成多个子任务分别跑而不是硬扛max_steps。报错五工具调用返回空结果检查settings.json里的tool_blacklist是不是误加了工具名。另外sandbox.enabled为true时某些文件操作会被限制在workspace_dir内路径写绝对路径可能被拦截改成相对路径试试。提示排查时把log_level调到DEBUG能看到每一步的完整 prompt 和 response定位问题快很多。跑通后再调回INFO不然日志会刷屏。6. 继续往下走从骨架到可用 Agent跑通上面这套流程你手里就有了一个能规划、能调工具、能自我检查的 Agent 骨架。它离 Manus 的完整形态还有距离——Manus 在浏览器操作、虚拟机管理、多智能体协同上做了大量工程整合OpenManus 目前是线性规划DAG 任务依赖还在路线图上。但骨架的意义在于你能看清每一步是怎么串起来的而不是把它当黑盒用。如果你要长期跑编码类任务或者想让 Agent 在多个会话间保持上下文建议了解一下 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。接入过程中遇到接口格式、鉴权、并发的问题先查接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 大部分常见问题里面都有说明。最后说一个实用技巧OpenManus 的workspace_dir建议单独设一个目录别和项目代码混在一起。Agent 执行文件操作时可能会覆盖同名文件隔离工作区能避免误伤。我现在的做法是每次跑任务前清空 workspace跑完把结果手动归档这样既干净又可追溯。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

vue-i18n 翻译文件懒加载实战:基于 Webpack 动态 import 的按需加载方案 2026/9/29 10:45:41

vue-i18n 翻译文件懒加载实战:基于 Webpack 动态 import 的按需加载方案

前端国际化 【免费下载链接】vue-i18n :globe_with_meridians: Internationalization plugin for Vue.js 项目地址: https://gitcode.com/gh_mirrors/vu/vue-i18n 点击查看 免费下载 导读 本文基于 vue-i18n 官方指南中的《Lazy loading translations》章节&#…

阅读更多 →
华为AppGallery Connect:应用指标查看 2026/9/29 10:45:41

华为AppGallery Connect:应用指标查看

应用上架后,怎么知道曝光、下载、安装、付费这些数据表现如何?AGC 的「分析」模块提供了:应用分析总览(单应用、多应用横向对比)。一、应用分析总览应用分析总览提供所有应用的分析总览数据。操作路径登录 AppGallery …

阅读更多 →
I2C多主机仲裁与时钟延展:嵌入式总线稳定性的硬件根基 2026/9/29 10:45:34

I2C多主机仲裁与时钟延展:嵌入式总线稳定性的硬件根基

1. 这不是教科书里的I2C,是芯片工程师每天在示波器上盯出来的“活协议”你拆过STM32的I2C外设寄存器手册吗?翻到第47页,看到“仲裁丢失中断标志位ARBLOST”那一行时,是不是下意识跳过去了?你用逻辑分析仪抓过两台MCU同…

阅读更多 →
AI编码救星:superpowers如何让Codex看懂Java项目 2026/9/29 10:45:28

AI编码救星:superpowers如何让Codex看懂Java项目

最近我在重度使用Codex CLI改造一个老的Spring Boot项目,踩了不少坑。最典型的坑是:AI能听懂“帮我重构这个方法”,但听不懂“这个Controller里的事务粒度已经失控,需要先做依赖分析再动手”。直到我把superpowers这套技能集接进来…

阅读更多 →
RECOVERY蓝屏修复实战:从引导重建到Windows 10重装全指南 2026/9/29 10:45:07

RECOVERY蓝屏修复实战:从引导重建到Windows 10重装全指南

简介:针对Windows 10开机出现RECOVERY蓝屏并提示「你的PC/设备需要修复」的情况,无论是系统更新失败还是驱动冲突所致,这份PDF文档都梳理了完整的故障排查路径,面向普通用户、电脑新手及需要快速恢复系统的办公人员。文档重点讲解…

阅读更多 →
华为平板搭建ESP32开发环境:TaoToken统一Key接入与串口烧录验证 2026/9/29 10:44:47

华为平板搭建ESP32开发环境:TaoToken统一Key接入与串口烧录验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉