メインコンテンツへスキップ
このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、英語版 を参照してください。
コードノードは、カスタム Python または JavaScript を実行して、ワークフロー内で複雑なデータ変換、計算、ロジックを処理します。事前設定されたノードが特定の処理ニーズに十分でない場合に使用してください。
コードノード設定インターフェース

コードノード設定インターフェース

コード実行ノードを使うには、SANDBOX_ENABLE_NETWORK が true(デフォルト)である必要があります。false の場合、すべてのコード実行ノードが network is disabled, please enable it in the configuration というエラーで失敗します。

設定

入力変数 を定義してワークフロー内の他のノードからデータにアクセスし、これらの変数をコード内で参照します。関数は、宣言した出力変数 を含む辞書を返す必要があります。

言語サポート

ニーズと習熟度に基づいて、Python と JavaScript から選択できます。どちらの言語も、データ処理用の一般的なライブラリにアクセス可能な安全なサンドボックス内で実行されます。
Python にはjson、math、datetime、reなどの標準ライブラリが含まれています。データ分析、数学的演算、テキスト処理に最適です。

エラーハンドリングと再試行

失敗したコード実行に対する自動再試行動作を設定し、コードがエラーに遭遇した場合のフォールバック戦略を定義します。
エラーハンドリング設定オプション

エラーハンドリング設定オプション

失敗時再試行 では、最大 10 回まで自動で再試行できます。再試行の間隔は最大 5000ms まで設定できます。一時的な処理の問題に対処するには、これを有効にしてください。 エラーハンドリング では、コード実行が失敗した場合のフォールバックパスを定義でき、コードが問題に遭遇してもワークフローの実行を継続できます。
再試行設定インターフェース

再試行設定インターフェース

出力制限

出力が次のいずれかの制限を超えると、ノードは失敗します。 デフォルトでは、object 型の出力の中に、さらに 3 階層までオブジェクトをネストできます。ノードの出力そのものが 1 階層目に数えられ、配列は階層に含まれません。 結果が制限を超えた場合は、出力を減らすか、制限を引き上げて ください。

セキュリティ上の考慮事項

サンドボックス内のコードからも、Dify デプロイ内の他のサービスには接続できます。そのため、信頼できるコードだけを実行してください。信頼できないコードを実行する場合は、デプロイの管理者に依頼して、先に サンドボックスのネットワークを隔離 してもらってください。

依存関係サポート

コードノードは、Python と JavaScript 両方の外部依存関係をサポートします:
依存関係はサンドボックス環境に事前インストールされています。Dify インストールで利用可能なパッケージリストを確認してください。
最終更新日 2026年11月11日