manus可通过自定义插件接入erp等内部系统;需使用openmanus源码部署,插件置于app/tools/下、继承baseplugin、类名以plugin结尾,并重启服务验证调用。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你想让Manus自动调用公司内部ERP系统查订单、读取钉钉审批流、或者把需求文档转成带Swagger注释的Spring Boot接口?这些事原生Manus做不到,但写一个自定义插件就能让它立刻具备——关键不是写多复杂的代码,而是让Manus认得你的工具、信得过你的执行逻辑、并在指令里自然触发它。
确认插件运行环境与入口路径
OpenManus的插件必须放在app/tools/目录下,且文件名需为.py后缀;Manus启动时会自动扫描该目录并加载所有合法插件类。如果你用的是官方托管版Manus(非OpenManus),此路径不可写,【必须使用OpenManus源码部署】,否则后续所有开发都无效。
检查当前运行环境是否为OpenManus:在终端执行pip show openmanus,输出中应含Location: .../site-packages/openmanus,且版本号≥0.8.3(2025年Q3后发布)。
编写基础插件类
在app/tools/下新建erp_query.py,内容如下:
```python
from openmanus.lib.plugin import BasePlugin
class ERPQueryPlugin(BasePlugin):
name = "ERP订单查询"
description = "根据订单号查询ERP系统中的发货状态和物流单号"
def execute(self, order_id: str):
# 此处填你真实的ERP API调用逻辑
return {"order_id": order_id, "status": "已发货", "tracking_no": "SF123456789CN"}
```
注意:【类名必须以Plugin结尾,且继承BasePlugin】,否则Manus启动时会跳过该文件;name字段将出现在工具列表中,会被LLM用于匹配用户指令意图。
这款全能AI助手融合了深度推理、多模态对话与图像生成等前沿技术,全面赋能职场、学习与生活。它支持多模态搜索,精准响应各类信息需求;内置AI文档助手,快速提炼要点并生成思维导图;更有智能创作功能,一键生成报告与文案。强大的AI能力助你高效处理复杂任务,让工作与生活更轻松便捷。
注册插件并验证可用性
第一步:重启Manus服务,确保控制台日志中出现类似Loaded 7 tools, including: ERP订单查询, 天气查询, 文件读取...的提示行;
第二步:在Manus聊天框输入“查订单 SF20260628001”,观察是否触发ERPQueryPlugin.execute();
第三步:若返回结果含"status": "已发货",说明插件已激活;若提示“未找到匹配工具”,检查name字段是否含中文标点、空格或大小写不一致。
接入真实业务系统(可选进阶)
方法一:封装认证逻辑
在execute()开头加入OAuth2令牌刷新逻辑,从环境变量读取ERP_CLIENT_ID和ERP_CLIENT_SECRET,调用/oauth/token获取access_token后再发查询请求。
方法二:增加参数校验
在execute()中插入:if not order_id.isdigit() or len(order_id) != 12: → raise ValueError("订单号必须为12位纯数字"),这样Manus会在调用前拦截非法输入,避免向ERP发起错误请求。
方法三:支持多参数指令解析
修改函数签名:def execute(self, order_id: str, fields: list = None),允许用户说“查订单SF20260628001,只要发货时间跟仓库”;fields值会自动解析为["ship_time", "warehouse"],供你按需裁剪返回字段。










