Terminal de código aberto integrado com IA com sessões persistentes, gráficos inline e gerenciamento de conexões remotas.
| Comando | Descrição |
|---|
brew install --cask wave | Instalar no macOS com Homebrew |
Baixar de waveterm.dev | Instalar do site oficial |
Baixar .deb ou .rpm dos releases | Instalar no Linux |
Baixar instalador .exe dos releases | Instalar no Windows |
wsh version | Mostrar versão do CLI Wave |
wsh help | Mostrar comandos wsh disponíveis |
| Comando | Descrição |
|---|
Cmd/Ctrl + N | Abrir nova aba de terminal |
Cmd/Ctrl + T | Abrir nova aba de workspace |
Cmd/Ctrl + W | Fechar aba atual |
Cmd/Ctrl + Shift + N | Abrir nova janela |
Cmd/Ctrl + 1-9 | Alternar para aba por número |
Cmd/Ctrl + Shift + ] | Próxima aba |
Cmd/Ctrl + Shift + [ | Aba anterior |
Cmd/Ctrl + Shift + T | Reabrir última aba fechada |
| Comando | Descrição |
|---|
Cmd/Ctrl + Shift + D | Dividir terminal horizontalmente |
Cmd/Ctrl + D | Dividir terminal verticalmente |
| Clicar e arrastar bordas dos blocos | Redimensionar painéis do terminal |
Alt + Teclas de seta | Navegar entre blocos |
Cmd/Ctrl + Enter | Maximizar/restaurar bloco atual |
Cmd/Ctrl + Shift + P | Abrir paleta de comandos |
Cmd/Ctrl + Backspace | Fechar bloco atual |
| Comando | Descrição |
|---|
Cmd/Ctrl + Space | Abrir chat de IA no bloco atual |
| Digitar pergunta no chat de IA | Perguntar à IA sobre comandos ou código |
/explain no chat de IA | Explicar saída do comando anterior |
/fix no chat de IA | Sugerir correção para último erro |
/summarize no chat de IA | Resumir saída longa |
| Clicar “Apply” na sugestão da IA | Inserir comando sugerido no terminal |
Esc | Fechar painel de chat de IA |
| Comando | Descrição |
|---|
| Configurar modelo de IA nas configurações | Escolher entre OpenAI, Anthropic, modelos locais |
Definir ai:preset na config | Alternar entre provedores de IA |
Definir ai:apitoken na config | Configurar chave de API do provedor de IA |
Definir ai:model na config | Especificar nome do modelo (ex: gpt-4, claude-3) |
Definir ai:baseurl na config | Apontar para endpoint de API personalizado/local |
Definir ai:maxtokens na config | Definir máximo de tokens de resposta |
{
"ai:preset": "custom",
"ai:apitoken": "sk-...",
"ai:baseurl": "https://api.openai.com/v1",
"ai:model": "gpt-4",
"ai:maxtokens": 2048
}
Para modelos locais usando Ollama:
{
"ai:preset": "custom",
"ai:baseurl": "http://localhost:11434/v1",
"ai:model": "llama3",
"ai:maxtokens": 4096
}
| Comando | Descrição |
|---|
wsh ssh user@hostname | Conectar ao host remoto via SSH |
wsh ssh user@host -i ~/.ssh/key | SSH com chave de identidade específica |
wsh ssh -p 2222 user@host | SSH em porta personalizada |
| Clicar ”+” depois “SSH Connection” | Criar conexão SSH pela interface |
| Conexões persistem entre sessões | Sessões sobrevivem ao reinício do app |
wsh ssh-import | Importar conexões do config SSH |
Configurar entradas em ~/.ssh/config | Auto-descobrir hosts SSH |
| Clicar com botão direito na conexão e Reconectar | Reconectar sessão SSH perdida |
Wave lê seu SSH config para descoberta de hosts. Configure entradas para conexões transparentes:
Host prod-web
HostName 10.0.1.50
User deploy
IdentityFile ~/.ssh/deploy_key
Port 22
Host staging-*
HostName %h.staging.example.com
User admin
IdentityFile ~/.ssh/staging_key
ForwardAgent yes
Host jump-box
HostName bastion.example.com
User ops
IdentityFile ~/.ssh/ops_key
Host internal-*
ProxyJump jump-box
User admin
IdentityFile ~/.ssh/internal_key
| Comando | Descrição |
|---|
wsh view remote:file.txt | Visualizar arquivo no host remoto |
wsh edit remote:file.txt | Editar arquivo no host remoto inline |
wsh view remote:/var/log/syslog | Visualizar arquivo de log remoto |
wsh run --remote user@host -- command | Executar comando no host remoto em novo bloco |
| Comando | Descrição |
|---|
wsh view file.png | Visualizar imagem inline no terminal |
wsh view file.jpg | Visualizar imagem JPEG inline |
wsh view file.svg | Visualizar gráfico SVG inline |
wsh view file.md | Renderizar markdown inline |
wsh view file.csv | Exibir CSV como tabela |
wsh view file.json | Exibir JSON com destaque de sintaxe |
wsh view file.pdf | Pré-visualizar documento PDF |
wsh view https://example.com | Incorporar página web no bloco |
| Comando | Descrição |
|---|
wsh edit file.txt | Abrir arquivo no editor inline |
wsh edit --lang=python script.py | Abrir editor com modo de linguagem |
wsh getmeta | Obter metadados do bloco atual |
wsh setmeta key=value | Definir metadados do bloco |
wsh run -- command args | Executar comando em novo bloco |
wsh run --magnify -- htop | Executar comando em bloco maximizado |
wsh createblock | Criar um bloco vazio |
wsh createblock --tabid=tab1 | Criar bloco em aba específica |
| Comando | Descrição |
|---|
wsh view --magnify file.png | Visualizar imagem em bloco maximizado |
wsh view --height=20 file.csv | Visualizar com altura de bloco específica |
| Arrastar e soltar arquivos no Wave | Visualizar arquivos diretamente |
wsh view . | Navegar diretório atual |
wsh view ~/projects | Navegar diretório específico |
| Comando | Descrição |
|---|
| Abrir Configurações depois Aparência | Mudar tema e cores |
| Abrir Configurações depois Terminal | Configurar fonte, tamanho, cursor |
Definir term:fontsize na config | Definir tamanho da fonte do terminal |
Definir term:fontfamily na config | Definir família da fonte do terminal |
Definir term:theme na config | Definir tema de cores do terminal |
Definir term:cursorstyle na config | Definir estilo do cursor (block, bar, underline) |
Definir window:transparent na config | Ativar transparência da janela |
Definir window:blur na config | Ativar desfoque de fundo |
Definir window:opacity na config | Definir nível de opacidade da janela |
Definir telemetry:enabled = false | Desativar telemetria |
{
"term:fontsize": 14,
"term:fontfamily": "JetBrains Mono, Menlo, monospace",
"term:theme": "dracula",
"term:cursorstyle": "bar",
"term:scrollback": 10000,
"window:transparent": true,
"window:blur": true,
"window:opacity": 0.92
}
{
"term:theme": "custom",
"term:localtheme": {
"black": "#282a36",
"red": "#ff5555",
"green": "#50fa7b",
"yellow": "#f1fa8c",
"blue": "#bd93f9",
"magenta": "#ff79c6",
"cyan": "#8be9fd",
"white": "#f8f8f2",
"brightBlack": "#6272a4",
"brightRed": "#ff6e6e",
"brightGreen": "#69ff94",
"brightYellow": "#ffffa5",
"brightBlue": "#d6acff",
"brightMagenta": "#ff92df",
"brightCyan": "#a4ffff",
"brightWhite": "#ffffff",
"background": "#282a36",
"foreground": "#f8f8f2",
"cursor": "#f8f8f2",
"selectionBackground": "#44475a"
}
}
| Comando | Descrição |
|---|
Cmd/Ctrl + Shift + P | Paleta de comandos |
Cmd/Ctrl + L | Limpar terminal |
Cmd/Ctrl + Shift + E | Alternar barra lateral |
Cmd/Ctrl + K | Focar na busca |
Cmd/Ctrl + Shift + F | Busca global |
Alt + Teclas de seta | Navegar entre blocos |
Cmd/Ctrl + Enter | Maximizar/restaurar bloco atual |
Cmd/Ctrl + , | Abrir configurações |
| Comando | Descrição |
|---|
Cmd/Ctrl + Shift + C | Copiar do terminal |
Cmd/Ctrl + Shift + V | Colar no terminal |
Cmd/Ctrl + A | Selecionar tudo no bloco |
Cmd/Ctrl + F | Buscar no bloco atual |
Shift + Page Up | Rolar para cima no terminal |
Shift + Page Down | Rolar para baixo no terminal |
Cmd/Ctrl + Home | Rolar para o topo do buffer |
Cmd/Ctrl + End | Rolar para o final do buffer |
| Comando | Descrição |
|---|
Cmd/Ctrl + D | Dividir verticalmente |
Cmd/Ctrl + Shift + D | Dividir horizontalmente |
Cmd/Ctrl + Backspace | Fechar bloco atual |
Cmd/Ctrl + Enter | Alternar maximização do bloco |
Alt + Cima/Baixo/Esquerda/Direita | Mover foco entre blocos |
Cmd/Ctrl + Shift + Seta | Redimensionar bloco atual |
| Comando | Descrição |
|---|
wsh getvar key | Obter variável de configuração |
wsh setvar key=value | Definir variável de configuração |
wsh getvar --all | Listar todas as variáveis de configuração |
Config armazenada em ~/.waveterm/ | Diretório de configuração padrão |
Definir autoupdate:enabled na config | Ativar/desativar atualizações automáticas |
Definir conn:askbeforewshinstall na config | Perguntar antes de instalar wsh no remoto |
Definir editor:minimap na config | Alternar minimapa no editor inline |
Definir web:openlinksinternally na config | Abrir links no bloco de navegador Wave |
{
"term:fontsize": 13,
"term:fontfamily": "Fira Code, monospace",
"term:theme": "one-dark",
"term:cursorstyle": "block",
"term:scrollback": 5000,
"window:transparent": false,
"window:blur": false,
"telemetry:enabled": false,
"autoupdate:enabled": true,
"conn:askbeforewshinstall": true,
"editor:minimap": false,
"web:openlinksinternally": true,
"ai:preset": "openai",
"ai:model": "gpt-4",
"ai:maxtokens": 2048
}
| Comando | Descrição |
|---|
WAVETERM_HOME=~/.waveterm | Sobrescrever diretório de config do Wave |
WAVETERM_DEV=1 | Ativar modo de desenvolvimento |
TERM_PROGRAM=waveterm | Definido automaticamente em sessões Wave |
WAVETERM_BLOCKID | ID do bloco atual (definido por bloco) |
WAVETERM_TABID | ID da aba atual (definido por aba) |
| Comando | Descrição |
|---|
| Clicar no nome do workspace na barra lateral | Alternar entre workspaces |
| Clicar com botão direito no workspace e Renomear | Renomear um workspace |
| Criar novo workspace pela barra lateral | Adicionar um workspace limpo |
| Arrastar abas entre workspaces | Reorganizar abas |
| Workspaces persistem entre reinícios | Todo estado é salvo automaticamente |
| Comando | Descrição |
|---|
| Histórico do terminal persiste | Saída de comandos salva entre sessões |
| Conexões SSH reconectam automaticamente | Sessões remotas restauradas ao reiniciar |
| Layout de blocos salvo por aba | Arranjos de painéis preservados |
| Diretórios de trabalho lembrados | Cada bloco lembra seu diretório atual |
| Posição de rolagem mantida | Voltar para onde você parou |
-
Usar blocos para multitarefa — divida seu terminal em blocos para monitorar logs, executar builds e editar código lado a lado.
-
Aproveitar a IA para comandos desconhecidos — pressione Cmd/Ctrl + Space para perguntar ao assistente de IA sobre sintaxe, flags ou solução de problemas.
-
Configurar SSH config para acesso rápido — adicione todos os seus servidores ao ~/.ssh/config para que o Wave os descubra automaticamente no menu de conexões.
-
Usar visualizadores inline para inspeção rápida — wsh view permite visualizar imagens, CSVs e markdown sem sair do terminal.
-
Fixar blocos comuns — maximize blocos importantes com Cmd/Ctrl + Enter ao focar em uma tarefa, depois restaure o layout quando terminar.
-
Desativar telemetria se preferir — defina telemetry:enabled como false na sua configuração para privacidade.
-
Usar workspaces para projetos — crie workspaces separados para diferentes projetos para manter o contexto organizado.
-
Usar sufixo -dev para config de modelo de IA — aponte ai:baseurl para uma instância local Ollama ou LM Studio para assistência de IA privada e offline.
-
Aprender os atalhos de bloco — Alt + Seta para navegação e Cmd/Ctrl + Shift + D para divisão são os atalhos mais usados.
-
Personalizar seu tema — configure um tema de cores personalizado usando term:localtheme para combinar com as cores do seu editor preferido para uma experiência consistente.