The antigravity provider list lived only in a module-scoped variable initialized from ANTG_PROVIDER_MODELS, so /agy:refresh-models updated the running process but the list silently reset to the static defaults on /reload or restart. - add ~/.config/agy-pi/models-cache.json (mode 0600, atomic write) storing version, refreshedAt, project and the fetched model definitions - load the cache at startup; fall back to ANTG_PROVIDER_MODELS when the file is missing, unreadable, corrupt or has an incompatible version - persist the live catalog in /agy:refresh-models and report the file path - add /agy:models-reset to drop the cache and restore the defaults Verified: extension loads with no cache (11 defaults), a valid cache is honored and registered, corrupt/invalid/version-mismatched caches fall back silently, and /agy:models-reset deletes the cache and re-registers the defaults end-to-end over RPC.
agy-pi
Estensione per pi che integra il client OAuth Google Antigravity (agy) come subagent multimodale. Non usa né gestisce chiavi Google AI Studio/Gemini API.
Capacità
- chat e ragionamento multi-turno;
- generazione, editing, composizione e analisi immagini;
- analisi video;
- trascrizione audio e input vocale F12 tramite Antigravity;
- analisi qualitativa di effetti audio con waveform e metadati locali;
- catalogo modelli e stato conversazione Antigravity.
Strumenti principali: agy, agy_generate, agy_edit, agy_inpaint, agy_style_transfer, agy_compose, agy_character, agy_analyze, agy_transcribe, agy_analyze_audio, agy_video, agy_models, agy_conversation, antigravity_chat.
Non include TTS interno né generazione immagini verificata iterativa.
Audio e F12
Premi F12 per avviare/fermare la registrazione. L'audio viene ottimizzato, convertito in Opus/OGG e inviato al modello voiceModel tramite il gateway Antigravity OAuth. Il workflow genera trascrizione e prompt pulito; con vocalPlanningMode=true richiede una conferma nell'overlay prima dell'invio a pi.
agy_analyze_audio aggiunge un percorso separato per gli effetti non vocali: misura il file con ffprobe, genera una waveform con ffmpeg e invia audio, immagine e contesto locale insieme a Gemini tramite inlineData. Non richiede una chiave Gemini esterna e non assume che l'audio contenga parlato.
agy_transcribe usa la stessa pipeline Antigravity. Non esistono fallback a servizi con chiave API esterna. I suoni di start/stop/done sono effetti locali, non sintesi vocale.
Configurazione
/agy:config
/agy:config set voiceModel gemini-3.7-flash-medium
/agy:status
Le impostazioni sono in ~/.config/agy-pi/config.json. Serve solo completare il login OAuth del client agy.
Installazione
pi install git:git.enne2.net/enne2/agy-pi
# oppure
pi -e /percorso/a/agy-pi
Consulta docs/configuration.md, docs/tools.md e docs/vocal-workflow.md per i dettagli.