
2025 年 3 月,圈子里最魔幻的事儿就是 Manus。演示视频看完人人喊"AGI 来了",结果想上手?先去搞邀请码。淘宝上一个码炒到几万块,官方后来还专门发微博说"没跟任何平台合作卖码"。多少人盯着屏幕上的演示视频干着急:这东西明明能干活,为啥不让我用?
然后就是开源圈经典的一幕了。MetaGPT 团队的几个小哥看不下去了,一顿操作猛如虎——三个小时,撸出了个开源版的 Manus,起名叫 OpenManus,丢到 GitHub 上,配的口号还挺有梗:"No fortress, purely open ground"(没有堡垒,纯粹的开阔地)。
这项目火到什么程度?上架当天就冲上 GitHub 热榜第一,一年多的时间攒了 5.8 万多颗 Star,一万个 Fork,现在是所有开源 Agent 框架里绕不开的名字。MIT 协议,随便改随便商用,没有用户数限制,也没有"仅限研究用途"这种藏在小字里的条款。
一句话说清楚它是干嘛的:Manus 要邀请码才能用的那些事——拆解任务、上网查资料、写代码、操作浏览器、生成文件——OpenManus 全都能干,而且代码全给你看,想怎么改就怎么改。
这篇就跟上一篇 browser-use 一样,从它是啥、底层怎么转、代码怎么写、生产环境怎么用,一路扒到底。全程说人话。
先摆几个硬核事实,你感受一下分量:
它跟 Manus 的关系说白了就一句话:思路一样,实现全靠自己。OpenManus 没抄 Manus 一行代码(也抄不到),它做的是把"通用 AI Agent"这件事拆开揉碎给你看——原来 Agent 干活的核心就两样东西:一个会规划的脑子,加一双能调工具的手。
这也是它跟 LangChain、Dify 这类框架最不一样的气质。LangChain 追求大而全的生态,Dify 追求开箱即用的产品化,OpenManus 反其道而行之:代码量压到最小,让你把 Agent 的每一根神经都看清楚。想二次开发、想做研究、想搞清楚 Agent 到底是怎么回事,它就是最好的教材。
用大白话拆一下 OpenManus 的工作方式。你丢给它一个任务,比如"帮我调研一下最近半年大模型降价的情况,写个报告"。
它不会上来就闷头干,而是先当包工头:把这个大任务拆成一张施工清单——第一步搜新闻、第二步去各官网查价格表、第三步整理对比、第四步写报告存文件。然后才开始搬砖:按清单一步步来,每一步都从工具箱里挑家伙——要查资料就调搜索工具,要算数就跑 Python,要存结果就调文件编辑工具,要逛网页就开浏览器。
这套"先规划、再执行"的打法,就是 OpenManus 的灵魂,专业名词叫 PlanningFlow。整个流程画出来是这样的:

