new-term-radar
Daily radar for new AI terms: names of new models, products and repos, caught on X, Hugging Face, GitHub and sitemaps before keyword tools list them.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 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.
Busca pelo CNPJ (grátis, sem chave) — na mesma aba, em "Onde buscar", escolha CNPJ (Receita Federal). A IA acha a atividade (CNAE) do segmento na tabela do IBGE, guardada em config/cnae.json (ou você informa o código), e o sistema traz as empresas ativas da cidade pelos dados abertos do CNPJ: a Casa dos Dados acha os CNPJs (20 por consulta; as próximas vêm sem os já capturados) e a Minha Receita traz o telefone e o e-mail do cadastro. A busca deixa de fora as empresas abertas nos últimos 30 dias, que ainda não estão na base com telefone e e-mail; o contato que faltar vem da API aberta da CNPJá, no máximo uma consulta a cada 12 s (o limite dela é 5 por minuto), e o que não couber é buscado de novo na análise. Se a Minha Receita recusar o acesso, a consulta vai para a BrasilAPI, com os mesmos dados. Por padrão fica sem MEI, e dá para pegar só as abertas no último ano ou nos últimos 90 dias (costumam ainda não ter site). Telefone e e-mail de contador ficam de fora: e-mail de contabilidade e telefone que se repete em empresas diferentes. Em Automação, a busca automática também procura pelo CNPJ.
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.
O sistema tem um formulário de contato pronto, com link próprio: https://SEU-SISTEMA/contato. Quem preenche (nome, empresa, WhatsApp, e-mail, do que precisa e uma mensagem, com o aceite de contato) vira uma empresa já em conversa, você recebe um aviso por e-mail e a IA chama no WhatsApp em alguns minutos, em horário comercial (ou responde por e-mail, se a pessoa não deixou WhatsApp). Se o WhatsApp ou o e-mail já forem de uma empresa do sistema, entra na conversa dela.
Em Configurações → Formulário do site estão:
?origem=site) e para a bio do Instagram (?origem=instagram), para saber de onde veio cada contato;<iframe> para colocar o formulário dentro de uma página do site (?embed=1 deixa sem fundo);O site também pode mandar o próprio formulário para POST /contato (JSON, de qualquer domínio) com os campos nome, empresa, whatsapp, email, servico, mensagem, origem e consentimento: true. Contra robôs: campo escondido (site), tempo mínimo de preenchimento (t, o horário em que a página abriu), um envio a cada 20 s por IP e a mesma pessoa só uma vez a cada 10 minutos.
Em Conteúdo → Desempenho no Instagram aparecem os números do perfil: seguidores (e o ganho na semana), alcance médio, engajamento e, post a post, alcance, curtidas, comentários, salvamentos e compartilhamentos (e o tempo médio assistido nos Reels). Os posts feitos fora do sistema também entram. O sistema lê os insights sozinho a cada 6 horas (ou no botão Atualizar agora), pelo mesmo token dos posts, que precisa de instagram_manage_insights.
Cada post ganha uma nota comparada à média do próprio perfil (1 = na média, 2 = o dobro): 60% engajamento, em que salvar e compartilhar pesam mais que curtir, e 40% alcance. Só os posts com mais de 24 h no ar entram na comparação.
Com 6 posts ou mais, a IA aprende com os números:
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). A API não manda o primeiro direct para quem nunca falou com a conta.
Prospecção pelo direct, enviada por você. Empresas encontradas sem WhatsApp nem e-mail, mas com Instagram, não são mais descartadas: a IA escreve um direct curto e personalizado (pelo perfil e pela bio), que aparece em Aprovar mensagens e na Fila com o botão Abrir direct. Ele copia a mensagem e abre a conversa com a empresa no Instagram; você cola, envia e confirma no painel. Quando a empresa responder, a IA continua a conversa pelo direct. O painel mostra quantos directs saíram no dia e avisa a partir de 25, porque mais que isso o Instagram costuma limitar a conta. A fila guarda no máximo 50 directs esperando; as outras empresas esperam a fila andar.
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)