コード例
以下は、マニフェストファイルの簡単な例です。各データの意味と役割については、後ほど説明します。他のプラグインのコードを参照する必要がある場合は、GitHub コードリポジトリを参照してください。構造
version(version, 必須):プラグインのバージョンtype(type, 必須):プラグインタイプ。現在はpluginのみをサポートし、将来的にはbundleをサポート予定です。author(string, 必須):作成者。Marketplace では組織名として定義されます。label(label, 必須):多言語名称created_at(RFC3339, 必須):作成日時。Marketplace では、作成日時が現在時刻を超えてはなりません。icon(asset, 必須):アイコンのパスresource(object):申請が必要なリソースmemory(int64):最大メモリ使用量。主に SaaS 上の AWS Lambda リソース申請に関連し、単位はバイトです。permission(object):権限申請tool(object):ツールを逆呼び出しする権限enabled(bool)
model(object):モデルを逆呼び出しする権限enabled(bool)llm(bool)text_embedding(bool)rerank(bool)tts(bool)speech2text(bool)moderation(bool)
node(object):ノードを逆呼び出しする権限enabled(bool)
endpoint(object):endpointの登録を許可する権限enabled(bool)
app(object):appを逆呼び出しする権限enabled(bool)
storage(object):永続ストレージを申請する権限enabled(bool)size(int64):許可される永続メモリの最大サイズ。単位はバイトです。
plugins(object, 必須):プラグインが拡張する具体的な機能のyamlファイルリスト。プラグインパッケージ内の絶対パスです。例えば、モデルを拡張する必要がある場合、openai.yamlのようなファイルを定義し、そのファイルパスをここに記入します。そのパス上のファイルは実際に存在しなければならず、そうでなければパッケージ化は失敗します。- 形式
- 制限
- ツールとモデルを同時に拡張することはできません
- 拡張機能がまったくない状態は許可されません。
- モデルと Endpoint を同時に拡張することはできません
- 現在、各タイプの拡張は最大1つのプロバイダーのみサポートしています
meta(object)version(version, 必須):manifestフォーマットバージョン。初期バージョンは0.0.1です。arch(list[string], 必須):サポートされるアーキテクチャ。現在はamd64、arm64のみをサポートしています。runner(object, 必須):ランタイム設定language(string):現在は python のみをサポートしています。version(string):言語のバージョン。現在は3.12のみをサポートしています。entrypoint(string):プログラムのエントリポイント。python ではmainであるべきです。
privacy(string, オプション):オプション項目。プラグインのプライバシーポリシーファイルの相対パスまたは URL を指定します。例:"./privacy.md"または"https://your-web/privacy"。プラグインを Dify Marketplace に公開する予定がある場合、このフィールドは必須です。明確なユーザーデータの使用とプライバシーに関する声明を提供するために使用されます。詳細な記入ガイドラインについては、プラグインのプライバシーデータ保護ガイドラインを参照してください。
関連リソース
- プラグイン開発の基本概念 - Difyプラグイン開発の全体像を理解する
- 新しいモデルを迅速に導入する - 既存のプロバイダーに新しいモデルを追加する方法を学ぶ
- 共通仕様定義 - プラグイン開発における共通構造を理解する
- リリース概要 - プラグインのリリースプロセスを学ぶ
このページを編集する | 問題を報告する