Manus智能体支持通过插件市场 DIY 专属扩展能力:登录开发者后台→创建 HTTP Webhook 插件→配置 YAML(包含 required 的 location 字段)→使用托管函数或自建 Web 服务完成部署→启用插件并进行调用测试与容错验证。

如果你想给 Manus 智能体增加查天气、读取 PDF、自动填表等自定义功能,又不想被动等待官方更新,那么插件市场就是最适合你的 DIY 扩展平台。
注册并登录Manus开发者后台
打开 https://www.php.cn/link/cc7e0df97f49ddda0397475c7f076393,点击右上角【Sign in】→ 使用已绑定的 Manus 账号登录。
如果还没有账号,需要先完成正式注册,【必须完成邮箱验证】,否则将无法进入 Manus 开发者后台。
登录成功后,页面会自动跳转到仪表盘,左侧菜单栏中可以看到「Plugins」选项。
创建第一个插件:从模板起步
点击「Plugins」→「Create New Plugin」→ 选择「HTTP Webhook Template」。
这里不要选择「Local Script」——因为它只能在本地电脑运行,Manus 云端调度器无法正常调用,插件状态通常会一直显示为“offline”。
填写基础信息时,Plugin Name 可填写“天气速查”,Identifier 会自动生成为 weather-quick-lookup,Description 可写成“调用和风天气 API 返回当前城市天气实况”。
点击「Continue」后,系统会自动生成一份采用三段式结构的 YAML 配置文件,分别包括 metadata、input_schema 和 output_schema。这里有一个关键细节不要忽略:input_schema 中必须包含 location 字段,并且要将其标记为 required;否则在后续 Manus 工具调用时,会因为缺少必要参数而直接报错,导致插件调用失败。
编写与部署插件逻辑
方法一:使用 Manus 托管函数(推荐新手)
在「Code Editor」标签页中,删除默认示例代码,粘贴以下 Python 函数:
import requests
import os
def main(event):
city = event.get("location")
if not city:
return {"error": "missing location"}
url = f"https://devapi.qweather.com/v7/weather/now?location={city}&key={os.getenv('QWEATHER_KEY')}"
res = requests.get(url).json()
return {
"city": res.get("location", {}).get("name"),
"temp": res.get("now", {}).get("temp"),
"text": res.get("now", {}).get("textDay")
}
接着点击「Environment Variables」→ 新增变量:KEY 填写 QWEATHER_KEY,VALUE 填入你从和风天气控制台申请到的免费 API 密钥。
方法二:自建 Web 服务(需公网可访问)
先编写好用于接收 POST 请求的 Flask 接口,并将 /weather 路由部署到公网环境中,通常可以借助 Cloudflare Tunnel 或 ngrok 来实现。随后返回插件编辑页面,把「Endpoint URL」更新为你的 https://xxx.trycloudflare.com/weather。
【注意:URL 必须以 https 开头,且接口响应必须在 8 秒内返回,超时会被判定为插件不可用】
最后点击右上角的「Deploy」按钮,状态指示灯变绿就表示插件部署成功。
在Manus中启用并测试插件
第一步:回到 Manus 主界面,点击左下角「Settings」→「Plugins」→ 找到刚刚发布的「天气速查」→ 将开关切换到 ON。
第二步:新建对话,输入:“帮我查一下北京现在的天气。”
第三步:查看右侧「Tool Call」面板——如果看到 weather-quick-lookup 被成功触发,并返回温度与天气描述,就说明 Manus 插件已经生效。
第四步:可以故意输入错误城市名,例如“查一下北就天气”,观察是否返回 error 字段。如果返回空结果或直接报 500 错误,通常说明 input_schema 缺少必要的容错校验,这时就需要回到编辑页面补充 try-except 处理和 fallback 默认值。