这里有个设计上的点睛之笔值得多说一句:规划不是一锤子买卖。任务执行到一半发现前面拆的步骤不对路(比如官网改版查不到数据了),Planner 可以动态调整后面的计划。这跟"剧本杀"式的固定流程自动化有本质区别——脚本照本宣科,Agent 临场应变。
再往底层看一层,每个执行步骤内部其实是一个经典的 ReAct 循环:Think(模型想下一步干嘛)→ Act(调工具干活)→ Observe(看工具返回了啥)→ 再 Think……循环往复直到这一步完成。这套架构在代码里就是几个类的继承链:BaseAgent → ReActAgent → ToolCallAgent → Manus,每层只加一点自己的东西,读起来非常清爽。
环境要求 Python 3.12+,官方推荐用 uv 装依赖,速度飞快:
# 拉代码
git clone https://github.com/FoundationAgents/OpenManus.git
cd OpenManus
# 用 uv 装依赖(推荐)
uv sync
# 没装 uv 的话,conda 也行
conda create -n openmanus python=3.12
conda activate openmanus
pip install -r requirements.txt复制一份配置模板,填上你的模型信息:
cp config/config.example.toml config/config.toml# config/config.toml
# 接 OpenAI 官方
[llm]
model = "gpt-4o"
base_url = "https://api.openai.com/v1"
api_key = "sk-你的key"
max_tokens = 4096
temperature = 0.0
# 国产模型换个 base_url 就行,比如 DeepSeek:
# base_url = "https://api.deepseek.com"
# model = "deepseek-chat"
# 浏览器工具用的视觉模型(可选,不做网页操作可不管)
[llm.vision]
model = "gpt-4o"
base_url = "https://api.openai.com/v1"
api_key = "sk-你的key"这就是 OpenManus 对国内用户特别友好的地方:不用科学上网也能玩。把 base_url 指向 DeepSeek 或者阿里云 DashScope,整个 Agent 就跑在国产模型上,数据不出境,合规问题顺带解决了。
直接跑主程序,它会让你在终端里输入任务:
python main.py输入一句话,比如"搜索最近一周关于 AI Agent 的新闻,整理成要点",然后你就能看到它的"内心活动"实时刷在终端上:先输出思考过程,再输出要调用的工具和参数,然后是工具返回结果,一步步推进到任务完成。结果文件会直接落盘。
想体验完整的多步规划能力,跑的是另一个入口:
python run_flow.py --prompt "调研三款主流开源大模型的最新版本和跑分,写一份对比报告"run_flow.py 走的就是上面说的 PlanningFlow:先规划再执行,适合那种"一句话说不清楚、得拆着干"的复杂任务。
OpenManus 真正的好玩之处在于工具可以随便加。所有工具都继承同一个 BaseTool 基类,写一个也就十几行:
from app.tool.base import BaseTool, ToolResult
class ExchangeRate(BaseTool):
"""一个自定义的汇率查询工具"""
name: str = "exchange_rate"
description: str = "查询两种货币之间的实时汇率,返回 1 单位 A 兑换 B 的数量"
parameters: dict = {
"type": "object",
"properties": {
"from_currency": {"type": "string", "description": "源货币代码,如 USD"},
"to_currency": {"type": "string", "description": "目标货币代码,如 CNY"},
},
"required": ["from_currency", "to_currency"],
}
async def execute(self, from_currency: str, to_currency: str) -> ToolResult:
# 实际项目里这里调真实汇率 API,演示就先写死
fake_rates = {("USD", "CNY"): 7.12, ("EUR", "CNY"): 7.85}
rate = fake_rates.get((from_currency, to_currency))
if rate is None:
return ToolResult(output=f"暂不支持 {from_currency} -> {to_currency}")
return ToolResult(output=f"1 {from_currency} = {rate} {to_currency}")写完把 ExchangeRate() 塞进 Agent 的 available_tools 列表,模型下次遇到"查汇率"的活儿就会自己挑这个工具用。你不用写任何提示词去教它,工具的 name 和 description 就是给模型看的说明书。
光看 Demo 不过瘾,来个真实业务场景的完整例子。
假设你在一家做 SaaS 的公司,老板每周一早上要一份竞品情报简报:主流竞品最近发了什么新功能、价格有没有调整、社区里用户都在抱怨啥。这活儿以前是个同事每周五下午花三小时干的——开七八个网页,翻官网 changelog、定价页、社区帖子,再憋一份文档出来。
现在交给 OpenManus,整条链路变成这样:
import asyncio
from datetime import datetime
from app.agent.manus import Manus
from app.flow.flow_factory import FlowFactory
from app.flow.base import FlowType
COMPETITORS = ["Notion", "语雀", "飞书文档"]
async def weekly_report():
# 1. 造一个全能型 Agent(自带搜索、浏览器、Python、文件编辑)
agent = Manus()
# 2. 用 PlanningFlow 包一层,让它先规划再执行
flow = FlowFactory.create_flow(
flow_type=FlowType.PLANNING,
agents={"manus": agent},
)
task = f"""
请完成本周的竞品情报调研,竞品清单:{COMPETITORS}。具体要求:
1. 分别访问三个竞品的官网,查看最新版本更新记录和定价页,记录新功能发布和价格变动;
2. 用网页搜索补充最近一周关于这三个产品的媒体报道和用户讨论;
3. 遇到需要计算对比的数据(如价格换算成人民币/年),用 Python 执行器算;
4. 所有调研完成后,写一份 Markdown 简报保存到 reports/ 目录,文件名带日期。
简报结构:每家竞品一节(新功能 / 价格 / 舆情三个小节),最后一节是给我们的应对建议。
"""
result = await flow.execute(task)
print("执行结果:", result)
asyncio.run(weekly_report())再配个 Linux 定时任务,每周一早上六点自动跑:
# 每周一早上 6:00 自动生成竞品情报简报
0 6 * * 1 cd /opt/competitor-agent && /usr/bin/python3 weekly_report.py >> logs/run.log 2>&1跑完之后 reports/ 目录里就躺着一份带日期的简报,运维同事再挂个 webhook 推到企业微信群。原来每周三小时的人肉搬运,变成了周一上班简报已经在群里等你。
关键是它的产出质量比人肉稳定:不会因为周五赶着下班就漏看一个竞品的定价页,每一节都对应真实查到的数据,附录里还会带上信息来源。
这时候整个系统的调用关系是这样的:

