Pular para o conteúdo

Waveterm

Terminal de código aberto integrado com IA com sessões persistentes, gráficos inline e gerenciamento de conexões remotas.

ComandoDescrição
brew install --cask waveInstalar no macOS com Homebrew
Baixar de waveterm.devInstalar do site oficial
Baixar .deb ou .rpm dos releasesInstalar no Linux
Baixar instalador .exe dos releasesInstalar no Windows
wsh versionMostrar versão do CLI Wave
wsh helpMostrar comandos wsh disponíveis
ComandoDescrição
Cmd/Ctrl + NAbrir nova aba de terminal
Cmd/Ctrl + TAbrir nova aba de workspace
Cmd/Ctrl + WFechar aba atual
Cmd/Ctrl + Shift + NAbrir nova janela
Cmd/Ctrl + 1-9Alternar para aba por número
Cmd/Ctrl + Shift + ]Próxima aba
Cmd/Ctrl + Shift + [Aba anterior
Cmd/Ctrl + Shift + TReabrir última aba fechada
ComandoDescrição
Cmd/Ctrl + Shift + DDividir terminal horizontalmente
Cmd/Ctrl + DDividir terminal verticalmente
Clicar e arrastar bordas dos blocosRedimensionar painéis do terminal
Alt + Teclas de setaNavegar entre blocos
Cmd/Ctrl + EnterMaximizar/restaurar bloco atual
Cmd/Ctrl + Shift + PAbrir paleta de comandos
Cmd/Ctrl + BackspaceFechar bloco atual
ComandoDescrição
Cmd/Ctrl + SpaceAbrir chat de IA no bloco atual
Digitar pergunta no chat de IAPerguntar à IA sobre comandos ou código
/explain no chat de IAExplicar saída do comando anterior
/fix no chat de IASugerir correção para último erro
/summarize no chat de IAResumir saída longa
Clicar “Apply” na sugestão da IAInserir comando sugerido no terminal
EscFechar painel de chat de IA
ComandoDescrição
Configurar modelo de IA nas configuraçõesEscolher entre OpenAI, Anthropic, modelos locais
Definir ai:preset na configAlternar entre provedores de IA
Definir ai:apitoken na configConfigurar chave de API do provedor de IA
Definir ai:model na configEspecificar nome do modelo (ex: gpt-4, claude-3)
Definir ai:baseurl na configApontar para endpoint de API personalizado/local
Definir ai:maxtokens na configDefinir 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
}
ComandoDescrição
wsh ssh user@hostnameConectar ao host remoto via SSH
wsh ssh user@host -i ~/.ssh/keySSH com chave de identidade específica
wsh ssh -p 2222 user@hostSSH em porta personalizada
Clicar ”+” depois “SSH Connection”Criar conexão SSH pela interface
Conexões persistem entre sessõesSessões sobrevivem ao reinício do app
wsh ssh-importImportar conexões do config SSH
Configurar entradas em ~/.ssh/configAuto-descobrir hosts SSH
Clicar com botão direito na conexão e ReconectarReconectar 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
ComandoDescrição
wsh view remote:file.txtVisualizar arquivo no host remoto
wsh edit remote:file.txtEditar arquivo no host remoto inline
wsh view remote:/var/log/syslogVisualizar arquivo de log remoto
wsh run --remote user@host -- commandExecutar comando no host remoto em novo bloco
ComandoDescrição
wsh view file.pngVisualizar imagem inline no terminal
wsh view file.jpgVisualizar imagem JPEG inline
wsh view file.svgVisualizar gráfico SVG inline
wsh view file.mdRenderizar markdown inline
wsh view file.csvExibir CSV como tabela
wsh view file.jsonExibir JSON com destaque de sintaxe
wsh view file.pdfPré-visualizar documento PDF
wsh view https://example.comIncorporar página web no bloco
ComandoDescrição
wsh edit file.txtAbrir arquivo no editor inline
wsh edit --lang=python script.pyAbrir editor com modo de linguagem
wsh getmetaObter metadados do bloco atual
wsh setmeta key=valueDefinir metadados do bloco
wsh run -- command argsExecutar comando em novo bloco
wsh run --magnify -- htopExecutar comando em bloco maximizado
wsh createblockCriar um bloco vazio
wsh createblock --tabid=tab1Criar bloco em aba específica
ComandoDescrição
wsh view --magnify file.pngVisualizar imagem em bloco maximizado
wsh view --height=20 file.csvVisualizar com altura de bloco específica
Arrastar e soltar arquivos no WaveVisualizar arquivos diretamente
wsh view .Navegar diretório atual
wsh view ~/projectsNavegar diretório específico
ComandoDescrição
Abrir Configurações depois AparênciaMudar tema e cores
Abrir Configurações depois TerminalConfigurar fonte, tamanho, cursor
Definir term:fontsize na configDefinir tamanho da fonte do terminal
Definir term:fontfamily na configDefinir família da fonte do terminal
Definir term:theme na configDefinir tema de cores do terminal
Definir term:cursorstyle na configDefinir estilo do cursor (block, bar, underline)
Definir window:transparent na configAtivar transparência da janela
Definir window:blur na configAtivar desfoque de fundo
Definir window:opacity na configDefinir nível de opacidade da janela
Definir telemetry:enabled = falseDesativar 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"
  }
}
ComandoDescrição
Cmd/Ctrl + Shift + PPaleta de comandos
Cmd/Ctrl + LLimpar terminal
Cmd/Ctrl + Shift + EAlternar barra lateral
Cmd/Ctrl + KFocar na busca
Cmd/Ctrl + Shift + FBusca global
Alt + Teclas de setaNavegar entre blocos
Cmd/Ctrl + EnterMaximizar/restaurar bloco atual
Cmd/Ctrl + ,Abrir configurações
ComandoDescrição
Cmd/Ctrl + Shift + CCopiar do terminal
Cmd/Ctrl + Shift + VColar no terminal
Cmd/Ctrl + ASelecionar tudo no bloco
Cmd/Ctrl + FBuscar no bloco atual
Shift + Page UpRolar para cima no terminal
Shift + Page DownRolar para baixo no terminal
Cmd/Ctrl + HomeRolar para o topo do buffer
Cmd/Ctrl + EndRolar para o final do buffer
ComandoDescrição
Cmd/Ctrl + DDividir verticalmente
Cmd/Ctrl + Shift + DDividir horizontalmente
Cmd/Ctrl + BackspaceFechar bloco atual
Cmd/Ctrl + EnterAlternar maximização do bloco
Alt + Cima/Baixo/Esquerda/DireitaMover foco entre blocos
Cmd/Ctrl + Shift + SetaRedimensionar bloco atual
ComandoDescrição
wsh getvar keyObter variável de configuração
wsh setvar key=valueDefinir variável de configuração
wsh getvar --allListar todas as variáveis de configuração
Config armazenada em ~/.waveterm/Diretório de configuração padrão
Definir autoupdate:enabled na configAtivar/desativar atualizações automáticas
Definir conn:askbeforewshinstall na configPerguntar antes de instalar wsh no remoto
Definir editor:minimap na configAlternar minimapa no editor inline
Definir web:openlinksinternally na configAbrir 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
}
ComandoDescrição
WAVETERM_HOME=~/.wavetermSobrescrever diretório de config do Wave
WAVETERM_DEV=1Ativar modo de desenvolvimento
TERM_PROGRAM=wavetermDefinido automaticamente em sessões Wave
WAVETERM_BLOCKIDID do bloco atual (definido por bloco)
WAVETERM_TABIDID da aba atual (definido por aba)
ComandoDescrição
Clicar no nome do workspace na barra lateralAlternar entre workspaces
Clicar com botão direito no workspace e RenomearRenomear um workspace
Criar novo workspace pela barra lateralAdicionar um workspace limpo
Arrastar abas entre workspacesReorganizar abas
Workspaces persistem entre reiníciosTodo estado é salvo automaticamente
ComandoDescrição
Histórico do terminal persisteSaída de comandos salva entre sessões
Conexões SSH reconectam automaticamenteSessões remotas restauradas ao reiniciar
Layout de blocos salvo por abaArranjos de painéis preservados
Diretórios de trabalho lembradosCada bloco lembra seu diretório atual
Posição de rolagem mantidaVoltar para onde você parou
  1. Usar blocos para multitarefa — divida seu terminal em blocos para monitorar logs, executar builds e editar código lado a lado.

  2. Aproveitar a IA para comandos desconhecidos — pressione Cmd/Ctrl + Space para perguntar ao assistente de IA sobre sintaxe, flags ou solução de problemas.

  3. 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.

  4. Usar visualizadores inline para inspeção rápidawsh view permite visualizar imagens, CSVs e markdown sem sair do terminal.

  5. Fixar blocos comuns — maximize blocos importantes com Cmd/Ctrl + Enter ao focar em uma tarefa, depois restaure o layout quando terminar.

  6. Desativar telemetria se preferir — defina telemetry:enabled como false na sua configuração para privacidade.

  7. Usar workspaces para projetos — crie workspaces separados para diferentes projetos para manter o contexto organizado.

  8. 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.

  9. Aprender os atalhos de blocoAlt + Seta para navegação e Cmd/Ctrl + Shift + D para divisão são os atalhos mais usados.

  10. 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.