Buckets:
| title: TUI | |
| description: Usa l'interfaccia utente da terminale (TUI) di OpenCode. | |
| import { Tabs, TabItem } from "@astrojs/starlight/components" | |
| OpenCode fornisce un'interfaccia interattiva da terminale (TUI) per lavorare sui tuoi progetti con un LLM. | |
| Eseguire OpenCode avvia la TUI per la directory corrente. | |
| ```bash | |
| opencode | |
| ``` | |
| Oppure puoi avviarla per una specifica working directory. | |
| ```bash | |
| opencode /path/to/project | |
| ``` | |
| Una volta nella TUI, puoi inviare un messaggio come prompt. | |
| ```text | |
| Give me a quick summary of the codebase. | |
| ``` | |
| ## Riferimenti ai file | |
| Puoi riferirti ai file nei messaggi usando `@`. Questo esegue una ricerca fuzzy dei file nella working directory corrente. | |
| :::tip | |
| Puoi anche usare `@` per riferirti ai file nei messaggi. | |
| ::: | |
| ```text "@packages/functions/src/api/index.ts" | |
| How is auth handled in @packages/functions/src/api/index.ts? | |
| ``` | |
| Il contenuto del file viene aggiunto automaticamente alla conversazione. | |
| ## Comandi bash | |
| Inizia un messaggio con `!` per eseguire un comando shell. | |
| ```bash frame="none" | |
| !ls -la | |
| ``` | |
| L'output del comando viene aggiunto alla conversazione come risultato di uno strumento. | |
| ## Comandi | |
| Quando usi la TUI di OpenCode, puoi digitare `/` seguito dal nome di un comando per eseguire rapidamente azioni. Per esempio: | |
| ```bash frame="none" | |
| /help | |
| ``` | |
| Molti comandi hanno anche una scorciatoia da tastiera che usa `ctrl+x` come tasto leader (predefinito). [Scopri di più](/docs/keybinds). | |
| Ecco tutti i comandi slash disponibili: | |
| ### connetti | |
| Aggiunge un provider a OpenCode. Ti permette di selezionare tra i provider disponibili e aggiungere le relative chiavi API. | |
| ```bash frame="none" | |
| /connect | |
| ``` | |
| ### compatta | |
| Compatta la sessione corrente. _Alias_: `/summarize` | |
| ```bash frame="none" | |
| /compact | |
| ``` | |
| **Scorciatoia:** `ctrl+x c` | |
| ### dettagli | |
| Attiva/disattiva i dettagli di esecuzione degli strumenti. | |
| ```bash frame="none" | |
| /details | |
| ``` | |
| **Scorciatoia:** `ctrl+x d` | |
| ### editor | |
| Apre un editor esterno per comporre messaggi. Usa l'editor impostato nella variabile d'ambiente `EDITOR`. [Scopri di più](#editor-setup). | |
| ```bash frame="none" | |
| /editor | |
| ``` | |
| **Scorciatoia:** `ctrl+x e` | |
| ### esci | |
| Esce da OpenCode. _Alias_: `/quit`, `/q` | |
| ```bash frame="none" | |
| /exit | |
| ``` | |
| **Scorciatoia:** `ctrl+x q` | |
| ### esporta | |
| Esporta la conversazione corrente in Markdown e la apre nell'editor predefinito. Usa l'editor impostato nella variabile d'ambiente `EDITOR`. [Scopri di più](#editor-setup). | |
| ```bash frame="none" | |
| /export | |
| ``` | |
| **Scorciatoia:** `ctrl+x x` | |
| ### aiuto | |
| Mostra la finestra di aiuto. | |
| ```bash frame="none" | |
| /help | |
| ``` | |
| **Scorciatoia:** `ctrl+x h` | |
| ### inizializza | |
| Crea o aggiorna il file `AGENTS.md`. [Scopri di più](/docs/rules). | |
| ```bash frame="none" | |
| /init | |
| ``` | |
| **Scorciatoia:** `ctrl+x i` | |
| ### modelli | |
| Elenca i modelli disponibili. | |
| ```bash frame="none" | |
| /models | |
| ``` | |
| **Scorciatoia:** `ctrl+x m` | |
| ### nuovo | |
| Avvia una nuova sessione. _Alias_: `/clear` | |
| ```bash frame="none" | |
| /new | |
| ``` | |
| **Scorciatoia:** `ctrl+x n` | |
| ### rifai | |
| Rifai un messaggio precedentemente annullato. Disponibile solo dopo aver usato `/undo`. | |
| :::tip | |
| Vengono ripristinate anche eventuali modifiche ai file. | |
| ::: | |
| Internamente usa Git per gestire le modifiche ai file. Quindi il progetto **deve essere un repository Git**. | |
| ```bash frame="none" | |
| /redo | |
| ``` | |
| **Scorciatoia:** `ctrl+x r` | |
| ### sessioni | |
| Elenca e passa tra le sessioni. _Alias_: `/resume`, `/continue` | |
| ```bash frame="none" | |
| /sessions | |
| ``` | |
| **Scorciatoia:** `ctrl+x l` | |
| ### condividi | |
| Condivide la sessione corrente. [Scopri di più](/docs/share). | |
| ```bash frame="none" | |
| /share | |
| ``` | |
| **Scorciatoia:** `ctrl+x s` | |
| ### temi | |
| Elenca i temi disponibili. | |
| ```bash frame="none" | |
| /themes | |
| ``` | |
| **Scorciatoia:** `ctrl+x t` | |
| ### ragionamento | |
| Attiva/disattiva la visibilità dei blocchi thinking/reasoning nella conversazione. Quando abilitato, puoi vedere il ragionamento del modello per i modelli che supportano extended thinking. | |
| :::note | |
| Questo comando controlla solo se i blocchi di thinking vengono **mostrati**: non abilita o disabilita le capacità di ragionamento del modello. Per cambiare le capacità di ragionamento effettive, usa `ctrl+t` per ciclare tra le varianti del modello. | |
| ::: | |
| ```bash frame="none" | |
| /thinking | |
| ``` | |
| ### annulla | |
| Annulla l'ultimo messaggio nella conversazione. Rimuove l'ultimo messaggio utente, tutte le risposte successive e qualsiasi modifica ai file. | |
| :::tip | |
| Vengono annullate anche eventuali modifiche ai file. | |
| ::: | |
| Internamente usa Git per gestire le modifiche ai file. Quindi il progetto **deve essere un repository Git**. | |
| ```bash frame="none" | |
| /undo | |
| ``` | |
| **Scorciatoia:** `ctrl+x u` | |
| ### annulla condivisione | |
| Annulla la condivisione della sessione corrente. [Scopri di più](/docs/share#un-sharing). | |
| ```bash frame="none" | |
| /unshare | |
| ``` | |
| ## Configurazione dell'editor | |
| Sia `/editor` sia `/export` usano l'editor specificato nella variabile d'ambiente `EDITOR`. | |
| <Tabs> | |
| <TabItem label="Linux/macOS"> | |
| ```bash | |
| # Example for nano or vim | |
| export EDITOR=nano | |
| export EDITOR=vim | |
| # For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc. | |
| # include --wait | |
| export EDITOR="code --wait" | |
| ``` | |
| Per renderlo permanente, aggiungilo al profilo della shell; | |
| `~/.bashrc`, `~/.zshrc`, ecc. | |
| </TabItem> | |
| <TabItem label="Windows (CMD)"> | |
| ```bash | |
| set EDITOR=notepad | |
| # For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc. | |
| # include --wait | |
| set EDITOR=code --wait | |
| ``` | |
| Per renderlo permanente, usa **System Properties** > **Environment Variables**. | |
| </TabItem> | |
| <TabItem label="Windows (PowerShell)"> | |
| ```powershell | |
| $env:EDITOR = "notepad" | |
| # For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc. | |
| # include --wait | |
| $env:EDITOR = "code --wait" | |
| ``` | |
| Per renderlo permanente, aggiungilo al profilo PowerShell. | |
| </TabItem> | |
| </Tabs> | |
| Opzioni comuni per l'editor includono: | |
| - `code` - Visual Studio Code | |
| - `cursor` - Cursor | |
| - `windsurf` - Windsurf | |
| - `nvim` - Neovim editor | |
| - `vim` - Vim editor | |
| - `nano` - Nano editor | |
| - `notepad` - Windows Notepad | |
| - `subl` - Sublime Text | |
| :::note | |
| Alcuni editor come VS Code devono essere avviati con il flag `--wait`. | |
| ::: | |
| Alcuni editor richiedono argomenti da riga di comando per funzionare in modalità bloccante. Il flag `--wait` fa sì che il processo dell'editor resti in attesa finché non viene chiuso. | |
| ## Configurazione | |
| Puoi personalizzare il comportamento della TUI tramite `tui.json` (o `tui.jsonc`). | |
| ```json title="tui.json" | |
| { | |
| "$schema": "https://opencode.ai/tui.json", | |
| "theme": "opencode", | |
| "leader_timeout": 2000, | |
| "keybinds": { | |
| "leader": "ctrl+x", | |
| "command_list": "ctrl+p" | |
| }, | |
| "scroll_speed": 3, | |
| "scroll_acceleration": { | |
| "enabled": false | |
| }, | |
| "diff_style": "auto", | |
| "mouse": true, | |
| "attention": { | |
| "enabled": true, | |
| "notifications": true, | |
| "sound": true, | |
| "volume": 0.4, | |
| "sound_pack": "opencode.default", | |
| "sounds": { | |
| "error": "./sounds/error.mp3" | |
| } | |
| } | |
| } | |
| ``` | |
| Questo è separato da `opencode.json`, che configura il comportamento di server/runtime. | |
| `keybinds` viene unito ai valori predefiniti integrati, quindi devi configurare solo le scorciatoie che vuoi modificare. | |
| ### Opzioni | |
| - `theme` - Imposta il tema della UI. [Scopri di più](/docs/themes). | |
| - `keybinds` - Personalizza le scorciatoie da tastiera. [Scopri di più](/docs/keybinds). | |
| - `leader_timeout` - Controlla per quanto tempo OpenCode attende dopo il leader key. Default: `2000`. | |
| - `scroll_acceleration.enabled` - Abilita l'accelerazione di scroll in stile macOS per uno scorrimento fluido e naturale. Quando abilitata, la velocità aumenta con gesture rapide e resta precisa con movimenti lenti. **Questa impostazione ha precedenza su `scroll_speed` e lo sovrascrive quando attiva.** | |
| - `scroll_speed` - Controlla la velocità di scorrimento della TUI quando usi i comandi di scroll (minimo: `0.001`, supporta valori decimali). Default: `3`. **Nota: viene ignorata se `scroll_acceleration.enabled` è impostato a `true`.** | |
| - `diff_style` - Controlla il rendering delle diff. `"auto"` si adatta alla larghezza del terminale, `"stacked"` mostra sempre un layout a colonna singola. | |
| - `mouse` - Abilita o disabilita la cattura del mouse nella TUI (default: `true`). Quando è disabilitata, il comportamento nativo del terminale per selezione e scorrimento con il mouse viene preservato. | |
| - `attention` - Configura notifiche desktop e suoni della TUI. Disabilitato per impostazione predefinita. | |
| Usa `OPENCODE_TUI_CONFIG` per caricare un path di configurazione TUI personalizzato. | |
| ### Attention | |
| Attention permette alla TUI di avvisarti quando OpenCode aspetta una risposta, richiede l'approvazione di un permesso, incontra un errore di sessione o completa una sessione. Abilitala con `attention.enabled`; gli eventi integrati riproducono un suono quando si verificano. Le notifiche desktop vengono inviate solo quando la finestra del terminale non è in primo piano e non vengono usate per gli eventi subagent. | |
| - `enabled` - Abilita tutte le notifiche e i suoni di Attention. Default: `false`. | |
| - `notifications` - Quando Attention è abilitato, consente alla TUI di inviare notifiche desktop tramite il terminale. Default: `true`. | |
| - `sound` - Quando Attention è abilitato, consente di riprodurre suoni di avviso. Default: `true`. | |
| - `volume` - Volume predefinito dei suoni, da `0` a `1`. Default: `0.4`. | |
| - `sound_pack` - ID del sound pack da usare. Default: `opencode.default`. | |
| - `sounds` - Imposta file audio personalizzati per `default`, `question`, `permission`, `error`, `done` o `subagent_done`. I percorsi possono essere assoluti, URL `file://` o relativi a `tui.json`. | |
| ## Personalizzazione | |
| Puoi personalizzare vari aspetti della vista TUI usando la palette dei comandi (`ctrl+x h` o `/help`). Queste impostazioni persistono tra i riavvii. | |
| #### Visualizzazione nome utente | |
| Attiva/disattiva se lo username appare nei messaggi della chat. Puoi farlo da: | |
| - Palette comandi: cerca "username" o "hide username" | |
| - L'impostazione viene salvata automaticamente e ricordata tra le sessioni TUI | |
Xet Storage Details
- Size:
- 10.2 kB
- Xet hash:
- fece0c8038c4f1060d3d200af5e92545d22428fed368ebdeaeca05fbca31c1d5
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.