返回AI问答
扣子插件为什么传不过对象参数?大概率是工作流输入没映射对

扣子插件为什么传不过对象参数?大概率是工作流输入没映射对

AI问答 Admin 50 次浏览

扣子插件为什么传不过对象参数?这个问题很像“接口没收到”,但公开 issue 里更常见的真相是:Coze(扣子)传给插件的那一层,已经把对象参数丢掉或扁平化了。也就是说,插件本身不一定有问题,问题可能出在工作流输入、节点映射,或者参数结构的表达方式上。

一个很典型的公开案例里,插件最终收到的请求体只剩 model_name,而你明明在工作流里还准备了 extra_params。这就说明对象参数在链路某一段被截断了,不是后端没接,而是前面没传过去。

为什么对象参数最容易丢

对象参数比字符串、数字这些简单类型更容易在工作流里出问题,因为它依赖嵌套结构。只要有一步把对象转成了字符串,或者把子字段拆散了,插件节点收到的内容就会和你预期不同。很多人以为自己已经“映射好了”,其实只是映射了外层字段,里面的子属性根本没过去。

先看这几个地方

  • 工作流开始节点输出的是对象,还是已经字符串化的 JSON。
  • 插件输入参数是否明确声明了对象类型,而不是只写了一个扁平字段。
  • 插件执行日志里,实际发出去的 body 到底长什么样。

社区里更稳的处理方法

如果对象结构比较复杂,先把它压平,拆成几个明确字段,确认能正常传递后再考虑恢复嵌套对象。很多时候,先让链路跑通,比一上来坚持保留原始对象结构更省时间。要是你必须保留对象,那就一定要看最终请求体,而不是只看工作流画布上的字段名。

换句话说,插件传不过对象参数,大概率不是插件“不会收”,而是工作流“没按它想要的方式发”。

一句话结论

扣子插件传不过对象参数,通常先查工作流输入映射,再查参数是不是被字符串化或扁平化了。对象一旦在中途变形,插件端就只会看到残缺数据。

推荐工具

更多