なぜCozeプラグインはオブジェクトのパラメータを渡せないのですか? この問題は「インターフェースが受信されない」に似ていますが、パブリックイシューでより一般的なのは、Cozeがプラグインに渡したレイヤーがオブジェクトパラメータをドロップまたはフラット化しているということです。 とはいえ、プラグイン自体が必ずしも問題というわけではありませんが、ワークフロー入力、ノードマッピング、パラメータ構造の表現などに問題があるかもしれません。
一般的な公開ケースとしては、プラグインがリクエストボディを「model_name」しか受け取らず、ワークフローに明らかに「extra_params」があるというものです。 これは、オブジェクトパラメータがリンクのある部分で切り詰められていることを意味します。バックエンドが接続されていないからではなく、フロントエンドがパスされていないからです。
なぜオブジェクトパラメータが最も失いやすいのか
オブジェクトパラメータは、ネストされた構造に依存しているため、文字列や数値のような単純な型よりもワークフローに問題を引き起こす可能性が高いです。 オブジェクトを文字列に変換したり、サブフィールドを分割したりすれば、プラグインノードは予想とは異なる内容を受け取ります。 多くの人は「マッピング」したと思っていますが、実際には外側のフィールドだけをマッピングしており、その中のサブ属性は全く通過していません。
まずはこれらの場所を見ていきましょう
- ワークフローの開始ノードはオブジェクトを出力しているのか、それともすでに文字列化されたJSONなのか。
- プラグインの入力パラメータがオブジェクト型を明示的に宣言しているか、単にフラットフィールドを書くだけではないか。
- プラグイン実行ログでは、実際に送信されたボディはどのような見た目ですか?
コミュニティ内でのより安定したアプローチ
オブジェクト構造が複雑な場合は、まずフラット化し、いくつかのクリアフィールドに分割し、正常にパス可能であることを確認した後にネストされたオブジェクトの復元を検討してください。 多くの場合、リンクを先に実行させる方が、元のオブジェクト構造を保持するよりも時間を節約できます。 オブジェクトを保持しなければならない場合は、ワークフローキャンバス上のフィールド名だけでなく、最終リクエストの本文も必ず確認してください。
つまり、プラグインがオブジェクトパラメータを渡せなければ、プラグインが受け付けない可能性が高く、ワークフローが望む形で送信しないということです。
一文の結論
Cozeプラグインはオブジェクトパラメータを渡せないので、通常はまずワークフロー入力マップをチェックし、その後パラメータがストリングかフラットかを確認します。 物体が中央で変形すると、プラグイン側は不完全なデータしか見えません。