OpenManus 深度解读:无邀请码的通用 AI Agent 实践

基于 OpenManus 官方仓库实际代码,解读其简洁架构、工具层、浏览器自动化与 MCP 扩展方式,并给出本地部署与竞品对比。

AgentList Team · 2026年6月21日
OpenManusAI Agent无邀请码Multi-Agent自主 AgentMCP

2025 年初,Manus AI 凭借"邀请码"机制制造了稀缺感。OpenManus 由 MetaGPT 团队核心成员发起,承诺任何人都可以在本地跑起功能完整的通用 Agent,无需邀请码

三种运行模式

  • python main.py:通用单 Agent 对话
  • python run_mcp.py:MCP 工具版
  • python run_flow.py:实验性多 Agent 流程

安装部署

推荐 uv:

curl -LsSf https://astral.sh/uv/install.sh | sh
git clone https://github.com/FoundationAgents/OpenManus.git
cd OpenManus
uv venv --python 3.12
source .venv/bin/activate
uv pip install -r requirements.txt
playwright install

配置 LLM

cp config/config.example.toml config/config.toml

编辑 [llm] 段填入 model / base_url / api_key。支持 Anthropic、OpenAI、Azure、Bedrock、Ollama 等。

架构拆解

  • app/agent/base.pyBaseAgent 维护 state 和 memory
  • app/agent/manus.py:通用 Manus Agent,组合本地工具与 MCP
  • app/tool/:PythonExecute、BrowserUseTool、Crawl4AITool、StrReplaceEditor、bash、mcp、ask_human、terminate
  • app/schema.py:包含 Memory 消息列表(非持久化)

Memory 说明

OpenManus 没有独立的 app/memory 模块。Memory 是 app/schema.py 中的简单消息列表,带 max_messages 截断,支持 base64 图片。不提供长期持久化或跨会话检索。

浏览器能力

BrowserUseTool 基于 browser-use + Playwright;Crawl4AITool 负责结构化提取。

MCP 扩展

配置在 config.toml[mcp] 段:

[mcp]
server_reference = "app.mcp.server"

server_reference 指向一个 Python 模块。启动:

python run_mcp.py
# 或 sse 模式
python run_mcp.py --connection sse --server-url http://localhost:8000/sse

与 Claude Desktop 的 JSON 配置方式不同,OpenManus 偏向"内嵌 Python MCP Server 模块"。

实战:技术调研

指令"研究 OpenManus 与 LangGraph 架构差异" → Agent 用浏览器打开仓库/文档 → Crawl4AI 提取正文 → Memory 保存中间结果 → 最终写入 Markdown。

竞品对比

维度 OpenManus LangGraph CrewAI
范式 ReAct Tool-Call 状态机图 角色任务派发
浏览器 开箱即用 需手动集成 需手动集成
工具扩展 本地工具 + MCP 模块 Tool Node Tool 装饰器
上下文 内存消息列表 checkpoint 基础历史
断点续传 不支持 原生 不支持
上手难度

核心差异化:开箱即用的浏览器能力 + 极低上手门槛。

适用场景

适合:网页调研、多步骤自主任务、本地原型验证、学习 Agent 原理。 不适合:强事务一致性生产流、复杂多角色协作、需要跨会话持久记忆。

OpenManus-RL

团队与 UIUC 合作推出 OpenManus-RL,用 GRPO 等 RL 方法提升规划与工具选择能力。

核心价值:不是让 Agent 无所不能,而是让 Agent 立即可用。