OpenManus Deep Dive: A No-Invite-Code Universal AI Agent

A code-grounded walkthrough of OpenManus architecture, tool layer, browser automation, MCP extension, local deployment, and comparison with LangGraph and CrewAI.

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

In early 2025, Manus AI created scarcity through invite codes. OpenManus, started by core MetaGPT team members, promises anyone can run a fully functional general-purpose AI Agent locally without an invite code.

Three Run Modes

  • python main.py: general single-agent chat
  • python run_mcp.py: MCP tool version
  • python run_flow.py: experimental multi-agent flow

Installation

Recommended with 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 Configuration

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

Edit the [llm] section with model, base_url, and api_key. Supports Anthropic, OpenAI, Azure, Bedrock, Ollama, etc.

Architecture

  • app/agent/base.py: BaseAgent with state and memory
  • app/agent/manus.py: general Manus agent combining local and MCP tools
  • app/tool/: PythonExecute, BrowserUseTool, Crawl4AITool, StrReplaceEditor, bash, mcp, ask_human, terminate
  • app/schema.py: includes the Memory message list (not persistent)

Memory

There is no standalone app/memory module. Memory is a simple message list in app/schema.py with max_messages truncation and base64 image support. No long-term persistence or cross-session retrieval.

Browser Automation

BrowserUseTool uses browser-use + Playwright; Crawl4AITool handles structured extraction.

MCP Extension

Configure in config.toml under [mcp]:

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

server_reference points to a Python module. Launch:

python run_mcp.py
# or sse mode
python run_mcp.py --connection sse --server-url http://localhost:8000/sse

Unlike Claude Desktop's JSON MCP config, OpenManus favors embedding a Python MCP server module.

Real-World Case: Technical Research

Prompt "Research the architecture differences between OpenManus and LangGraph" → Agent opens repos/docs with the browser → Crawl4AI extracts content → Memory stores intermediate results → final Markdown is written.

Comparison

Dimension OpenManus LangGraph CrewAI
Paradigm ReAct Tool-Call state-machine graph role task dispatch
Browser out-of-the-box manual integration manual integration
Tool extension local tools + MCP module Tool Node tool decorators
Context in-memory message list checkpoint basic history
Resume not supported native not supported
Ease low medium low

Core differentiator: out-of-the-box browser capability and very low barrier to entry.

When to Use

Good fit: web research, multi-step autonomous tasks, local prototyping, learning how agents work. Avoid: strongly transactional production workflows, complex multi-role collaboration, cross-session persistent memory.

OpenManus-RL

The team collaborates with UIUC on OpenManus-RL, using GRPO-style RL to improve planning and tool selection.

Core value: not making agents omnipotent, but making them usable right now.