貢献者ガイド
Last updated
Was this helpful?
Last updated
Was this helpful?
Difyに貢献したいと思っていることには素晴らしいと思います。私たちはあなたの貢献を心待ちにしております。スタッフも資金も限られた新興企業として、私たちはLLMアプリケーションの構築と管理のための最も直感的なワークフローを設計するという野心的な目標を持っています。そのため、コミュニティからのあらゆるサポートは貴重です。
我々の現状を考えると、柔軟かつ迅速に更新する必要がありますが、貢献者がスムーズに貢献できるようにしたいとも考えています。そのために、この貢献ガイドを作成しました。このガイドは、あなたがコードベースに慣れ、貢献者としての活動を迅速に開始できるようにすることを目的としています。
このガイドは、Dify自体と同様に、常に改善されています。時折プロジェクトの実態よりも遅れることがあるかもしれませんが、ご理解と改善のためのフィードバックを心から歓迎します。
ライセンスに関しては、時間を取って短いを読んでください。また、コミュニティはにも従います。
か、新しいイシューをことができます。イシューは次の2つのカテゴリに分かれます:
新しい機能リクエストを行う場合は、提案する機能の目的を説明し、できるだけ詳細なコンテキストを提供してください。が作成した優れたを使ってドラフトを作成することもできます。ぜひ試してみてください。
既存のイシューから選びたい場合は、その下にコメントを残して意思を示してください。
関連するチームメンバーが関与します。うまくいけば、彼らがコーディングを開始することを承認します。それまでは、変更が提案される可能性があるため、作業を開始しないでください。
提案された機能が属する領域に応じて、異なるチームメンバーと連携する必要があります。以下は、各チームメンバーが現在取り組んでいる分野の概要です:
Architecting Agents
RAG pipeline design
Building workflow orchestrations
Making our frontend a breeze to use
Developer experience, points of contact for anything
Overall product direction and architecture
優先順位の判定ルール:
High-Priority Features as being labeled by a team member
High Priority
Medium Priority
Non-core features and minor enhancements
Low Priority
Valuable but not immediate
Future-Feature
すぐにコーディングを開始してください。
優先順位の判定ルール:
Bugs in core functions (cannot login, applications not working, security loopholes)
Critical
Non-critical bugs, performance boosts
Medium Priority
Minor fixes (typos, confusing but working UI)
Low Priority
以下はDifyを開発用に設定する手順です:
ターミナルからフォークしたリポジトリをクローンします:
Difyは以下のツールとライブラリに依存しています:
貢献する部分を迅速に理解できるように、以下にDifyのバックエンドとフロントエンドの簡単な注釈付きアウトラインを示します:
&
&
Popular feature requests from our
バージョン 8.x.x もしくは
バージョン 3.11.x
Difyはバックエンドとフロントエンドで構成されています。cd api/
を使ってバックエンドディレクトリに移動し、次はに従ってインストールして下さい。別のターミナルでcd web/
を使ってフロントエンドディレクトリに移動し、そしてに従ってインストールして下さい。
一般的な問題とトラブルシューティングの手順についてはを参照してください。
設定を確認するため、ブラウザを開き(デフォルトまたはカスタムURLとポート)にアクセスします。これでDifyが動作しているはずです。
モデルを追加提供する場合は、を参照してください。
エージェントやワークフローにツールを追加提供する場合は、を参照してください。
注意点:新しいツールを提供したい場合は、必ずツールの YAML 説明ページに連絡先を残し、ドキュメント のコードリポジトリに対応するPRを提出してください。
DifyのバックエンドはPythonで書かれており、フレームワークを使用しています。をORMとして使用し、をタスクキューとして使用しています。認証ロジックはFlask-loginで処理されます。
このWebサイトはテンプレートを使用しており、スタイリングにはを使用しています。を国際化に使用しています。
最後に、私たちのリポジトリにプルリクエスト(PR)を提出する時が来ました。重要な機能の場合、最初に deploy/dev
ブランチにマージしてテストを行い、その後 main
ブランチにマージします。マージコンフリクトが発生した場合や、プルリクエストの提出方法が分からない場合は、を参照してください。
これで完了です!あなたのPRがマージされると、あなたは私たちのに貢献者として掲載されます。
貢献の過程で困難に直面したり質問がある場合は、関連するGitHubのイシューで質問を提出するか、私たちのに参加して迅速なコミュニケーションを行ってください。