Guide

Google Antigravity CLI : commandes, paramètres et autorisations

Updated

Also in: English, Deutsch, Español, Português

On this page

La CLI Google Antigravity (agy) exécute l'agent de programmation d'Antigravity dans votre terminal. Vous la configurez à l'aide de commandes slash telles que /config, /permissions et /hooks, ou dans ses fichiers settings.json et hooks.json. Un mode d'exécution, le paramètre toolPermission ainsi que les règles allow, ask et deny déterminent ce que l'agent est autorisé à faire sans solliciter votre confirmation.

Logitech MX Creative Keypad exécutant Orbtile avec une conversation Google Antigravity sur les touches

Configurer la CLI Antigravity avec /config et settings.json

La CLI conserve vos préférences persistantes dans ~/.gemini/antigravity-cli/settings.json. Elle n'enregistre que les valeurs qui diffèrent des paramètres par défaut.

{
  "agentMode": "accept-edits",
  "toolPermission": "strict",
  "notifications": true
}

Fonctionnement du fichier de configuration :

  • Enregistrement : /config, /model, /effort, /statusline, /title et /permissions écrivent directement dans le fichier. Il en va de même lorsque vous choisissez de toujours autoriser ou toujours refuser lors d'une demande de permission. Rétablir une option à sa valeur par défaut supprime sa clé, et seul votre utilisateur système peut lire le fichier (0600).
  • Aide de l'éditeur : une clé $schema au début du fichier active l'autocomplétion et la validation dans des éditeurs comme VS Code et les IDE JetBrains. La CLI préserve cette clé lors de l'enregistrement.
  • Panneau de configuration : tapez /config (ou /settings) et appuyez sur Enter. Commencez à saisir du texte pour filtrer la liste, modifiez les valeurs avec les touches fléchées ou Enter, puis appuyez sur Esc pour fermer.
  • Drapeaux d'une seule session : les drapeaux tels que agy --sandbox --model="Gemini 3.8 Flash" s'appliquent uniquement à la session courante et ne sont pas enregistrés dans le fichier.
  • Fichiers endommagés : si settings.json contient une valeur invalide ou du JSON mal formé, un écran Settings Error s'affiche. Vous pouvez quitter pour réparer le fichier manuellement, poursuivre avec les valeurs par défaut pour cette session, ou écraser le fichier avec les valeurs par défaut. L'écrasement crée une copie de sauvegarde nommée settings.json.corrupted.<timestamp> et réinitialise chaque paramètre, y compris les règles d'autorisation.

D'autres paramètres sont enregistrés dans leurs propres fichiers :

  • Raccourcis clavier : ~/.gemini/antigravity-cli/keybindings.json, accessible avec /keybindings. Chaque action correspond à une liste de touches. Une liste vide ([]) désactive un raccourci, à l'exception des commandes protégées cli.exit et cli.enter.
  • Serveurs MCP : ~/.gemini/config/mcp_config.json pour l'ensemble des espaces de travail ou <workspace>/.agents/mcp_config.json pour un espace donné, gérés via /mcp.
  • Hooks : ~/.gemini/config/hooks.json au niveau global ou <workspace>/.agents/hooks.json par espace de travail, gérés avec /hooks. Les hooks placés dans settings.json ne sont pas chargés.
  • Plugins : ~/.gemini/config/plugins/<plugin>/ ou <workspace>/.agents/plugins/<plugin>/, chacun disposant d'un manifeste optionnel plugin.json.

Modes d'exécution et autorisations des outils

Deux paramètres contrôlent la fréquence à laquelle l'agent s'interrompt pour vous interroger : le mode d'exécution et toolPermission. Les règles d'interdiction (deny) continuent de bloquer une action quel que soit le mode actif.

