Buckets:
| title: TUI | |
| description: Usando a interface de usuário de terminal opencode. | |
| import { Tabs, TabItem } from "@astrojs/starlight/components" | |
| O opencode fornece uma interface de terminal interativa ou TUI para trabalhar em seus projetos com um LLM. | |
| Executar opencode inicia o TUI para o diretório atual. | |
| ```bash | |
| opencode | |
| ``` | |
| Ou você pode iniciá-lo para um diretório de trabalho específico. | |
| ```bash | |
| opencode /path/to/project | |
| ``` | |
| Uma vez que você esteja no TUI, você pode solicitar com uma mensagem. | |
| ```text | |
| Faça um resumo rápido da base de código. | |
| ``` | |
| ## Referências de arquivos | |
| Você pode referenciar arquivos em suas mensagens usando `@`. Isso faz uma busca difusa de arquivos no diretório de trabalho atual. | |
| :::tip | |
| Você também pode usar `@` para referenciar arquivos em suas mensagens. | |
| ::: | |
| ```text "@packages/functions/src/api/index.ts" | |
| Como a autenticação é tratada em @packages/functions/src/api/index.ts? | |
| ``` | |
| O conteúdo do arquivo é adicionado à conversa automaticamente. | |
| ## Comandos Bash | |
| Comece uma mensagem com `!` para executar um comando de shell. | |
| ```bash frame="none" | |
| !ls -la | |
| ``` | |
| A saída do comando é adicionada à conversa como um resultado de ferramenta. | |
| ## Comandos | |
| Ao usar o TUI do opencode, você pode digitar `/` seguido pelo nome de um comando para executar ações rapidamente. Por exemplo: | |
| ```bash frame="none" | |
| /help | |
| ``` | |
| A maioria dos comandos também possui atalhos usando `ctrl+x` como a tecla líder, onde `ctrl+x` é a tecla líder padrão. [Saiba mais](/docs/keybinds). | |
| Aqui estão todos os comandos de barra disponíveis: | |
| ### connect | |
| Adicione um provedor ao opencode. Permite que você selecione entre os provedores disponíveis e adicione suas chaves de API. | |
| ```bash frame="none" | |
| /connect | |
| ``` | |
| ### compact | |
| Compacte a sessão atual. _Alias_: `/summarize` | |
| ```bash frame="none" | |
| /compact | |
| ``` | |
| **Atalho:** `ctrl+x c` | |
| ### details | |
| Alternar detalhes da execução da ferramenta. | |
| ```bash frame="none" | |
| /details | |
| ``` | |
| **Atalho:** `ctrl+x d` | |
| ### editor | |
| Abra um editor externo para compor mensagens. Usa o editor definido na sua variável de ambiente `EDITOR`. [Saiba mais](#editor-setup). | |
| ```bash frame="none" | |
| /editor | |
| ``` | |
| **Atalho:** `ctrl+x e` | |
| ### exit | |
| Saia do opencode. _Aliases_: `/quit`, `/q` | |
| ```bash frame="none" | |
| /exit | |
| ``` | |
| **Atalho:** `ctrl+x q` | |
| ### export | |
| Exporte a conversa atual para Markdown e abra no seu editor padrão. Usa o editor definido na sua variável de ambiente `EDITOR`. [Saiba mais](#editor-setup). | |
| ```bash frame="none" | |
| /export | |
| ``` | |
| **Atalho:** `ctrl+x x` | |
| ### help | |
| Mostre o diálogo de ajuda. | |
| ```bash frame="none" | |
| /help | |
| ``` | |
| **Atalho:** `ctrl+x h` | |
| ### init | |
| Crie ou atualize o arquivo `AGENTS.md`. [Saiba mais](/docs/rules). | |
| ```bash frame="none" | |
| /init | |
| ``` | |
| **Atalho:** `ctrl+x i` | |
| ### models | |
| Liste os modelos disponíveis. | |
| ```bash frame="none" | |
| /models | |
| ``` | |
| **Atalho:** `ctrl+x m` | |
| ### new | |
| Inicie uma nova sessão. _Alias_: `/clear` | |
| ```bash frame="none" | |
| /new | |
| ``` | |
| **Atalho:** `ctrl+x n` | |
| ### redo | |
| Refaça uma mensagem anteriormente desfeita. Disponível apenas após usar `/undo`. | |
| :::tip | |
| Quaisquer alterações de arquivo também serão restauradas. | |
| ::: | |
| Internamente, isso usa Git para gerenciar as alterações de arquivo. Portanto, seu projeto **precisa ser um repositório Git**. | |
| ```bash frame="none" | |
| /redo | |
| ``` | |
| **Atalho:** `ctrl+x r` | |
| ### sessions | |
| Liste e alterne entre sessões. _Aliases_: `/resume`, `/continue` | |
| ```bash frame="none" | |
| /sessions | |
| ``` | |
| **Atalho:** `ctrl+x l` | |
| ### share | |
| Compartilhe a sessão atual. [Saiba mais](/docs/share). | |
| ```bash frame="none" | |
| /share | |
| ``` | |
| **Atalho:** `ctrl+x s` | |
| ### themes | |
| Liste os temas disponíveis. | |
| ```bash frame="none" | |
| /themes | |
| ``` | |
| **Atalho:** `ctrl+x t` | |
| ### thinking | |
| Alternar a visibilidade dos blocos de pensamento/razão na conversa. Quando ativado, você pode ver o processo de raciocínio do modelo para modelos que suportam pensamento estendido. | |
| :::note | |
| Este comando apenas controla se os blocos de pensamento são **exibidos** - não ativa ou desativa as capacidades de raciocínio do modelo. Para alternar as capacidades reais de raciocínio, use `ctrl+t` para alternar entre variantes do modelo. | |
| ::: | |
| ```bash frame="none" | |
| /thinking | |
| ``` | |
| ### undo | |
| Desfaça a última mensagem na conversa. Remove a mensagem mais recente do usuário, todas as respostas subsequentes e quaisquer alterações de arquivo. | |
| :::tip | |
| Quaisquer alterações de arquivo feitas também serão revertidas. | |
| ::: | |
| Internamente, isso usa Git para gerenciar as alterações de arquivo. Portanto, seu projeto **precisa ser um repositório Git**. | |
| ```bash frame="none" | |
| /undo | |
| ``` | |
| **Atalho:** `ctrl+x u` | |
| ### unshare | |
| Descompartilhe a sessão atual. [Saiba mais](/docs/share#un-sharing). | |
| ```bash frame="none" | |
| /unshare | |
| ``` | |
| ## Configuração do Editor | |
| Tanto os comandos `/editor` quanto `/export` usam o editor especificado na sua variável de ambiente `EDITOR`. | |
| <Tabs> | |
| <TabItem label="Linux/macOS"> | |
| ```bash | |
| # Exemplo para nano ou vim | |
| export EDITOR=nano | |
| export EDITOR=vim | |
| # Para editores GUI, VS Code, Cursor, VSCodium, Windsurf, Zed, etc. | |
| # inclua --wait | |
| export EDITOR="code --wait" | |
| ``` | |
| Para torná-lo permanente, adicione isso ao seu perfil de shell; | |
| `~/.bashrc`, `~/.zshrc`, etc. | |
| </TabItem> | |
| <TabItem label="Windows (CMD)"> | |
| ```bash | |
| set EDITOR=notepad | |
| # Para editores GUI, VS Code, Cursor, VSCodium, Windsurf, Zed, etc. | |
| # inclua --wait | |
| set EDITOR=code --wait | |
| ``` | |
| Para torná-lo permanente, use **Propriedades do Sistema** > **Variáveis de Ambiente**. | |
| </TabItem> | |
| <TabItem label="Windows (PowerShell)"> | |
| ```powershell | |
| $env:EDITOR = "notepad" | |
| # Para editores GUI, VS Code, Cursor, VSCodium, Windsurf, Zed, etc. | |
| # inclua --wait | |
| $env:EDITOR = "code --wait" | |
| ``` | |
| Para torná-lo permanente, adicione isso ao seu perfil do PowerShell. | |
| </TabItem> | |
| </Tabs> | |
| As opções de editor populares incluem: | |
| - `code` - VS Code | |
| - `cursor` - Cursor | |
| - `windsurf` - Windsurf | |
| - `nvim` - Editor Neovim | |
| - `vim` - Editor Vim | |
| - `nano` - Editor Nano | |
| - `notepad` - Bloco de Notas do Windows | |
| - `subl` - Sublime Text | |
| :::note | |
| Alguns editores como o VS Code precisam ser iniciados com a flag `--wait`. | |
| ::: | |
| Alguns editores precisam de argumentos de linha de comando para rodar em modo bloqueante. A flag `--wait` faz com que o processo do editor bloqueie até ser fechado. | |
| ## Configuração | |
| Você pode personalizar o comportamento do TUI através de `tui.json` (ou `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" | |
| } | |
| } | |
| } | |
| ``` | |
| Isso é separado do `opencode.json`, que configura o comportamento do servidor/runtime. | |
| `keybinds` é combinado com os padrões internos, então você só precisa configurar os atalhos que deseja alterar. | |
| ### Opções | |
| - `theme` - Define o tema da sua interface. [Saiba mais](/docs/themes). | |
| - `keybinds` - Personaliza atalhos de teclado. [Saiba mais](/docs/keybinds). | |
| - `leader_timeout` - Controla por quanto tempo o OpenCode espera depois da leader key. O padrão é `2000`. | |
| - `scroll_acceleration.enabled` - Ative a aceleração de rolagem no estilo macOS para uma rolagem suave e natural. Quando ativado, a velocidade de rolagem aumenta com gestos de rolagem rápidos e permanece precisa para movimentos mais lentos. **Esta configuração tem precedência sobre `scroll_speed` e a substitui quando ativada.** | |
| - `scroll_speed` - Controla quão rápido o TUI rola ao usar comandos de rolagem (mínimo: `0.001`, suporta valores decimais). O padrão é `3`. **Nota: Isso é ignorado se `scroll_acceleration.enabled` estiver definido como `true`.** | |
| - `diff_style` - Controla a renderização de diffs. `"auto"` se adapta à largura do terminal, `"stacked"` sempre mostra um layout de coluna única. | |
| - `mouse` - Ativa ou desativa a captura do mouse no TUI (padrão: `true`). Quando desativado, o comportamento nativo do terminal para seleção e rolagem com o mouse é preservado. | |
| - `attention` - Configura notificações de desktop e sons do TUI. Desativado por padrão. | |
| Use `OPENCODE_TUI_CONFIG` para carregar um caminho de configuração TUI personalizado. | |
| ### Attention | |
| Attention permite que o TUI avise você quando o OpenCode espera uma resposta, precisa da aprovação de uma permissão, encontra um erro de sessão ou conclui uma sessão. Ative com `attention.enabled`; eventos integrados reproduzem sons quando acontecem. As notificações de desktop só são enviadas quando a janela do terminal não está em foco e não são usadas para eventos de subagent. | |
| - `enabled` - Ativa todas as notificações e sons de Attention. O padrão é `false`. | |
| - `notifications` - Quando Attention está ativo, permite que o TUI envie notificações de desktop pelo terminal. O padrão é `true`. | |
| - `sound` - Quando Attention está ativo, permite reproduzir sons de aviso. O padrão é `true`. | |
| - `volume` - Volume padrão dos sons, de `0` a `1`. O padrão é `0.4`. | |
| - `sound_pack` - ID do sound pack a ser usado. O padrão é `opencode.default`. | |
| - `sounds` - Define arquivos de som personalizados para `default`, `question`, `permission`, `error`, `done` ou `subagent_done`. Os caminhos podem ser absolutos, URLs `file://` ou relativos a `tui.json`. | |
| ## Personalização | |
| Você pode personalizar vários aspectos da visualização do TUI usando a paleta de comandos (`ctrl+x h` ou `/help`). Essas configurações persistem entre reinicializações. | |
| #### Exibição do nome de usuário | |
| Alternar se seu nome de usuário aparece nas mensagens de chat. Acesse isso através de: | |
| - Paleta de comandos: Pesquise por "username" ou "hide username" | |
| - A configuração persiste automaticamente e será lembrada entre as sessões do TUI | |
Xet Storage Details
- Size:
- 10.3 kB
- Xet hash:
- a6e0722e8240062b4f385bc5323548cdc268a1fb10557f64c0cf2721b800a40b
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.