⚠️ Aviso, leia antes de usar. Eu não sou desenvolvedor, sou uma pessoa não técnica que teve uma ideia e montou isto por curiosidade. É um projeto experimental e 100% gratuito, feito pra galera testar e brincar. Use por sua conta e risco. Não dou garantia de nada e não me responsabilizo por nenhum problema (bug, perda de dado, vazamento de contexto da sala, custo, ou o que for). Se for usar com coisa séria/sensível, não use. É isso. 🙂
💛 Feito por quem usa Real Oficial. Quer transformar seus vídeos em cortes virais com IA e postar 300+ por mês? Dá uma olhada: https://realoficial.com.br
Camada de colaboração pra times que trabalham no mesmo projeto com Claude Code. Em vez de ficar dando ctrl c ctrl v do que o Claude de um disse pro Claude do outro, vocês entram numa sala e sincronizam o contexto importante por comando. Cada um trabalha na sua máquina, ao mesmo tempo, e os Claudes ficam alinhados.
Não é dois Claudes batendo papo. É um contexto compartilhado (tipo um git pra contexto) que cada lado dá push/pull.
É tudo automático e invisível. Você não fica rodando comando, só trabalha normal.
- Vocês combinam uma sala e dão
joinuma vez (via convite). - Mandar: fala pro seu Claude do jeito normal ("manda essas instruções pro Hélio", "avisa o Antonio que o contrato mudou"). O Claude dispara sozinho.
- Receber: quando o colega digitar qualquer coisa, o Claude dele já mostra "📨 antonio te mandou: ...". Sem comando.
- Auto-share: quando você mexe em arquivos, o time recebe sozinho um "🔧 fulano mexeu em a.ts, b.ts". Ninguém precisa avisar nada.
- Guarda de colisão: se você vai editar um arquivo que um colega está mexendo agora, o Claude te avisa antes ("o Antonio está nesse arquivo"). Evita os dois pisarem no mesmo lugar.
- Contexto compartilhado: dá pra subir um resumo curado (tarefa, decisões, arquivos) que o time recebe automático. Se dois subirem junto, nada é sobrescrito (o Claude junta).
Limitação honesta: se o colega estiver com o Claude totalmente parado, a mensagem chega no instante em que ele mandar a próxima coisa. Não dá pra injetar numa sessão ociosa.
npm install -g claude-switchboardTodo mundo instala e liga no Claude Code:
npm install -g claude-switchboard
switchboard install # dentro da pasta do projeto, configura o Claude Code sozinhoAí UMA pessoa cria a sala e manda o convite pro time:
switchboard create projeto-x --name paulo
# imprime algo tipo: switchboard join eyJyIjoi... (o convite)Os outros entram colando o convite:
switchboard join eyJyIjoi... --name antonioReinicie o Claude Code na pasta e pronto. Depois é só trabalhar normal e falar com o Claude em linguagem natural ("manda isso pro fulano"). O resto é automático.
- Criptografia ponta a ponta: o conteúdo (contexto e mensagens) é cifrado no seu computador antes de subir. O relay (mesmo o público) só guarda blob cifrado e não consegue ler nada. A chave nasce do convite, então não tem passo nenhum.
- Acesso por chave de sala: o convite carrega sala + chave. Quem não tem o convite não entra (o relay devolve 403). O nome da sala já vem com sufixo aleatório, então nem dá pra adivinhar.
- Identidade: cada pessoa ganha um token próprio no
join(automático, nunca digitado), então ninguém se passa por outro dentro da sala. - Relay protegido: limite de tamanho, salas paradas expiram, e nomes de sala são validados.
Trate o convite como senha (não cole em lugar público). Mesmo assim, como tudo é cifrado, o relay nunca vê o que vocês trabalham.
A sala precisa de um lugar pra viver. Duas opções, as duas grátis:
switchboard relay # sobe em http://127.0.0.1:8787Em outro terminal, join apontando pra http://127.0.0.1:8787 e teste com push/pull.
cd worker
npm i -g wrangler
wrangler kv namespace create ROOMS # cole o id no wrangler.toml
wrangler deployDepois é só join apontando pro --relay https://switchboard.SEU-SUBDOMINIO.workers.dev.
switchboard relay & # terminal 1
switchboard join projeto-x --name paulo
echo "Tarefa: X / Decisao: Y / Estado: Z" | switchboard push --title "Setup"
switchboard pull
switchboard statusO contexto anda junto do seu branch do git (detectado sozinho). Então cada branch tem seu próprio contexto, e dá pra:
- Importar o contexto de outro branch/colega: você fala "importa o contexto do Antonio" e o Claude pega os dois contextos, junta, e principalmente aponta as contradições (ex: "ele decidiu Stripe, você decidiu Mercado Pago, resolve"). Isso o git não faz, ele só junta texto.
- Pull request de contexto: "abre um PR do meu contexto pra main". O Claude do revisor lê a proposta + o contexto atual do destino, aponta divergências, junta e aceita (merge). Mesmo fluxo do GitHub, mas pro entendimento do trabalho.
- Nada é sobrescrito: se dois mexem no contexto do mesmo branch, o segundo junta em vez de clobberar.
sb_pull/sb_push- lê/atualiza o contexto do seu branchsb_import- importa e junta o contexto de outro branch/colega (aponta contradições)sb_propose/sb_review/sb_accept- abre, revisa e mergeia um PR de contextosb_send- mensagem direcionada a um colegasb_who- quem está ativo e em qual arquivosb_note/sb_status- timeline e estado da sala
- MVP: salas, push/pull de contexto, notas, MCP, CLI, relay local + Worker
- Tudo invisível e seguro: criptografia E2E, identidade, auto-share, guarda de colisão, presença (
sb_who), concorrência sem sobrescrever, hardening do relay - Auto-sync (hook que dá pull no começo de cada turno)
- Babel mode: tradução automática por idioma de cada participante (o Claude de um fala inglês, o do outro português)
- N participantes (sala com vários) e histórico/diff de contexto
- Modo privado: sala num repo/gist do GitHub em vez de relay hosteado
Projeto experimental e gratuito, feito por uma pessoa não técnica pra galera testar. Sem garantia de nenhum tipo. O autor não se responsabiliza por qualquer dano, perda, custo ou vazamento decorrente do uso. Use por sua conta e risco.
Criado por Paulo, do Real Oficial (https://realoficial.com.br) — a forma mais fácil de virar seus conteúdos em cortes virais com IA.
Licença MIT (ver LICENSE).