Open source · multiagente · local-first

Um agente de navegador que pergunta antes.

Descreva uma tarefa em linguagem natural e a Flowkite a executa no seu próprio navegador, um Planner define a abordagem, um Navigator clica e digita, e você acompanha tudo pelo painel lateral. Ela mostra o plano antes de tocar em qualquer página, para e pergunta antes de qualquer coisa irreversível, e envia seus dados direto ao provedor de modelo que você escolheu, com a chave que é sua. Não existe servidor da Flowkite no meio do caminho.

Experimente pedir: “Ache os filtros de AeroPress mais baratos em três lojas e faça o pedido.”

Ainda não está na Chrome Web Store. A instalação é do jeito desenvolvedor, compile e use Carregar sem compactação em chrome://extensions.

Veja funcionando

É assim que “perguntar antes” se parece.

Uma tarefa, reproduzida no painel lateral. O Planner propõe e espera, abas somente leitura fazem a pesquisa, e o único passo que gasta dinheiro para e pede um sim antes de acontecer.

Flowkite painel lateral · replay

Ache os filtros de AeroPress mais baratos em três lojas e faça o pedido.

Planner · plano proposto

  1. Buscar em três lojas em paralelo, abas somente leitura
  2. Comparar os totais com frete incluído
  3. Finalizar na mais barata, é uma compra, então vai parar e perguntar
Aprovar e executar Ajustar

Aprovado. Nada rodou antes disto.

Três lojas pesquisadas de uma vez, abas sem clique, sem digitação, sem envio

Mais barato com frete: R$ 71,20

Ação sensível · precisa de um sim

O Navigator quer clicar em Fechar pedido. Isso é uma compra real de R$ 71,20.

Permitir uma vez Negar

Pedido feito, número de confirmação salvo no chat

Pronto. Pedido na loja mais barata por R$ 71,20, R$ 15,50 abaixo da segunda melhor.

O que ela realmente faz

A parte interessante de um agente é onde ele para.

A maioria dos agentes de navegador pede sua sessão logada e sai agindo. A Flowkite é construída ao contrário: cada item abaixo é um ponto onde ela devolve o controle a você, ou se recusa a gastar algo que você não autorizou.

  • Prévia do plano, depois desfazer

    Antes de tocar numa página, o agente escreve seu plano e espera. Aprove e ele executa; rejeite e nada aconteceu.

    Desfazer reverte o último passo, a página navega de volta e o agente esquece o passo, então replaneja a partir do estado restaurado em vez de construir sobre algo que você recusou.

  • Ações sensíveis precisam de um sim

    Comprar, apagar, enviar um formulário, baixar um arquivo ou digitar num campo de senha: tudo isso para e pergunta primeiro.

    A checagem lê o elemento real do DOM que o agente escolheu, o rótulo, o tipo, o aria-label, e não a descrição do modelo sobre o que ele acha que está fazendo.

  • Memória que nunca sai do aparelho

    Diga uma preferência uma vez e ela persiste entre sessões. As memórias vivem em chrome.storage.local, nunca enviadas, nunca sincronizadas.

    As configurações listam cada fato guardado com um botão de apagar ao lado, e um único interruptor desliga tudo.

  • Pesquisa em abas paralelas

    Consultas independentes, o mesmo produto em três lojas, rodam ao mesmo tempo, cada uma na sua aba em segundo plano, e se fundem numa única resposta.

    Essas abas são somente leitura por construção: o conjunto de ações que recebem não contém clique, digitação nem envio. O único lugar onde você não poderia intervir é o único onde nada pode agir.

  • Roteamento híbrido, menos tokens

    Atribua um modelo barato opcional e os passos rotineiros de navegação vão para ele, enquanto o seu modelo bom cuida do raciocínio.

    Tudo que não é rotina escala: uma falha a recuperar, uma página densa, um passo que raciocina sobre uma captura de tela, o primeiro passo de um plano novo.

  • Guarda-corpos para texto não confiável

    O conteúdo da página é envolvido em delimitadores explícitos e escaneado antes de chegar ao modelo, então um texto qualquer numa página não consegue se passar por instrução ao agente.

    Padrões conhecidos de injeção de prompt e de sequestro de tarefa são removidos, e strings sensíveis são capturadas na saída.

Como funciona

Dois agentes, um navegador, nenhum servidor.

A Flowkite divide o trabalho em dois papéis: um decide o que fazer, o outro faz. Tudo roda dentro do service worker da extensão, na sua máquina, a única coisa que sai é a requisição ao provedor de modelo que você configurou.

  1. Planner

    Lê sua tarefa e define a abordagem, quais sites, em que ordem, como será o “pronto”. Replaneja quando a página se revela diferente do que todos esperavam.

    Decide quando a tarefa terminou. Obrigatório.

  2. Navigator

    Faz o trabalho de verdade na página: lê o DOM, clica, digita, rola, navega. Iframes de outras origens também são lidos, então widgets embutidos de checkout e login não ficam invisíveis para ele.

    Se a página re-renderiza no meio de um passo, a ação é repetida contra o estado novo. Passos rotineiros podem ir para um modelo mais barato que você indicar; o que for mais difícil fica com o seu bom.

