FLOWINSTA BR AGENT PARA WINDOWS 6.0.4

O Agent Windows e uma forma propria de usar o FlowInsta BR no computador.
Nesta versão ele não depende de chrome://extensions nem da Chrome Web Store para executar as ações.

FORMAS DE USO

- Extensão Chrome: continua disponivel para quem prefere instalar no Chrome manualmente.
- Agent Windows: abre um navegador próprio e executa a automação diretamente pelo Agent.

PASSO A PASSO

1. Abra o painel e clique em FlowInsta BR Agent.
2. Escolha Windows e clique em Gerar código.
3. Antes de instalar, feche todas as janelas antigas do FlowInsta BR Agent.
4. No painel, pressione Ctrl + F5 e baixe o Agent Windows novamente.
5. Extraia este ZIP em uma pasta do computador.
6. Execute INSTALAR.cmd.
7. Se o Avast ou outro antivirus avisar que o Agent quer alterar arquivos locais, clique em Permitir aplicativo.
8. Quando aparecer "Endereco do painel [https://app.flowinstabr.com.br]", aperte Enter sem digitar nada.
9. Quando aparecer "Digite o código de 6 números", digite o código novo gerado no painel.
10. Informe um nome para este equipamento, por exemplo Dell-Marcelo.
11. A janela do instalador ficara aberta no final para mostrar qualquer aviso.
12. O Agent abrira um navegador separado. Entre no Instagram dentro dele.
13. Depois disso, deixe a janela do Agent e o navegador dele abertos.
14. Se precisar abrir novamente, use o atalho FlowInsta BR Agent criado na Área de Trabalho.

O QUE APARECE NO AGENT

- Conta Instagram vinculada.
- Status: Online, Pausado, Aguardando, Rodando ou Erro.
- Ações ativas.
- Horário configurado.
- Limites e contadores do dia.
- Ãšltimas ações registradas.
- Motivo de estar parado, quando não estiver rodando.

IMPORTANTE

O Agent precisa que o Instagram esteja logado no navegador que ele abre.
Ele não precisa que você carregue a extensão em chrome://extensions.
Se o Instagram pedir verificacao, senha ou desafio, resolva dentro do navegador do Agent.

CORRECAO 5.0.8

Esta versão corrige o problema de abrir varias janelas ou guias do Chrome.
O Agent agora verifica a porta local do navegador antes de abrir uma nova janela.
Se encontrar um Chrome antigo usando o perfil do Agent mas sem responder ao controle interno,
ele fecha somente esse Chrome do Agent e abre uma sessao limpa.

CORRECAO 5.0.10

Esta versão corrige o erro "VoidTaskResult não contem metodo Dispose" e melhora o registro
quando o Chrome responde "No current window". Se aparecer "Aguardando", o Agent está vivo
e esperando a proxima rodada. Se aparecer "Erro", envie o agent.log ao suporte.

CORRECAO 5.0.11

Esta versão filtra paginas institucionais do Instagram, como blog, legal, terms,
privacy, help e about, para que elas não sejam tratadas como perfis. Se uma página
indisponivel aparecer, o Agent registra o alvo como invalido, volta para uma fonte
valida e busca outro alvo.

CORRECAO 5.3.6

Esta versão corrige o rodizio do unfollow no Agent Windows. O unfollow agora participa
da escolha da rodada junto com follow, like e comment, conforme o progresso de cada
limite diario. Se ainda não houver usuário elegivel pelo prazo configurado para deixar
de seguir, o Agent registra o motivo e faz follow, like ou comment na mesma rodada,
sem ficar parado aguardando 180 segundos.

REFazer VINCULO

Se o Agent continuar usando uma configuração antiga:

1. Feche todas as janelas do FlowInsta BR Agent.
2. Aperte Win + R.
3. Cole: %LOCALAPPDATA%\FlowInsta BR Agent
4. Apague config.json, se existir.
5. Volte ao painel, gere um código novo e execute INSTALAR.cmd novamente.

LOG LOCAL

Se algo der errado, envie este arquivo para o suporte:

%LOCALAPPDATA%\FlowInsta BR Agent\agent.log

OBSERVACAO SOBRE VERSAO

