Docker
Une image avec Omni et les CLI en versions figées, pour exécuter ai serve sur votre propre serveur. Elle inclut Claude Code, Codex, Cursor et Grok. Antigravity n'est pas inclus, car il ne s'installe pas en ligne de commande.
git clone https://github.com/samuelrms/omni-ai-cli && cd omni-ai-cli
docker compose up -d
docker compose logs omni # clé générée au premier démarrage
docker exec -it omni ai --account login primary
- Connexion : voir Connexion sans navigateur. Les clés des fournisseurs passent par
docker exec -it omni ai --key <outil>. - Données : connexions, clés, configuration et cooldowns restent dans le volume
omni-home, qui survit à la recréation du conteneur.docker compose down -vle supprime. - Clé du serveur : si aucune n'est fournie, une clé est générée et affichée une seule fois dans le journal. Pour définir la vôtre, utilisez
SMART_AI_SERVER_KEY, ouSMART_AI_SERVER_KEY_FILEavec un Docker secret.docker-compose.ymlcontient l'exemple. - Port : publié uniquement sur
127.0.0.1.OMNI_PORTchange le port. - Isolation : s'exécute sans root, avec un système de fichiers en lecture seule et sans capabilities.
- Modes :
OMNI_MODE=plan|edits|auto|yolo docker compose up -d(par défaut :plan). Les outils travaillent dans/workspace, sur le volumeomni-workspace. Pour utiliser votre dossier, définissezOMNI_WORKSPACE=/chemin, accessible en écriture à l'uid 10001. - Risque hors de
plan: les commandes tournent avec l'utilisateur qui détient les connexions dansomni-home. Qui détient la clé peut les lire : ne donnez de clés qu'à des personnes de confiance et révoquez les sessions en cas de fuite. - Codex : son sandbox ne démarre pas dans le conteneur, car il a besoin de fonctions bloquées par Docker et le noyau de l'hôte. Il n'utilise des outils qu'en
yolo, avec le conteneur comme isolation. Enplan,editsetauto, il répond seulement, sans lire ni modifier de fichiers. - Mise à jour :
git pull && docker compose up -d --build.ai --updatene s'applique pas à l'image. - Image prête :
export OMNI_IMAGE=ghcr.io/samuelrms/omni-ai-cli:latest && docker compose pull omni && docker compose up -d --no-build. Chaque release publie sa version etlatest, pour amd64 et arm64. Pour figer une version, remplacezlatestpar son numéro, comme1.23.0. L'image inclut des CLI tiers, soumis à leurs propres conditions ; l'utilisation de votre compte suit aussi ces conditions.
Pour l'exposer sur un réseau, utilisez un proxy inverse avec HTTPS, comme Caddy :
omni.example.com {
reverse_proxy 127.0.0.1:8080
}
Risque : le conteneur ne voit pas les fichiers de votre machine, mais il voit le volume. Toute personne disposant de la clé peut demander à un outil de lire les identifiants qui y sont stockés. Traitez la clé du serveur comme un accès à vos comptes.
Ce texte provient du README du projet. Voir l'original sur GitHub