Manuel de l’utilisateur

Commandes de session

VelaTerm ajoute un ensemble de commandes courtes à chaque session qu’il démarre. Vous et vos agents les utilisez pour démarrer d’autres sessions, ouvrir des fichiers, lire d’autres conversations et y effectuer des recherches, vérifier quelles sessions sont occupées, échanger des messages entre sessions et attendre la fin de commandes longues. Ce chapitre décrit chaque commande ainsi que les compétences d’agent correspondantes.

1. Où les commandes fonctionnent

Les commandes figurent dans le PATH de toutes les sessions démarrées par VelaTerm : terminaux classiques et sessions d’agent, dans la vue terminal comme dans la vue conversation, y compris les sessions exécutées sur un serveur VelaTerm distant. Elles ne nécessitent aucune installation. En dehors d’une telle session, elles s’arrêtent avec le message « not inside a VelaTerm session ».

Exécutez une commande avec --help pour afficher son mode d’emploi.

CommandeRôle
vspawn, vspawn-treeDémarrer une session enfant avec une tâche
vopenOuvrir des fichiers dans des onglets de document et des adresses web dans des onglets de navigateur
vreferLire la conversation d’une autre session ou poser une question à son sujet
vsearchRechercher dans les conversations de toutes les sessions
vstatIndiquer quelles sessions travaillent, posent une question ou sont en attente
vtellEnvoyer un message à une autre session
vrunExécuter une commande longue et attendre sa fin
vkbInterroger la base de connaissances et le graphe du code
vflowPiloter les flux de travail de planification et d’exécution

Plusieurs commandes acceptent une référence de session : un identifiant de session complet, un préfixe d’identifiant d’au moins 8 caractères, le nom exact de la session ou une partie de ce nom qui ne correspond qu’à une seule session. Mettez entre guillemets les noms qui contiennent des espaces. Lorsqu’une référence correspond à plusieurs sessions, la commande affiche la liste des sessions possibles.

2. Compétences d’agent (Vela Skills)

Paramètres ▸ Général ▸ « Vela Skills » installe les compétences correspondantes dans Claude Code et Codex ; « Reinstall » les met à jour. Démarrez ensuite une nouvelle conversation Claude ou Codex pour que l’agent les prenne en compte. Dans Claude Code, une compétence s’appelle avec /name ; dans Codex, avec $name.

CompétenceAppelée parFonction
vspawn, vspawn-treeVousRédige une tâche autonome à partir de la conversation en cours et démarre une session enfant ou un flux de travail de planification et d’exécution
vopenVousOuvre des fichiers ou des adresses web
vkbVousInterroge la base de connaissances et le graphe du code
vrefer, vsearch, vaskVous ou l’agentLit d’autres conversations, y effectue des recherches ou pose des questions à leur sujet
vstatVous ou l’agentIndique quelles sessions sont occupées
vtellVous ou l’agentEnvoie un message à une autre session

Les compétences marquées « Vous » ne s’exécutent que lorsque vous les appelez ; les autres peuvent aussi être utilisées par l’agent de sa propre initiative lorsque vous mentionnez une autre session ou un travail antérieur. vask n’existe que sous forme de compétence ; elle exécute vrefer <session> --ask "<question>".

3. vspawn et vspawn-tree

vspawn [--worktree] [--cwd <path>] [--yes] [--claude|--codex|--copilot|--kiro] [--model <name>] [--effort <level>] <task description...>

Démarre une nouvelle session sous la session actuelle et lui envoie la tâche comme premier message. vspawn-tree est la même commande, avec un worktree Git distinct.

OptionSignification
--worktreeAttribuer à la session enfant son propre worktree et sa propre branche
--cwd <path>Répertoire de travail et dépôt de la session enfant
--yesDémarrer sans carte de confirmation
--claude, --codex, --copilot, --kiroAgent de la session enfant ; par défaut, celui de la session actuelle (Claude Code pour les terminaux classiques)
--model <name>, --effort <level>Modèle et effort de raisonnement de la session enfant
--plan-execute et options associéesDémarrer un flux de travail de planification et d’exécution

