dsh-tui

O DeepSeek Harness no seu terminal

Um chat de terminal para o DeepSeek Harness: a conversa ocupa a tela, as ferramentas do agente aparecem dobradas em linhas, e o que ele pede para fazer você aprova com um clique.

Instale no Linux ou no macOS — copie e cole no terminal:
curl -fsSL https://auth-com-br.github.io/dsh-tui/install.sh | sh

Depois é só digitar dsh — sem --profile — e escolher o modelo com /models. Sem sudo: tudo fica na sua pasta pessoal.

 ✓ bash ls src • 0.1s
   composer.js  index.js  terminal.js  ui.js

 • Encontrei os arquivos. Vou atualizar o README do outro projeto.

   ⠸ Running edit {"path":"/home/voce/site/README.md"…
 ─ ⠏ Working 12s · ~40 tok/s ─────────────────── esc interrupt ─
 ▲ approval needed · edit
   {"path":"/home/voce/site/README.md","old":"…","new":"…"}
   escalate sandbox: o arquivo fica fora da pasta de trabalho
   › 1. Allow once  (y)
     2. Reject  (n)
   ↑↓ · enter or click · y allow · n/esc reject
   deepseek-v4-flash · ~/projeto        ctrl+t thought   ctrl + c quit

O que ele faz

A conversa é a tela

Sem caixas nem enfeites: a conversa fica ancorada embaixo, sempre visível, e o modelo e a pasta aparecem num rodapé discreto.

Ferramentas dobradas

Cada comando do agente vira uma linha: ⠋ Running enquanto roda, ✓ ou ✗ ao terminar, com a saída resumida logo abaixo.

Aprovações num menu

Quando o agente quer sair da pasta de trabalho, as opções aparecem listadas: escolha com as setas, Enter, um clique, y ou n.

Pensamento que dobra

O raciocínio do modelo fica dobrado; um clique ou ctrl+t abre e fecha. esc interrompe a resposta a qualquer momento.

Mensagens de várias linhas

ctrl+j quebra a linha, como no Claude Code e no OpenCode; Enter envia.

Copiar, colar e imagens

Arrastar seleciona só a conversa e copia ao soltar; ctrl+v anexa a imagem da área de transferência; /copy copia a última resposta.

Qualquer modelo

/models configura provedores: uma chave de API ou um servidor seu, local ou remoto.

Tema do seu terminal

As cores saem do fundo do seu terminal, claro ou escuro, em vez de valores fixos.

Teclas

enterenvia a mensagem
ctrl + jnova linha na mensagem (alt + enter também)
ctrl + ↑ / ↓mensagens enviadas antes
roda, ↑ / ↓, page up/downrolam a conversa
arrastarseleciona na conversa e copia ao soltar
ctrl + vanexa a imagem da área de transferência
ctrl + tabre ou dobra o pensamento
escinterrompe a resposta; volta ao fim da conversa
/helptodas as teclas e comandos
ctrl + csai

O que o instalador faz

  1. Usa o Node.js 20+ que você já tem; se não houver, baixa o oficial para ~/.local/share/dsh-tui/node, conferindo a assinatura SHA-256.
  2. Instala o DeepSeek Harness junto, na versão em que o dsh-tui é testado (a série 0.2 do harness mudou a API e ainda não funciona com ele), em ~/.local/share/dsh-tui/harness.
  3. Baixa o dsh-tui deste repositório e liga o perfil tui do harness a ele.
  4. Cria em ~/.local/bin o comando dsh, que abre o dsh-tui sem precisar de --profile (os comandos do próprio harness, como dsh web e dsh plugin, continuam funcionando), e o dsh-tui, que sempre abre a interface. Um dsh seu que já esteja lá não é substituído.

Para atualizar, rode o mesmo comando de novo. Suas configurações, sessões e chaves em ~/.dsh não são mexidas. O código do instalador está em docs/install.sh — leia antes de rodar, se preferir.

Para remover: rm -rf ~/.local/share/dsh-tui ~/.local/bin/dsh ~/.local/bin/dsh-tui. Suas sessões e configurações ficam em ~/.dsh.