OpenManus 深度分析与文档系列计划

第 0 篇:OpenManus 深度分析与文档系列计划

系列 :OpenManus 源码级深度解读(Master 分支)

分析对象 :FoundationAgents/OpenManus(前身 mannaandpoem/OpenManus)

版本锚点 :master @ 3309bf4e416fb1c74b008f3e86494439a31bad53(2026-08-22 推送,58k+ stars)

文档参考 :DeepWiki 自动生成文档 https://deepwiki.com/FoundationAgents/OpenManus(8 大章 43 页)

阅读本文你将了解: 本系列如何切分、每一篇讲什么、每篇对应哪些源码入口(先配入口再下笔)、官方/DeepWiki 章节与本系列的覆盖映射。


1. 系列定位

OpenManus 是 MetaGPT 社区核心成员在 2025 年初用 3 小时 完成的开源通用 Agent 框架原型,如今已演化为 58k stars 的成熟项目。它用 约 4700 行核心 Python 代码 实现了一套完整的 think-act 循环、多 Agent 协作、工具生态、MCP 集成与沙箱执行体系------是学习"Agent Harness 工程"的最佳解剖标本之一:体量足够小可以打穿每一行,架构又足够完整覆盖了 ReAct、Planning、MCP、沙箱四大主题。

本系列遵循"四视角"方法论(架构 / 源码 / 生产 / 进阶),所有结论锚定 完整仓库相对路径:行号,版本锁定 master @ 3309bf4,保证可复现。

2. 仓库内核地图(源码镜像实测)

复制代码
om-src/
├── main.py / run_mcp.py / run_flow.py / sandbox_main.py   # 四条入口
├── app/
│   ├── agent/        # Agent 层:base → react → toolcall → manus/mcp/browser/swe/data_analysis/sandbox_agent
│   ├── flow/         # 编排层:base → planning(PlanningFlow 多 Agent 编排)
│   ├── llm.py        # LLM 门面(776 行,单例 + 多供应商 + token 预算)
│   ├── bedrock.py    # AWS Bedrock 适配
│   ├── config.py     # 配置单例(tomllib 加载 config.toml)
│   ├── schema.py     # Message/Memory/AgentState/ToolCall 数据契约
│   ├── prompt/       # 各 Agent 的 system_prompt / next_step_prompt
│   ├── tool/         # 工具生态:base/tool_collection + 20+ 工具实现
│   │   ├── mcp.py            # MCPClients / MCPClientTool
│   │   ├── sandbox/          # 沙箱侧工具(shell/files/browser/vision)
│   │   ├── search/           # 多引擎搜索(Google/Bing/Baidu/DuckDuckGo)
│   │   └── chart_visualization/  # Python→Node.js 图表管线
│   ├── mcp/server.py # 内置 MCP Server(把 OpenManus 工具暴露为 MCP 服务)
│   └── sandbox/core/ # 本地 Docker 沙箱(manager/sandbox/terminal)
├── protocol/a2a/     # A2A (Agent-to-Agent) 协议接入
└── tests/            # 沙箱与工具测试

3. 篇目规划:DeepWiki 章节 ↔ 源码入口 ↔ 篇目(三列索引)

DeepWiki 为该仓库自动拆分了 8 大章 43 页(章节树于 2026-09-05 实测抓取)。按"一个二级章节簇 = 一篇"的合并判据(内聚共享同一条源码主链路),映射为 7 篇正文 + 收尾:

