見出し画像

Difyコミュニティの歩き方

「Difyの最新情報を入手したい」「使い方がわからなくて質問したい」
そのような思いがあっても、英語のコミュニティに飛び込むには勇気が要ります。

僕自身オープンソースコミュニティの経験がなく、最初は右も左もわかりませんでした。今でも模索しています。

そんな僕だからこそ書ける、今更聞けないDifyコミュニティの活用・立ち回りのコツを紹介いたします!
(注: Dify自体の解説は色々文献があるので割愛します)



コミュニティ一覧

以下はDifyコミュニティの概要と超主観的な利用難易度です。

Discord

  • # general

    • difyに関する質問などをざっくばらんに話す場所
      英語で何やら難しい話をしている!
      最も多くの情報が流れるが追うのは大変

    • 難易度: 高

  • # 日本語

    • generalの日本語版
      みんな優しいので日本語で初歩的な質問をするのに最適!

    • 難易度: 低

  • # introduce-yourself

    • 自己紹介する場所

    • 難易度: 低

  • 💬 issue-reports

    • バグを報告する場所
      GitHubより反応があって嬉しい

    • 難易度: 低

  • 💬 feature-requests

    • 機能をリクエストする場所
      GitHubより反応があって嬉しい

    • 難易度: 低

  • 💬 workflow-sensei

    • いろんなアプリのサンプルが見れる場所
      試す必要はないが、何を目的としたものなのか、何ができるのかを頭の片隅に置いておくといつか役に立つ!

    • 難易度: 低

GitHub

  • Issues

    • バグや機能リクエストを共有する場所
      公式としてはDiscordよりこっちに投稿してほしいらしい

    • 難易度: 高

  • Discussions

    • issueの投稿のうち、議論に値するものが厳選されている

    • 難易度: 高

Dify Docs

Difyに関する情報が綺麗にまとめられている
難易度: 低


最初にすべきこと

Discordに入って自己紹介

まずはDiscordに入って# introduce-yourselfで自己紹介してみましょう。
でしゃばりすぎるのも多分良くないので、こんな感じのフォーマットで簡潔にしましょう。

Hi, I’m (名前) from Japan. (経歴やできること) (Difyへの愛など一言) (ナイストゥーミーチュー的なやつ)

雰囲気を掴む

次に、Discordのそれぞれのチャンネルを遡って、どんな会話がどんな雰囲気で行われているのか察しましょう。
以前、開発者にマジレスした人がいて世界平和が揺らぎました。
雰囲気大事です僕は空気読めないから苦手


色々作ってみる

あとはDifyを触ってみてDify自体にどんどん詳しくなっていきましょう。
作りたいものが決まってない方は、Dify上のテンプレートから作成してみたり、workflow-senseiにあるものを作ってみましょう。

workflow-senseiを見ていると、~~~.ymlというファイルが添付されています。
これは”DSLファイル”と呼ばれるものです。
ワークフローを簡単に自分の環境に再現できます。

Dify上に"DSLファイルをインポート"というのがあるので、そこにダウンロードしたDSLファイルをアップロードするとワークフローを作成できます。

DSLファイルの使い方


情報をキャッチアップする

日々大量の情報がコミュニティに流れています。
見てるいると次どんなもの実装されそうか分かって楽しいです。

コツは完璧に理解・記憶しようとしないことです。
後になって「同じようなエラーどっかで見たな」「確かこんな感じのワークフロー作ってる人いたな」となるように、ざっと見て頭に索引を作っておくことが大事です。


質問する

質問したいことがあれば、まずはDiscord・GitHub・Dify Docsなどで検索してみましょう。

解決が見つからなければ思い切って質問してみましょう。
日本語チャンネルは気軽に質問できておすすめです。
微力ながら僕も回答する時があります。

筆者による質問回答

Dify開発者はあまり日本語チャンネルで回答しないので、日本語チャンネルで解決しない高度な質問は# generalにしましょう。

もうすぐ公式のDifyチャットボットが公開されるらしいです。
これができれば、どんな基本的なことでも気兼ねなくチャットボットに聞いて簡単に解決できるようになるはずです。


バグ報告・機能リクエスト

バグ報告などはDiscordではなくGitHubイシューに書いて欲しいというのが公式の見解なので、できるだけそっちに書きましょう!

Issuesの画面でNow issueをクリックすると作成できます。

作成時にはイシューの種類を選ぶことができ、それぞれに合ったフォーマットが自動生成されます。
このフォーマットに従っていれば無礼にはなりません!

機能リクエストには、公式が用意した機能リクエスト作成チャットボットが使えます。
適当な内容でもいい感じにしてくれるので試してみましょう。
筆者が試したところ、一般的すぎて微妙なものができましたが笑

イシューのコツは多分以下の二点です。

  • フォーマットに従う

  • 具体的に書く

    • バグ報告の場合: エラー内容、バグを再現する方法、試したこと、Difyのバージョン、環境(セルフホストかクラウドか、PCのスペックはどの程度か)

    • 機能リクエストの場合: 誰のどんなユースケースに対応できるか、その課題は本当に重要なのか

僭越ながら僕が試しに投稿したイシューを貼っておきます。
https://github.com/langgenius/dify/issues/4112
及第点ではあるかもしれません。


上級者編

開発に貢献する

以下はDifyの貢献ガイドです。

僕もプルリクが承認されたことはありませんが、タイポなどは簡単に承認されるみたいです。

イシューに投稿した機能リクエストやバグ報告などは、開発者が目を通した上で実装するか否かを決めるので、僕らにできるのはイシューの最後に貢献への熱意を込める程度です。

Discordの方でも主張すれば賛同者が現れて開発にこぎつけるかもしれませんが、しつこい男は嫌われるので注意しましょう。


誰も解決していない問題を解決する

コミュニティに解決策がない未知の問題も、GitHubのソースコードを見てみると答えがわかります。

たとえば自分が発生しているエラーメッセージの一部をGithubで検索すると、そのエラーメッセージがどういう時に発生するようにプログラムされているのか見つけることができます。

GitHubでエラーをソースコードを検索

またDifyを自分の環境に構築している場合、ソースコードを書き換えて自力でエラーを修正できます。(注意: 編集する際は、Gitブランチを切り分けましょう)

これはオープンソースの強みですね。


いかがだったでしょうか?

筆者はコミュニティに飛び込んでみて、意外と怖くないなと思いました。
みんな優しくて、新しい物好きの魅力的な人で溢れています。

一緒にDifyコミュニティを盛り上げていきましょう💪

こんな感じでAIやDifyのこと発信していくのでぜひフォローしてください!


この記事が気に入ったらサポートをしてみませんか?