Définissez le mode avec agentMode dans settings.json, pour une seule session avec --mode, ou faites défiler les modes avec Shift + Tab :

  • default (en laissant agentMode non défini) : vous demande de relire les diffs avant toute modification de fichier.
  • accept-edits : approuve automatiquement les créations et modifications de fichiers dans l'espace de travail.
  • auto (Preview) : approuve automatiquement les modifications et les commandes sûres, exécute par défaut les commandes de terminal dans le bac à sable du terminal, et suspend les commandes à risque pour demander une confirmation. Ce mode nécessite la version 1.3.5 ou ultérieure sur macOS et Linux, ou la version 1.4.4 ou ultérieure sous Windows. Il n'est pas disponible pour les comptes professionnels et d'entreprise.
  • plan : ajoute /plan pour que l'agent analyse le code et élabore un plan d'intervention avant toute édition.

Le paramètre toolPermission détermine le moment où l'agent doit demander une confirmation avant d'exécuter un outil :

  • request-review (par défaut) : demande une confirmation avant d'exécuter des outils d'écriture, bash, web ou MCP.
  • proceed-in-sandbox : exécute les commandes de terminal sans confirmation lorsque le Sandbox Mode est actif et que la commande tourne dans le bac à sable du terminal.
  • strict : demande une confirmation avant chaque exécution d'outil, y compris les lectures de fichiers. Ce paramètre prévaut sur le mode auto.
  • always-proceed : exécute les commandes de terminal, requêtes web et outils MCP sans confirmation, sauf pour les actions correspondant à une règle ask ou deny. Il prévaut également sur le mode auto.

Règles d'autorisation : allow, ask et deny

Les règles emploient la syntaxe action(target) dans les listes allow, ask et deny sous permissions dans settings.json. Ces listes résident dans votre fichier de configuration global. En cas de conflit, l'ordre d'évaluation est strict : Deny prévaut, puis Ask, puis Allow. Ainsi, avec command(*) dans ask et command(git) dans allow, chaque commande demandera tout de même une confirmation.

