Join the Agent Deck Discord Server!
Discord에서 Agent Deck 커뮤니티 확인, 357명과 자유 음성·텍스트 채팅 이용
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A sala da turma, sempre aberta.
Chamada de voz para amigos e casais, com salas fixas, tela compartilhada com som, sessão de cinema sincronizada e um bichinho com a sua cara.
Usar no navegador · Baixar para Windows · Site
O Toca não quer ser outro Discord. Não tem comunidades, servidores abertos nem canais e cargos para configurar. É um lugar simples para você e a sua turma: cada grupo tem as suas salas fixas (o Sofá, a Jogatina, o Cinema de domingo) e você vê quem está em cada uma antes de entrar. É clicar e já sair falando.
Abra o Cinema na chamada e coloque um vídeo do YouTube ou um arquivo do seu PC. Play, pausa e pulos valem para todo mundo, e quem chega no meio cai no ponto certo.
Cada sala tem o seu chat, com imagens (é só colar com Ctrl+V), e você conversa com a chamada aberta. Também tem mensagens diretas entre amigos.
Coelho, gato ou urso, com pelagem, expressão, chapéu, óculos, roupa e fundo do seu jeito. Ou uma foto, ou um GIF que só se mexe enquanto você fala.
Amigos pelo @usuário, quem está online e em qual sala, pedidos de amizade e um clique para entrar na sala de alguém.
Seis cores (Meia-noite, Oceano, Floresta, Lavanda, Morango e Pôr do sol), cada uma no escuro e no claro.
Os dois usam a mesma conta e as mesmas salas, e dá para misturar: metade da turma no navegador e metade no app.
| 🌐 Navegador | 🪟 App para Windows | |
|---|---|---|
| Salas, voz, chat, cinema e avatar | ✅ | ✅ |
| Instalar | não precisa | instalador de 100 MB |
| Compartilhar a tela | ✅ | ✅ |
| Som do PC junto com a tela | de uma aba ou da tela inteira (Chrome e Edge) | ✅ de qualquer programa |
| Apertar para falar | com a aba em foco | ✅ mesmo com o jogo em foco |
| Atalhos globais e bandeja | ✅ |
O app de Windows é uma casca, como o do Discord: ele abre o app web e só acrescenta o que o navegador não faz. Assim, uma mudança na interface chega para todo mundo com um deploy, sem precisar baixar versão nova.
flowchart LR
subgraph clientes[" "]
direction TB
web["🌐 Navegador"]
win["🪟 App para Windows<br><sub>casca Electron</sub>"]
end
app["Interface do Toca<br><sub>React · web-toca</sub>"]
api["API do Toca<br><sub>contas, salas, chat</sub>"]
lk["LiveKit<br><sub>voz, vídeo e tela</sub>"]
web --> app
win -- "+ atalhos, bandeja,<br>som do PC" --> app
app -- HTTPS + WebSocket --> api
app -- WebRTC --> lk
api -. libera o acesso .-> lk
Feito com Electron · React 19 · TypeScript · Vite · LiveKit · nginx.
Precisa de Node.js 22 ou mais novo. O app para Windows precisa de Windows 10 ou 11.
npm install
npm run dev:web # app web em http://localhost:5173
npm run dev # app para Windows (Electron) com a interface local
Por padrão, o app conversa com a API oficial. Para usar outra, copie .env.example para .env
e troque VITE_API_URL.
npm run typecheck # confere os tipos (casca e interface)
npm run build:web # app web em dist-web/ (site estático + version.json)
npm run build # casca em out/
npm run dist # instalador do Windows em dist/ (sem publicar)
O npm run dev e o npm run dist também compilam o toca-audio-capture.exe (som do PC ao
compartilhar a tela) com o compilador C# que já vem no Windows: não precisa de Visual Studio
nem .NET SDK.
A interface descobre onde está rodando em src/renderer/src/platform/. No Electron, ela usa
window.toca (entregue pelo preload); no navegador, usa as versões web:
safeStorage); no
navegador, num cookie httpOnly da API, que o JavaScript da página não lê.Use sempre native.x() e features. Se a casca instalada ainda não tiver uma função nova, a
interface cai na versão web em vez de quebrar.
src/main/shell.ts: endereço do app, bloqueio de navegação (outros sites abrem no navegador
padrão), conferência de quem chama o ipcMain e a tela "Sem conexão".window.toca para o endereço do app.TOCA_APP_URL=http://localhost:4173 aponta a casca para outro endereço em desenvolvimento (o
app instalado sempre usa o oficial).Regra: mudou só a interface, basta o deploy do app web. Mudou algo nativo (preload, processo principal), é versão nova da casca, e a interface precisa funcionar sem ela.
main, build pack Dockerfile (o /Dockerfile da
raiz), porta 80. O nginx (nginx/) serve o app com cache longo para assets/, sem cache
para index.html e version.json, e com cabeçalhos de segurança.APP_ORIGINS com o endereço do app (separe vários com vírgula), para ele poder guardar
a sessão em cookie; e o mesmo endereço em CORS_ORIGINS, se não for *.Quando sai um build novo, quem está com o Toca aberto vê o botão "Atualizar" (recarrega a página, esperando a chamada acabar).
src/main/ casca do Electron: janela, bandeja, atalhos globais, atualização,
links toca://, seletor de tela
src/preload/ ponte segura entre a casca e a interface
src/renderer/ interface em React (a mesma no navegador e no Windows)
src/platform/ o que muda entre o Electron e o navegador
src/api.ts chamadas à API do Toca
src/realtime.ts eventos em tempo real (amigos, salas, mensagens)
src/useVoiceRoom.ts a chamada (LiveKit)
src/cinema.ts sessão de cinema sincronizada
src/changelog.ts a aba Novidades
src/shared/ tipos usados pelos dois lados
native/ captura do som do PC no Windows (C#)
nginx/ servidor do app web
design/ protótipos e tokens visuais
Issues e pull requests são bem-vindos. Antes de algo grande, abra uma issue para conversar sobre a ideia: algumas mudanças dependem da API, que é mantida à parte.
Encontrou uma falha de segurança? Não abra uma issue pública: use Security → Report a vulnerability aqui no GitHub.
O código está sob a GNU GPL v3: você pode usar, estudar, modificar e distribuir, desde que as versões modificadas que você distribuir também tenham o código aberto, sob a mesma licença.
O nome Toca, o logo e o ícone não fazem parte da licença. Se publicar uma versão modificada, use outro nome e outro ícone, para ninguém confundir com o app oficial.
Nos prints, o vídeo do cinema é Big Buck Bunny (© Blender Foundation, CC BY 3.0). As pessoas e conversas são de exemplo.