貢献ガイド
コード構造
以下のコードファイル構造を参照すると、コードの構成をより理解しやすくなります。
原理
現在、コアロジックには2つの主要なエントリーポイントがあります。1つはDifySandbox
のHTTPサービスエントリーポイント、もう1つは動的リンクライブラリのエントリーポイントです。Sandboxがコードを実行する際、まず一時的なコードファイルが生成されます。このファイルの冒頭で動的リンクライブラリを呼び出して実行環境(Sandbox)を初期化し、その後にユーザーコードが実行されます。最終的に、ユーザーが提出したコードを直接実行するのではなく、この一時ファイルを実行することで、システムの安全性を確保します。
動的リンクライブラリでは、Seccomp
(Secure Computing Mode)を使用してシステムコールを制限しています。許可されるシステムコールはstatic
ディレクトリのnodejs_syscall
およびpython_syscall
ファイルに定義されており、ARM64とAMD64の両アーキテクチャ向けのシステムコールホワイトリストを提供しています。特別な理由がない限り、これらのファイルを変更しないでください。
貢献方法
タイポやバグなどの小さな問題については、直接プルリクエスト(PR)を送信してください。大規模な変更や新機能の提案については、まずイシューを作成し、議論を行ってください。
今後の課題
現在検討中の課題がいくつかあります。興味があれば、以下のタスクに取り組んでいただけます:
Last updated