ActionExample targetsDefault
read_fileread_file(/path) or read_file(*)Ask, but workspace files are allowed
write_filewrite_file(/path) or write_file(*)Ask, but workspace files are allowed
read_urlread_url(domain) or read_url(*)Ask
execute_urlexecute_url(domain) or execute_url(*)Ask
commandcommand(prefix) or command(regex:pattern)Ask
unsandboxedunsandboxed(prefix) or unsandboxed(*)Ask (business and enterprise accounts only)
mcpmcp(server/tool) or mcp(server/*)Ask

Fonctionnement des règles :

  • Caractères génériques et motifs : * cible toutes les destinations d'une action, comme mcp(*). Les règles command s'appliquent par préfixe, mot à mot. Faites débuter la cible par regex: pour utiliser une expression régulière. Les domaines ciblent également tous leurs sous-domaines.
  • Règles implicites : autoriser write_file sur un chemin autorise également read_file sur ce dernier. Refuser read_file sur un chemin bloque également write_file.
  • Chemins Windows : les lettres de lecteur telles que C: sont retirées et les barres obliques inverses deviennent des barres obliques avant l'évaluation des règles.
  • Modification lors de la confirmation : lorsqu'une invite ask s'affiche pour un fichier, une URL ou un outil MCP, vous pouvez élargir la cible, par exemple d'un fichier à son dossier parent, avant d'autoriser. Cette fonction n'est pas disponible pour les commandes de terminal.

Notifications et hooks

Le paramètre notifications est désactivé par défaut. Activez-le et la CLI fait retentir le signal sonore du terminal tout en affichant une notification sur le bureau dès que l'agent a besoin d'une approbation ou d'une réponse, ou lorsqu'il termine son tour.

Les hooks exécutent vos propres commandes shell à des étapes précises de la boucle de l'agent. Tapez /hooks pour afficher les hooks actifs :

Hook eventWhen it firesMatcher
SessionStartOnce, when a session starts, before the first model callIgnored
PreToolUseBefore a tool runsTool name (regex)
PostToolUseAfter a tool completesTool name (regex)
PreInvocationBefore the model is calledIgnored
PostInvocationRight after each model call completesIgnored
StopWhen execution endsIgnored

Chaque hook reçoit du JSON sur stdin contenant des champs tels que conversationId, workspacePaths, transcriptPath et modelName, et renvoie du JSON sur stdout. Un hook PreToolUse peut renvoyer une decision parmi allow, auto_approve, deny, ask, force_ask ou deny_unless_prior_grant. Un hook Stop renvoyant "decision": "continue" permet à l'agent de poursuivre sa tâche.

Pour gérer les sous-agents en arrière-plan avec /agents, basculer vers les sous-agents en attente et les approuver avec Alt+J et Ctrl+K, et animer des équipes multi-agents avec /teamwork, consultez Google Antigravity multi-agent: run parallel coding agents.

Si vous utilisez également l'éditeur autonome, consultez Google Antigravity IDE: editor, agents and permissions pour découvrir comment il partage les hooks globaux et configure le mode Strict, le bac à sable de terminal et la revue d'artefacts.

Pour connecter des bases de données, de la documentation et des API externes avec /mcp ou mcp_config.json, consultez Google Antigravity MCP servers: set up and manage tools.

Pour installer la CLI dans PowerShell ou l'invite de commandes, configurer votre PATH sous Windows et activer le bac à sable AppContainer, consultez Google Antigravity on Windows: install, CLI and setup.

Suivre les sessions Antigravity sur un pavé ou un téléphone avec Orbtile

Orbtile affiche vos agents de programmation sur un Logitech MX Creative Keypad, un iPhone ou un téléphone Android (Android 8.0 ou supérieur) exécutant Orbtile Mobile. Il fonctionne sur un ordinateur équipé de macOS 14.0 Sonoma ou ultérieur sur Apple silicon, ou de Windows 11 (x64).

  • Application de bureau Antigravity : Orbtile suit les conversations de l'application de bureau Antigravity. Chacune obtient une touche dédiée avec son titre, son état et le texte de sa réponse en direct, et une conversation en attente d'une question passe immédiatement au premier plan. Vous pouvez répondre aux questions à choix numérotés depuis le pavé, jusqu'à quatre questions comportant de deux à quatre options chacune. Les demandes de permissions et les réponses rédigées restent sur votre ordinateur.
  • CLI Antigravity : les sessions de la CLI et de l'IDE n'apparaissent pas automatiquement. Les hooks de la CLI recevant le champ conversationId en JSON, un script de hook peut notifier chaque session à l'Adapter API locale d'Orbtile. Activez l'Adapter API dans Settings > Agents, puis autorisez votre adaptateur. Il peut signaler si la session réfléchit, exécute un outil, génère du texte, est inactive, attend une saisie ou rencontre une erreur.
  • Tous les agents sur un seul pavé : le même pavé ou téléphone affiche vos sessions Claude Code, Codex, ZCode et Kimi Code, ainsi que vos sessions distantes sur SSH. Consultez Notifications Antigravity : savoir quand un agent attend votre réponse et Show any script or agent on a keypad with the Orbtile Adapter API.

FAQ

Where does the Google Antigravity CLI store its settings and hooks?

Les paramètres se trouvent dans ~/.gemini/antigravity-cli/settings.json et les raccourcis clavier dans keybindings.json au sein du même dossier. Les hooks se trouvent dans ~/.gemini/config/hooks.json ou .agents/hooks.json dans votre espace de travail. Les hooks placés dans settings.json ne sont pas chargés.

How does the Antigravity CLI handle conflicting permission rules?

Les règles utilisent le format action(target) dans les listes deny, ask et allow. En cas de conflit, Deny prévaut sur Ask, et Ask prévaut sur Allow.

How do I turn on notifications in the Antigravity CLI?

Ouvrez /config et activez Notifications, ou définissez notifications sur true dans settings.json. La CLI fait alors retentir le signal sonore du terminal et affiche une notification de bureau lorsque l'agent a besoin d'une approbation ou d'une réponse, ou lorsqu'il termine son tour.

Does Orbtile show Google Antigravity CLI sessions?

Pas automatiquement. Orbtile suit l'application de bureau Antigravity, et les sessions CLI et IDE n'apparaissent pas directement. Un script de hook peut transmettre les mises à jour des sessions CLI à l'Adapter API locale d'Orbtile, affichant ainsi chaque session sur un Logitech MX Creative Keypad, un iPhone ou un téléphone Android.