篇目 DeepWiki 章节 源码入口(file:line) 覆盖视角
01 执行引擎全景:think-act 循环 1-introduction / 1.1~1.3 / 3.1 app/agent/base.py:116、app/agent/react.py:33、app/agent/toolcall.py:39、app/agent/manus.py:41、main.py:17 架构/源码
02 配置系统与多供应商 LLM 封装 2-configuration / 4-llm-integration app/config.py:197、app/llm.py:174、app/llm.py:45、app/bedrock.py:1 源码/生产
03 工具生态:BaseTool 与 ToolCollection 5-tool-ecosystem / 5.1 / 5.4 / 5.6 app/tool/base.py:78、app/tool/tool_collection.py:9、app/tool/python_execute.py:1、app/tool/str_replace_editor.py:1 源码/进阶
04 浏览器、搜索与数据可视化管线 5.2 / 5.3 / 5.5 app/tool/web_search.py:1、app/tool/crawl4ai.py:1、app/tool/chart_visualization/data_visualization.py:1、app/agent/browser.py:1 架构/生产
05 MCP 集成:客户端、服务端与工具桥接 6-mcp / 6.1~6.3 app/tool/mcp.py:1、app/mcp/server.py:1、app/agent/manus.py:83 源码/进阶
06 沙箱系统:Docker 本地沙箱与 Daytona 7-sandbox / 7.1~7.3 app/sandbox/core/sandbox.py:1、app/sandbox/core/manager.py:1、app/daytona/sandbox.py:1、app/agent/sandbox_agent.py:1 架构/生产
07 编排与规划:PlanningFlow 多 Agent 协作 1.3 / 3.4 / 8-architecture-patterns app/flow/planning.py:45、app/flow/base.py:9、app/tool/planning.py:1、run_flow.py:11 架构/进阶
99 收尾总结与设计思想提炼 8-developer-guide / 8.1~8.5 全系列汇总 综合

章节覆盖率口径:DeepWiki 8 大章全部覆盖;43 个子页按内聚合并进 7 篇正文(5.2/5.3/5.5 合并为 04 篇,6.x 整章并入 05 篇,7.x 整章并入 06 篇,8.x 拆入 07 与 99 篇),覆盖率 = 8/8 章、43/43 页(含合并)。

4. 环境准备

  • Python 3.12+(setup.py:43 要求),uv venv --python 3.12 && uv pip install -r requirements.txt
  • 配置:cp config/config.example.toml config/config.toml(不创建时框架自动回退读取 example,见 app/config.py:217-226)
  • 可选:Docker(本地沙箱)、Daytona API Key(云沙箱)、MCP server 配置(config/mcp.example.json)

5. 批次交付计划

  • 批次 1(本轮):00 计划 + 01 样板篇(打穿 Agent 执行引擎)→ 过门禁 → 确认标准
  • 批次 2:02、03(配置/LLM 与工具生态)
  • 批次 3:04、05(浏览器搜索可视化与 MCP)
  • 批次 4:06、07、99(沙箱、编排、收尾)
相关推荐
GreenTea4 小时前
我把 Agent 的 while 循环拆掉了:一种你可能没想到的 Agent 架构
前端·后端·架构
m0_587383004 小时前
广州24小时自助健身房解决方案实战指南与系统部署要点
java·spring·小程序·架构·需求分析
狂奔蜗牛(bradley)6 小时前
拒绝SOEM黑盒!死磕EtherCAT主站:ARM+FPGA架构、DC同步与状态机修复等,50+篇实战开发文档全公开
arm开发·fpga开发·架构
辛迪聊物业数字化6 小时前
智慧社区SaaS平台架构拆解:从物业收费到IoT联动的落地实现
物联网·架构
天远Date Lab8 小时前
微服务架构实战:基于天远学历信息高级版构建自动化人才准入网关
人工智能·微服务·架构·自动化
头茬韭菜8 小时前
DataFlow 深度分析与技术文档系列计划
架构·dataflow
Thneonl9 小时前
消息队列选型决策树:RabbitMQ vs Kafka vs Redis Streams
后端·架构
海宇大数据9 小时前
零信任架构实战:基于海宇学历核验版构建自动化风控审查网关
运维·人工智能·架构·自动化
91刘仁德9 小时前
RAG实战-从 NoSQL 到 Milvus 混合检索的架构演进
架构·nosql·milvus
这个DBA有点耶9 小时前
数据融合平台的下一代形态:数据库内核自己就能融合,为什么还要ETL?
数据库·架构·aigc