Comparativo de automação de DM
OpenReply x manychat · 08/09/2026

Estrelas, commits, datas, licença e árvore de arquivos foram lidos da API do GitHub hoje, autenticado com o seu token. Nada foi clonado e nada foi executado.

Escolher um ou o outro não adianta o prazo da Meta

Os dois falam com a API oficial do Instagram. Nenhum dos dois scrapeia, automatiza navegador ou pede senha. Isso é a melhor notícia do levantamento e também o problema: os dois passam pelo mesmo App Review da Meta, que é trabalho de formulário e screencast, não de código. A escolha entre eles decide o que acontece depois que a Meta abre a porta. Ela não abre a porta mais cedo.

Verificado Li da API do GitHub ou do arquivo dentro do repositório, hoje.
Suposição Leitura minha em cima do que li. Está marcada onde aparece.
Não apurei Tentei e não consegui ver. Fica em aberto, com o caminho pra resolver.
Sem recomendação Você pediu comparação. Não escolhi nenhum dos dois por você.

O que realmente decide

Comecei por aqui de propósito. Se você só ler esta seção, já dá pra conversar com quem for tocar isso.

A Meta é o gargalo, não o repositório

Os dois projetos são construídos em cima do mesmo mecanismo oficial: a private reply do Instagram. Alguém comenta a palavra-chave no seu Reel, a Meta chama um webhook seu, e o sistema responde no Direct daquela pessoa por endpoint oficial.

Pra isso funcionar fora do modo de teste, a exigência é a mesma nos dois casos: app criado no portal da Meta, conta do Instagram no modo Business ou Creator, domínio seu, webhook registrado nesse domínio e App Review aprovado pra ganhar Advanced Access nos escopos de mensagem. Sem isso, a automação só responde a perfis cadastrados como usuários de teste do app.

Igual nos dois

App próprio na Meta, conta Business ou Creator, domínio, webhook e App Review. Janela de 24h pra responder livremente depois que a pessoa escreve. Private reply com janela própria de 7 dias e uma chamada só por comentário. Teto de 750 private replies por hora, por conta.

Só aqui a escolha pesa

O que o sistema faz com o lead depois do primeiro DM, quanto de infra ele exige de pé, quem conserta quando quebrar, e sob qual licença o código está na sua mão.

Verificado As regras de janela, o teto de 750 por hora e a exigência de App Review estão escritas na documentação dos dois repositórios, que eu li hoje. O prazo do App Review em si eu não medi.

Ficha dos dois

Números lidos da API do GitHub em 08/09/2026. O da direita é privado, e só abre logado como você.

OpenReply
diwenne/openreply · público
Estrelas
2.121
Forks
784
Commits no total
157
Contribuidores
18
Criado em
17/07/2026
Último commit
05/09/2026
Issues abertas
4
Releases
nenhuma
Licença
MIT
Abrir no GitHub
manychat
fernandopaes0/manychat · privado
Estrelas
0
Forks
0
Commits na main
18
Contribuidores
2
Copiado pra sua conta
04/08/2026
Último commit na main
23/07/2026
Issues abertas
0
Releases
nenhuma
Licença
nenhuma
Abrir no GitHub
Repositório privado. O link só abre se você estiver logado na sua conta do GitHub.

Os 2 contribuidores da direita são o Renato Cardoso, autor de 18 commits, e você, com 2 commits em 15/08. Os seus não estão na main. Está detalhado mais abaixo.

Lado a lado

Só as linhas que mudam decisão. O núcleo é idêntico nos dois, e é por isso que ele abre a tabela e sai do caminho.

Comparativo lido do código e dos metadados dos dois repositórios, em 08/09/2026.

