MVCODEDocsv2026.7 · devAbrir o app
Docs/Superfícies do produto/Terminal (TUI)

O terminal é
a superfície nativa.

A TUI é onde o MVCode nasceu: uma interface completa dentro do terminal, com timeline, diffs, permissões e teclado em primeiro lugar. Rodar o binário abre a TUI no diretório atual.

Disponível agoraHow-to /tui1 min de leitura
terminal
mvcode
# ou aponte para um projeto específico
mvcode /caminho/do/projeto

01Conversando com o agente

Digite a mensagem e envie. Três prefixos mudam o comportamento do composer:

PrefixoFaz o quê
@Busca difusa de arquivos no projeto; o conteúdo entra na conversa. Referências configuradas também aparecem — @alias/ autocompleta dentro delas.
!Executa um comando de shell e adiciona a saída como resultado de ferramenta. Ex.: !ls -la.
/Comandos da TUI — a lista completa está abaixo.

02Modos: plan e build

Alterne com Tab. No modo plan, edições ficam bloqueadas por permissão e o agente devolve um plano; no build, ele aplica as mudanças. Use ctrl+t para alternar variantes do modelo (com e sem reasoning estendido).

03Comandos

Digite / seguido do nome. A maioria tem atalho com a leader key ctrl+x — remapeável em atalhos.

ComandoAçãoAtalho
/connectAdicionar provedor e chave de API
/modelsListar e trocar modelosctrl+x m
/newNova sessão (alias /clear)ctrl+x n
/sessionsListar e alternar sessões (/resume, /continue)ctrl+x l
/undo · /redoDesfazer e refazer mudanças (requer repositório Git)ctrl+x u · r
/compactCompactar a sessão (/summarize)ctrl+x c
/detailsAlternar detalhes de execução das ferramentas
/thinkingMostrar ou ocultar blocos de reasoning
/editorCompor a mensagem no seu $EDITORctrl+x e
/exportExportar a conversa em Markdownctrl+x x
/share · /unshareCompartilhar a sessão · remover o link
/initCriar ou atualizar o AGENTS.md
/themesTrocar temactrl+x t
/helpAjuda
/exitSair (/quit, /q)ctrl+x q
Undo com rede

/undo remove a última mensagem, as respostas e as mudanças de arquivo — via snapshots Git. O projeto precisa ser um repositório Git.

04Power-user Implementado

  • Vim mode Em rollout — navegação modal no composer, atrás da flag vim_mode (desligada por padrão). Motions s/S/x e realce visual chegam na próxima rodada.
  • Copy-mode — selecione e copie qualquer trecho da timeline sem tocar o mouse.
  • Densidade — alterne entre timeline confortável e compacta pela command palette.
  • Spinner — o indicador de thinking aceita estilo blocks ou diamonds via spinner.main_style.
  • Quick-switch — sessões e pinned via palette; a árvore da sessão mostra subagentes e recuperação.

05Editor externo

/editor e /export usam o editor da variável EDITOR:

~/.zshrc
export EDITOR="code --wait"
# GUI (VS Code, Cursor, Zed…) precisa do --wait; vim/nano dispensam

06Configuração da TUI

O comportamento visual da TUI vive em um arquivo próprio, tui.json{,c} — separado da config do runtime. Os keybinds se mesclam com os padrões; declare só o que muda. Use MVCODE_TUI_CONFIG para apontar um caminho customizado.

tui.jsonjsonc
{
  "theme": "maxvision",
  "leader_timeout": 2000,
  "keybinds": { "leader": "ctrl+x", "command_list": "ctrl+p" },
  "scroll_speed": 3,
  "diff_style": "auto",
  "mouse": true,
  "vim_mode": false,
  "attention": {
    "enabled": true,
    "notifications": true,
    "sound": true,
    "volume": 0.4
  }
}
OpçãoEfeitoDefault
themeTema visual — veja temasmaxvision
leader_timeoutEspera após a leader key, em ms2000
scroll_speedVelocidade de scroll (ignorada com aceleração ativa)3
scroll_acceleration.enabledAceleração estilo macOS; tem precedência sobre scroll_speedfalse
diff_styleauto adapta à largura · stacked força coluna únicaauto
mouseCaptura de mouse; desligada preserva a seleção nativa do terminaltrue
attentionNotificações e sons para perguntas, permissões, erros e conclusãofalse
Compatibilidade · schema da TUI

O $schema do tui.json permanece em https://opencode.ai/tui.json — é o schema de validação herdado do núcleo e mantê-lo garante autocomplete no editor. O sound pack padrão também preserva o id opencode.default.