Documentação

Entenda a arquitetura, o modelo de segurança e como começar.

O que é o SShvTerm

O SShvTerm é um cliente SSH desktop multiplataforma com sincronização em nuvem zero-knowledge. Ele gerencia hosts, identidades, chaves, grupos, tags, snippets e regras de port forwarding, com um terminal de alta qualidade. Os campos sensíveis são cifrados no cliente, e o servidor nunca vê a sua senha nem a sua chave de cifra.

Arquitetura

O SShvTerm é dividido em três camadas. O frontend nunca fala direto com a nuvem ou com o SSH: tudo passa por um agente local que mantém a chave de cifra apenas em memória.

1

Frontend (desktop)

A casca do aplicativo, a interface e o terminal (xterm.js).

2

Agente local (sidecar)

Backend local que cuida de autenticação, sincronização, cofre e das sessões SSH. Roda apenas em 127.0.0.1.

3

Servidor de sincronização

Peça separada e auto-hospedável que guarda apenas blobs cifrados — nunca dados em claro.

Modelo de segurança

A criptografia é zero-knowledge: a chave de cifra deriva da sua senha e vive somente na memória do agente local. Campos sensíveis são cifrados com RNCryptor (AES-256-CBC + HMAC-SHA256) antes de qualquer sincronização. As conexões SSH usam verificação TOFU de host key — a impressão digital é fixada na primeira conexão e qualquer divergência bloqueia a sessão para barrar ataques MITM.

Agente de IA

O agente é opcional e começa desligado. Ativado, ele pode ler (com a sua permissão) as últimas linhas do terminal focado, sugerir o próximo passo e — com a execução ⚡ ligada — operar o terminal: o comando é digitado na sessão visível da aba, nunca numa shell oculta. A chave de API de cada provedor é sua (BYOK) e fica cifrada no cofre, como qualquer outro segredo.

Como um comando acontece

  1. 1. Você pede

    Em linguagem natural, no chat do agente, com o host da aba escolhido.

  2. 2. O modelo propõe

    Provedores com function-calling devolvem uma chamada estruturada (propose_command); modelos só-texto usam a ponte de texto (bloco ```run). Os dois caminhos convergem no mesmo executor.

  3. 3. A sua política decide

    Regras de permitir, perguntar ou negar, configuráveis no Settings. Na dúvida, o agente mostra o comando exato e espera a sua aprovação.

  4. 4. Você vê acontecer

    O comando é digitado no terminal da aba; a saída (stdout, stderr, exit code) volta ao modelo, que responde com o resultado. Conversas e comandos ficam na auditoria.

Provedores e modelos

Anthropic (Claude), ShvIA (Blue3) e qualquer endpoint OpenAI-compatible — Ollama local, LM Studio, vLLM e afins. Para tools nativas o modelo precisa suportar function-calling (ex.: Claude, qwen3, llama3.1); quando não suporta, a ponte de texto assume automaticamente.

Primeiros passos

  1. 1. Baixe o aplicativo

    Instaladores para macOS (.dmg), Windows (.msi) e Linux (.AppImage / .deb).

  2. 2. Crie a sua conta

    A sua senha gera a chave de cifra. Guarde-a bem: sem ela, ninguém — nem o servidor — recupera os seus dados.

  3. 3. Adicione um host e conecte

    Cadastre o servidor, escolha uma identidade ou chave e abra o terminal. Tudo é sincronizado cifrado.

Diretório de dados local

Hosts, identidades, chaves SSH e os host keys confiáveis (TOFU) ficam no diretório de dados local do aplicativo, na sua máquina.

~/.sshvterm/

Backend de nuvem

Por padrão o cliente fala com o backend hospedado. Quem prefere controle total pode apontar para um servidor próprio — a implementação de referência é auto-hospedável.

API pública

O site expõe uma API pequena, sem autenticação, para downloads e auto-update do aplicativo. Todas as respostas são servidas em HTTPS por sshvterm.com.

GET /api/update/{target}/{arch}/{versao_atual}

Verificação de atualização (formato do updater do app). target: linux, darwin ou windows; arch: x86_64 ou aarch64; versao_atual no formato X.Y.Z. Responde 200 com o manifesto JSON quando existe versão mais nova assinada, ou 204 (sem corpo) quando você já está na última versão.

$ curl https://sshvterm.com/api/update/darwin/aarch64/0.5.20
{
  "version":   "0.5.28",
  "notes":     "...",
  "pub_date":  "2026-06-11T21:30:00+00:00",
  "url":       "https://sshvterm.com/d/61",
  "signature": "...assinatura minisign do instalador..."
}
GET /d/{id}

Download de um instalador específico — redireciona (302) para o arquivo hospedado no site. Os links de cada plataforma e o SHA-256 para verificação de integridade estão na página de Downloads.

A sincronização do aplicativo usa uma API separada e autenticada por token, que transporta apenas blobs cifrados no cliente (zero-knowledge) — o servidor não consegue decifrá-los. Ela não é uma API pública: o contrato é versionado junto com o app e pode mudar entre releases.

Pronto para começar?

Crie a sua conta e conecte ao primeiro host em minutos.

Criar Conta Grátis