Comment ça marche
De la ligne saisie jusqu'à la réponse sauvegardée. Le chat (omni_ai/chat/) n'appelle
aucune IA directement : il lance le routeur (omni_ai/cli/) comme sous-processus et lit
les événements qu'il émet, ligne par ligne, pour afficher qui répond et ce qu'il fait.

Trois détails que le diagramme rend explicites :
- Chaque compte Claude a son propre dossier de connexion. Les comptes
supplémentaires s'exécutent avec
CLAUDE_CONFIG_DIRpointant vers~/.claude-accounts/<nom>. Le compte principal n'est jamais déconnecté, et aucun identifiant n'est copié d'un endroit à un autre. L'exception concerne les anciens profils aveccredentials_file, qui échangent le fichier d'identifiants pendant l'appel. Copier le.credentials.jsonne fonctionne pas de façon fiable sur macOS, où la connexion est stockée dans le Keychain. - Ctrl-C tue tout l'arbre de processus. Le routeur s'exécute dans son propre groupe de
processus ; annuler arrête donc aussi le
claude, lecodexou leagyqui tourne en dessous, au lieu de laisser des processus orphelins consommer du quota. - La file ne bloque rien. Au-dessus de la zone s'affichent la demande en cours, le
temps écoulé et les suivantes. Une demande qui a attendu passe par un classifieur gratuit
avant de s'exécuter : si la réponse précédente la règle déjà, elle est ignorée. Les
commandes et skills s'exécutent toujours. Ctrl-C avec la file active annule tout sans
quitter le chat. Si vous fermez le chat avec des demandes en attente, elles restent
enregistrées dans la session et
ai --resume IDpropose de les relancer. - Chaque réponse indique son coût. À la fin de chaque demande s'affichent les tokens et,
quand l'outil le fournit (OpenRouter, Grok, Claude avec clé API), le coût en dollars.
/usageadditionne la dépense du jour par outil. - Vous voyez pourquoi l'outil a été choisi. En mode
auto, une ligne courte indique si la demande a été traitée comme une tâche de code ou une question simple, et qui l'a classée (Groq, Cerebras, OpenRouter, Grok ou les mots-clés). - Seule la réponse entre dans l'historique. Les lignes de statut et de diagnostic s'affichent à l'écran, mais ne sont pas envoyées comme contexte à la question suivante. Le raisonnement interne des modèles est aussi écarté.
Ce texte provient du README du projet. Voir l'original sur GitHub