Item OpenReply manychat (cópia)
Núcleo Comentário vira DM por API oficial Igual, mesmo mecanismo
Fila de envio BullMQ sobre Redis, com worker dedicado Não existe na main. Só na sua branch parada
Sequência multi-passo Follow-up com atraso configurável Sequência que avança sozinha quando a pessoa responde
Gate de seguidor Sim, e libera o link mesmo se a Meta não devolver o status Sim
Multiconta Várias contas, com workspaces e papéis de owner, admin e membro Várias contas, com filtro por conta. Sem papéis nem convite
Banco Postgres próprio, via Prisma, com migrations versionadas Supabase compartilhado com outros sistemas, separado só por prefixo de tabela
Testes 18 suítes automatizadas, incluindo webhook e limite de envio Nenhuma
Documentação Guia de setup longo, guia de App Review, política de segurança README bom e 9 guias dentro do próprio painel, em português
Licença MIT, uso comercial liberado por escrito Nenhuma. Vale a autorização que o Renato te deu de viva voz
Quem sustenta Diwen Huang com 99 commits, mais 17 pessoas de fora Renato sozinho, e parado desde 23/07
Infra pra rodar Web na Vercel, mais Postgres, mais Redis, mais uma máquina pro worker App na Vercel e Supabase. Só isso
Esforço pra subir Maior, são dois processos que precisam ficar de pé Menor, é um app Next só
O destaque colorido marca onde o item é claramente mais forte de um lado. Onde não há destaque, os dois entregam o mesmo. Nenhuma linha soma pontuação, porque somar dá a ilusão de que existe um vencedor aritmético.
No celular, arraste a tabela pro lado.

Onde não se sobrepõem

O resto é empate técnico. Estes quatro pontos existem de um lado e não existem do outro, então é aqui que a escolha significa alguma coisa.

Operar conta de cliente

Só OpenReply

Ele tem workspace com papéis de owner, admin e membro, e link de convite. Dá pra colocar um cliente ou um operador dentro de um espaço isolado sem entregar a conta inteira.

O da cópia é single-tenant na prática. Serve pra rodar as suas contas, não pra rodar a conta dos outros com separação de acesso.

Sequência que espera a resposta

Só manychat

Ele manda o link tudo na primeira mensagem, porque a private reply só aceita uma chamada por comentário. As mensagens seguintes só saem depois que a pessoa responde, porque é a resposta dela que abre a janela de 24h. O webhook detecta isso e avança a sequência sozinho.

Quem monta funil de conversa vai sentir a diferença. No OpenReply o equivalente é um follow-up com atraso, que é outra coisa.

Rodar fora da Vercel

Só OpenReply

Tem Dockerfile, docker-compose e guia de deploy em Dokploy. Cabe na nossa VPS sem depender de plataforma de terceiro.

A cópia é casada com Vercel mais Supabase. Tirar ela de lá é reescrever a camada de banco.

Painel e documentação em português

Só manychat

Interface, textos e os 9 guias internos estão em PT-BR, escritos pra quem opera aqui. O OpenReply é todo em inglês, e as contribuições recentes da comunidade foram justamente pra fazer palavra-chave funcionar em árabe, cirílico e com acento latino.

Se quem vai mexer no painel no dia a dia não for você, isso deixa de ser detalhe.

Seus 2 commits estão parados

Achei isso procurando outra coisa. Vale mais que metade da tabela acima.

A main da sua cópia está sem fila de envio e sem token cifrado

Em 15/08 você escreveu dois commits que consertam exatamente as duas fraquezas mais sérias da cópia. Eles ficaram numa branch chamada feat/fila-de-envio que nunca foi mergeada.

755474dfeat: fila de envio com teto por hora e nova tentativa
724d883fix: sequência não cruza mais entre contas + token cifrado no banco
Estado da branch

2 commits à frente da main, 0 atrás, 33 arquivos tocados. Não há conflito impedindo o merge.

O que isso significa hoje

Quem clonar a main pega uma versão sem controle de teto por hora, sem nova tentativa em caso de falha, e com o token do Instagram guardado sem cifra no banco.

Suposição Não sei se a branch ficou fora da main por decisão sua ou por esquecimento. Só li que ela está lá, pronta e sem conflito.

Riscos dos dois lados

Sem poupar nenhum dos dois. É o que eu quereria saber antes de assinar embaixo.

OpenReply
  • Sete semanas de vida. Foi criado em 17/07/2026. Código com essa idade ainda muda de forma no meio do caminho.
  • Nenhuma release tagueada. Não existe versão estável pra fixar. Quem instalar hoje está instalando a ponta da main, e a ponta muda toda semana.
  • Dono único no centro. São 18 contribuidores, mas 99 dos 157 commits são de uma pessoa só. Se ela sair, a comunidade que ficou é de PRs pequenas.
  • Mais peças pra manter de pé. Web e worker são dois processos. Se o worker cair, os comentários chegam e nenhum DM sai, sem erro visível na tela.
