O Flow Runner é uma ferramenta de automação visual para desktop baseada em detecção de imagens na tela. Ela executa fluxos repetitivos (FOLLOW / UNFOLLOW) de forma lenta, aleatória e controlada, simulando comportamento humano para evitar padrões óbvios.
A ferramenta não depende de APIs, apenas de:
- captura de tela
- reconhecimento de imagem
- cliques e scroll
Fluxo:
- Procura na tela por um botão que corresponda ao asset
follow_button.* - Clica no botão (com atraso aleatório)
- Faz scroll
- Aguarda um tempo aleatório
- Repete o processo em loop
Fluxo:
- Procura por
following.* - Clica no botão Following
- Aguarda a abertura do popup/modal
- Procura por
unfollow.* - Clica para confirmar
- Faz scroll
- Aguarda um tempo aleatório
- Repete o processo em loop
flow_runner/
│
├── runner.py
├── screen_manager.py
├── launcher.bat
├── requirements.txt
├── README.md
└── assets/
├── follow_button.png
├── following.png
└── unfollow.png
⚠️ Importante: os nomes base dos arquivos devem ser exatamente:
follow_buttonfollowingunfollow
A extensão pode ser: .png, .jpg, .jpeg ou .webp.
- Windows 10 ou 11
- Python 3.10+
- Resolução de tela estável (evite mudar zoom/escala durante execução)
Instaladas via:
pip install -r requirements.txtDependências usadas:
pyautoguiopencv-pythonnumpykeyboardpygetwindow
- Extraia o projeto
- Instale as dependências:
pip install -r requirements.txt
- Coloque os assets corretos na pasta
assets/ - Execute:
launcher.bat - Escolha:
1→ FOLLOW2→ UNFOLLOW
Para parar a execução a qualquer momento:
- pressione ESC
O Flow Runner foi projetado para NÃO executar ações em sequência rápida.
- ⏱️ Delay aleatório entre cliques
- 🌀 Delay aleatório entre loops
- 💤 Pausas longas ocasionais
- 🛑 Backoff quando nada é encontrado
- 🔢 Limite de ações por ciclo
CLICK_DELAY = (1.2, 3.4)
LOOP_DELAY = (4.0, 9.0)
LONG_BREAK_EVERY = (6, 14)
LONG_BREAK_SECONDS = (15, 45)
NO_HIT_BACKOFF = (6.0, 16.0)
MAX_ACTIONS_PER_LOOP = 3Esses valores foram escolhidos para evitar padrões previsíveis.
- Recorte apenas o botão clicável
- Evite fundos grandes
- Evite sombras, bordas desnecessárias ou áreas muito grandes
- Quanto mais específico o recorte, melhor o reconhecimento
- Renomear
.jpegpara.png(isso quebra o OpenCV) - Arquivo virar
unfollow.png.png(Windows esconde extensão) - Recortar o popup inteiro em vez do botão
O foco do app é identificado pelo título da janela:
APP_TITLE = "instagram"Altere esse valor para corresponder exatamente ao título do seu aplicativo.
Se o título não for encontrado:
- o loop entra em espera
- nenhum clique é executado
Durante a execução, o terminal mostra:
- timestamp
- quantidade encontrada
- cliques executados
- totais acumulados
- pausas longas
Exemplo:
[2026-01-06T02:41:12] follow_found=3 clicked_now=2 total=18
[2026-01-06T02:41:58] long break: 27.4s
Recomendações:
- Não rode por horas seguidas sem supervisão
- Comece com tempos mais lentos
- Ajuste parâmetros gradualmente
- Teste sempre em ambiente controlado
- Limite máximo diário
- Janela de horário (ex: só rodar entre 10h–22h)
- Randomização de scroll
- Captura de screenshot para debug
- Modo somente leitura (detecção sem clique)
O Flow Runner foi construído para:
- ser simples
- ser previsível no código
- ser imprevisível no tempo
- evitar comportamento mecânico
Qualquer ajuste fino deve ser feito no tempo, não na quantidade de ações.