Um sistema automatizado de atração e qualificação de clientes potenciais através do Instagram, especializado em design de interiores e móveis planejados.
Este projeto utiliza agentes de IA para automatizar o processo de:
- Monitoramento de hashtags relevantes no Instagram
- Análise de comentários para identificar leads qualificados
- Engajamento automático via mensagens diretas
- Monitoramento contínuo de conversas para nutrição de leads
- Análise de sentimento para personalizar interações
agent_attract_customer/
├── main.py # API FastAPI principal
├── src/
│ ├── agent.py # Pipeline principal de agentes
│ ├── agents_message.py # Agentes de análise e resposta
│ ├── monitor_msg.py # Monitor de mensagens em tempo real
│ ├── tools.py # Ferramentas Instagram (login, posts, DM)
│ ├── utils.py # Funções utilitárias
│ └── send_email.py # Integração com Resend para emails
├── infos_comments.json # Banco de dados de leads qualificados
├── hashtag.txt # Lista de hashtags para monitoramento
├── session_instagram.json # Sessão persistente do Instagram
└── .env # Variáveis de ambiente
O pipeline executa as seguintes etapas:
run_instagram_pipeline(hashtags)- Login Automático: Autentica no Instagram usando
load_instagram_session - Busca de Posts: Usa
fetch_postspara encontrar posts recentes com hashtags específicas - Coleta de Comentários: Extrai comentários usando
fetch_comments_for_post - Análise de Sentimento: Identifica usuários com intenção de compra via agente de IA
- Contato Inicial: Envia mensagens personalizadas para leads qualificados
Sistema de monitoramento contínuo que:
- Verifica novas mensagens a cada 10 segundos
- Analisa sentimento das respostas (Positivo/Neutro/Negativo)
- Detecta informações de contato (telefone, email, WhatsApp)
- Responde automaticamente com base no contexto da conversa
- Remove leads não qualificados (sentimento negativo ou contato obtido)
Endpoints disponíveis:
GET / # Status da aplicação
POST /run_pipeline # Executa pipeline de captação
POST /start_monitor # Inicia monitoramento de conversas
POST /stop # Para o monitoramento
GET /status # Status do monitor- FastAPI: API REST assíncrona
- Agno: Framework de agentes de IA
- Instagrapi: Automação do Instagram
- OpenAI/Groq: Modelos de linguagem para análise
- Ollama: Execução local de LLMs
- Resend: Envio de emails transacionais
- Pydantic: Validação de dados
- GPT-OSS-20B (via Groq): Análise de sentimento e geração de respostas
- Llama 3.1 8B: Orquestração de ferramentas
- Qwen 2.5 7B: Processamento de threads
- Python 3.12 ou 3.13
- Conta no Instagram
- API Keys: Groq e Resend
- Clone o repositório
git clone <seu-repositorio>
cd agent_attract_customer- Instale o UV (gerenciador de pacotes)
curl -LsSf https://astral.sh/uv/install.sh | sh- Instale as dependências
uv sync- Instale a versão específica do Instagrapi
uv add "git+https://github.com/subzeroid/instagrapi.git"- Configure as variáveis de ambiente
Crie um arquivo .env na raiz do projeto:
LOGIN_USERNAME="seu_usuario_instagram"
LOGIN_PASSWORD="sua_senha"
GROQ_API_KEY="sua_api_key_groq"
RESEND_API_KEY="sua_api_key_resend"- Configure as hashtags
Edite o arquivo hashtag.txt com suas hashtags (uma por linha):
arquitetura
designdeinteriores
moveisplanejadosuvicorn main:app --reloadA API estará disponível em http://localhost:8000
curl -X POST http://localhost:8000/run_pipeline \
-H "Content-Type: application/json" \
-d '{"hashtags": ["designdeinteriores", "moveisplanejados"]}'curl -X POST http://localhost:8000/start_monitor \
-H "Content-Type: application/json" \
-d '{"user_ids": ["123456789", "987654321"]}'curl http://localhost:8000/statusFunção: Analisa comentários e identifica leads qualificados
Critérios de Qualificação:
- Perguntas sobre preço, disponibilidade ou características
- Intenção de compra explícita
- Necessidade relacionada ao produto
- Solicitação de informações ou contato
Saída: JSON com user_id, comentario e razao_qualificacao
Função: Inicia conversas com leads qualificados
Características:
- Apresenta a empresa (InteriArt)
- Menciona área de atuação
- Cria mensagens personalizadas
- Convida para diálogo sem ser invasivo
Função: Analisa sentimento de mensagens recebidas
Detecta:
- Sentimento (Positivo/Neutro/Negativo)
- Informações de contato (telefone, email, WhatsApp)
- Intenção de compra
Função: Gera respostas contextualizadas
Estratégias:
- Positivo: Solicita contato educadamente
- Neutro: Faz perguntas abertas
- Negativo: Encerra cortesmente
Armazena leads qualificados:
[
{
"user_id": "1914727865",
"comentario": "Quero saber mais sobre esse projeto",
"razao_qualificacao": "Expressa interesse direto em conhecer o produto"
}
]autenticar_instagram() # Gerencia sessão do Instagramfetch_posts(target_hashtag_for_liking=["design"], amount=6)send_direct_message(id="123456789", message_to_direct="Olá!")return_infos_thread(user_id="123456789")- Delay entre ações: 2-5 segundos (simulação humana)
- Rate limiting: Respeite os limites da API não oficial
- Risco de ban: Use com moderação
- Não abuse das hashtags: Máximo 3-5 por execução
- Monitore apenas leads qualificados: Evite spam
- Personalize mensagens: Não use templates genéricos
- Respeite o GDPR: Obtenha consentimento para armazenar dados
# Remova a sessão antiga
rm session_instagram.json
# Execute novamenteO código já possui tratamento para erros de validação em tools.py (linha 143-150)
A função load_json_from_response possui múltiplas estratégias de parsing
- Dashboard web para visualização de métricas
- Integração com CRM (HubSpot, Salesforce)
- Análise de perfil antes do contato
- Sistema de templates de mensagens
- Relatórios automáticos por email
- Suporte a múltiplas contas do Instagram
Este projeto é de uso educacional. Respeite os Termos de Uso do Instagram.
Lucas Caixeta
- Email: lucascaixeta02@gmail.com
Contribuições são bem-vindas! Por favor:
- Faça um fork do projeto
- Crie uma branch (
git checkout -b feature/NovaFuncionalidade) - Commit suas mudanças (
git commit -m 'Adiciona nova funcionalidade') - Push para a branch (
git push origin feature/NovaFuncionalidade) - Abra um Pull Request