feat(Opzione4): workflow vocale a 2 fasi con overlay TUI + vocalPlanningMode
- Dopo la trascrizione F12, agy genera un PIANO (direttiva plan-first: 'produci
solo il piano, NON eseguire nulla, attendi conferma') invece di avviare un
loop agentico autonomo.
- Con vocalPlanningMode=true (default) un overlay TUI (ctx.ui.custom) mostra
trascrizione + piano proposto e attende la conferma dell'utente:
Enter esegui | Esc annulla | E modifica | F12 registra di nuovo
- E entra in modalità modifica del testo del piano; F12 ri-avvia la registrazione.
- vocalPlanningMode=false ripristina l'esecuzione diretta (autonomia piena).
- Nuova chiave config vocalPlanningMode (bool).
- README aggiornato.
This commit is contained in:
@@ -110,6 +110,7 @@ della richiesta utente, seguendo le best practice di context engineering:
|
||||
| `contextInject` | `true` | Iniezione contesto nel prompt agy |
|
||||
| `contextTokens` | `1500` | Token cap per il contesto iniettato |
|
||||
| `webSearch` | `auto` | Ricerca web Strada A: `auto` \| `on` \| `off` |
|
||||
| `vocalPlanningMode` | `true` | Piano + conferma in overlay dopo il vocale |
|
||||
|
||||
Le variabili d'ambiente (`GEMINI_API_KEY`, `AGY_STT_BACKEND`, ecc.) hanno
|
||||
priorità sul file di config quando impostate.
|
||||
@@ -122,6 +123,32 @@ Il flusso: registra → taglia il silenzio → **trascrive con la Gemini API dir
|
||||
interpreta con Gemini usando il contesto della conversazione → inserisce il
|
||||
risultato come prompt su pi.
|
||||
|
||||
Con `vocalPlanningMode=true` (default) il flusso è **a 2 fasi con overlay TUI**:
|
||||
dopo la trascrizione, l'estensione genera un **piano** e mostra un popup di
|
||||
conferma con la trascrizione e il piano proposto:
|
||||
|
||||
```
|
||||
🎙️ Conferma vocale
|
||||
Trascrizione: "Aggiorna i docs..."
|
||||
📋 Piano proposto: ...
|
||||
Enter esegui • Esc annulla • E modifica • F12 registra di nuovo
|
||||
```
|
||||
|
||||
- **Enter** → esegue il piano (invia il risultato a pi)
|
||||
- **Esc** → annulla, nessuna azione
|
||||
- **E** → modifica il testo del piano manualmente
|
||||
- **F12** → registra di nuovo
|
||||
|
||||
Questa modalità evita che l'interpretazione vocale avvii autonomamente loop
|
||||
agentici o modifiche a sorpresa: la direttiva di Gemini è "produci solo il piano,
|
||||
non eseguire nulla", e l'esecuzione parte solo dopo la tua conferma. Per tornare
|
||||
all'esecuzione diretta, imposta `vocalPlanningMode=false` con
|
||||
`/agy:config set vocalPlanningMode false`.
|
||||
|
||||
Il testo scritto nel campo editor prima di avviare la registrazione viene letto
|
||||
(`getEditorText`) e **combinato con la trascrizione audio** nel piano, poi
|
||||
l'editor viene svuotato per evitare reinvii duplicati.
|
||||
|
||||
**Requisito**: la key Gemini API in `~/.agy-chat/gemini-key` (chmod 600) o nella
|
||||
variabile d'ambiente `GEMINI_API_KEY`.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user