Détails : Création de sessions et collaboration dans Git et Planification et exécution.

4. vopen

vopen <file|url>...

Ouvre chaque argument dans le volet central. Les fichiers Markdown s’ouvrent dans l’éditeur Markdown, les images dans la visionneuse d’images et les autres fichiers dans l’éditeur de code. Les adresses web (http ou https) s’ouvrent dans un onglet de navigateur, disponible uniquement dans l’application de bureau. Les chemins relatifs sont résolus par rapport au répertoire courant. Voir Onglets de documents et de navigateur.

5. vrefer et vask

vrefer <session> [--last N] [--range A:B] [--json]
vrefer <session> --ask "<question>" [--with <agent>] [--timeout N]
vrefer --list [--json]

Affiche la conversation d’une autre session. Cette session n’a pas besoin d’être en cours d’exécution, et rien ne lui est envoyé.

OptionSignification
--last NUniquement les N derniers messages
--range A:BMessages de A inclus à B exclu (numérotés à partir de 0)
--ask "<question>"Faire lire la conversation par un agent qui répond à la question, au lieu d’afficher la conversation
--with <agent>Agent qui répond : claude, codex, opencode, pi, omp, cursor, copilot ou grok ; choisi automatiquement si l’option est omise
--timeout NDélai accordé à la réponse, en secondes (120 par défaut)
--listRépertorier les sessions consultables
--jsonSortie lisible par une machine

--ask démarre un processus d’agent distinct pour la réponse et ne renvoie que celle-ci ; une longue conversation ne remplit donc pas le contexte actuel. Paramètres ▸ Comportement ▸ « Contexte des références de session » détermine la façon dont la conversation est transmise à l’agent qui répond : « Transcription intégrale » (par défaut) ou « Résumer d’abord », qui la condense au préalable avec l’« Agent de synthèse », le modèle et l’effort choisis à cet endroit. Si aucune réponse ne peut être produite, vrefer en explique la raison et affiche la conversation à la place.

Les conversations peuvent être lues pour Claude Code, Codex, OpenCode, Pi, OMP, Grok Build et Kiro (enregistrements textuels uniquement). Les autres types de session, ainsi que les sessions dont la conversation d’agent n’a pas encore été enregistrée, ne peuvent pas être lus.

6. vsearch

vsearch <words...> [--session <session>] [--all|--archived] [--limit N] [--json]

Recherche dans les conversations de toutes les sessions du VelaTerm connecté. Tous les mots doivent correspondre, dans n’importe quel ordre.

OptionSignification
--session <session>Rechercher uniquement dans cette session
--allInclure les sessions archivées (par défaut, seules les sessions non archivées sont concernées)
--archivedRechercher uniquement dans les sessions archivées
--limit NNombre maximal de sessions correspondantes (10 par défaut)
--jsonSortie lisible par une machine

Chaque résultat indique le nom de la session, son préfixe d’identifiant, le nombre de correspondances, quelques extraits avec leurs numéros de message, ainsi que la commande vrefer qui permet de lire toute la conversation. Un numéro de message peut être utilisé avec vrefer --range. Les résultats proviennent uniquement des conversations d’agent ; les correspondances qui n’existent que dans les enregistrements de terminal ne sont pas renvoyées. « no matches » est un résultat normal.

7. vstat

vstat [--wait] [--follow] [--timeout N] [--json]

Indique l’état de chaque session : working, asking (en attente d’une autorisation ou d’une réponse), waiting (tour terminé) ou unknown. L’état reflète l’activité de la session, et non l’achèvement d’une tâche.

OptionSignification
--waitAttendre le prochain changement au lieu de répondre immédiatement
--followContinuer d’afficher les changements jusqu’à ce que tous les agents soient inactifs
--timeout NDurée maximale d’une attente, en secondes (60 par défaut, 300 au maximum)
--jsonSortie lisible par une machine

Un premier argument facultatif permet de filtrer selon un identifiant d’orchestration issu d’anciennes versions de VelaTerm ; les flux de travail de planification et d’exécution utilisent vflow status à la place.

8. vtell

