第 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.1app/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-integrationapp/config.py:197、app/llm.py:174、app/llm.py:45、app/bedrock.py:1源码/生产
03 工具生态:BaseTool 与 ToolCollection5-tool-ecosystem / 5.1 / 5.4 / 5.6app/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.5app/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.3app/tool/mcp.py:1、app/mcp/server.py:1、app/agent/manus.py:83源码/进阶
06 沙箱系统:Docker 本地沙箱与 Daytona7-sandbox / 7.1~7.3app/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-patternsapp/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(沙箱、编排、收尾)
Logo

AtomGit AI 社区提供模型库、数据集、Agent、Token等资源

更多推荐