new-term-radar
신규 AI 용어를 매일 추적, X·Hugging Face·GitHub 등에서 모델·제품·레포 이름을 빠르게 수집
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗IA que encontra empresas no Google Maps, analisa a presença digital de cada uma e envia propostas personalizadas por e-mail e WhatsApp, oferecendo sites, lojas virtuais, sistemas de agendamento, sistemas de gestão e automação de atendimento.
Painel online: https://prospecta-ia-three.vercel.app (hospedado na Vercel, banco no Supabase).
Google Maps Site da empresa Claude (IA) Painel E-mail / WhatsApp
┌───────────┐ ┌────────────────┐ ┌───────────────┐ ┌────────────┐ ┌─────────────────┐
│ 1. Buscar │ ───▶ │ 2. Analisar │ ───▶ │ 3. Escrever │ ─▶ │ VOCÊ │ ──▶ │ 4. Enviar com │
│ e capturar│ │ contatos e │ │ proposta sob │ │ aprova ou │ │ limite diário e │
│ empresas │ │ oportunidades │ │ medida │ │ descarta │ │ descadastro │
└───────────┘ └────────────────┘ └───────────────┘ └────────────┘ └─────────────────┘
Captura no Google Maps — na aba Buscar no Google Maps do painel você digita o segmento e a cidade (ex.: "pet shop" em "Fortaleza - CE"), vê as empresas encontradas com telefone, site, avaliação e link do Maps, e escolhe quais capturar. Celulares são marcados como WhatsApp provável. A busca também roda sozinha para os nichos/cidades de config/campanha.json. Usa a Google Places API oficial.
Análise — visita o site de cada empresa (respeitando o robots.txt) e verifica: tem site? HTTPS? funciona no celular? está lento? rodapé desatualizado? tem loja virtual? tem agendamento online? tem WhatsApp? Também encontra o e-mail e o WhatsApp de contato.
Oportunidades — transforma a análise em serviços do seu catálogo, com o motivo concreto (ex.: "loja de roupas sem loja virtual", "site sem versão para celular e com rodapé de 2017").
Sequência gradual com IA — em vez de uma proposta direta, o Claude escreve 3 mensagens curtas por canal, que revelam a informação aos poucos:
Quando a empresa responde, a sequência para na hora.
Aprovação (obrigatória) — cada sequência aparece na aba Aprovar mensagens, com as 3 etapas editáveis e a prévia exata do que a empresa vai receber. Você clica em Aprovar sequência ou Não enviar. Nada sai sem esse clique.
Envio só em horário comercial — de segunda a sexta, das 9h às 18h (Brasília), uma rodada de envios roda a cada 20 minutos e envia as etapas aprovadas que já chegaram no dia, com intervalo entre elas e limite diário. Fora desse horário nada é enviado (a regra está no próprio código, não só no agendamento). Nunca contata o mesmo e-mail/telefone duas vezes e respeita a lista de descadastro.
Conversa conduzida pela IA — as respostas chegam pelo e-mail (IMAP) e pelo WhatsApp (UAZap ou Evolution API). A IA lê a conversa inteira, classifica a resposta (interessado, quer informações, sem interesse, pediu para sair, resposta automática) e escreve a próxima mensagem: responde o que foi perguntado, entrega uma informação nova por vez e só fala de preço quando perguntam. Você revisa e clica em Enviar resposta. Quem pede para sair vai direto para a lista de supressão; interessados geram aviso no seu e-mail.
Requisitos: Node.js 20+. Para rodar no seu computador não precisa instalar banco: sem DATABASE_URL, o sistema usa um Postgres embutido gravado em data/pglite.
npm install
cp .env.example .env
Preencha o .env:
| Variável | Para quê |
|---|---|
DATABASE_URL | Postgres do Supabase (obrigatório na Vercel; opcional no seu computador) |
ANTHROPIC_API_KEY | IA que escreve as propostas e responde as conversas (console.anthropic.com). Usa o Claude Haiku 5.5, o modelo mais barato; para trocar, defina CLAUDE_MODEL |
GOOGLE_PLACES_API_KEY | Busca de empresas — ative a Places API (New) no Google Cloud |
SMTP_*, EMAIL_REMETENTE | Conta de e-mail que envia as propostas |
IMAP_* | Leitura das respostas (normalmente a mesma conta do SMTP) |
NOTIFICAR_EMAIL | Seu e-mail, para ser avisado quando alguém se interessar |
MODO_TESTE_EMAIL | Opcional: manda tudo para você em vez das empresas (veja abaixo) |
PAINEL_SENHA | Senha do painel web |
URL_PUBLICA | Endereço público do painel (vai no link de descadastro dos e-mails) |
CICLO_CRON | Opcional, fora da Vercel: roda o ciclo sozinho, ex. 30 9 * * 1-5 |
Depois edite config/campanha.json com os dados da sua empresa, seu catálogo de serviços e preços, os nichos e cidades que quer prospectar e os limites de envio.
Painel web (buscar no Google Maps, aprovar propostas, acompanhar envios e respostas):
npm start
Abra http://localhost:3000 e entre com o usuário admin e a senha do .env.
Ou pelo terminal, etapa por etapa:
npm run descobrir
npm run analisar
npm run propor
npm run enviar
Ou tudo de uma vez:
npm run ciclo
Também existem npm run respostas (lê a caixa de entrada agora) e npm run envios (a rodada do horário comercial: lê respostas e envia a fila). npm run stats mostra os números do funil e npm test roda os testes.
Com [email protected] no .env, todas as mensagens vão para você, com o assunto [TESTE → [email protected]] .... Nada chega às empresas. Responda esses e-mails para ver a classificação da IA e o aviso de interesse funcionando. O mesmo vale para MODO_TESTE_WHATSAPP.
Use um banco separado durante o teste, porque as empresas testadas ficam marcadas como contatadas:
DB_PATH=data/teste [email protected] npm run ciclo
Quando estiver satisfeito com o tom das propostas, apague o MODO_TESTE_EMAIL e use o banco normal.
Na Vercel, o ciclo roda sozinho de segunda a sexta às 9h30 e as respostas por e-mail são lidas todo dia às 19h (horários em vercel.json, em UTC). Fora da Vercel, use CICLO_CRON com npm start rodando. O ciclo lê as respostas, busca as empresas da campanha, analisa os sites e deixa as propostas esperando sua aprovação; só envia o que você já aprovou.
O projeto prospecta-ia já está criado na sua conta pessoal da Vercel e publicado em https://prospecta-ia-three.vercel.app. Falta só configurar as variáveis. Em Vercel → prospecta-ia → Settings → Environment Variables (ambiente Production), cadastre:
| Variável | Obrigatória | Onde conseguir |
|---|---|---|
DATABASE_URL | sim | Supabase → projeto prospecta-ia → Connect → Transaction pooler (porta 6543), trocando [YOUR-PASSWORD] pela senha do banco |
PAINEL_SENHA | sim | Uma senha forte que você escolher para entrar no painel |
ANTHROPIC_API_KEY | sim | console.anthropic.com |
GOOGLE_PLACES_API_KEY | sim | Google Cloud → APIs → Places API (New) |
SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASS, EMAIL_REMETENTE | para enviar e-mail | Seu provedor de e-mail |
IMAP_HOST (+ IMAP_USER/IMAP_PASS se diferentes) | para ler respostas | Seu provedor de e-mail |
NOTIFICAR_EMAIL, EMAIL_DESCADASTRO | recomendadas | Seus e-mails |
URL_PUBLICA, CRON_SECRET | já configuradas | — |
Também dá para cadastrar pelo terminal, uma por vez (o valor é pedido de forma interativa):
vercel env add PAINEL_SENHA production
Para ligar a rodada de envios do horário comercial (a cada 20 minutos, pelo GitHub Actions, porque o plano gratuito da Vercel só agenda uma vez por dia), rode uma vez:
sh scripts/configurar-envios.sh
Ele gera um segredo, salva o mesmo valor na Vercel e no GitHub e publica. Depois de cadastrar variáveis, publique de novo para valer:
vercel deploy --prod
As tabelas são criadas sozinhas na primeira vez que o sistema conecta no banco. O plano gratuito (Hobby) da Vercel permite as duas rotinas diárias; cada execução tem no máximo 5 minutos, então as etapas longas param e continuam na próxima (no painel, os botões repetem sozinhos até acabar a fila).
O WhatsApp funciona de três jeitos:
GROQ_API_KEY (plano grátis em console.groq.com) ou OPENAI_API_KEY na Vercel. Sem a chave, ou se o áudio não puder ser transcrito, a conversa fica marcada como "Precisa de você".Bibliotecas não oficiais como open-wa, whatsapp-web.js ou Baileys não são usadas de propósito: disparo para números que não conhecem você por essas bibliotecas viola os termos do WhatsApp e o número costuma ser banido em poucos dias.
Para usar a API oficial:
whatsapp_business_messaging e whatsapp_business_management (o token temporário da Configuração da API vence em 24 h).proposta_inicial (ou outro nome) com duas variáveis, por exemplo:
Olá, {{1}}! {{2}} Se preferir não receber mensagens, responda SAIR.
messages.As variáveis WHATSAPP_* do .env continuam funcionando e têm prioridade sobre o que foi salvo no painel.
Atenção: a política da Meta exige que o contato tenha dado consentimento (opt-in) para receber mensagens de marketing da sua empresa. Para prospecção fria de quem nunca falou com você, use o e-mail como primeiro contato e deixe o WhatsApp para quem responder.
Com o Instagram conectado em Conteúdo, a IA também conversa pelo direct da conta, pela API oficial da Meta:
Limites da Meta: só dá para responder quem escreveu primeiro (até 24 h depois da última mensagem da pessoa) e mandar uma mensagem privada por comentário (até 7 dias depois). Não existe direct para quem nunca falou com a conta; a prospecção continua pelo WhatsApp e pelo e-mail.
Para ligar:
instagram_manage_messages, instagram_manage_comments e pages_manage_metadata, e conecte de novo em Conteúdo → Instagram.messages e comments.instagram_manage_messages e instagram_manage_comments. Até a Meta aprovar, só funciona com contas que têm função no app (bom para testar).As respostas do direct saem pelo agendador do banco a cada 2 minutos, todos os dias.
Para o modo automático ele precisa ficar ligado o tempo todo, então o ideal é uma VPS. Com Docker instalado no servidor:
docker compose up -d --build
Sem DATABASE_URL, o banco fica em ./data e a campanha em ./config (pode editar sem reconstruir; reinicie com docker compose restart). Coloque o painel atrás de HTTPS (ex.: Caddy ou Nginx) e use esse endereço em URL_PUBLICA: o link de descadastro e o webhook do WhatsApp precisam ser acessíveis pela internet.
O sistema já vem com as proteções abaixo. Mantenha-as ligadas:
List-Unsubscribe (botão "cancelar inscrição" do Gmail/Outlook). Quem sai entra numa lista de supressão permanente.Para entregar bem os e-mails, configure SPF, DKIM e DMARC no domínio do remetente e, de preferência, use um subdomínio ou domínio separado para prospecção. Quando alguém responder pedindo para não ser contatado, use o botão "Pediu para não receber" no painel.
config/campanha.json empresa, catálogo de serviços, nichos/cidades, limites
src/descoberta/ busca de empresas (Google Places API)
src/analise/ auditoria do site, contatos e oportunidades
src/ia/ Claude: propostas, follow-ups e classificação das respostas
src/envio/ e-mail (SMTP) e WhatsApp (Cloud API)
src/respostas/ leitura da caixa de entrada (IMAP), webhook do WhatsApp e ações
src/pipeline.js as etapas do funil
src/app.js API do painel, login, descadastro, webhook e cron
src/servidor.js execução local/Docker (serve o painel e agenda)
api/index.js + vercel.json execução na Vercel
src/db.js, src/schema.js banco Postgres (Supabase ou embutido)
src/cli.js comandos de terminal
public/index.html painel web
data/ banco embutido local (não vai para o git)