🦾

Difyの自作プラグイン開発

2025/03/08に公開

どうもこんにちはだいちです。
Difyというサービスに自作のプラグインを追加してみようと思い、今回は事前準備のところまでやってみました。

Difyとは

ローコードでアプリケーションがつくれるプラットフォームです。
ツール連携などを行うことができるので、外部ツールを簡単にアプリに組み込むことができます。
dify home

Difyのプラグインとは

DifyはツールやAPI、函数をノードとしてGUI上でつなぎ合わせたり、組み合わせたりして、一連の処理を実装していくことができます。そのひとつひとつのツールなどはもともとDify側が提供したものしかなく、独自処理をノードとして組み込むには汎用的なHTTPのノードを使って"APIをたたく"ことでしか実現できませんでした。
しかし、現在のDifyではプラグインの開発キットが公開されており、誰でも独自処理をプラグインとして実装することで、Dify上のカスタムなノードとして利用できます。

準備

公式の情報は公式のドキュメントを参照してください。

スキャフォールディングツールのダウンロード

スキャフォールディングツールはコードからテンプレートのコードを生成してくれるツールのことで、今回はPythonコードからDifyのプラグイン用のコードを生成してくれるツールのことです。プラグインはこのツールを使うことで作ることができます。

1. dify-plugin-daemonのリリースをGitHubからダウンロード

リリースの中からダウンロードしたいものを選んでください。今回は現状最新バージョンのv0.0.4を選びました。
dify-plugin-daemons
dify-plugin-darwin-XXX, dify-plugin-linux-XXX, dify-plugin-windows-XXXとあるので自分のパソコンにあったものを選んでダウンロードしてください。僕はWindowで使おうと思ってるのでdify-plugin-windows-amd64を選びました。

2. 実行してみる

ダウンロードした実行ファイルを実行してみます。
ダウンロードした実行ファイルをバージョンフラグをつけて実行してみてバージョンが出てきたら利用可能です。
僕がダウンロードしたのはwindowsの0.0.4版の"dify-plugin-windows-amd64.exe"なので(path/to/file)/dify-plugin-windows-amd64 versionとすれば以下のようになります。

$ ./dify-plugin-windows-amd64 version
v0.0.4

環境変数を設定する(Tips)

環境変数に実行ファイルを設定すると、どこからでもコマンドを利用できるので便利です。
環境変数の設定についての説明は省きます。
僕は環境変数に設定して、ファイル名も変更したのでdifyコマンドだけでファイルを実行できるようにしました。以降のコマンドではdifyで先ほどの./dify-plugin-windows-amd64が実行されます。

Python実行環境のインストール

開発やトランスパイルのために必要。
これの説明は省きます。

ツール開発

プラグインには様々な形があります。

  • ツール型
  • モデル型
  • エージェント戦略
  • 拡張機能型
    今回はツール型プラグインの開発をしていきます。
    公式の情報は公式ドキュメントを参照して下さい。

プロジェクトの作成

新しいリポジトリを作って以下のコマンドを実行してプロジェクトを作成しました。

$ dify plugin init

//TODO:

Discussion