<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Blog do WACrew</title>
    <link>https://wacrew.com.br/blog/</link>
    <atom:link href="https://wacrew.com.br/feed.xml" rel="self" type="application/rss+xml"/>
    <description>Guias práticos sobre atendimento de clientes no WhatsApp, automação com IA que não parece robô e agentes de código conectados por MCP.</description>
    <language>pt-BR</language>
    <lastBuildDate>Fri, 13 Nov 2026 12:00:00 GMT</lastBuildDate>
    <item>
      <title>Automação de WhatsApp com IA sem cara de robô: o que muda na prática</title>
      <link>https://wacrew.com.br/blog/automacao-de-whatsapp-com-ia/</link>
      <guid isPermaLink="true">https://wacrew.com.br/blog/automacao-de-whatsapp-com-ia/</guid>
      <pubDate>Fri, 13 Nov 2026 12:00:00 GMT</pubDate>
      <dc:creator>Rodrigo Sumioshi</dc:creator>
      <description>O que faz uma automação de WhatsApp com IA soar como robô e o que muda na prática: voz medida, revisão antes do envio, ritmo humano e controle por conversa.</description>
      <content:encoded><![CDATA[<p>Toda <strong>automação de WhatsApp com IA</strong> promete economizar tempo. O problema aparece na terceira mensagem: o cliente lê &quot;Olá! Entendo perfeitamente a sua necessidade 😊&quot; e sabe na hora que não tem ninguém do outro lado. Para loja com pergunta de preço, isso pode até bastar. Para quem atende cliente de projeto, que conhece você pelo nome, a relação esfria.</p>
<p>A diferença entre uma automação que soa como robô e uma que soa como você não está no modelo de IA. Está em quatro decisões de produto: <strong>de onde vem o estilo, o que é barrado antes do envio, como a mensagem é entregue e quem decide o que sai.</strong> Este artigo passa por cada uma.</p>
<h2 id="o-que-denuncia-um-robo-no-whatsapp">O que denuncia um robô no WhatsApp</h2>
<p>Antes de falar de solução, vale listar os sinais. Quase todos aparecem juntos em resposta automática genérica.</p>
<ul>
<li><strong>Abertura sempre igual.</strong> &quot;Olá, tudo bem?&quot; em toda mensagem, inclusive na quinta da mesma conversa.</li>
<li><strong>Recibo antes do conteúdo.</strong> &quot;Recebi sua mensagem sobre o relatório&quot; é o jeito mais rápido de parecer central de atendimento.</li>
<li><strong>Concordância vazia.</strong> &quot;Ótima pergunta!&quot;, &quot;Entendi perfeitamente&quot; e nada sobre o que foi entendido.</li>
<li><strong>Desculpa em excesso.</strong> Pedir desculpas três vezes pelo mesmo atraso soa ensaiado e enfraquece quem escreve.</li>
<li><strong>Pontuação de texto formal.</strong> Dois pontos introduzindo lista, frase longa num balão só, ponto final em tudo. Pouca gente escreve assim no celular.</li>
<li><strong>Velocidade impossível.</strong> Três parágrafos que chegam dois segundos depois da pergunta, às três da manhã.</li>
<li><strong>Repetição.</strong> A mesma frase de fechamento em todas as conversas do dia.</li>
</ul>
<p>Repare que nenhum desses sinais é erro de português. São desvios do jeito que <strong>aquela pessoa</strong> escreve. Por isso não existe um &quot;tom humano&quot; genérico que resolva.</p>
<h2 id="1-o-estilo-vem-das-suas-mensagens-nao-de-um-prompt">1. O estilo vem das suas mensagens, não de um prompt</h2>
<p>Pedir &quot;responda de forma natural e amigável&quot; produz exatamente o texto da lista acima. O que funciona é medir como você escreve e usar isso como referência.</p>
<p>Dá para medir coisas bem concretas no seu histórico: quantas mensagens você termina com ponto final, como você abre conversa com quem já tem intimidade e com quem não tem, o tamanho típico de um balão, se usa emoji e qual, quanto quebra uma ideia em vários balões. Esses números variam por cliente, e tudo bem: com o sócio de um cliente antigo você escreve diferente de um lead novo.</p>
<p>No <a href="https://wacrew.com.br/">WACrew</a>, a IA lê o histórico da conversa e escreve com a sua pontuação, as suas aberturas e o seu ritmo, medidos nas suas próprias mensagens. Antes de redigir, ela consulta o que você usou nas últimas mensagens daquele chat para não repetir abertura nem palavra.</p>
<h2 id="2-uma-revisao-em-codigo-antes-de-sair">2. Uma revisão em código antes de sair</h2>
<p>Pedir para o modelo &quot;não usar clichê&quot; não é garantia. Modelo de linguagem esquece instrução, principalmente em conversa longa. A trava confiável é uma revisão determinística, em código, que roda depois do rascunho e antes do envio.</p>
<p>O que vale barrar:</p>
<ul>
<li><strong>Bloqueios que nunca passam:</strong> tratamento errado para o seu jeito de falar e confissão de culpa automática (&quot;foi mal, culpa minha&quot;).</li>
<li><strong>Sinais que somam pontos:</strong> abertura repetida, mesma palavra das últimas mensagens, travessão, dois pontos de introdução, saudação repetida em menos de uma hora, desculpa repetida, drama e minimização.</li>
<li><strong>Balão idêntico</strong> a algo que você já mandou há pouco tempo naquela conversa.</li>
</ul>
<p>Se a soma estoura, a mensagem volta para ser reescrita e nada é enviado. Uma boa calibragem usa o seu próprio histórico como régua: a revisão não deveria recusar quase nada do que você mesmo escreveu.</p>
<h2 id="3-entregar-no-ritmo-de-gente">3. Entregar no ritmo de gente</h2>
<p>Mesmo um texto perfeito parece robô se chega instantâneo. Pessoas leem, pensam, digitam e às vezes param no meio.</p>
<p>Uma entrega no ritmo humano tem três partes:</p>
<ol>
<li><strong>Visto na hora certa.</strong> A mensagem é marcada como lida antes de começar a digitar, não ao mesmo tempo.</li>
<li><strong>Digitando com a sua velocidade.</strong> O indicador fica o tempo que você levaria para escrever aquilo, e mensagens em vários balões saem uma de cada vez.</li>
<li><strong>Pausa proporcional ao contexto.</strong> Numa conversa ativa, segundos. Numa conversa fria, minutos ou horas. Se o cliente mandou um vídeo, o tempo de assistir entra na conta.</li>
</ol>
<p>E o mais importante: <strong>a entrega precisa parar sozinha.</strong> Se o cliente escreve de novo antes de a resposta sair, ela pode ter ficado velha. Se você responde pelo celular, a IA não deve falar por cima. No WACrew, nos dois casos a entrega é interrompida e a IA relê a conversa antes de tentar de novo.</p>
<p>Tem um custo nisso, e é bom saber: a resposta demora mais do que um bot comum. Para quem quer parecer uma pessoa ocupada, e não uma central, esse é o comportamento certo.</p>
<h2 id="4-voce-decide-o-que-sai-conversa-por-conversa">4. Você decide o que sai, conversa por conversa</h2>
<p>Automação sem controle é o motivo pelo qual muita gente desliga a ferramenta na primeira semana. O desenho que funciona tem dois modos, escolhidos por conversa.</p>
<div class="table"><table><thead><tr><th>Modo</th><th>Como funciona</th><th>Quando usar</th></tr></thead><tbody><tr><td>Confirmar (padrão)</td><td>A IA rascunha, você lê, edita e aprova. Nada sai sem o seu OK</td><td>Clientes novos, assuntos de dinheiro, prazo ou problema, e qualquer conversa em que você ainda não confia no rascunho</td></tr>
<tr><td>Autônomo</td><td>A IA responde sozinha dentro dos limites que você definiu</td><td>Conversas de rotina com clientes antigos, depois de algumas semanas aprovando rascunhos sem precisar editar</td></tr></tbody></table></div>
<p>Comece tudo em Confirmar. Passe uma conversa para Autônomo só quando os rascunhos dela estiverem saindo sem edição. E registre sempre quem escreveu cada mensagem (você pelo celular, você pelo painel, alguém da equipe ou a IA), para saber depois o que aconteceu.</p>
<figure><img src="https://wacrew.com.br/assets/art/bloco-controle.webp" alt="Ilustração em pixel art de uma pessoa aprovando uma mensagem no notebook, com um sinal de confirmação verde na tela" width="1600" height="1195" loading="lazy" decoding="async"><figcaption>No modo Confirmar, a IA rascunha e você aprova antes de qualquer envio.</figcaption></figure>
<h2 id="o-que-a-automacao-nao-deve-tentar">O que a automação não deve tentar</h2>
<p>Algumas coisas ficam fora de propósito, e vale dizer com clareza.</p>
<ul>
<li><strong>Não é para enganar ninguém.</strong> O objetivo é não soar preguiçoso nem genérico com quem você já atende, não fingir que uma pessoa está acordada às três da manhã. Decida com honestidade quando o cliente deve saber que uma IA ajuda no seu atendimento.</li>
<li><strong>Não é para disparo em massa.</strong> O WACrew conecta como um aparelho a mais na sua conta, via Baileys. <strong>Não é a API oficial do WhatsApp.</strong> Foi feito para atender quem já fala com você. Abordagem fria e disparo em volume podem bloquear o número.</li>
<li><strong>Não resolve assunto delicado sozinho.</strong> Cobrança, reclamação séria e erro seu pedem você na conversa. É para isso que o modo Confirmar existe.</li>
</ul>
<h2 id="como-avaliar-uma-ferramenta-antes-de-usar">Como avaliar uma ferramenta antes de usar</h2>
<p>Se você está comparando opções, estas perguntas separam rápido o que soa humano do que não soa:</p>
<ol>
<li>De onde vem o estilo do texto: de um prompt genérico ou das suas mensagens?</li>
<li>Existe revisão em código antes do envio, ou só instrução para o modelo?</li>
<li>A entrega tem visto, digitando e pausa, ou a resposta cai na hora?</li>
<li>A entrega para se o cliente escrever de novo ou se você responder pelo celular?</li>
<li>Dá para aprovar cada mensagem e escolher o modo por conversa?</li>
<li>Fica registrado quem escreveu cada mensagem?</li>
<li>A ferramenta é clara sobre usar ou não a API oficial e sobre o risco de bloqueio?</li>
</ol>
<h2 id="na-pratica-aqui">Na prática, aqui</h2>
<p>Em uso real, em novembro de 2026, foram 3.209 mensagens de clientes em 30 dias e 3 minutos de mediana até a primeira resposta. É um caso só; o seu resultado depende do seu volume e de quanto você deixa no automático.</p>
<p>Se o seu problema hoje é mais de organização do que de texto, comece pelo guia de <a href="https://wacrew.com.br/blog/atender-grupos-de-clientes-no-whatsapp/">como atender grupos de clientes no WhatsApp sem deixar ninguém esperando</a>. Se você trabalha com agente de código, veja <a href="https://wacrew.com.br/blog/whatsapp-mcp-claude-code/">como conectar o WhatsApp ao Claude Code com MCP</a>.</p>
<p>O WACrew é grátis, de código aberto (Apache 2.0) e roda na sua máquina. O código está no <a href="https://github.com/sumioshi/wacrew" rel="noopener">GitHub</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Como atender dezenas de grupos de clientes no WhatsApp sem deixar ninguém esperando</title>
      <link>https://wacrew.com.br/blog/atender-grupos-de-clientes-no-whatsapp/</link>
      <guid isPermaLink="true">https://wacrew.com.br/blog/atender-grupos-de-clientes-no-whatsapp/</guid>
      <pubDate>Fri, 13 Nov 2026 12:00:00 GMT</pubDate>
      <dc:creator>Rodrigo Sumioshi</dc:creator>
      <description>Um método prático para agência e software house atender grupos de clientes no WhatsApp por tempo de espera, com passos, métricas e erros comuns.</description>
      <content:encoded><![CDATA[<p>Quem atende <strong>grupos de clientes no WhatsApp</strong> conhece a cena. São quarenta grupos abertos, um áudio de quatro minutos no meio da conversa, o print do bug perdido no scroll e o cliente que mandou mensagem há três dias sem resposta de ninguém. Não falta vontade de responder. Falta saber, a qualquer momento, quem está esperando e há quanto tempo.</p>
<p>A resposta curta: <strong>troque a ordem de leitura.</strong> O WhatsApp ordena as conversas pela última mensagem, não pelo tempo de espera. Enquanto essa for a sua fila, o grupo mais barulhento sempre passa na frente do cliente que mandou uma pergunta e ficou quieto. O resto deste guia mostra como montar uma fila por espera, com ou sem ferramenta.</p>
<h2 id="por-que-grupo-de-cliente-vira-bagunca">Por que grupo de cliente vira bagunça</h2>
<p>Grupo de projeto é ótimo para o cliente: todo mundo da equipe dele está lá e ninguém precisa repetir nada. Para quem atende, ele junta quatro problemas.</p>
<ol>
<li><strong>A lista do app mente sobre urgência.</strong> Uma conversa que recebeu &quot;kkk&quot; agora sobe para o topo; a pergunta séria de ontem desce.</li>
<li><strong>O mesmo cliente fala em vários lugares.</strong> Ele pergunta no grupo, cobra no privado e manda o arquivo para outra pessoa da sua equipe.</li>
<li><strong>Mensagem não é unidade de trabalho.</strong> Um pedido costuma chegar picado em cinco balões, um áudio e um print.</li>
<li><strong>Ninguém sabe se alguém já respondeu.</strong> Em equipe, ou duas pessoas respondem a mesma coisa, ou cada uma acha que a outra respondeu.</li>
</ol>
<p>Silenciar grupos e confiar na memória resolve por uma semana. Depois o volume volta a ganhar.</p>
<h2 id="passo-1-meca-espera-nao-mensagens-nao-lidas">Passo 1: meça espera, não mensagens não lidas</h2>
<p>Defina uma regra simples: <strong>um cliente está esperando quando a última mensagem relevante da conversa é dele.</strong> O tempo de espera conta a partir dessa mensagem e só para quando alguém do seu lado responde.</p>
<p>Com essa regra, a pergunta &quot;quem eu respondo agora?&quot; tem resposta objetiva: quem espera há mais tempo. Mensagens não lidas são um péssimo indicador, porque você pode ler tudo e não responder nada.</p>
<p>Na prática, anote para cada grupo três coisas: quando o cliente falou por último, quando você respondeu por último e o que ficou em aberto. Uma planilha resolve com poucos clientes. Com dezenas de grupos, a planilha vira mais um lugar para esquecer de atualizar.</p>
<h2 id="passo-2-junte-o-cliente-nao-a-conversa">Passo 2: junte o cliente, não a conversa</h2>
<p>O grupo do projeto e o privado do dono da empresa cliente são a mesma relação. Se eles aparecem em lugares separados, você responde o grupo, acha que está em dia e esquece a cobrança que chegou no privado.</p>
<p>Monte a sua fila por cliente: grupo e conversas individuais das pessoas daquele cliente juntos, com o tempo de espera do item mais antigo sem resposta. Isso também evita responder a mesma dúvida duas vezes em dois lugares.</p>
<h2 id="passo-3-trate-rajadas-como-um-bloco-so">Passo 3: trate rajadas como um bloco só</h2>
<p>Quando o cliente manda texto, print e áudio em sequência, isso é <strong>um</strong> pedido. Leia o bloco inteiro antes de responder e responda o bloco inteiro.</p>
<p>Dois cuidados ajudam muito:</p>
<ul>
<li><strong>Transcreva o áudio.</strong> Ouvir um áudio de quatro minutos para descobrir que era um pedido de reunião custa caro. Com o texto, você bate o olho e decide.</li>
<li><strong>Procure o print na hora de resolver, não na hora de ler.</strong> Guarde onde está a imagem do bug; você vai precisar dela de novo quando for testar a correção.</li>
</ul>
<h2 id="passo-4-defina-quem-responde-o-que">Passo 4: defina quem responde o quê</h2>
<p>Atender grupo em equipe exige duas regras explícitas.</p>
<ul>
<li><strong>Cada cliente tem um responsável pela primeira resposta.</strong> Os outros podem ajudar, mas alguém é dono da espera daquele cliente.</li>
<li><strong>Toda resposta deixa rastro de quem escreveu.</strong> Assim ninguém responde por cima de um colega e você consegue ver depois quem está segurando a fila.</li>
</ul>
<p>Se a sua equipe usa o mesmo número, dê a cada atendente acesso só às conversas que ele atende. Isso diminui o risco de alguém responder um cliente que não conhece.</p>
<h2 id="passo-5-primeira-resposta-rapida-nao-e-resolver">Passo 5: primeira resposta rápida não é resolver</h2>
<p>O cliente que espera quer, antes de tudo, saber que foi visto e o que vai acontecer. Uma primeira resposta boa diz o que você entendeu e o próximo passo, com prazo quando houver.</p>
<p>Evite os dois extremos. &quot;Recebido!&quot; sozinho não diz nada e o cliente volta a cobrar. Esperar resolver tudo para só então responder deixa o cliente horas no escuro. Uma resposta parcial honesta (&quot;o print mostra o erro no pagamento, vou reproduzir aqui e te volto ainda hoje&quot;) segura a relação e não promete o que você não sabe.</p>
<h2 id="passo-6-acompanhe-dois-numeros">Passo 6: acompanhe dois números</h2>
<p>Você não precisa de um painel enorme. Dois números contam a história.</p>
<div class="table"><table><thead><tr><th>Número</th><th>O que mostra</th><th>Como usar</th></tr></thead><tbody><tr><td>Mediana da primeira resposta</td><td>Quanto tempo um cliente típico espera para ser visto</td><td>Se sobe, a fila está crescendo mais rápido do que você responde</td></tr>
<tr><td>Clientes esperando além do seu limite</td><td>Quem está esquecido agora</td><td>Defina um limite que faça sentido para o seu tipo de cliente e zere essa lista todo dia</td></tr></tbody></table></div>
<p>Use a mediana, não a média: um único cliente que ficou um fim de semana sem resposta distorce a média e esconde o resto.</p>
<h2 id="erros-comuns">Erros comuns</h2>
<ul>
<li><strong>Silenciar os grupos chatos.</strong> O cliente que fala muito costuma ser o que mais paga ou o que mais reclama. Silenciar só esconde a espera.</li>
<li><strong>Responder pela ordem do aplicativo.</strong> É a forma mais rápida de deixar o cliente quieto para trás.</li>
<li><strong>Resposta pronta para tudo.</strong> Cliente de projeto percebe o texto genérico e passa a cobrar mais, não menos.</li>
<li><strong>Disparar mensagem em massa para &quot;manter contato&quot;.</strong> Além de irritar, abordagem fria em volume é o principal motivo de bloqueio de número em ferramentas que não usam a API oficial.</li>
<li><strong>Medir só o tempo de resolução.</strong> Ele importa, mas o que o cliente sente primeiro é o silêncio.</li>
</ul>
<h2 id="como-o-wacrew-resolve-isso">Como o WACrew resolve isso</h2>
<p>O <a href="https://wacrew.com.br/">WACrew</a> foi feito para resolver exatamente esse problema. Ele é de código aberto e conecta como um aparelho a mais na sua conta. Toda conversa entra numa fila por tempo de espera, grupo e privado do mesmo cliente aparecem juntos, mensagens seguidas viram um bloco e o áudio chega transcrito.</p>
<figure><img src="https://wacrew.com.br/assets/screens/escritorio.webp" alt="Escritório 2D do WACrew em pixel art, com uma mesa por projeto de cliente" width="1600" height="1000" loading="lazy" decoding="async"><figcaption>No escritório 2D, cada projeto é uma mesa; quando chega mensagem de cliente sem resposta, a mesa fica vermelha na hora.</figcaption></figure>
<p>Em uso real, em novembro de 2026: 3.209 mensagens de clientes em 30 dias, 3 minutos de mediana até a primeira resposta e 24 entregas registradas no mês. São números de uma operação só; servem de referência, não de promessa.</p>
<p>A IA rascunha a resposta e, no modo padrão, nada sai sem o seu OK. Como ela escreve e entrega sem parecer robô está explicado em <a href="https://wacrew.com.br/blog/automacao-de-whatsapp-com-ia/">Automação de WhatsApp com IA sem cara de robô</a>. Se você usa agente de código, também dá para <a href="https://wacrew.com.br/blog/whatsapp-mcp-claude-code/">conectar o WhatsApp ao Claude Code com MCP</a> e atender pelo terminal.</p>
<p>Dois limites antes de testar: o WACrew <strong>não é a API oficial do WhatsApp</strong> e foi feito para atender quem já fala com você, não para disparo em massa. E ele não importa histórico antigo; a captura começa quando você conecta o número.</p>
<h2 id="resumo-para-aplicar-hoje">Resumo para aplicar hoje</h2>
<ol>
<li>Liste seus clientes e marque quem falou por último em cada conversa.</li>
<li>Ordene por tempo de espera e responda de cima para baixo.</li>
<li>Junte grupo e privado do mesmo cliente.</li>
<li>Leia rajadas inteiras e transcreva os áudios.</li>
<li>Dê a cada cliente um responsável pela primeira resposta.</li>
<li>Acompanhe a mediana da primeira resposta e quem passou do seu limite.</li>
</ol>
<p>O código está no <a href="https://github.com/sumioshi/wacrew" rel="noopener">GitHub</a>, com licença Apache 2.0.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Como conectar o WhatsApp ao Claude Code com MCP</title>
      <link>https://wacrew.com.br/blog/whatsapp-mcp-claude-code/</link>
      <guid isPermaLink="true">https://wacrew.com.br/blog/whatsapp-mcp-claude-code/</guid>
      <pubDate>Fri, 13 Nov 2026 12:00:00 GMT</pubDate>
      <dc:creator>Rodrigo Sumioshi</dc:creator>
      <description>Passo a passo para conectar o WhatsApp ao Claude Code, ao Codex ou a qualquer cliente MCP com o servidor de código aberto do WACrew, com cuidados de envio.</description>
      <content:encoded><![CDATA[<p>Se você passa o dia no terminal com um agente de código, faz sentido que ele também leia o que o cliente pediu no WhatsApp. O caminho para isso é o <strong>MCP</strong> (Model Context Protocol): um padrão aberto que deixa um agente como o Claude Code chamar ferramentas externas, como &quot;ler mensagens do grupo X&quot; ou &quot;transcrever este áudio&quot;.</p>
<p>Este guia mostra como <strong>conectar o WhatsApp ao Claude Code com MCP</strong> usando o servidor do <a href="https://wacrew.com.br/">WACrew</a>, que é de código aberto e traz 36 ferramentas. O mesmo servidor funciona no Codex, no Qwen Code e em qualquer cliente MCP.</p>
<h2 id="o-que-o-agente-consegue-fazer-depois-de-conectado">O que o agente consegue fazer depois de conectado</h2>
<p>Com o servidor ligado, você conversa com o agente em linguagem natural e ele escolhe as ferramentas. Alguns pedidos que funcionam:</p>
<ul>
<li>&quot;Quem está esperando resposta agora?&quot; usa <code>caixa_de_entrada</code>.</li>
<li>&quot;O que o cliente pediu hoje no grupo do projeto?&quot; usa <code>ler_mensagens</code> e <code>transcrever</code> para os áudios.</li>
<li>&quot;Olha o print do erro que ele mandou&quot; usa <code>ver_imagem</code>, e o modelo enxerga a imagem.</li>
<li>&quot;Ele mandou um vídeo da tela, o que acontece ali?&quot; usa <code>assistir_video</code>.</li>
<li>&quot;Procura onde falamos do prazo do relatório&quot; usa <code>buscar</code>, que acha texto inclusive dentro das transcrições.</li>
<li>&quot;Responde que o ajuste sobe amanhã&quot; usa <code>preparar_resposta</code> e <code>responder</code>.</li>
</ul>
<p>O ganho real aparece quando a conversa e o código estão no mesmo lugar: o agente lê o bug relatado no grupo, abre o repositório, corrige e rascunha a resposta para o cliente sem você trocar de janela.</p>
<h2 id="antes-de-comecar">Antes de começar</h2>
<p>Você vai precisar de:</p>
<ul>
<li><strong>Node.js 20 ou mais novo</strong> e <code>ffmpeg</code> instalados.</li>
<li><strong>Uma conta de WhatsApp</strong> para conectar como aparelho a mais. Pode ser a do seu trabalho; o celular continua funcionando normalmente.</li>
<li><strong>Claude Code</strong> (ou outro cliente MCP) instalado.</li>
<li>Para transcrever áudio na própria máquina, um Mac com Apple Silicon. Fora do Mac, a transcrição vai por API.</li>
</ul>
<p>Um aviso que vale ler agora: o WACrew <strong>não usa a API oficial do WhatsApp</strong>. Ele conecta pelo Baileys, como o WhatsApp Web. Foi feito para atender quem já fala com você. Disparo em massa e abordagem fria podem bloquear o número.</p>
<h2 id="passo-1-instale-e-conecte-o-whatsapp">Passo 1: instale e conecte o WhatsApp</h2>
<p>Clone o repositório e instale as dependências do coletor e do painel:</p>
<pre><code class="language-bash">git clone https://github.com/sumioshi/wacrew &amp;&amp; cd wacrew
npm install &amp;&amp; npm --prefix web install
npm run dev
</code></pre>
<p>O <code>npm run dev</code> sobe o coletor, o painel, a transcrição e o notificador. Abra <code>http://localhost:3000/config</code>, escaneie o QR pelo celular (WhatsApp, Aparelhos conectados, Conectar um aparelho) e escolha os grupos que quer acompanhar. A sessão fica salva e reconecta sozinha.</p>
<p>A captura começa nesse momento. O WACrew não importa histórico antigo, então o agente só vai enxergar o que chegar depois do pareamento.</p>
<h2 id="passo-2-registre-o-servidor-mcp-no-claude-code">Passo 2: registre o servidor MCP no Claude Code</h2>
<p>O repositório traz um modelo pronto de configuração com escopo de projeto. Copie:</p>
<pre><code class="language-bash">cp .mcp.json.example .mcp.json
</code></pre>
<p>O arquivo aponta para o servidor em <code>web/mcp/server.ts</code> e para a pasta de dados local:</p>
<pre><code class="language-json">{
  &quot;mcpServers&quot;: {
    &quot;whatsapp-collector&quot;: {
      &quot;command&quot;: &quot;./web/node_modules/.bin/tsx&quot;,
      &quot;args&quot;: [&quot;./web/mcp/server.ts&quot;],
      &quot;env&quot;: {
        &quot;WAC_DATA_DIR&quot;: &quot;./data&quot;,
        &quot;WAC_GROUPS_CONFIG&quot;: &quot;./groups.config.json&quot;
      }
    }
  }
}
</code></pre>
<p>Abra o Claude Code na pasta do repositório. Ele lê o <code>.mcp.json</code> e pede a sua aprovação no primeiro uso do servidor. Aprove e confira com <code>/mcp</code> que o <code>whatsapp-collector</code> aparece conectado.</p>
<p>O <code>.mcp.json</code> fica fora do git de propósito: se você colocar senha nele, ela não vai parar no repositório.</p>
<h2 id="passo-3-teste-com-um-pedido-de-leitura">Passo 3: teste com um pedido de leitura</h2>
<p>Comece sempre lendo, nunca enviando. Peça algo como:</p>
<blockquote>
<p>liste os grupos que você consegue ver e me diga quem está esperando resposta</p>
</blockquote>
<p>O agente deve chamar <code>listar_grupos</code> e <code>caixa_de_entrada</code>. Se a lista vier vazia, volte ao painel e confira se os grupos estão marcados para acompanhar e se já chegou alguma mensagem depois do pareamento.</p>
<h2 id="passo-4-responda-com-seguranca">Passo 4: responda com segurança</h2>
<p>Enviar é a parte que exige cuidado, porque <strong>o envio é real</strong>: a mensagem sai da sua conta, para o seu cliente. O fluxo recomendado tem quatro etapas.</p>
<ol>
<li><strong><code>preparar_resposta</code></strong> devolve o seu estilo recente naquela conversa e o que o cliente deixou em aberto.</li>
<li>O agente escreve dois ou três rascunhos e você lê. Para revisar sem enviar, existe <code>revisar_texto</code>.</li>
<li><strong><code>responder</code></strong> recebe os rascunhos como <code>candidatos</code> e envia o que menos destoa de você. Antes de sair, uma revisão em código barra clichê de robô, desculpa repetida e balão repetido; se barrar, nada é enviado.</li>
<li>O retorno é um <strong>ticket</strong>, não uma confirmação de envio. A mensagem sai depois, no ritmo humano: segundos numa conversa ativa, minutos a horas numa fria. <code>status_envio</code> acompanha e <code>cancelar_envio</code> cancela.</li>
</ol>
<p>Cada conversa tem um modo. No <strong>Confirmar</strong>, que é o padrão, a convenção é o agente mostrar o texto e esperar o seu OK antes de chamar o envio. No <strong>Autônomo</strong>, ligado por conversa, ele pode responder sozinho. Comece tudo em Confirmar.</p>
<p>Faça o primeiro teste de envio num grupo só seu, criado para isso. Nunca teste num grupo de cliente.</p>
<h2 id="usando-no-codex-e-em-outros-clientes-mcp">Usando no Codex e em outros clientes MCP</h2>
<p>O servidor é o mesmo; muda só onde ele é registrado. O Qwen Code lê o mesmo <code>.mcp.json</code> da raiz e pede aprovação na primeira vez. No Codex, o servidor entra na seção <code>mcp_servers</code> do <code>config.toml</code>, com caminhos absolutos para não depender da pasta em que o Codex foi aberto:</p>
<pre><code class="language-toml">[mcp_servers.whatsapp-collector]
command = &quot;/caminho/para/wacrew/web/node_modules/.bin/tsx&quot;
args = [&quot;/caminho/para/wacrew/web/mcp/server.ts&quot;]
env = { WAC_DATA_DIR = &quot;/caminho/para/wacrew/data&quot;, WAC_GROUPS_CONFIG = &quot;/caminho/para/wacrew/groups.config.json&quot; }
</code></pre>
<p>Qualquer outro cliente que fale MCP por stdio segue a mesma ideia: comando <code>tsx</code>, argumento <code>web/mcp/server.ts</code> e as duas variáveis de ambiente.</p>
<h2 id="rodando-24-horas-e-lendo-da-nuvem">Rodando 24 horas e lendo da nuvem</h2>
<p>Com o coletor só no seu computador, mensagens que chegam com a máquina desligada não são capturadas. Para não perder nada, suba o coletor e o painel num servidor com o <code>Dockerfile</code> incluso (a Railway funciona direto) e um volume em <code>/data</code>. Defina <code>PANEL_USER</code> e <code>PANEL_PASS</code> para o painel exigir login.</p>
<p>Depois, o MCP local pode ler direto do painel na nuvem. Parta do <code>.mcp.json.remote.example</code>, que adiciona <code>WAC_MCP_REMOTE=1</code> e as variáveis <code>WAC_CLOUD_URL</code>, <code>WAC_CLOUD_USER</code> e <code>WAC_CLOUD_PASS</code>. A mídia é baixada sob demanda quando o agente pede para ver ou transcrever algo.</p>
<h2 id="problemas-comuns">Problemas comuns</h2>
<div class="table"><table><thead><tr><th>Sintoma</th><th>Causa provável</th><th>O que fazer</th></tr></thead><tbody><tr><td>O servidor não aparece no <code>/mcp</code></td><td>O Claude Code foi aberto fora da pasta do repositório, ou o <code>.mcp.json</code> não existe</td><td>Abra o Claude Code na raiz do repositório e confira o arquivo</td></tr>
<tr><td>O servidor falha ao iniciar</td><td>As dependências do painel não foram instaladas, então falta o <code>tsx</code></td><td>Rode <code>npm --prefix web install</code></td></tr>
<tr><td>Nenhum grupo aparece</td><td>O número não foi pareado ou os grupos não foram marcados</td><td>Abra <code>localhost:3000/config</code> e confira</td></tr>
<tr><td>Mensagens antigas não aparecem</td><td>A captura começa no pareamento</td><td>Não há como importar o histórico anterior</td></tr>
<tr><td>A resposta &quot;não saiu&quot;</td><td>O envio é por ticket e leva tempo de propósito</td><td>Consulte <code>status_envio</code> antes de tentar de novo, para não mandar duas vezes</td></tr></tbody></table></div>
<h2 id="para-onde-ir-depois">Para onde ir depois</h2>
<p>Com o agente lendo e respondendo, o próximo passo é organizar a fila. O guia de <a href="https://wacrew.com.br/blog/atender-grupos-de-clientes-no-whatsapp/">como atender grupos de clientes no WhatsApp sem deixar ninguém esperando</a> mostra o método que usamos. E para entender por que a entrega demora de propósito e o que a revisão barra, leia <a href="https://wacrew.com.br/blog/automacao-de-whatsapp-com-ia/">Automação de WhatsApp com IA sem cara de robô</a>.</p>
<p>A lista completa das 36 ferramentas está no <a href="https://github.com/sumioshi/wacrew/blob/main/README.pt-BR.md" rel="noopener">README do projeto</a>. O código é aberto, com licença Apache 2.0, e está no <a href="https://github.com/sumioshi/wacrew" rel="noopener">GitHub</a>.</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
