# Comandi e stato della creazione con IA

<PageBadges />

## Riferimento dei comandi

La modalità AI accetta richieste in linguaggio naturale e comandi con barra. Tutto l'input senza
prefisso viene inviato al modello; ogni comando deterministico inizia con `/`. Ad esempio, usa
`/preview`, non `preview`.

| Comando                        | Scopo                                                                     |
| ------------------------------ | ------------------------------------------------------------------------- |
| `/help`                        | Mostra il riepilogo allineato dei comandi AI.                             |
| `/status`                      | Mostra schema, bozza, modello, autenticazione, politica, attività e coda. |
| `/providers`                   | Elenca provider Pi, metodi di autenticazione e numero di modelli.         |
| `/models <provider>`           | Elenca gli identificatori dei modelli di un provider.                     |
| `/login <provider> <method>`   | Autentica tramite il flusso `api_key` o `oauth` definito da Pi.           |
| `/model [provider/model]`      | Apre il selettore o sceglie esplicitamente provider e modello.            |
| `/privacy`                     | Spiega la politica cloud e di consenso effettiva dello schema.            |
| `/load [file\|form]`           | Carica un altro modulo e passa alla sua conversazione specifica.          |
| `/preview`                     | Mostra l'albero leggibile del modulo di lavoro.                           |
| `/json`                        | Stampa lo schema di lavoro come JSON grezzo.                              |
| `/validate`                    | Convalida lo schema di lavoro, inclusa una proposta non applicata.        |
| `/serve [options]`             | Avvia l'anteprima; `--app` avvia anche l'app configurata.                 |
| `/serve status`, `/serve stop` | Controlla o arresta i server senza uscire dalla modalità AI.              |
| `/diff`                        | Mostra le modifiche cumulative dall'ingresso in modalità AI.              |
| `/diff --pending`              | Mostra solo le modifiche dall'ultima applicazione.                        |
| `/apply [schema-path]`         | Ricontrolla e salva atomicamente la proposta in sospeso.                  |
| `/discard`                     | Abbandona la bozza e ripristina l'anteprima confermata.                   |
| `/undo`                        | Prepara l'ultimo schema salvato nella sessione per l'approvazione.        |
| `/new`                         | Avvia una conversazione mantenendo il modello selezionato.                |
| `/clear`                       | Elimina la cronologia del modulo e mantiene il modello.                   |
| `/cancel`                      | Annulla la richiesta attiva e svuota la coda dei follow-up.               |
| `/exit`                        | Torna alla shell; chiede conferma se una proposta non è applicata.        |

## Stato

Lo stato è locale: non contatta il provider né recupera saldi di crediti:

```ansi
form0(ai)> /status

AI authoring status
  Schema:             /project/form.schema.json
  Draft:              none
  Provider:           openai-codex
  Model:              gpt-5.6-luna
  Cloud policy:       allowed
  Conversation:       persisted
  Activity:           idle
  Queued follow-ups:  0
  Authentication:
    openai-codex  oauth (stored, subscription) [selected]
```

L'autenticazione identifica origine e tipo, ma non stampa mai una credenziale. Un provider può
essere autenticato senza essere selezionato e l'autenticazione non implica crediti disponibili.

## Prompt pronto e occupato

Una richiesta cambia lo stato del prompt e mostra il modello attivo:

```ansi
[AI] Thinking with openai-codex/gpt-5.6-luna…
form0(ai,busy)>
```

Con il server attivo, il prompt è `form0(server,ai,busy)>`. Al termine torna a
`form0(ai)>` o `form0(server,ai)>`.

Premere Invio su una riga vuota non esegue operazioni e ridisegna il prompt. Il testo inserito mentre
è occupato viene accodato in ordine FIFO e viene confermato con la sua posizione.

## Comandi disponibili mentre è occupato

Durante una richiesta restano disponibili `/help`, `/status`, `/privacy`, `/cancel`, `/serve status`
e `/serve stop`. Gli altri comandi con barra vengono rifiutati fino al termine, evitando modifiche a
modello, conversazione o bozza sotto una richiesta attiva.

L'annullamento chiede a Pi di interrompere la richiesta e svuota tutti i follow-up. Se riesce, torna
al prompt pronto senza mostrare l'annullamento del provider come un secondo errore.