O que não é risco aqui: licença e uso comercial. É MIT, sem pegadinha, e a origem que ele forkou também era MIT.
manychat (cópia)
  • Parado. Último commit do Renato é de 23/07. Não há ninguém empurrando esse código pra frente.
  • Sem licença. Não existe arquivo de licença no repositório. Por padrão isso é código proprietário do autor, e o que você tem é a autorização que ele te deu, sem nada escrito.
  • Sem teste nenhum. Zero arquivo de teste. Toda mudança futura é feita no escuro, inclusive por nós.
  • Supabase compartilhado. O banco é o mesmo projeto de outros sistemas, isolado só por prefixo de tabela. Erro de migration ali não fica contido nesse produto.
  • Marca de terceiro embutida. O painel carrega logo e favicon da Klyx, que não é sua. Sai antes de qualquer uso.
O que não é risco aqui: o desenho da integração. Ele usa a API oficial, valida a assinatura do webhook, grava o evento cru antes de processar e responde 200 na hora. Isso está bem feito.

Risco de queda de conta: baixo nos dois

Nenhum dos dois usa API não oficial, nenhum automatiza navegador e nenhum pede senha do Instagram. O que derruba conta em automação de DM é justamente o caminho que os dois recusaram.

Em que cenário cada um pesa

Não estou escolhendo. Estou dizendo onde o peso cai, pra você decidir com o cenário que só você conhece.

Se a ideia for rodar isso pra mentorado ou cliente, com acesso separado
O peso cai no OpenReply, pelos workspaces com papéis e convite. A cópia não tem essa camada e ela não é fácil de improvisar.
Se a ideia for uma sequência de conversa que vai puxando a pessoa
O peso cai no manychat, pela sequência que avança quando a pessoa responde. É o mecanismo mais próximo do que a gente já faz no WhatsApp.
Se quem for manter isso não formos só nós
O peso cai no OpenReply, por causa dos testes e da comunidade que ainda está mergeando PR toda semana. Bug encontrado por outra pessoa vira conserto sem custo nosso.
Se o que importar for subir rápido e barato pra testar a ideia
O peso cai no manychat, que é um app Next só, já em português, sem Redis e sem worker separado. Só lembrando que a main dele está sem a fila de envio.

Nenhum desses cenários vale mais que o outro sem você dizer qual é o de verdade. E nenhum deles muda o prazo do App Review, que é o mesmo nos dois.

O que não deu pra saber

O buraco principal tem solução simples, e ela não está do nosso lado.

Não apurei

Se a sua cópia está atrasada

O original renatodpaula/manychat é privado. Testei com o seu próprio token do GitHub e ele devolve 404, ou seja você não é colaborador lá. Sem enxergar o original, não tenho como dizer se a cópia está atrasada nem quantos commits atrás ela está.

A conta do Renato existe e está ativa: github.com/renatodpaula, com 12 repositórios públicos, incluindo as skills project-maker e humantext que já rodam aqui em casa. O repositório manychat simplesmente não é um deles.

Isso só se resolve de um jeito: pedir a ele acesso de leitura ao repositório. Com isso eu comparo os dois históricos em minutos e te digo o número exato.

  • Também não sei se a sua cópia está publicada em algum lugar. O repositório não declara URL e eu não fui olhar na Vercel.
  • Também não sei se o histórico veio inteiro da origem. As 18 commits parecem íntegras desde o primeiro, mas só o original confirma.
  • Procurei clone local nesta VPS em /opt, /home/mari e /root, por nome de pasta e por endereço de origem no git. Não existe cópia local de nenhum dos dois.

De onde saiu cada número

Tudo lido em 08/09/2026 pela API do GitHub, autenticado com o token que estava no servidor. Só leitura, nada criado nem alterado.

Uma coisa que quase entrou errada

O OpenReply tem uma issue aberta chamada Upgrade to payable model, que à primeira vista parece o dono anunciando que vai cobrar. Abri e li: é pedido de um usuário por mais tipos de campanha. Não há sinal de fechamento do código. Deixo registrado porque eu quase repassei o título sem abrir.