このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、英語版 を参照してください。このページでは、すべてのプラグインタイプに共通する構造を説明します。全体的なアーキテクチャを把握するには、プラグイン開発の基本概念 および 開発者チートシート と併せてお読みください。
パス仕様
Manifest やその他の YAML ファイルにおけるファイルパスは、ファイルの種類に応じて 2 つのルールに従います。- 画像や動画などのマルチメディアファイル(例: プラグインの
icon)は、プラグインのルートディレクトリ下にある_assetsフォルダに配置します。 .pyや.yamlなどの通常のテキストファイルは、プラグインプロジェクト内の絶対パスで参照します。
共通構造
一部のデータ構造は、ツール、モデル、Endpoints の間で共有されます。これらをここで定義します。I18nObject
I18nObject は IETF BCP 47 標準に準拠した国際化構造です。次の 4 つの言語をサポートします。
英語(米国)。
簡体字中国語。
日本語。
ポルトガル語(ブラジル)。
ProviderConfig
ProviderConfig は、Tool と Endpoint の両方で使用される共通のプロバイダーフォーム構造です。
フォーム項目名。
表示ラベル。IETF BCP 47 標準に準拠します。
フォームフィールドのタイプ。フィールドが UI でどのようにレンダリングされるかを決定します。
オプションの範囲指定。
type の値によって異なります。フィールドを空にできないかどうか。
デフォルト値。
float、int、string の基本型のみをサポートします。利用可能なオプション。
type が select の場合のみ使用します。ヘルプドキュメントのリンクラベル。IETF BCP 47 に準拠します。
ヘルプドキュメントのリンク。
複数言語のプレースホルダーテキスト。IETF BCP 47 に準拠します。
ProviderConfigOption (object)
オプションの値。
オプションの表示ラベル。IETF BCP 47 に準拠します。
ProviderConfigType (string)
暗号化される設定情報。
プレーンテキスト入力フィールド。
ドロップダウン選択フィールド。
スイッチ/トグルコントロール。
モデル設定セレクター。プロバイダー名、モデル名、モデルパラメータを含みます。
アプリケーション ID セレクター。
ツール設定セレクター。ツールプロバイダー、名前、パラメータを含みます。
データセットセレクター(TBD)。
ProviderConfigScope (string)
type が model-selector の場合:
すべてのモデルタイプ。
大規模言語モデルのみ。
テキスト埋め込みモデルのみ。
リランクモデルのみ。
テキスト読み上げモデルのみ。
音声テキスト変換モデルのみ。
コンテンツモデレーションモデルのみ。
ビジョンモデルのみ。
type が app-selector の場合:
すべてのアプリケーションタイプ。
チャットアプリケーションのみ。
ワークフローアプリケーションのみ。
補完アプリケーションのみ。
type が tool-selector の場合:
すべてのツールタイプ。
プラグインツールのみ。
API ツールのみ。
ワークフローツールのみ。
ModelConfig
plugin_id を含むモデルプロバイダー名。langgenius/openai/openai の形式です。特定のモデル名。
NodeResponse
最終的にノードに渡される変数。
ノードの出力結果。
ノードの実行中に生成されるデータ。
ToolSelector
ツールプロバイダー名。
ツール名。
ツールの説明。
ツール設定情報。
関連リソース
- プラグイン開発の基本概念:Dify プラグイン開発の概要
- 開発者チートシート:よく使うコマンドと概念のクイックリファレンス
- ツールプラグイン開発の詳細:プラグイン情報の定義方法とツールプラグイン開発プロセス
- モデル設計ルール:モデル設定の標準