O /health do sistema mostra a versão do painel/backend. Para testar o Agent corrigido,
o importante e baixar novamente o Agent Windows pelo painel após Ctrl + F5.

CORRECAO 5.1.2

Esta versão substitui a deteccao de follow/like/comentario do Agent pela mesma logica
robusta usada na Extensão Chrome (mesmo código de deteccao, adaptado para o Agent):

- Curtir agora identifica a barra de ações do POST (curtir+comentar+compartilhar) e nunca
  clica no coracao de um comentario dentro da lista de comentarios.
- Comentar agora confirma que o comentario realmente apareceu na tela depois de clicar em
  Publicar. Se o Instagram não mostrar o comentario, o Agent registra falha em vez de "ok".
  O botao de envio so e reconhecido pelo texto Publicar/Post/Publish (antes tambem aceitava
  "Comentar", que e o botao que ABRE a caixa, não o que envia).
- Seguir agora verifica Seguindo/Solicitado antes de clicar, respeita conta privada, conta
  propria, faixa de seguidores (mínimo/máximo) e página com erro 429.
- Deixar de seguir agora respeita a lista VIP e a opção "proteger quem me segue".

Tambem foi adicionado um histórico de quem já foi seguido, curtido e comentado (consultado
no painel a cada rodada). O Agent não tenta seguir de novo quem já segue, mas continua livre
para curtir/comentar esse mesmo perfil se ainda não tiver feito. Depois de um Deixar de seguir,
o perfil fica disponivel para ser seguido de novo (a data de cada ação continua no histórico
do painel, em Relatórios).

CORRECAO 5.1.3

Corrige falhas comment_submit_not_found: o Agent procurava o botao Postar apenas dentro
do mesmo formulario da caixa de comentario ou entre os botoes proximos na arvore do HTML.
Em alguns layouts do Instagram o botao Postar não fica nessa mesma área, mesmo estando
visualmente do lado da caixa. Agora o Agent localiza o botao Postar pela posicao na tela
(o mais proximo da caixa de comentario), o que resolve esses casos sem arriscar clicar
num botao Postar de outra parte da página.

CORRECAO 5.1.4

O fix da 5.1.3 funciona quando testado manualmente no navegador, mas o comentario
continua não saindo de fato pelo Agent. Para não depender mais de testes manuais no
DevTools, está versão faz o Agent registrar automaticamente, no agent.log, todos os
detalhes de uma falha de comentario na hora em que ela acontece: qual caixa de texto
ele escolheu, quantas caixas existiam na página, e onde estao todos os botoes Postar
visiveis. Assim, a proxima falha real já vem com o diagnostico completo, sem precisar
abrir o Console do navegador.

CORRECAO 5.1.5

Causa real do comment_submit_not_found, encontrada pelo diagnostico da 5.1.4: assim
que o Agent termina de digitar o comentario, o Instagram troca a caixa de texto por
uma nova (a antiga fica "fantasma" - ainda existe na memoria com o texto certo, mas a
posicao dela na tela zera para 0,0,0,0). O Agent calculava a distancia até o botao
Postar a partir dessa posicao fantasma, e o botao real parecia estar longe demais.
Agora, sempre que isso acontece, o Agent busca a caixa de comentario atual na tela de
novo antes de procurar o Postar - em vez de confiar numa referencia que pode ter
ficado desatualizada.

CORRECAO 5.1.6

Corrige o auto-update: a checagem de versão nova só rodava depois de terminar uma
rodada normal de ações. Qualquer um destes estados, bem comuns, pulava a checagem
inteira: automação pausada, fora do horário configurado, limite diario atingido, ou
nenhum alvo novo encontrado. Como esses estados podem durar horas (ex: limite diario
batido fica assim até o dia seguinte), a checagem de atualizacao podia ficar travada
o dia inteiro sem rodar nem uma vez. Agora ela é a primeira coisa que o Agent faz em
cada rodada, sempre, independente do estado.

CORRECAO 5.1.7

Duas correcoes, uma confirmada com print real:

