このプロジェクトについて

DevinoriumはAIコーディングエージェント向けのセルフホスト型Webインターフェースであり、ターミナルだけでなくブラウザからエージェントを操作できます。バックエンドはRustでaxum、tokio、SQLiteを使用して記述され、認証、セッション、ファイル、プロバイダーへの呼び出しを処理します。フロントエンドはFlutterウェブで、ビルドスクリプトによって生成され、フロントエンドのビルド出力ディレクトリからコンパイル時にRustバイナリに埋め込まれます。 プロバイダー層は明示的にプラグ可能であり、アプリケーションの他の部分を変更せずに追加のバックエンドを導入できます。サポートされているプロバイダーとしてDevin CLI、OpenCode、Codex CLIの3つがリストされています。それぞれはPATHに存在し、独自のログインコマンド(devin login、opencode auth login、codex login)を使って事前に認証されていることが期待されます。 始めるには、Rustツールチェーン、Flutter SDK、および選択したプロバイダーのCLIが必要です。リポジトリをクローンした後、例の環境ファイルをコピーし、ブートストラップパスワードを設定するために編集します。READMEでは、このパスワードが未設定またはプレースホルダーのままの場合、オーナーアカウントが作成されずログインできないと警告しています。その後、Flutterビルドスクリプトがフロントエンドバンドルを生成し、リリースのcargoビルドがそれを埋め込み、データベース用のデータディレクトリが作成され、バイナリが実行されます。デフォルトではサービスはlocalhostのポート7878でリッスンし、そこでユーザーはブートストラップ認証情報でログインします。 設定は完全に環境変数を通じて行われ、例のenvファイルに文書化されています。設定項目は、バインドアドレスとポート、セッションクッキーに署名するためのセッションキー(長いランダム値が提供されない限り一時的)、SQLite接続文字列、初回実行時のオーナーユーザー名とパスワード、新しいスレッドのデフォルトモデル、リバースプロキシの背後での転送ヘッダーの信頼、最大リクエストボディサイズ、HTTPS用のセキュアクッキーフラグ、CSRFチェックのための明示的に許可されたオリジンなどです。データベースのマイグレーションは起動時に自動的に実行されます。 開発ではフォーマットチェック、警告を否定するclippy、およびテストスイートが含まれます。より厳格なpedanticとnurseryのlintグループは、段階的に有効にするバックログとして言及されています。 READMEによると、DevinoriumはHTTPのみを提供するため、リモートまたは公開での公開はTLSを終端するリバースプロキシまたはトンネルを経由すべきであり、詳細なデプロイ例は別のドキュメントファイルに記載されています。プロジェクトはAGPL-3.0-onlyライセンスで、説明されているリポジトリはGitLabプロジェクトのGitHubミラーです。ドキュメントのスクリーンショットでは、デスクトップおよびモバイルでのインターフェースが示され、サイドバー、スレッド、コードエディタビューが含まれます。