verificando servidor de teste...

chat de verdade,
dentro do terminal

hackerchat é um cliente de chat pro terminal. ele fala com qualquer servidor hackerchat via WebSocket, então dá pra entrar numa sala e começar a digitar sem sair do shell.

transporte
websocket
protocolo
rfc-6455
cliente
node 24 · ink · ts
licença
mit / open
hackerchat-terminal-client — zsh — node — 120×32
hackerchatv1.0.0
#generalonline@matt01: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
man hackerchat

feito pra fazer uma coisa.
conversar numa sala, no terminal.

não tem conta pra criar nem nada pra configurar. roda no terminal com ink e colore os nomes com chalk. é abrir e digitar.

código aberto
01 · rooms

salas em tempo real

as mensagens trafegam por uma conexão websocket. você vê quem está na sala e quando alguém entra ou sai, ao vivo.

02 · ink

TUI com ink

a interface é react, renderizada direto no terminal com ink. sem navegador, sem electron.

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. é só passar --username e --room.

05 · self-host

self-host friendly

aponte --hostUri pro seu servidor, seja no localhost ou numa vps.

06 · open

open · mit · pequeno

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

npx hackerchat-client

conecte no servidor de teste em 3 linhas

o servidor público fica de pé pra você testar o cliente na hora, antes de subir o seu.

npx · sem instalar
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
#websocketsonline@matt23: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
git clone hackerchat-server

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

o backend é um repositório à parte, o hackerchat-server. clone, rode e aponte 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
hackerchat --help

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
gh repo list

dois repositórios e dois pacotes npm, tudo em typescript.

um cliente de terminal (ink + react), o servidor de websockets, o binário no npm e um sdk em js/ts pra ligar o chat a qualquer ui.

mit · v1.0.0
open playground

um chat real, dentro do navegador

conecte a qualquer servidor hackerchat via websocket e converse em tempo real, sem instalar nada. funciona com o @matheussartori/hackerchat-js-sdk.

sdk · @matheussartori/hackerchat-js-sdk
#conectar
preencha o endereço, escolha um nick e uma sala. a sala é criada se não existir.
url completa do websocket (ws:// ou wss://)
como você vai aparecer na sala
qualquer nome com letras, números ou traços
dicao servidor público é wss://hackerchatserver.mattsartori.com.br. para self-host, aponte aqui sua url.