Connectez Antigravity à Observagent.
Continuez à utiliser le CLI Antigravity pendant qu'un adaptateur Python léger envoie des journaux OTLP authentifiés à votre projet Observagent.
Choisissez la couverture de télémétrie dont vous avez besoin
Antigravity expose des événements stream-json structurés en mode impression non interactif. L'adaptateur convertit la conversation, les étapes, la complétion, le chronométrage et les informations de jetons disponibles en journaux OTLP. En mode interactif, le terminal doit rester directement attaché à Antigravity, donc le wrapper n'enregistre que le début et la fin de session.
- Mode impression : événements structurés détaillés pour une invite, incluant les champs d'usage disponibles.
- Mode interactif : ID de session, étiquette de modèle, répertoire de travail, durée, statut et code de sortie.
- Les invites interactives et les comptages de jetons ne sont pas exposés par l'interface CLI documentée et ne sont donc pas collectés.
- Le graphique d'usage de modèle compte les enregistrements de télémétrie contenant un attribut de modèle. Il ne compte pas les invites ou sessions uniques.
Offre minimum requise
Antigravity Free (compte individuel).
- Connectez-vous avec un compte Google admissible à Antigravity. Le CLI est inclus dans toutes les offres ; les modèles et les limites d’usage dépendent de votre offre.
Conditions examinées le .
Étapes d'intégration
Sélectionnez une plateforme pour voir les commandes et chemins propres à votre ordinateur. La configuration du projet et la vérification de la livraison sont communes à toutes les plateformes.
- Étape 1
Vérifier les prérequis
Confirmez que le CLI Antigravity et Python sont installés.
- Confirmez que agy correspond à l’exécutable que vous utilisez normalement avant de créer un wrapper ou un pipeline.
- Utilisez une version de Python 3 prise en charge et conservez son environnement virtuel local à cet adaptateur.
PowerShellagy --help python --version - Étape 2
Créer l'environnement de l'adaptateur
Placez antigravity_to_observagent.py dans ce répertoire, puis installez sa dépendance.
- Téléchargez antigravity_to_observagent.py dans le répertoire créé par cette étape.
- Appeler directement le Python de l’environnement virtuel évite de dépendre de l’activation du shell.
PowerShellNew-Item -ItemType Directory -Force "$HOME\antigravity-observagent" Set-Location "$HOME\antigravity-observagent" python -m venv .venv .\.venv\Scripts\python.exe -m pip install opentelemetry-proto - Étape 3
Configurer et exécuter
Conservez la clé de projet uniquement dans le terminal actuel. L'adaptateur ajoute /v1/logs.
- Remplacez le point de terminaison d’exemple si votre déploiement Observagent utilise un autre nom d’hôte HTTPS.
- L’invite de clé masquée garde l’identifiant hors de l’historique du terminal sous macOS et Linux.
- Le mode impression fournit des événements en flux détaillés ; le mode interactif peut ne fournir que les limites de session.
PowerShell$env:OBSERVAGENT_ENDPOINT = "https://dashboard.observagent.cloud" $env:OBSERVAGENT_API_KEY = (Read-Host "Project key").Trim() $env:OBSERVAGENT_USER_ID = "local-user" agy --model gemini-3.8-flash -p "Explain observability in one sentence" --output-format stream-json | & "$HOME\antigravity-observagent\.venv\Scripts\python.exe" "$HOME\antigravity-observagent\antigravity_to_observagent.py" - Étape 4
Vérifier la livraison
Une fois la commande terminée, ouvrez Données de télémétrie dans Observagent et filtrez par la session Antigravity et l'identité local-user.
- Laissez quelques secondes à l’exportateur pour se vider après la fin de la commande.
- Confirmez l’identité de session, l’horodatage, le modèle et la source de l’événement avant de considérer la livraison comme terminée.
1. Préparer PowerShell et Python
Vous avez besoin de la commande agy, de Python 3, d'un projet Observagent, et d'une clé API de projet avec la permission telemetry:write.
agy --help
python --versionCréez ou sélectionnez un projet dans Observagent, activez Journaux, et générez une clé de projet. Traitez la clé complète comme un secret ; ne la commettez jamais dans le contrôle de version et ne la collez jamais dans une documentation publique.
2. Installer l'adaptateur local
Placez antigravity_to_observagent.py dans un répertoire d'intégration local, créez un environnement virtuel et installez la dépendance protobuf OTLP.
New-Item -ItemType Directory -Force "$HOME\antigravity-observagent"
Set-Location "$HOME\antigravity-observagent"
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install opentelemetry-protoUtilisez directement le Python de l'environnement virtuel dans les wrappers afin que l'intégration ne dépende pas de l'activation ou du PATH Python du shell actuel.
3. Configurer la destination de manière sécurisée
Définissez l'URL de base d'ingestion et la clé de projet dans la session PowerShell qui lance Antigravity. L'adaptateur ajoute /v1/logs à l'URL de base.
$env:OBSERVAGENT_ENDPOINT = "https://dashboard.observagent.cloud"
$env:OBSERVAGENT_API_KEY = (Read-Host "Observagent project API key").Trim()
$env:OBSERVAGENT_USER_ID = "local-user"Les variables d'environnement définies ainsi ne durent que pour le processus PowerShell actuel. Ne stockez pas une clé active dans un profil ou script de configuration commité.
4. Envoyer une télémétrie détaillée en mode impression
$adapter = "$HOME\antigravity-observagent\antigravity_to_observagent.py"
agy --model gemini-3.8-flash -p "Explain observability in one sentence" --output-format stream-json |
& "$HOME\antigravity-observagent\.venv\Scripts\python.exe" $adapterL'adaptateur affiche le texte de réponse tout en exportant les événements pris en charge. N'ajoutez pas une deuxième option output-format. Chaque journal étiqueté d'un modèle émis peut contribuer à l'usage de modèle, donc le total du graphique n'est pas nécessairement un par invite.
5. Préserver le CLI interactif
Une fonction PowerShell peut envelopper l'exécutable réel sans acheminer sa sortie terminal. Capturez le chemin de l'exécutable avant de définir la fonction pour éviter la récursion. Envoyez session-start, lancez Antigravity normalement, puis envoyez session-end dans un bloc finally.
$script:AntigravityExe = (Get-Command agy -CommandType Application).Source
$script:Adapter = "$HOME\antigravity-observagent\antigravity_to_observagent.py"
$script:AdapterPython = "$HOME\antigravity-observagent\.venv\Scripts\python.exe"
function global:agy {
$sessionId = [guid]::NewGuid().ToString()
$started = Get-Date
$exitCode = 1
$model = "gemini-3.8-flash"
for ($i = 0; $i -lt $args.Count; $i++) {
if ($args[$i] -eq "--model" -and $i + 1 -lt $args.Count) { $model = $args[$i + 1]; break }
if ($args[$i] -is [string] -and $args[$i].StartsWith("--model=")) { $model = $args[$i].Substring(8); break }
}
& $script:AdapterPython $script:Adapter session-start --session-id $sessionId --cwd (Get-Location).Path --model $model
try {
& $script:AntigravityExe @args
$exitCode = $LASTEXITCODE
} finally {
$durationMs = ((Get-Date) - $started).TotalMilliseconds
& $script:AdapterPython $script:Adapter session-end --session-id $sessionId --exit-code $exitCode --duration-ms $durationMs --model $model
$global:LASTEXITCODE = $exitCode
}
}Exécutez agy normalement après avoir chargé la fonction. Une session ouverte émet un enregistrement de début ; en sortir émet un enregistrement de fin. Envoyer six invites dans cette session ne produit toujours que ces deux enregistrements.
6. Vérifier les enregistrements dans Observagent
Ouvrez Données de télémétrie, choisissez une plage de temps incluant la nouvelle activité, effacez les anciens filtres, et recherchez agent:antigravity-cli. Inspectez les attributs originaux pour event.name, session.id, model, et les champs de durée.
- Début interactif :
antigravity.session.started. - Complétion interactive :
antigravity.session.completed. - Complétion de conversation en mode impression :
antigravity.response.completed. - L'usage de modèle compte les enregistrements contenant un champ de modèle reconnu, pas les invites uniques.
Dépanner une télémétrie manquante
- Aucun enregistrement : confirmez le point de terminaison, assurez-vous que la clé a
telemetry:write, et activez Journaux pour le projet sélectionné. - L'usage de modèle affiche un lors d'une session interactive : seul l'enregistrement de début existe jusqu'à ce que vous quittiez Antigravity.
- L'usage de modèle affiche deux après de nombreuses invites : le mode interactif enregistre les limites de session, pas les limites d'invite.
- Modèle non signalé : rechargez le dernier wrapper et passez
--modelou configurez le bon modèle par défaut. - Aucun total de jetons en mode interactif : le CLI interactif documenté n'expose pas l'usage de jetons par tour au wrapper.
- HTTP 401 : remplacez la valeur configurée par la clé de projet brute complète. Ne partagez jamais la clé dans une sortie de diagnostic.