new-term-radar
신규 AI 용어를 매일 추적, X·Hugging Face·GitHub 등에서 모델·제품·레포 이름을 빠르게 수집
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Trakeamento Meta Ads + Kommo + WhatsApp Plataforma que conecta formulários instantâneos da Meta (Facebook/Instagram Lead Ads) e conversas do WhatsApp (Cloud API oficial ou Evolution API, por QR Code) a um CRM Kommo, registra tudo em MySQL, devolve eventos de conversão para a Meta Conversions API, e expõe um painel com métricas, campanhas, kanban e atendimento. Este repositório está em migração: o sistema nasceu inteiramente em n8n e está sendo transformado em um aplicativo Next.js hospedado na Vercel, mantendo no n8n apenas os fluxos que dependem de execução longa ou agendada.README 전문 보기 ↗
Plataforma que conecta formulários instantâneos da Meta (Facebook/Instagram Lead Ads) e conversas do WhatsApp (Cloud API oficial ou Evolution API, por QR Code) a um CRM Kommo, registra tudo em MySQL, devolve eventos de conversão para a Meta Conversions API, e expõe um painel com métricas, campanhas, kanban e atendimento.
Este repositório está em migração: o sistema nasceu inteiramente em n8n e está sendo transformado em um aplicativo Next.js hospedado na Vercel, mantendo no n8n apenas os fluxos que dependem de execução longa ou agendada.
| Documento | Para quê |
|---|---|
ARQUITETURA_APP.md | Arquitetura alvo: o que vira app, o que fica no n8n, stack, autenticação, multi-tenant, riscos. Comece por aqui. |
PLANO_IMPLEMENTACAO.md | As 7 fases de execução, com critério de conclusão de cada uma e a lista de ações manuais. |
DOCUMENTACAO_APLICACAO.md | Como o sistema atual funciona hoje, workflow por workflow e aba por aba. É a referência ao portar cada endpoint. |
| Script | Onde rodar |
|---|---|
Banco de Dados/00_Banco_Central_Do_Zero (instalacao limpa).sql | Instalação do zero. Cria trakeamento_controle já com tudo que as migrações acrescentaram depois (meta_test_event_code, last_sync_started_at, whatsapp_accounts com provider e colunas evolution_*, painel_metric_prefs). Em banco novo, substitui o 01 e as migrações do central. Não rode em banco existente. |
Banco de Dados/01_Banco_Central_Controle (Rode no SQL).sql | Versão original do central. Só para bancos que já foram criados com ele — em ambiente novo use o 00 acima |
Banco de Dados/02_Template_Banco_Por_Cliente.sql | Template aplicado a cada banco cliente_* novo. O app lê este arquivo em /admin/clientes/novo: editar aqui muda o esquema de todo cliente criado dali em diante |
Banco de Dados/03_App_Auth_Usuarios.sql | Uma vez, no trakeamento_controle — usuários, papéis, convites, auditoria |
WhatsApp/migracao_*.sql, Meta Insights/migracao_*.sql | Em cada banco cliente_* já existente |
WhatsApp/migracao_whatsapp_evolution.sql | Uma vez, no trakeamento_controle — habilita a conexão por Evolution API (coluna provider + colunas evolution_*). Já rodado em produção. |
WhatsApp/migracao_whatsapp_midia.sql | Em cada banco cliente_* — guarda imagem, áudio, vídeo e documento das conversas (whatsapp_media + colunas media_*). Sem ela a conversa continua aparecendo, só que o anexo fica como rótulo. Rodada nos dois clientes de produção em 28/08/2026. |
PLANO_IMPLEMENTACAO.md)As caixas acima são marcadas quando o critério de conclusão da fase (descrito no plano) é demonstrado — não quando o código é escrito.
01 - Recebe leads - Meta (CORRIGIDO) — ponto de entrada dos leads. Não alterar.Meta Insights - Sincronização Sob DemandaMeta Insights - Importação Histórica (manual)WhatsApp IA - Classificação AutomáticaCada build_*.js gera o .json correspondente. Ao alterar um deles, rode node build_xxx.js e reimporte o .json no n8n — editar o .json direto é perdido na próxima geração.
npm install
cp .env.example .env.local
npm run dev
Variáveis de ambiente: ver .env.example.
MYSQL_HOST, MYSQL_USER e MYSQL_PASSWORD no .env.local (o AUTH_SECRET já vem gerado).Banco de Dados/03_App_Auth_Usuarios.sql no MySQL — cria as tabelas de usuários, convites e auditoria.npm run db:check — confirma conexão, lista o que falta e mostra os clientes do catálogo.SEED_ADMIN_EMAIL e SEED_ADMIN_PASSWORD e rode npm run seed:admin. Depois apague os dois valores do .env.local.npm run dev e entre em http://localhost:3000/login.Sem SMTP_* configurado, convites e links de redefinição não são enviados — o link aparece
no log do servidor e, no caso do convite, na própria tela /admin/usuarios.
O painel roda na Vercel; o MySQL e a Evolution API ficam na VPS. Essa
divisão tem uma consequência que não aparece em desenvolvimento: a
Evolution só entrega as mensagens em um endereço que ela alcance pela
internet. Enquanto o webhook da instância apontar para localhost, o
WhatsApp conecta, o QR funciona, o número aparece como conectado — e
nenhuma mensagem chega ao painel, porque localhost, visto da VPS, é a
própria VPS.
Na ordem:
MYSQL_SSL=true) e usuário próprio do app. Confira antes de
publicar — sem isso todas as telas sobem com erro de conexão..env.example em Production e Preview.
Duas mudam de valor em relação ao .env.local:
AUTH_URL — o endereço público do painel;EVOLUTION_WEBHOOK_BASE_URL — o mesmo endereço público. Sem esta
variável o app usa o AUTH_URL, o que costuma estar certo; defina-a
explicitamente quando a Evolution alcançar o painel por outro nome.
Não copie SEED_ADMIN_* para lá: é uso único, local.WhatsApp/migracao_whatsapp_midia.sql em cada banco
cliente_*, para que imagem, áudio, vídeo e documento sejam guardados
e exibidos. Já rodada nos dois clientes que existem hoje; vale para
qualquer banco de cliente criado antes de 28/08/2026.npm test
Testes de unidade (tests/*.test.ts): lógica pura, sem banco e sem rede. Rodam em qualquer máquina.
npm run test:integracao
Testes de integração (tests/integracao/*.test.ts): autorização entre clientes e carga do pool.
Precisam do servidor no ar e do MySQL alcançável, e criam um usuário de teste em
trakeamento_controle.app_users (removido no fim, inclusive quando um caso falha). Sem servidor
ou sem banco, os casos são pulados em vez de falharem. Aponte para outro alvo com
TESTE_BASE_URL=http://localhost:3001 npm run test:integracao — útil para exercitar o build de
produção (npm run build && npm start), onde a verificação de vazamento no payload RSC roda de
verdade.