buscandomilhao README

The project's README from github.com/soumatheusgomes/buscandomilhao. As one markdown file: README.md.

🚀 Buscando 1 Milhão

Um prompt. Um sistema comercial autônomo. Construído em público.


Status Meta Build in Public


Next.js TypeScript Tailwind SQLite Drizzle OpenAI Playwright


⬇️ PROMPT.md ⬇️

É esse arquivo. Preenche, cola no Codex, pronto.


O que é · Como funciona · Como usar · Setup · Regras


🎯 O que é

Um agente de IA que prospecta pelo Instagram sozinho: acha o lead, qualifica, escreve a primeira mensagem, entende a resposta, conduz a conversa, encaminha pro WhatsApp e aprende com o que converteu — ajustando público, texto, horário e cadência sem ninguém mandar.

Roda 100% local. Seu banco, sua sessão, sua chave.

Observar → Decidir → Agir → Medir → Aprender → Adaptar

Aqui não tem código pronto. Tem o prompt que constrói o código. Você troca os {{PLACEHOLDERS}} pelo seu negócio, cola no Codex, e sai um sistema seu — não uma cópia do meu.


⚙️ Como funciona

flowchart LR
    A["🔎 Descoberta<br/>perfis do ICP"] --> B["🧠 Qualificação<br/>score + prioridade"]
    B --> C["💬 1ª DM<br/>seu Chrome real"]
    C --> D{"Respondeu?"}
    D -- não --> E["⏰ Follow-up<br/>agendado"]
    E --> D
    D -- sim --> F["📡 Webhook Meta<br/>handoff de canal"]
    F --> G["🤖 Conversa<br/>API oficial + OpenAI"]
    G --> H["📱 WhatsApp<br/>ou grupo de afiliados"]
    H --> I["📊 Métricas<br/>o que converteu?"]
    I -.retroalimenta.-> A

    style A fill:#1f2937,stroke:#E1306C,color:#fff
    style C fill:#1f2937,stroke:#FFB000,color:#fff
    style G fill:#1f2937,stroke:#412991,color:#fff
    style H fill:#1f2937,stroke:#25D366,color:#fff
    style I fill:#1f2937,stroke:#00C853,color:#fff

Por que dois canais

Etapa Canal Motivo
Primeiro contato Seu Chrome, sua sessão A API oficial da Meta não abre conversa com quem nunca te respondeu
Depois da resposta API oficial + webhook É o caminho suportado, auditável e estável

Uma trava de canal garante que os dois nunca escrevam no mesmo fio. Depois do handoff, o navegador está proibido de responder.


🚦 Como usar

1 Preenche o bloco de configuração

Abre o PROMPT.md. No topo tem um bloco CONFIGURAÇÃO com uns 15 campos. Troca cada {{PLACEHOLDER}} pelo seu: nome, empresa, site, @ do Instagram, WhatsApp, oferta e quem é seu cliente ideal.

Dois campos merecem atenção:

2 Cola no Codex

Copia o arquivo inteiro, do começo ao fim, e cola numa task do Codex.

💡 Codex cloud roda em container — ele escreve toda a camada de navegador e testa contra páginas simuladas, mas não alcança o seu Chrome. O prompt já diz isso pra ele, então ele entrega tudo e deixa o teste real documentado pra você rodar local.

3 Roda na sua máquina

Clona o que ele gerou, faz o setup abaixo, e sobe:

pnpm install && pnpm dev

🔧 Setup da sua máquina

🔑 Chave da OpenAI
  1. https://platform.openai.com/api-keys → login.
  2. Settings → Billing: adiciona crédito. Sem crédito, dá 429 insufficient_quota.
  3. Settings → Limits: define um hard limit mensal (ex. USD 50). Esse é o freio real se o agente entrar em loop.
  4. Create new secret key → projeto separado (não usa o Default) → permissão Restricted, só Model capabilities: Write.
  5. Copia a chave agora, ela só aparece uma vez.
cp .env.example .env
# cola em OPENAI_API_KEY=sk-proj-...

O .env já está no .gitignore. Nunca commita, nunca aparece em print ou vídeo.

Vazou? Revoga em platform.openai.com/api-keys e gera outra. Revogar resolve — reescrever o histórico do Git é secundário.

🌐 Sessão do Instagram no seu Chrome

Perfil dedicado, separado do seu pessoal. Isso resolve três coisas de uma vez: o agente nunca vê suas abas, seu Chrome normal continua livre, e o Chrome 136+ recusa debug no perfil padrão de qualquer jeito.

macOS

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
  --remote-debugging-port=9222 \
  --remote-debugging-address=127.0.0.1 \
  --user-data-dir="$PWD/.chrome-profile"

Linux

google-chrome --remote-debugging-port=9222 --user-data-dir="$PWD/.chrome-profile"