O portão do plano fica na frente dos dois. O primeiro plano de cada tarefa é mostrado a você e espera aprovação, e só o primeiro, para que replanejar no meio não vire amolação. Com as coisas andando, desfazer é a saída de emergência: leva a página de volta e apaga o passo do histórico do agente, então o próximo plano é construído sobre o estado que você manteve, não sobre o que você rejeitou.

Traga seu próprio modelo

Onze provedores, mais qualquer um compatível com a OpenAI.

Atribua um modelo a cada papel, Planner, Navigator e, opcionalmente, um modelo Fast barato para passos rotineiros. Misture fornecedores à vontade; nada pressupõe que vieram do mesmo lugar.

  • OpenAI
  • Anthropic
  • Gemini
  • Grok
  • DeepSeek
  • Groq
  • Cerebras
  • Azure OpenAI
  • OpenRouter
  • Llama
  • Ollama local
  • Qualquer endpoint compatível com a OpenAI

As chaves ficam guardadas localmente em chrome.storage.local e vão direto do seu navegador ao provedor escolhido. Nunca passam por um servidor da Flowkite, porque ele não existe, sem backend, sem conta, sem cadastro. Se o seu endpoint fala a API da OpenAI, aponte a Flowkite para a URL base e funciona, inclusive um modelo rodando na sua própria máquina via Ollama.

Comece rápido

Compile, carregue, adicione uma chave.

Uns cinco minutos numa máquina que já tem Node e pnpm. Não há listagem em loja para clicar, então a instalação é a de desenvolvedor, o que também significa que você pode ler cada linha que vai executar.

  1. Clone o repositório e compile

    Requer Node.js 22.12 ou mais novo e pnpm 9.15 ou mais novo. pnpm é obrigatório, este é um workspace pnpm e o npm não resolve as dependências workspace:*.

    # Node.js >= 22.12.0 e pnpm >= 9.15.1
    git clone https://github.com/itsnevu/Flowkite.git
    cd Flowkite
    pnpm install
    pnpm build          # a saída fica em dist/
  2. Abra a página de extensões

    Cole isto na barra de endereço, não é um link que o Chrome deixa uma página web abrir por você.

    chrome://extensions/
  3. Ative o modo do desenvolvedor

    O interruptor fica no canto superior direito da página. Sem ele, o Chrome não mostra o botão Carregar sem compactação.

  4. Carregue sem compactação e escolha dist/

    Clique em Carregar sem compactação e selecione a pasta dist/ que o build acabou de gerar, a pasta em si, não um arquivo dentro dela. A Flowkite aparece na barra de ferramentas.

    Prefere não compilar? Baixe o flowkite.zip na página de releases do GitHub, descompacte e carregue essa pasta. Para atualizar depois, substitua a pasta e aperte atualizar no cartão da Flowkite.

  5. Adicione uma chave de API e atribua modelos

    Abra o painel lateral, clique no ícone de configurações, cole uma chave de qualquer provedor suportado e dê um modelo ao Planner e outro ao Navigator. Adicione um modelo Fast barato se quiser desviar os passos rotineiros do seu modelo caro.

    A aprovação de plano e a confirmação de ações sensíveis vêm ligadas por padrão. Deixe assim até confiar nela.

Respostas diretas

Perguntas frequentes, respondidas com franqueza.

É gratuito?

A extensão é gratuita e open source, sem plano pago, sem trial e sem conta. O que custa dinheiro é o modelo: você traz sua própria chave de API e o provedor cobra diretamente de você pelo que o agente usa. Rodando um modelo local via Ollama, até isso cai para zero.

Para onde vão minhas chaves de API?

Para o chrome.storage.local na sua própria máquina, e para nenhum outro lugar. As requisições vão direto do seu navegador ao provedor configurado. A Flowkite não tem backend para intermediá-las, então não existe servidor nosso que pudesse ver uma chave. Desinstale a extensão e elas somem junto.

Funciona com modelos locais?

Sim, o Ollama é suportado diretamente, e qualquer endpoint compatível com a OpenAI funciona informando a URL base. Essa configuração tem custo zero de API e nada sai da sua máquina. Uma ressalva: modelos locais pedem prompts mais específicos. Divida a tarefa em passos explícitos em vez de entregar uma única instrução vaga de alto nível.

Está na Chrome Web Store?

Ainda não. Hoje a instalação é com Carregar sem compactação, a partir de um build seu ou de um zip de release. Atualizar significa substituir a pasta e apertar atualizar no cartão da Flowkite em chrome://extensions. Veja o Comece rápido para a sequência completa.

Que dados saem da minha máquina?

A estrutura da página e, apenas se você ligar a visão, capturas de tela, enviadas ao provedor de LLM que você escolheu usando a sua chave; quando os dados chegam a ele, vale a política dele, então escolha um com o qual você se sinta confortável. Builds que incluem uma chave de analytics também enviam eventos anônimos de uso ao PostHog, tarefa iniciada, concluída, falhada ou cancelada, mais o hostname de cada domínio visitado, que Opções → Analytics desliga; uma cópia compilada por você não carrega chave nenhuma, então isso nunca roda. Suas configurações, histórico de tarefas, chaves de API e memórias ficam no chrome.storage.local e nunca são enviados.

Quais navegadores são suportados?

Chrome e Edge são totalmente suportados. Firefox e Safari não, a Flowkite é uma extensão Manifest V3 construída sobre as APIs do próprio Chrome. Outros navegadores Chromium como Brave, Arc e Opera podem até funcionar, mas não são testados.