Documentation Index
Fetch the complete documentation index at: https://zapo.to/llms.txt
Use this file to discover all available pages before exploring further.
zapo (publicado no npm como zapo-js) é uma implementação independente e em runtime do protocolo do WhatsApp Web escrita em TypeScript. Não é um wrapper ou fork de uma biblioteca de client de WhatsApp existente — a fonte da verdade do protocolo é o client desofuscado do WhatsApp Web, e o objetivo é paridade de comportamento com o WhatsApp Web ao mesmo tempo em que melhora a eficiência de CPU, memória e alocação.
Por que zapo
API coordinator-first
Cada área de funcionalidade é um coordinator focado:
client.message, client.group, client.newsletter, client.privacy e mais.Armazenamento plugável
Uma única factory
createStore, seleção de provider por domínio e backends oficiais para SQLite, PostgreSQL, MySQL, Redis e MongoDB.Pronto para múltiplas sessões
Cada query é escopada por
sessionId, então um único processo pode operar muitas contas — construído para cargas de trabalho multi-tenant.Disciplinado em performance
Uint8Array em todo lugar, zero-copy nos caminhos quentes, estruturas em memória limitadas, I/O assíncrono e crypto síncrono (exceto operações de curva elíptica) para throughput bruto.Princípios de design
Estes princípios guiam cada decisão de implementação na base de código:- index-first — o comportamento do protocolo é validado contra o WhatsApp Web antes de qualquer coisa ser implementada.
- performance-first — otimizar para baixo uso de CPU, baixo uso de RAM, poucas alocações e zero-copy nos caminhos quentes.
- I/O async-first — operações de I/O e de rede são assíncronas. A crypto, em contraste, roda de forma síncrona — apenas operações de curva elíptica são assíncronas. Manter o resto da crypto síncrono trouxe um ganho de throughput grande e mensurável.
Requisitos
- Node.js
>= 20.9.0 - Um gerenciador de pacotes (
npm,pnpmou similar) - Nenhuma dependência de runtime obrigatória — backends e logging são peer dependencies opt-in.
Comece agora
Instalação
Instale o
zapo-js, escolha um backend de armazenamento e configure os peers opcionais.Quickstart
Conecte, escaneie um QR code e responda à sua primeira mensagem em minutos.
Arquitetura
Entenda o client, os coordinators, as stores e o fluxo de eventos.
Enviando mensagens
Texto, respostas, menções, mídia, enquetes, reações e mais.
