見出し画像

Difyのプラグイン?ってやつが出たらしいんですが、作れますか? - Devin観察日記

今日は、CosenseのDifyプラグインをDevinに作って貰ったんだと思います。多分。ちなみにこれは前編です。

そもそもDifyプラグインとは何でしょうか?実は、僕もよく分かりません。一昨日くらいにリリースされたらしいです。ダメ元でDevinに作ってみてと頼んだら、一晩で作ってくれました。

Difyリポジトリのbetaブランチを見せて「作れる?」と無茶振りする様子

プルリクが出来ました。これがDifyプラグインだそうです。Pythonのコードで実装されているようです。

プラグインが出来たはいいものの、どうやったら動かせるのかが分からず、マージしてしばらく放置していました。翌日、Dify Marketplaceが正式ローンチされると、公式ドキュメントが色々と増えていました。

どうやらCLIツールを使ってパッケージングするようです。
早速、Devinにリリース準備を頼んでみます。

 ものの数分でDifyプラグインのパッケージとリリースをするDevin

この日記を毎日読んでくれている方は、もうDevinの優秀さに慣れすぎて驚かなくなっていると思いますが、これは人間のプログラマーと比べてもかなり優秀な方だと思います。参考までに、僕も手元のmacOSで同じことをやっていたのですが、僕がCLIのセットアップを終えるのと同時にDevinはリリースを完了したので、僕は匙を投げました。

もう全部Devinに任せることにして、リリースのCIも用意して貰いました。

パッケージングとリリースをCIで自動実行してくれたDevin

というわけで、無事 .difypkg ファイルが手に入りました。

動作確認の方が難しい

このプラグインをどうやってインストールするのか調べていたところ、全然分かりません。どうやら v1.0.0 からサポートされたようですが、クラウド版のDifyは v0.15.0 なのです。

公式ドキュメントのキャプチャ。v1.0.0から利用可能と書かれている
https://cloud.dify.ai/ でバージョンを確認すると、 v0.15.0 だった

つまり、今日時点でプラグインを試すには、Difyをセルフホストするしかありません。というわけで、Difyをセルフホストしました。

セルフホストの過程は特に面白みもないので省略します。Zennのスクラップを書いたので、GCEにデプロイしたい方はどうぞ。とはいえ、全部ChatGPTに教えて貰ったので、皆さんもLLMに教わる方が良いと思います。というかこれもDevinにやって貰えば良かったなと後悔しました。

v1.0.0-betaのDifyをセルフホストできた

2 vCPU / 2GB RAM という最小構成なので、全体的にもっさりしている気もしますが、動きます。

いざインストール

Install Pluginを押して、インストールを試みます。が、、、

署名エラーでアップロードに失敗

署名エラーでアップロードに失敗してしまいます。そもそも署名なんてしていませんから、当然ですね。

Difyに頼んだら、いい感じに署名してそうなプルリクが出てきました。そんなのドキュメントに書いてあったっけ?と思いつつ、試してみます。

CIに署名処理を追加

ところが、先ほどと全く同じエラーが出て失敗してしまいます。

そもそも署名なんて不要です。しかし色々探しましたが「署名を不要にする設定」が分かりません。Difyの環境変数だと予想して .env.example なんかも眺めてみましたが、それらしいフラグは見つかりません。

Devinは「FORCE_VERIFYING_SIGNATURE」だと言うのですが、追加しても何も起こらないし、そもそもコードベースの検索に引っかかりません。夢を見ているのでしょうか。

とりま申請してみる

埒が明かないので、とりあえずこのままMarketplaceに申請してみることにしました。申請は、なんとGitHubのPull Requestで行うようです。本当にこれであってるのか?と疑いつつ、とりあえず出してみました。あとはレビューを待つのみです。


という訳で、今日はこれでおしまいです! 進展があれば後編も書くかも。

いいなと思ったら応援しよう!