vtell <session> [--steer] [--message-id msg-UUID] [message...]
vtell [planner-session] --report --round N [--message-id msg-UUID] [message...]

Envoie un message à une autre session. Sans argument de message, le texte est lu sur l’entrée standard. Le destinataire voit l’icône de l’agent expéditeur et le nom de la session expéditrice dans sa conversation, y compris après l’avoir rouverte.

  • Le destinataire doit être une session Claude Code, Codex, OpenCode, Pi ou OMP dans la vue conversation. Les sessions archivées et la session expéditrice elle-même sont refusées.
  • Un destinataire inactif démarre un nouveau tour. Un destinataire occupé met le message en file d’attente jusqu’à la fin de son tour ; --steer l’ajoute plutôt au tour en cours.
  • Un message peut contenir jusqu’à 65 536 octets de texte.
  • La commande affiche un accusé de réception : sent, queued ou steered. blocked signifie que le destinataire attend une autorisation ou une réponse. Un accusé de réception confirme la remise du message, et non l’achèvement du travail par le destinataire.
  • La commande affiche un identifiant de message. Pour relancer une remise dont l’issue est incertaine, répétez la commande avec --message-id et le même texte ; le message ne sera pas remis deux fois.
  • --report --round N est utilisé par les sessions d’exécution d’un flux de travail de planification et d’exécution pour soumettre leur résultat à validation. Le rapport est adressé à la session de planification dont dépend la session d’exécution. Voir Planification et exécution.

9. vrun

vrun [-t <seconds>] <label> <command> [arguments...]
vrun --status <label>

Démarre une commande, attend qu’elle se termine, puis affiche le code de sortie, la durée écoulée et la fin de son journal. Le code de sortie de la commande est transmis tel quel. vrun est destiné aux compilations et aux tests de longue durée : un agent qui les exécute avec vrun prend connaissance du résultat dès qu’il est disponible.

  • -t <seconds> définit la durée d’attente de vrun (1800 secondes par défaut). À l’expiration de ce délai, vrun se termine avec le code 124 et la commande continue de s’exécuter.
  • --status <label> rend compte d’une commande démarrée précédemment avec cette étiquette.
  • Pendant l’exécution d’une commande, la session conserve son état « En cours ». Dans la vue terminal, une ligne « Commandes en arrière-plan » affichée au-dessus du terminal répertorie les commandes en cours avec « Journal » et « Arrêter » ; voir Utilisation du terminal, §6.1.

10. vkb

vkb explore <query> | search <query> | node <symbol-id> | callers <id> [depth] | callees <id> [depth]
    | impact <id> [depth] | path <from-id> <to-id> | files [path]
    | memories <query> | memory <entry-id> | notes <query> | note <vault-id> <path> | status

Interroge le graphe du code de la copie de travail actuelle et la base de connaissances du VelaTerm connecté. Les requêtes sur le code nécessitent que l’indexation soit activée sur la page Graphe du code du projet. vkb fonctionne en lecture seule ; il ne modifie aucun article de connaissance. Voir Graphe du code et base de connaissances, Base de connaissances des sessions et Bases de connaissances locales.

11. vflow

vflow status|stop|propose|dispatch|accept|block <workflow-id> [--round N --message-id msg-UUID] < message.txt

Pilote les flux de travail de planification et d’exécution. La session de planification utilise propose, dispatch, accept et block dans le cadre du flux de travail. Vous aurez surtout besoin de deux actions :

  • vflow status <workflow-id> affiche l’état du flux de travail, ses tâches, ses sessions et le cycle en cours.
  • vflow stop <workflow-id> empêche les cycles suivants et demande aux sessions en cours d’exécution de s’arrêter.

12. La commande vela

Sous macOS, Paramètres ▸ Général ▸ « Commande shell » propose « Installer la commande ‘vela’ ». Cette option ajoute vela <project-path> à votre shell, à la manière de la commande code de VS Code. L’exécution de cette commande dans n’importe quel terminal ouvre le projet dans VelaTerm, ou bascule vers celui-ci s’il est déjà ouvert. VelaTerm ne remplace pas une commande vela existante qu’il n’a pas installée lui-même.