1) Deixar de seguir: o Agent esperava um tempo fixo (900ms) pelo dialogo de confirmacao
   aparecer, e nunca confirmava se o Deixar de seguir realmente aconteceu antes de dizer
   "ok". Agora ele aguarda o dialogo aparecer (até 5s) e confirma que o botao realmente
   voltou para "Seguir" antes de declarar sucesso.

2) Confirmado com print: o Agent tentava seguir @paulo_s_s_garrido_ e @trueegains
   repetidas vezes (a cada poucos minutos), mesmo a conta já seguindo os dois de verdade.
   A página do Instagram corretamente impedia clicar de novo (aparecia "skipped
   already_following", não um follow duplicado) - mas o histórico do painel nunca
   aprendia disso, porque so sabe de quem o próprio Agent seguiu, curtiu ou deixou de
   seguir. Se alguem já era seguido antes (manualmente, ou de antes do histórico
   existir), o Agent ficava descobrindo isso de novo a cada vez que essa pessoa
   aparecia numa lista de seguidores/curtidas, perdendo uma rodada inteira (~90s) por
   tentativa. Agora, toda vez que o Agent descobre na página que já segue, já curte, ou
   que já não segue mais alguem, ele anota isso no histórico tambem - não so quando ele
   mesmo faz a ação. Essa pessoa não volta a ser escolhida.

CORRECAO 5.1.8

1) A comunicacao do Agent com o Chrome (WebSocket) não tinha limite de tempo nenhum.
   Se o Chrome demorasse demais pra responder por qualquer motivo, o Agent ficava
   esperando para sempre, sem erro e sem tentar de novo - so travado. Agora toda
   chamada tem um limite (20-60s dependendo da etapa); se passar do tempo, o Agent
   desiste, registra o erro e tenta de novo automaticamente.

2) Quando mais de uma hashtag/concorrente/localizacao está configurada no painel, o
   Agent so usava a primeira da lista, sempre - as outras nunca eram usadas. Isso fazia
   ele esgotar rapido os mesmos perfis de uma unica página (que muda pouco com o tempo),
   e parar de achar alvo novo mais rapido do que devia. Agora ele sorteia entre todas as
   opcoes configuradas a cada vez que precisa de alvos novos.

CORRECAO 5.3.6 - IMPORTANTE

O Agent ficava invisivel depois de se atualizar sozinho (e tambem ao iniciar junto com
o Windows): ele abria a janela escondida, sem nenhum aviso. Isso fazia parecer que o
Agent tinha travado ou fechado, quando na verdade so estava rodando sem você conseguir
ver - inclusive logo depois de abrir manualmente, se o servidor já tivesse uma versão
mais nova (o Agent atualiza antes de mostrar qualquer tela, e a janela nova reabria
escondida).

Agora:
- A janela do Agent nunca mais abre escondida, nem depois de atualizar, nem junto com o
  Windows.
