必须通过Meta Model API的tool calling机制让Muse Wonder调用自有API、数据库或硬件,不能在Muse Code界面点选添加;需严格按三步准备工具定义JSON Schema并嵌入API请求,手动处理tool_calls及响应,注意字符、长度与格式校验。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在生产环境中让Muse Wonder调用你自己的API、数据库或硬件设备,必须通过Meta Model API的tool calling机制完成,不能直接在Muse Code界面里点选添加。
准备工具定义JSON Schema
第一步:用OpenAI兼容格式写出工具描述,字段必须包含name、description、parameters(type为object,properties按实际参数定义)。
第二步:确保parameters中每个必填字段都标注"required"数组,漏写会导致Wonder在调用前拒绝生成参数——它比Claude更严格校验schema完整性。
第三步:把整个JSON对象存为UTF-8编码的纯文本文件,不要带BOM头,否则API返回400错误且不提示原因。
在API请求中启用tool calling
方法一:直接在请求体中嵌入tools数组
向https://api.meta.ai/v1/chat/completions发送POST请求,headers里带上Authorization: Bearer 【你的API Key】,body中必须包含:
"model": "muse-wonder-1.0", "messages": [...], "tools": [刚才写的JSON对象], "tool_choice": "auto"
注意:tool_choice设为"none"会彻底禁用工具调用,即使模型识别出需要调用也不会触发。
处理模型返回的tool_calls
当Wonder决定调用工具时,响应message.content为空,但包含tool_calls数组,每个元素含function.name和function.arguments(字符串格式,不是JSON对象)。
必须手动解析arguments字符串为JSON,再发起真实工具调用;返回结果要原样塞进next request的messages里,role设为"tool",content是工具返回的原始响应体(字符串或JSON字符串均可)。
这一步不能跳过或简化——Wonder不会自动帮你发HTTP请求,也不支持webhook回调模式,所有工具交互必须由你控制流程。
调试失败的常见卡点
方法1:检查tool response是否含不可见控制字符
如果工具返回的content里有\r\n或零宽空格,Wonder下一轮推理会静默失败,response中不报错也不重试,只返回普通文本回复。
方法2:确认上下文窗口未超限
Muse Wonder虽支持100万token上下文,但单次请求的tools+messages+tool_responses总长度超过80万token时,API直接截断后续内容,且不返回warning字段。
方法3:验证工具返回格式是否匹配最初定义的response_schema
如果你在tools定义里写了"response_schema": {"type": "object"},但实际返回的是字符串,Wonder会在下一轮把该字符串当作无效输入丢弃,不再尝试解析。


















