À propos du projet
Devinorium est une interface web auto-hébergée pour les agents de codage IA, permettant de piloter les agents depuis un navigateur plutôt que uniquement via un terminal. Son backend est écrit en Rust avec axum, tokio et SQLite, et gère l'authentification, les sessions, les fichiers ainsi que les appels vers les fournisseurs. Le frontend est en Flutter web, produit par un script de build et intégré au binaire Rust lors de la compilation à partir du répertoire de sortie du build frontend.
La couche de fournisseurs est explicitement pluggable, ce qui signifie que des backends supplémentaires peuvent être introduits sans modifier le reste de l'application. Trois fournisseurs sont listés comme supportés : le Devin CLI, OpenCode et le Codex CLI. Chacun doit être présent dans le PATH et authentifié au préalable via sa propre commande de connexion (devin login, opencode auth login, codex login).
Pour commencer, la chaîne d'outils Rust, le SDK Flutter et le CLI du fournisseur choisi sont requis. Après le clonage, le fichier d'environnement d'exemple est copié et édité pour définir un mot de passe de bootstrap ; le README avertit que si ce mot de passe n'est pas défini ou laissé à sa valeur fictive, aucun compte propriétaire n'est créé et la connexion est impossible. Le script de build Flutter produit ensuite le bundle frontend, un build cargo release l'intègre, un répertoire de données est créé pour la base de données, et le binaire est exécuté. Le service écoute alors par défaut sur le port 7878 de localhost, où l'utilisateur se connecte avec les identifiants de bootstrap.
La configuration s'effectue entièrement via des variables d'environnement, documentées dans le fichier env d'exemple. Les paramètres couvrent l'adresse et le port de liaison, une clé de session utilisée pour signer les cookies de session (éphémère à moins qu'une valeur aléatoire longue ne soit fournie), la chaîne de connexion SQLite, le nom d'utilisateur et le mot de passe du propriétaire lors du premier lancement, un modèle par défaut pour les nouveaux fils, la confiance envers les en-têtes forwarded-for derrière un proxy inverse, une taille maximale du corps de la requête, un indicateur de cookie sécurisé pour HTTPS, et une origine explicitement autorisée pour les vérifications CSRF. Les migrations de la base de données s'exécutent automatiquement au démarrage.
Le développement inclut des vérifications de formatage, clippy avec interdiction des avertissements, et la suite de tests ; des groupes de lint plus stricts (pedantic et nursery) sont mentionnés comme étant dans le backlog pour être activés progressivement.
Le README précise que Devinorium sert uniquement du HTTP, donc toute exposition distante ou publique doit passer par un proxy inverse ou un tunnel qui termine le TLS, avec des exemples de déploiement détaillés dans un fichier de documentation séparé. Le projet est sous licence AGPL-3.0-only, et le dépôt décrit est un miroir GitHub d'un projet GitLab. Les captures d'écran dans la documentation montrent l'interface sur ordinateur et sur mobile, incluant la barre latérale, le fil de discussion et les vues de l'éditeur de code.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.