Skip to content

TUI — l'interface terminal ​

Sur cette page ​

Démarrer ​

bash
marex                                    # interface Ink (défaut), dossier courant
MAREX_WORKSPACE=/chemin/projet marex     # …ou pour un dossier précis
marex-tui                                # interface OpenTUI (Bun)

Envoyer un message ​

Une fois dans l'interface, décrivez votre tâche en langage naturel :

text
> Explique l'architecture de ce projet et propose trois améliorations

Le streaming s'affiche token par token ; le raisonnement du modèle apparaît en gris atténué puis se replie. Chaque tour affiche ses compteurs inp / out / cache et le coût estimé.

Interrompre : Échap coupe réellement la requête HTTP en cours — la réponse partielle est conservée et vous reprenez la main.

Références de fichiers @ ​

Référencez des fichiers directement dans vos messages avec @ :

text
> Comment l'authentification est-elle gérée dans @src/api/index.ts ?

Le contenu du fichier est ajouté automatiquement à la conversation.

Images (modèles avec vision uniquement) :

text
> @capture.png explique-moi ce bug

Voir Vision pour les formats, limites et modèles compatibles.

Modes Build et Plan ​

La bannière indique le mode courant : ▣ Build (vert) ou ▣ Plan (violet). Basculez avec /plan.

ModeComportement
Build (défaut)L'agent lit, écrit, exécute. Les actions risquées demandent confirmation selon le niveau de permission.
PlanLecture seule : l'agent explore sans rien modifier. L'outil Question reste disponible pour cadrer le plan avec vous (OpenTUI).

Le réflexe avant une grosse refactorisation : /plan, laissez l'agent explorer et poser ses questions, puis repassez en Build pour exécuter.

Le menu / (OpenTUI) ​

Tapez / en premier caractère : un menu s'ouvre au-dessus de la saisie avec 35 commandes et leurs descriptions en français.

  • Filtrage à la frappe (préfixe, puis nom, puis description), 10 entrées visibles max
  • ↑/↓ naviguent en boucle, Entrée sélectionne, Échap ferme en conservant le texte, Tab complète
  • Une commande sans argument (/model, /plan) s'exécute directement ; une commande à arguments (/save) réinsère /nom pour saisir la suite
  • Le menu se ferme dès qu'un espace est tapé ou que le / initial est effacé

Note — exit, retry, queue, share et agent ne sont pas proposés dans le menu mais restent tapables en toutes lettres.

Raccourcis clavier ​

ToucheEffet
ÉchapInterrompt la génération / ferme le menu /
Ctrl+CQuitte proprement (Ink) et restaure le terminal
↑ ↓Navigation dans les listes et menus (pas d'historique de saisie)
PgUp PgDnDéfilement d'une demi-page (OpenTUI)
Home EndDébut/fin de ligne, ou du chat si la saisie est vide (OpenTUI)
1–9Choisir une option dans un panneau de question (OpenTUI)
EspaceCocher/décocher dans une question à choix multiples (OpenTUI)

Voir Keybinds pour la liste complète.

Choisir son interface ​

RéglagePriorité
Flag --ui=ink / --ui=opentuiLa plus haute
Variable MAREX_UIMoyenne
ui dans config.json (/ui)La plus basse

/ui ink ou /ui opentui enregistre le choix — relancez ensuite (pas de bascule à chaud).

Différences à connaître :

  • Ink : fonctionne partout où Node tourne. L'outil Question n'y est pas disponible : il renvoie immédiatement une erreur claire invitant à lancer marex-tui.
  • OpenTUI : diffs natifs avec coloration syntaxique, blocs d'outils repliables au clic, bouton « ↓ derniers », dialogues (questions à choix, toasts, /inspect, /timeline). Pas de saisie de clé API en clair (l'<input> OpenTUI n'a pas de mode masqué) : utilisez Ink (/config), config.json ou une variable d'environnement.