- Antes de atualizar, aparece uma mensagem clara avisando o que vai acontecer ("Está
  janela vai fechar e abrir de novo sozinha"), mesmo na primeira vez que o Agent abre.
- Se a atualizacao falhar no meio do caminho, agora aparece um aviso na tela em vez de
  fechar tudo em silencio, e fica registrado em um arquivo updater.log na pasta do
  Agent.
- O instalador cria um atalho real "FlowInsta BR Agent.lnk" na Área de Trabalho, com
  o icone do FlowInsta BR, alem do arquivo alternativo "FlowInsta BR Agent.cmd".
- O atualizador automatico tambem recria esse atalho e reabre o Agent pelo
  ABRIR_AGENT.cmd, mantendo a janela visivel caso aconteca qualquer erro.

CORREÇÃO ANTERIOR - COMMENT E TEXTO DO AGENT

Causa real encontrada para o comment (e outras ações) falhando quase sempre com
motivos genericos como "post_not_found": em algum momento o caractere "?" usado
nos operadores ternarios (condição ? a : b) do JavaScript interno do Agent foi
apagado em mais de uma dezena de lugares (deteccao de post, confirmação de
seguir/deixar de seguir/curtir, caixa de comentario, etc). Sem o "?", o trecho
de JavaScript é invalido e o navegador rejeita o script com um erro de sintaxe
antes mesmo de tentar a ação. Como o Agent tratava esse erro generico sempre
como "post_not_found" (no caso do comment/like) em vez de mostrar o erro real,
parecia que ele só escolhia posts/perfis sem comentario disponivel - na
verdade, ele nunca chegava a checar o post de verdade. Todos os ternarios
apagados foram restaurados e checados um a um (compilação JavaScript real,
não so revisão visual). Agora, se Get-FirstPost falhar por outro motivo
(perfil indisponivel, alvo invalido, erro de script), esse motivo real aparece
no painel em vez de cair sempre em "post_not_found".

Tambem corrigido: o texto do Agent aparecia com acentuação quebrada (ex.:
"Ações" em vez de "Ações") nas janelas do instalador e do Agent. Isso
acontecia porque os arquivos .ps1 não tinham marcação de UTF-8 (BOM), e o
Windows PowerShell lia os acentos como se fossem outra codificação. Os
arquivos agora salvam com BOM UTF-8 e os atalhos .cmd forçam a pagina de
código 65001 (UTF-8) antes de mostrar qualquer texto.

Por fim, o icone do atalho "FlowInsta BR Agent" na Área de Trabalho foi
substituido por uma versão em alta resolução (varios tamanhos, 16 a 256px,
com transparencia real), no lugar do icone antigo de 64px e poucas cores.

CORREÇÃO ANTERIOR - AUTO-UPDATE DO AGENT

Causa real encontrada para o aviso "Não foi possível confirmar a
atualização" (e por que o auto-update nunca funcionava sozinho, em nenhum
cliente): o Agent abre o atualizador como um processo separado passando o
caminho da pasta de instalação como argumento. Essa pasta sempre se chama
"FlowInsta BR Agent" - com espaço - em qualquer computador, qualquer
usuário. O Windows PowerShell (powershell.exe, nao o PowerShell novo) junta
os argumentos de um array sem colocar aspas em volta de cada um quando se
usa -ArgumentList. Sem aspas, "...\FlowInsta BR Agent\updater.ps1" chegava
quebrado em pedaços para o processo do atualizador, que nem conseguia achar
o proprio script para executar - e morria antes de escrever a primeira
linha do log. Por isso o arquivo updater.log nunca existia depois de uma
falha dessas: o atualizador nunca chegava a rodar.

Os argumentos agora vao entre aspas (mesma tecnica que já era usada, e já
funcionava, para abrir o navegador do Agent). Isso afeta tanto a atualização
automatica quanto o atalho de instalação alternativo (quando ABRIR_AGENT.cmd
não é encontrado).

CORRECAO 5.3.6 - IMPORTANTE

Causa real encontrada (com log real do agent.log, não só revisão de código)
para a maioria das falhas de comment_submit_not_found: a 5.1.5 já tinha
corrigido o problema da caixa de comentario "fantasma" (o Instagram troca a
caixa por uma nova depois que o Agent termina de digitar), fazendo o Agent
buscar uma caixa viva na tela em vez de confiar na caixa antiga. Mas essa
busca só trocava a referencia - nunca redigitava o comentario na caixa
nova. Como a caixa nova sempre vem vazia (o Instagram nunca copia o texto
da caixa antiga pra nova), e o botao Publicar só existe na pagina quando a
caixa tem texto, o Agent ficava procurando um botao que nunca aparecia.

Confirmado pelo agent.log de um cliente: em 12 de 17 tentativas de comment
em uma janela de 2 horas, o diagnostico mostrava uma caixa de comentario
real e visivel na pagina (aria-label "Adicione um comentário...", com
posição valida na tela), mas a caixa que o Agent tinha guardado estava com
posição zerada (fantasma) - e zero botões Publicar em toda a pagina,
porque a caixa nova estava vazia.

Agora, ao detectar a troca, o Agent redigita o comentario na caixa nova
antes de procurar o botao - e usa essa mesma caixa nova (não a fantasma)
também na confirmação final de que o comentario apareceu na tela. Testado
com um Chromium real simulando esse exato cenario (não só revisão visual):
com a logica antiga, o teste falha do mesmo jeito que em produção; com a
correção, o comentario é redigitado e publicado com sucesso.