从时序图能看清一个关键点:PlanningFlow 是"包工头",Manus Agent 是"施工队",工具是"家伙事儿",三层各司其职。哪一步卡住了,包工头可以重新规划;哪一步工具调用失败了,施工队自己会换个工具重试。这种分层的容错能力,是它跟一次性脚本最大的区别。
吹了这么多,得泼点冷水。OpenManus 是个框架不是产品,往生产环境放之前,这几个坑你心里得有数:
1. 安全没有银弹,沙箱要自己搭。 这是最大的一个坑。Agent 自带 Python 执行和 Shell 能力,你要是不做隔离,一次恶意的提示词注入就可能让它在你的服务器上执行任意代码。官方明确说了:沙盒是你自己的责任。生产环境务必用 Docker 容器跑,限制网络和文件系统权限,高危工具能关就关。
2. Token 成本要有心理准备。 PlanningFlow 每一步都要走"思考 + 调用 + 观察"的循环,一个复杂任务跑下来几千次模型调用很正常。建议:规划用强模型(GPT-4o、DeepSeek-R1 这类),单步执行可以用便宜模型;把 max_tokens 和循环上限配小一点,防止 Agent 跑飞了烧钱。
3. 版本号有坑,锁 commit 才靠谱。 官方的 tag 停在 v0.3.0 就没再打过了,之后的更新全在 main 分支上。生产环境别追 main,锁定一个测试过的 commit hash,升级前自己跑一遍回归测试。
4. 效果上限取决于你接的模型。 OpenManus 只是骨架,脑子是模型给的。接个 7B 的小模型,规划拆得稀碎、工具调用参数乱填,体验会相当崩坏;接一线模型立刻判若两"人"。社区里"OpenManus 不好用"的吐槽,一大半其实是模型不行。
5. 结果必须有人工校验环节。 搜索到的信息可能有幻觉,价格可能看错版本,报告里建议部分更是模型的"一家之言"。简报自动生成没问题,但发出去之前让人扫一眼,尤其是要给老板看的那种。
市面上框架一堆,捋一下 OpenManus 的差异化定位:
对比项 | OpenManus | LangChain | Dify | AutoGPT |
|---|---|---|---|---|
定位 | 轻量通用 Agent | 全家桶编排生态 | 低代码产品平台 | 自主任务循环 |
上手门槛 | 中(要写点代码) | 高(概念多) | 低(拖拽配置) | 低但难控 |
代码可读性 | ⭐⭐⭐⭐⭐ 极简 | ⭐⭐ 层层抽象 | 不用读代码 | ⭐⭐ 历史包袱重 |
规划能力 | 原生 PlanningFlow | 要自己拼 | 插件实现 | 内置但较糙 |
二次开发 | 改几百行就能魔改 | 学习成本高 | 受限于平台 | 工程量大 |
适合谁 | 研究者、二开者 | 工程团队 | 业务人员 | 玩家 |
一句话总结:想要产品化、不想写代码,上 Dify;要做复杂的工程化系统,LangChain 生态全;但想看懂 Agent 的五脏六腑、或者想魔改一个自己的 Agent,OpenManus 是目前性价比最高的起点。
另外提一嘴,官方还有个姊妹项目 OpenManus-RL(跟 UIUC 的研究者合作),专门研究怎么用强化学习来调优 Agent 的决策策略,做学术方向的朋友可以关注。
回头看,OpenManus 最大的价值可能不是"免费版 Manus"这个身份,而是它把 2025 年最火的产品命题拆成了几千行人人可读的 Python:原来一个通用 Agent 的核心,就是规划加工具调用,没有魔法。
对普通开发者,它是入局 Agent 时代最好的实操教材——跑通它、读懂它,你对 Agent 的理解就从"看热闹"升级到"看门道"了。对二次开发者,它是一块干净的地基,往上盖自己的 Agent 应用,比从零搭快得多。
我的判断是:通用 Agent 这件事的门槛会越来越低,但"把 Agent 用对地方"的门槛不会。工具就在那儿了,能想明白拿它解决什么问题的人,才是吃红利的人。
动手吧,从让它帮你写第一份调研报告开始。
参考资料:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。