verificando servidor de teste...

chat de verdade,
dentro do terminal

hackerchat é um cliente TUI que conecta a qualquer servidor hackerchat via WebSocket. crie ou entre em salas e converse em tempo real — sem sair do shell.

latência
~31ms
protocolo
ws / rfc-6455
cliente
node 24 · ink · ts
licença
mit / open
hackerchat-terminal-client — zsh — node — 120×32
hackerchatv1.0.0
#general·online·@matt·01:41:00
online (0)
(vazio)
atividade
(sem atividade)
mensagens0/0
matt
digite uma mensagem e pressione enter...
0/500
enter envia·pgup/pgdn rolar·end retomar·esc sair
// features

tudo que um chat precisa.
nada que ele não precisa.

sem perfil, sem stories, sem onboarding. só você, uma sala e o terminal. renderizado com ink, cores via chalk, zero configuração.

06 / capabilities · stable
01 · rooms

salas em tempo real

mensagens trafegam em websockets. handshake em milissegundos, presença atualizada ao vivo.

02 · ink

TUI com ink

interface renderizada com react no terminal via ink. sem navegador, sem electron. caracteres puros.

03 · colors

cores via chalk

cada usuário ganha uma cor estável a partir do nome. mensagens, atividade e presença coloridas no shell.

04 · zero-conf

zero-config

conecta direto no servidor público de teste. basta passar --username e --room. nada mais.

05 · self-host

self-host friendly

aponte --hostUri pro seu servidor. roda local, em vps, em qualquer lugar que aceite websocket.

06 · open

open · mit · pequeno

cliente e servidor com codebase enxuta e legível. typescript, dependências mínimas.

// quickstart · cliente

conecte no servidor de teste em 3 linhas

o servidor público fica online 24/7. ideal pra testar antes de subir o seu.

tempo médio · ~ 12s
01

tenha node ≥ 24

requisito mínimo do cliente. nada mais precisa ser instalado.

02

rode com npx

um npx executa o binário sem instalar globalmente. da primeira vez pede confirmação.

03

escolha username + room

flags --username e --room são obrigatórias. a room é criada se ainda não existir.

04

converse

digita e dá enter. pgup/pgdn pra rolar. double-press ESC pra sair.

zsh · install & connect · bash
# 1. run via npx (no install)
npx @matheussartori/hackerchat-client --username alice --room general

# 2. point at your own server
npx @matheussartori/hackerchat-client \
  --username alice --room general \
  --hostUri ws://localhost:9898

# 3. install globally
npm i -g @matheussartori/hackerchat-client
hackerchat --username alice --room general
hackerchat-terminal-client — zsh — node — 132×38
hackerchatv1.0.0
#websockets·online·@matt·23:14:00
online (1)
matt(você)
atividade
(sem atividade)
mensagens0/0
matt
digite uma mensagem e pressione enter...
0/500
enter envia·pgup/pgdn rolar·end retomar·esc sair
// rode seu servidor

seu próprio hub.
aponte o cliente com --hostUri.

o backend hackerchat-server fica no repo gêmeo. é só clonar, subir e apontar o cliente com a flag --hostUri.

public test server
server · clone & run · bash
git clone https://github.com/matheussartori/hackerchat-server.git
cd hackerchat-server
npm install
npm run dev
# Listening: ws://0.0.0.0:9898
point the client at it · bash
# local
npx @matheussartori/hackerchat-client \
  --username alice --room general \
  --hostUri ws://localhost:9898

# remote
npx @matheussartori/hackerchat-client \
  --username alice --room general \
  --hostUri ws://your-domain.com
// referência

flags & atalhos

tudo configurável via flags da CLI. os atalhos funcionam dentro da TUI depois de conectado.

man · hackerchat(1)
$ flags da CLI
passadas direto pro binário no shell.
--username
apelido usado na sala
obrigatório
--room
id da sala (entra ou cria)
obrigatório
--hostUri
url do servidor websocket
opcional
atalhos do TUI
funcionam depois que você conecta numa sala.
enter
envia a mensagem digitada
no chat
pgup / pgdn
rola o buffer de mensagens
no chat
ctrl+u / ctrl+d
rola uma linha por vez
no chat
home
pula pra mensagem mais antiga visível
no chat
end
volta pra última mensagem (live)
no chat
esc esc
aperte duas vezes pra sair
global
// código aberto

dois repositórios. código enxuto. typescript.

cliente (ink + react no terminal) e servidor (websockets) — cada um com codebase pequena e direta.

mit · v1.0.0