Windows (PowerShell)

& "C:\Program Files\Google\Chrome\Application\chrome.exe" `
  --remote-debugging-port=9222 `
  --user-data-dir="$PWD\.chrome-profile"

Nessa janela que abriu, entra no instagram.com, loga normal, resolve o 2FA. A sessão fica salva e sobrevive a reinício.

Testa:

curl -s http://127.0.0.1:9222/json/version

⚠️ Segurança: essa porta dá controle total sobre a sessão logada nesse perfil. Mantém em 127.0.0.1, nunca 0.0.0.0, e não roda em máquina compartilhada. O .chrome-profile/ guarda seus cookies do Instagram — já está no .gitignore e não sai da sua máquina.


🛡️ Regras que não se negocia

Como o agente não queima a conta
Controle Padrão
DMs por dia 30, com aquecimento gradual
Intervalo entre DMs 90–240s aleatório
Janela de operação 09:00–20:00, fuso configurável
Circuit breaker Pausa tudo em erro anormal, restrição ou opt-out em alta

Ritmo humano existe por saúde da conta — mesma disciplina de um SDR de verdade. Não tem fingerprint forjado, API privada nem tentativa de burlar bloqueio.

Como o agente não mente

A IA só pode afirmar o que está em VERIFIED_CLAIMS. Qualquer coisa em UNVERIFIED_CLAIMS fica bloqueada até virar prova.

Ela nunca inventa taxa, condição, garantia ou superlativo, nunca promete aprovação de conta, e nunca finge ser cliente pra arrancar resposta.

Como o agente respeita quem não quer

Pedido de parar é atendido na hora. O perfil entra em do_not_contact — permanente, sem follow-up, sem reentrada por outra campanha, por nenhum canal.

Como o custo não explode

Toda chamada à OpenAI grava tokens e custo. Ao bater OPENAI_MONTHLY_BUDGET_USD, o sistema pausa sozinho.

O painel mostra custo por lead e custo por cliente ativo — sem isso não dá pra saber se a automação dá lucro.



Este repositório é público de propósito.

Pega o PROMPT.md, troca os {{PLACEHOLDERS}}, e constrói o seu.


⭐ Se isso te ajudou, deixa uma estrela e acompanha a jornada.

buscandomilhao (soumatheusgomes/buscandomilhao)

Searching Database…

这是什么?它是一个能自主在 Instagram 上寻找潜在客户的 AI 智能体:查找线索、评估资格、撰写第一条消息、阅读回复、持续推进对话、转接到 WhatsApp,并从成交结果中学习,以调整受众、文案、时机和节奏。
怎么把它变成一套可运行的系统?打开 PROMPT.md,填写约 15 个 {{PLACEHOLDER}} 字段(你的姓名、公司、Instagram 账号、WhatsApp、产品方案、理想客户),把整个文件粘贴到一个 Codex 任务中,然后克隆 Codex 生成的内容并运行本地机器设置。
运行它需要 OpenAI API 密钥吗?需要:你要创建 OpenAI 账号、充值(没有余额会出现 429 insufficient_quota 错误)、设置严格的月度消费上限,并生成一个仅用于本项目的受限密钥。
Codex 能在云端帮我构建并测试整套东西吗?Codex Cloud 在容器中运行,所以它只能针对模拟页面编写并测试浏览器自动化层,永远无法触达你真实的 Chrome;真正的浏览器测试要由你在本地运行。
我的 Instagram 会话和数据存在哪里?一切都 100% 在本地运行:你的数据库、Chrome 会话和 API 密钥都留在你的机器上,存放 Instagram Cookie 的 .chrome-profile 文件夹已被 gitignore,永远不会离开你的电脑。
是什么防止这个智能体滥发消息、导致 Instagram 账号被封?它把私信上限设为每天 30 条并逐步预热,消息之间随机等待 90-240 秒,只在 09:00-20:00 运行,还配有熔断机制,在出现异常错误、账号受限或退订激增时暂停一切操作。
AI 会夸大说辞来说服潜在客户吗?不会:它只能陈述 VERIFIEDCLAIMS 中列出的事实,UNVERIFIEDCLAIMS 中的任何内容在被证实前都保持屏蔽,它也从不虚构费用或保证,也不会假扮成客户。
如果潜在客户要求机器人停止联系,会怎样?请求会立即得到尊重,该账号会被永久加入禁止联系名单,任何后续活动或渠道都不会再跟进或重新纳入它。
它如何防止 OpenAI 费用失控?每次 OpenAI 调用都会记录 token 和费用,支出一旦达到配置的 OPENAI_MONTHLY_BUDGET_USD,系统就会自动暂停,仪表板上还会显示每个线索和每个活跃客户的成本。
Size
<0.1 MB
Stars
407
Updated
CommitAug 27
Age
1mo
Commits · 90 Days