v2.0

Runtimes e Ambientes

Onde os agentes executam. Um runtime tem uma instalação por ambiente (Desenvolvimento, Homologação e Produção): cadastre o runtime, instale cada instalação numa máquina com a chave de ativação dela e controle o comportamento de execução de cada uma.

O que é um Runtime

O runtime é o aplicativo multiplataforma do browserMate que executa os agentes. Ele controla o navegador, executa os scripts e reporta logs e evidências de volta à plataforma. Na tela Meus Runtimes, um Runtime é o destino de execução que você nomeia e escolhe no agente, por exemplo Nota Fiscal Automation. Ele se organiza em quatro peças:

PeçaO que é
Runtime O que você escolhe no agente, no agendamento e na API. Tem nome, descrição, um ID e três posições, uma por ambiente.
Ambiente Desenvolvimento, Homologação ou Produção. Todo agente está em um deles (veja Ambientes).
Instalação O aplicativo instalado numa máquina (ou contêiner), ligado a uma posição do runtime. Cada instalação tem a própria chave de ativação, o próprio agent.config.json, o próprio status LIVE ou OFFLINE e o próprio comportamento de execução. Uma instalação pode atender mais de um ambiente do mesmo runtime.
Chave de ativação O que liga uma máquina a uma instalação: uma chave por instalação. Cada instalação pertence a um runtime só, então a chave nunca é compartilhada entre runtimes.

Na execução, o runtime do agente e o ambiente do agente apontam juntos para uma instalação, e é nela que o agente roda. Um agente em Produção no runtime Nota Fiscal Automation roda na instalação de Produção desse runtime. Se ele vai para Homologação, passa a rodar na instalação de Homologação do mesmo runtime, sem trocar o runtime escolhido.

Com isso você consegue:

Cadastrar um runtime

Em Meus Runtimes, clique em Novo Runtime e preencha:

Formulário Novo Runtime com Nome, Descrição e Instalações por ambiente: Desenvolvimento e Produção em Nova instalação, outra máquina, com chave de ativação nova, Homologação em Compartilhar com Desenvolvimento, o resumo das 2 chaves de ativação que serão geradas e Tornar visível para toda a empresa
Cadastro de um novo runtime com uma máquina para Desenvolvimento e outra para Produção. Homologação compartilha a máquina de Desenvolvimento. O resumo abaixo das linhas diz quantas chaves de ativação novas o cadastro vai gerar: aqui, duas, uma para cada Nova instalação.
CampoDescrição
Nome Obrigatório Nome do runtime, o que aparece no campo RUNTIME do agente e no agendamento. Ex.: Nota Fiscal Automation.
Descrição Descrição opcional: para que serve o runtime, quem administra as máquinas.
Instalações por ambiente Uma linha por ambiente (Desenvolvimento, Homologação e Produção), dizendo qual instalação atende aquele ambiente neste runtime. Veja Instalações por ambiente a seguir.
Tornar visível para toda a empresa Só para administradores, a partir do plano Corporate. Marcado, o runtime inteiro, com todas as instalações dele, fica disponível para os outros usuários da empresa escolherem nos agentes deles. Para eles, o runtime aparece em Runtimes da Empresa, com o status de cada ambiente e o ID. As instalações continuam sendo feitas por quem cadastrou o runtime. Desmarcar é recusado enquanto agentes, agendamentos ligados ou etapas com Distribuição entre runtimes de outras contas da empresa usam o runtime, porque fora do alcance delas essas execuções seriam recusadas; a mensagem diz quais são, por exemplo O runtime Nota Fiscal Automation continua visível para a empresa: a etapa "Emitir do agente Lote NF" de outras contas da empresa distribui execuções nele (Distribuição entre runtimes). Desmarque-o na Distribuição do processamento dessa etapa antes.

O mesmo formulário existe no painel Runtimes do Agent Builder, para cadastrar sem sair do agente.

Não precisa de IP público nem fixo O runtime nunca espera conexão de fora: é ele quem se conecta à plataforma, nunca o contrário (veja Pré-requisitos técnicos). Por isso uma estação de trabalho comum, com internet doméstica ou corporativa normal e IP dinâmico, funciona perfeitamente como instalação. O cadastro não pede o endereço da máquina.

Instalações por ambiente

Cada linha do campo Instalações por ambiente tem uma destas opções:

OpçãoO que faz
Nova instalação Cria uma instalação para aquele ambiente, com chave de ativação própria e agent.config.json próprio. É uma máquina a mais para instalar.
Manter a instalação atual Só aparece ao editar, na posição que já tem instalação própria. Mantém a instalação, a chave e a configuração como estão.
Compartilhar com outro ambiente Por exemplo Compartilhar com Desenvolvimento. O ambiente roda na máquina de Desenvolvimento: o mesmo runtime instalado atende os dois ambientes. O Cofre continua separado: cada execução usa o valor do ambiente do agente, e o log registra esse ambiente. Só dá para escolher um ambiente que tenha instalação própria.
Sem instalação O runtime fica sem instalação naquele ambiente. Um agente nesse ambiente não roda neste runtime: com ele escolhido no campo RUNTIME, o botão desse ambiente no cabeçalho do agente fica desabilitado (veja Os botões Dev, Homolog e Prod).

Um runtime novo começa com uma instalação para os três ambientes: Desenvolvimento em Nova instalação, Homologação e Produção em Compartilhar com Desenvolvimento. É a mesma ideia de uma credencial do Cofre com valor único. Quem precisa de máquinas separadas troca a posição para Nova instalação, por exemplo Produção, para rodar Produção num servidor e o resto no notebook.

Abaixo das três linhas, o formulário resume o que o Salvar vai fazer, por exemplo Vai gerar 1 chave de ativação nova (instalação de Desenvolvimento), com o seu agent.config.json. Ao editar, uma posição que deixa de ter instalação própria aparece como A instalação atual de Produção será removida e a chave de ativação dela para de valer.

Trocar para Nova instalação a posição de um ambiente que já tinha instalação é trocar de máquina: as execuções daquele ambiente passam para a instalação nova, que começa com a mesma configuração de execução da anterior (fila, execuções ao mesmo tempo, fluxo offline) e só recebe execuções depois que o agent.config.json novo for instalado. O resumo avisa: As execuções de Produção passam para a instalação nova, com a mesma configuração de execução da atual, e só rodam depois que o agent.config.json novo for instalado na máquina.

O Salvar fica bloqueado, com o motivo no resumo, quando:

Um runtime com uma só instalação atende com ela os ambientes em que ela está escolhida, como os três de um runtime novo. Editar um runtime mantém o mesmo ID, então agentes, agendamentos e integrações que apontam para ele continuam valendo depois de separar as instalações.

Instalação que não faz parte de um runtime cadastrado Uma instalação que não pertence a nenhum runtime cadastrado aparece em Meus Runtimes como um runtime com o mesmo ID dela e vale só para Produção. Desenvolvimento e Homologação mostram Sem instalação até você editar o runtime e escolher, por exemplo, Compartilhar com Produção ou Nova instalação: nenhum ambiente é atendido sem ter sido escolhido. Os agentes que nunca tiveram ambiente escolhido estão em Produção e rodam nessa instalação normalmente. Um agente novo começa em Desenvolvimento; para rodá-lo nesse runtime, edite o runtime e dê a ele uma instalação em Desenvolvimento (por exemplo Compartilhar com Produção), ou clique em Prod no cabeçalho do agente para levá-lo a Produção (veja Os botões Dev, Homolog e Prod).
O arquivo de configuração já sai pronto do cadastro Assim que o runtime é salvo, cada instalação ganha no card o botão agent.config.json. Ele baixa o arquivo com a chave de ativação daquela instalação, o seu token e o endereço da plataforma já preenchidos, sem você precisar copiar código nenhum à mão. Baixe um arquivo por instalação e leve cada um para a máquina certa. Veja Ativação do runtime.

O card do runtime

Na tela Meus Runtimes e no painel Runtimes do Agent Builder, cada runtime aparece num card. No alto ficam o nome e os botões Editar e Remover (o ícone da lixeira). Logo abaixo vem o ID para a API, com botão de cópia: é o ID do runtime, usado na API. Em seguida, em Instalações, há um bloco por ambiente, marcado na cor dele (Desenvolvimento azul, Homologação âmbar, Produção verde). O bloco de um ambiente com instalação própria mostra:

Um ambiente que reaproveita a instalação de outro ocupa uma linha só, com Compartilha com e o ambiente; um ambiente sem instalação mostra Sem instalação, com borda tracejada. Uma instalação acima do limite do plano mostra Suspensa pelo plano ao lado do status.

O que o runtime informa sozinho Nome e descrição existem para o time se organizar. A máquina e a versão aparecem no card sem ninguém digitar: é a própria instalação que as informa quando conecta. O nome da máquina só aparece enquanto ela está conectada. Tecnicamente, o que faz uma instalação funcionar é só a chave de ativação dela, junto com o seu token de usuário: é esse par que o runtime envia à plataforma para emitir o sinal de ativação (veja Ativação do runtime).

Remover uma instalação ou o runtime

Para remover uma instalação, edite o runtime e troque a posição dela para Sem instalação ou Compartilhar com outro ambiente. Para remover tudo, use Remover no card: as instalações do runtime são removidas e as chaves de ativação param de valer.

A plataforma recusa a remoção quando algum agente ou agendamento usa aquele runtime no ambiente que ficaria sem instalação, e lista quem usa. Por exemplo: O runtime Nota Fiscal Automation não foi salvo: o agente "Emitir NF" roda nele, e o agendamento "Fechamento diário" aponta para ele, em Produção. Sem instalação nesse ambiente, essas execuções seriam recusadas. Troque o runtime deles antes. Agendamento desligado não entra nessa conta: ao ser religado, ele é conferido de novo (veja Agendamento).

Remover o runtime também é recusado enquanto uma etapa marca esse runtime na Distribuição entre runtimes (na versão publicada de qualquer agente que o alcança): O runtime Nota Fiscal Automation não foi removido: a etapa "Emitir do agente Lote NF" distribui execuções nele (Distribuição entre runtimes). Desmarque-o na Distribuição do processamento dessa etapa antes. Tirar só a instalação de um ambiente não é recusado por causa da distribuição: nesse ambiente o runtime fica de fora da distribuição, e os outros runtimes marcados recebem.

A remoção também é recusada enquanto a instalação que sai tem execuções na fila ou rodando, porque a fila dela seria perdida: O runtime Nota Fiscal Automation não foi salvo: a instalação de Produção tem 3 execuções na fila ou rodando. Espere terminarem antes de tirar essa instalação, ou a fila dela é perdida.

Ambientes: Desenvolvimento, Homologação e Produção

Todo agente está em um ambiente: Desenvolvimento, Homologação ou Produção. Um agente novo, clonado ou importado começa em Desenvolvimento, e um agente que nunca teve ambiente escolhido está em Produção. Esse único ambiente decide duas coisas na execução:

Depois da execução, o ambiente também decide onde ela é contada: o Analytics soma só as execuções de Produção (Desenvolvimento e Homologação são teste e não entram nos ganhos), enquanto o Control Room, a Trilha de Auditoria e o consumo de créditos contam todos os ambientes.

No Agent Builder, runtime e ambiente são dois controles separados, lado a lado na segunda fileira do cabeçalho: o campo RUNTIME escolhe onde o agente roda, e os botões Dev, Homolog e Prod escolhem em que ambiente. O ambiente é do agente inteiro: decide qual instalação do runtime escolhido roda o agente (cada instalação tem a própria chave de ativação) e qual valor do Cofre é usado.

O campo RUNTIME

Fica na segunda fileira do cabeçalho. Lista só runtimes, pelo nome e em ordem alfabética, com a Sandbox no fim, no grupo Runtime limitado e para testes. Todos os runtimes se deixam escolher, tenham ou não instalação no ambiente do agente. Uma conta com os runtimes Nota Fiscal Automation e VPS GCP vê a lista assim:

Escolher um runtime que não tem instalação no ambiente em que o agente está leva o agente junto para um ambiente que o runtime tem (Produção primeiro, depois Homologação, depois Desenvolvimento), numa troca só, com o aviso Agente em Produção: o runtime VPS GCP não tem instalação em Desenvolvimento. Com o agente publicado, ir para Produção pede a confirmação de sempre; cancelar mantém o runtime anterior. Uma troca de runtime feita pelo Copilot segue a mesma regra de levar o agente junto, na versão em desenvolvimento e sem a confirmação de Produção (o aviso diz para qual ambiente o agente foi), e o cabeçalho do editor se atualiza. Passar o mouse sobre o campo mostra o nome inteiro do runtime escolhido.

RótuloQuando aparece
Selecione...O agente não tem runtime escolhido, ou o runtime gravado nele não existe mais. Nesse segundo caso o editor mostra a pendência O runtime gravado neste agente não existe mais na sua conta. Escolha outro. Com o agente publicado (sem versão em desenvolvimento, quando a troca vale na hora), esta opção fica desabilitada, com a dica O agente publicado precisa de um runtime: escolha outro runtime. Na versão em desenvolvimento ela continua escolhível e vira pendência.
Nenhum runtime cadastradoA conta não tem runtime. Cadastre um em Meus Runtimes, ou use a Sandbox para testar.
Runtime do dono do agenteO agente foi compartilhado com você: o runtime é do dono (veja Vínculo com o agente).
O dono não definiu o runtimeO agente foi compartilhado com você e o dono ainda não escolheu runtime para ele.

Os botões Dev, Homolog e Prod

Logo ao lado do campo RUNTIME ficam três botões juntos: Dev (Desenvolvimento), Homolog (Homologação) e Prod (Produção). O botão do ambiente do agente fica preenchido com a cor do ambiente: azul em Desenvolvimento, âmbar em Homologação e verde em Produção. A borda de baixo do cabeçalho mostra uma linha fina na mesma cor, para o ambiente ficar à vista enquanto você trabalha no fluxo.

Os botões dos ambientes em que o runtime escolhido no campo RUNTIME não tem instalação ficam desabilitados, e passar o mouse mostra o motivo: o runtime X não tem instalação neste ambiente. Para usar esse ambiente, dê a ele uma instalação no runtime (em Meus Runtimes) ou escolha outro runtime. Do mesmo modo, o botão de um ambiente cuja instalação está suspensa pelo plano fica desabilitado, com a dica a instalação deste ambiente está suspensa pelo plano. O botão do ambiente atual do agente nunca fica desabilitado por isso: nesse caso quem avisa é a pendência.

Uma pequena marca amarela num botão quer dizer que uma credencial do cofre usada no fluxo não tem valor naquele ambiente; a dica diz falta credencial do Cofre neste ambiente, e a pendência diz qual credencial falta. Esse botão continua escolhível: é escolhendo o ambiente que você vê o que precisa cadastrar.

Clicar em outro botão troca o ambiente do agente. Os três botões ficam desabilitados, com o motivo ao passar o mouse, nas mesmas situações em que o campo RUNTIME trava: outra pessoa está desenvolvendo o processo, você não tem permissão de edição, ou o agente é de outro dono (O ambiente é definido pelo dono deste agente).

Com a Sandbox escolhida no campo RUNTIME, ou com o campo em Selecione... (nenhum runtime), nenhum botão fica marcado, os três ficam desabilitados e a linha do cabeçalho fica cinza: a Sandbox não usa ambiente nem Cofre, e sem runtime não há instalação para o ambiente escolher. O ambiente gravado no agente não muda e volta a aparecer quando um runtime é escolhido.

Existe uma só versão publicada, e publicar é o ato de dizer "terminei". Numa versão em desenvolvimento, a escolha do runtime e do ambiente vale para o debug e vai junto na publicação. Com o agente publicado, trocar o runtime ou o ambiente vale na hora para as próximas execuções e não gera versão nova: a versão só sobe quando o fluxo muda. Ir para Produção com o agente publicado pede uma confirmação, Mudar para Produção, que avisa que as próximas execuções usarão o runtime escolhido e as credenciais de Produção, por exemplo As próximas execuções usarão o runtime Nota Fiscal Automation e as credenciais de Produção. As outras trocas valem na hora, sem perguntar.

Uma sequência comum: criar a versão, depurar em Desenvolvimento e Homologação sem gerar versão nenhuma, publicar em Homologação para deixar o agendamento rodando uns dias, e, quando estiver convencido, abrir o agente e trocar para Produção. Continua sendo a mesma versão.

Pendências que o ambiente cria Estas situações aparecem no ícone de pendências do editor e seguram a publicação:
  • o runtime escolhido não tem instalação no ambiente do agente: O runtime X não tem instalação em Y;
  • a instalação do runtime no ambiente do agente está suspensa pelo plano: A instalação NOME está suspensa pelo plano: faça upgrade do plano, ou escolha outro runtime;
  • uma credencial do cofre usada no fluxo não tem valor para o ambiente do agente;
  • um agendamento ligado do agente fixa um runtime sem instalação no ambiente do agente, por exemplo O agendamento "D" aponta para o runtime X, sem instalação em Y. Agendamento desligado não entra;
  • O runtime gravado neste agente não existe mais na sua conta. Escolha outro.
O painel do Cofre tem a aba Neste fluxo, que mostra cada chave usada e o valor que ela tem em cada ambiente. Com o agente publicado, trocar para um ambiente em que um agendamento ligado dele ficaria sem instalação é recusado, dizendo qual agendamento trocar antes.

Ao publicar, a plataforma confere no servidor as pendências de runtime, ambiente e agendamento, venha a publicação de onde vier (inclusive de um agente compartilhado editado por convidado, ou de uma troca de runtime feita pelo Copilot). A publicação é recusada, com o motivo num aviso no editor, quando:

A plataforma recusa, nunca escolhe por você Um disparo cujo runtime não tem instalação no ambiente da execução é recusado na entrada, venha de onde vier (agendamento, API, webhook, outro agente): O runtime X não tem instalação em Y. Escolha outro runtime, ou cadastre uma instalação nesse ambiente. Uma instalação suspensa pelo plano também não recebe execução (veja Quantos runtimes o plano permite). Do mesmo modo, uma credencial sem valor para o ambiente derruba a etapa dizendo isso, em vez de usar o valor de outro ambiente.

Um agente chamado por outro (Chamar Agente) roda no próprio ambiente, não no do agente que chamou. Cada agente carrega o seu. O Meus Insights mostra o ambiente de cada execução.

Runtime desatualizado Credencial com valores por ambiente exige o runtime atualizado na máquina: um runtime desatualizado recebe o erro Atualize o runtime ao chegar nessa credencial. O mesmo vale para o ambiente fixado por um agendamento ou pela API, que só escolhe os valores do cofre com o runtime atualizado. Baixe a versão atual em Runtime dos Agentes.

Quantos runtimes o plano permite

O número de runtimes é um teto da empresa inteira, não de cada pessoa: os runtimes de todos os membros somam contra o mesmo limite. Na conta, cada instalação conta como um runtime. Um runtime com Desenvolvimento, Homologação e Produção em instalações separadas conta 3; uma instalação reaproveitada por outro ambiente (Compartilhar com) conta uma vez só. O topo da tela Meus Runtimes mostra quanto já está em uso, no formato 2 de 5 runtimes em uso na empresa, para você saber onde está antes de criar mais uma instalação.

O formulário recusa o Salvar quando as instalações novas passam do teto e explica a conta, por exemplo: O plano permite 5 runtimes na empresa e 4 já estão em uso: cabem mais 1, e este runtime pede 2. Reaproveite uma instalação entre ambientes ("Compartilhar com ...") ou remova um runtime que não usa mais. Uma instalação removida na mesma edição libera a vaga dela. A plataforma confere o teto de novo ao gravar e recusa o que passar dele.

Quando a empresa muda para um plano menor, as instalações que passam do novo teto são suspensas, nunca excluídas. A ordem protege Produção: saem primeiro as instalações de Desenvolvimento, depois as de Homologação, e as de Produção ficam. Uma instalação que atende Produção conta como Produção, e dentro do mesmo ambiente fica a mais antiga. A instalação suspensa mostra Suspensa pelo plano no card, continua cadastrada com a configuração e a chave de ativação intactas, não aceita ativação e não ocupa vaga. Ela volta quando a empresa passa a um plano que a comporte (troca de plano ou confirmação de pagamento); remover outra instalação não a reativa. O mesmo vale para as instalações de um membro que ficou sem acesso ativo por causa do plano: elas saem da contagem enquanto ele estiver nessa situação.

Toda execução que entraria numa instalação suspensa é recusada na entrada, venha de onde vier (execução manual, API, webhook, agendamento, debug, agente chamado por outro): A instalação NOME está suspensa pelo plano: o plano da empresa não comporta todas as instalações de runtime. Faça upgrade do plano, ou escolha outro runtime. Na API o erro é INVALID_ENVIRONMENT (400). Na Distribuição entre runtimes, a instalação suspensa fica de fora e os outros runtimes recebem; o log do agente registra instalação suspensa pelo plano, e o painel da etapa mostra o runtime com suspensa pelo plano · não recebe. No editor, o botão desse ambiente fica desabilitado e, se é o ambiente do agente, a pendência diz qual instalação está suspensa.

Baixar e configurar o runtime

O runtime não tem instalador. É um pacote .zip pronto para rodar. O fluxo é: baixar, configurar, abrir.

  1. Com o runtime já cadastrado (seção Cadastrar um runtime acima), no Menu, acesse Runtime dos Agentes e baixe o pacote .zip do seu sistema operacional.
  2. Extraia o .zip numa pasta. No card do runtime, em Instalações, no bloco do ambiente que esta máquina vai atender, clique em agent.config.json para baixar o arquivo já preenchido e salve-o nessa mesma pasta, substituindo o que veio no pacote (seção Ativação do runtime a seguir).
  3. Abra o executável. Não há instalador nem login, é rodar direto.
  4. O runtime conecta-se à plataforma, e a instalação aparece como LIVE em Meus Runtimes, com a máquina e a versão.

Um runtime com mais de uma instalação repete esses passos em cada máquina, cada uma com o agent.config.json da sua instalação.

Tela de download do runtime
Menu → Runtime dos Agentes: download do executável para Windows, macOS e Linux.

Cenário conhecido: aviso do SmartScreen no Windows

Ao abrir o browsermate.exe pela primeira vez no Windows, é esperado que o Microsoft Defender SmartScreen exiba um aviso antes de deixar o executável rodar. Isso acontece porque o binário ainda não tem um certificado de assinatura de código reconhecido pela Microsoft. Não é um indício de problema no arquivo baixado.

Validação: comportamento conhecido, pode seguir em frente Esse aviso aparece em qualquer executável novo sem assinatura digital, de qualquer fornecedor. É o SmartScreen sendo cauteloso por padrão com um arquivo que ele ainda não "viu" o suficiente, não um resultado de antivírus detectando algo malicioso no pacote.
  1. Ao abrir o browsermate.exe, aparece a tela "O Windows protegeu o computador".
  2. Clique em Mais informações. O aviso se expande e mostra o nome do arquivo (browsermate.exe) e o botão Executar assim mesmo.
  3. Clique em Executar assim mesmo para seguir com a abertura. O runtime inicia normalmente a partir daí.
Aviso inicial do SmartScreen bloqueando o browsermate.exe
Tela inicial do aviso. Clique em "Mais informações" para prosseguir.
Aviso do SmartScreen expandido com o botão Executar assim mesmo
Após "Mais informações": identifica o aplicativo e libera o botão "Executar assim mesmo".

Ativação do runtime (agent.config.json)

O que liga a máquina à sua conta e a uma instalação do runtime é o arquivo agent.config.json, localizado na pasta onde você extraiu o .zip do runtime:

Atalho: baixe o arquivo já preenchido Não é preciso montar o arquivo à mão. No card do runtime, tanto em Meus Runtimes quanto no painel de Runtimes dentro do modelador, cada instalação tem o botão agent.config.json, que baixa o arquivo com a chave de ativação dela, o seu token e o endereço da plataforma já preenchidos. Salve-o na mesma pasta do executável (substituindo o que veio no .zip) e abra o runtime. Os campos abaixo ficam documentados para quem precisa conferir ou editar o arquivo manualmente.
Card do runtime VPS Teste com Editar e Remover, o ID para a API e, em Instalações, um bloco por ambiente (Desenvolvimento azul, Homologação âmbar, Produção verde), cada um com o status OFFLINE, a máquina, a chave de ativação e os botões agent.config.json e Configurar
O card do runtime: um bloco por ambiente, com o status, a chave de ativação e os botões agent.config.json e Configurar de cada instalação.
agent.config.json
{
  "key_activation": "<chave de ativação do runtime>",
  "user_token":     "<seu token de usuário>",
  "ui_socket_url":  "https://app.browsermate.io",
  "execution-mode": "console",
  "startup-notice": true,
  "keep-session-active": false,
  "ip-preference":  "ipv4"
}
CampoO que é / onde obter
key_activation A chave de ativação da instalação. Gerada quando uma posição do runtime recebe Nova instalação, em Meus Runtimes. É ela que diz à plataforma qual instalação, de qual runtime, aquela máquina representa.
user_token O seu token de usuário. Disponível no Menu, na opção Meus Dados (Token de API). Identifica a conta dona do runtime.
ui_socket_url O endereço da plataforma à qual o runtime se conecta. Em produção: https://app.browsermate.io.
execution-mode Opcional. "console" (padrão) ou "background". Só tem efeito no Windows, veja Executar em segundo plano a seguir.
startup-notice Opcional. true (padrão) ou false. Define se o runtime confirma na tela que subiu em segundo plano. Só tem efeito com "execution-mode": "background", veja Executar em segundo plano a seguir.
keep-session-active Opcional. false (padrão) ou true. Mantém o desktop do Windows ativo depois que você fecha a conexão remota com o servidor, veja Manter a sessão ativa em servidor remoto a seguir. Campo ausente, valor diferente de true ou arquivo de uma versão anterior mantêm a opção desligada.
ip-preference Opcional. "ipv4" (padrão), "ipv6" ou "system". Qual família de IP o runtime tenta primeiro ao falar com a plataforma, com a outra de reserva. Veja Preferência de IP a seguir.
Aplicativo runtime do browserMate
O aplicativo runtime em execução na máquina.

Na inicialização, o runtime envia a chave de ativação e o token ao servidor, que os valida e devolve uma credencial temporária exclusiva daquela sessão. O runtime nunca opera com acesso além do necessário para executar os agentes. Depois de editar o arquivo, reinicie o runtime para aplicar.

Trate o arquivo como segredo O agent.config.json contém credenciais da sua conta. Não o copie para repositórios, compartilhamentos abertos ou outras máquinas. Cada máquina usa a chave da própria instalação.

Executar em segundo plano (bandeja do Windows)

Desktop limpo, sem perder o processo de vista Por padrão ("execution-mode": "console"), o runtime abre e permanece numa janela de console, exatamente como sempre funcionou. No Windows, dá pra configurar "execution-mode": "background" para que o runtime nunca abra janela nenhuma: ele já nasce direto com um ícone na bandeja do sistema, perto do relógio (pode estar atrás da seta ^ de ícones ocultos).
Ícone do browserMate Runtime na área de ícones ocultos da bandeja do Windows
A bandeja do Windows, com a seta "^" que esconde ícones menos usados: é ali que o ícone do runtime aparece em modo background.
agent.config.json
{
  "key_activation": "<chave de ativação do runtime>",
  "user_token":     "<seu token de usuário>",
  "ui_socket_url":  "https://app.browsermate.io",
  "execution-mode": "background",
  "startup-notice": true
}

Como nada abre na tela nesse modo, o runtime confirma que subiu: aparece uma caixa de mensagem do Windows dizendo browserMate Runtime está rodando em background. Processo ativo na bandeja. Ela não interrompe nada, a ativação do agente segue acontecendo enquanto ela estiver na tela. Sai com um clique em OK, e também se fecha sozinha depois de um minuto, para nunca ficar parada na tela de uma máquina sem ninguém por perto. É uma caixa diferente do aviso de que o runtime já está rodando, que aparece quando o executável é aberto uma segunda vez.

Para iniciar calado, ponha "startup-notice": false no arquivo. Isso é recomendado quando o runtime sobe sozinho junto com o Windows, ou quando ele fica num servidor sem ninguém na frente da tela: nos dois casos a confirmação não tem quem leia. Quando é uma pessoa que abre o runtime, deixe true, porque é essa caixa que diz a ela que o serviço está no ar. O padrão é confirmar: campo ausente, arquivo gerado antes desta opção existir, valor escrito errado ou arquivo com erro de digitação mantêm o aviso, nunca calam o runtime por acidente.

O ícone da bandeja tem duas opções: Ver logs, que abre no programa de texto padrão do Windows o arquivo de log local dessa execução em segundo plano (esse arquivo só existe no modo background, já que no modo console o próprio console já mostra tudo ao vivo), e Sair, que encerra o processo.

Sem risco de ficar rodando "escondido de verdade" O runtime nunca esconde a única janela dele sem antes confirmar que o ícone da bandeja subiu de verdade. Se a bandeja falhar por qualquer motivo (por exemplo, algum bloqueio de antivírus), ele abre um console normal em vez de arriscar ficar sem nenhuma interface visível, com o motivo registrado no log. Essa mesma regra vale pra qualquer erro do runtime: nada aqui encerra o processo sozinho, ele sempre segue rodando e avisa o que aconteceu (no log, e num arquivo status.txt ao lado do executável, nos casos raros em que nem uma janela de console pôde ser aberta pra mostrar o problema). A única exceção é o aviso de que já existe um runtime ativo com a mesma chave: nesse caso o runtime mostra a mensagem e encerra em seguida, porque não há nada a executar (veja Uma máquina ativa por chave de ativação).

Essa opção só existe no Windows. No Mac e no Linux, o campo é ignorado: o runtime sempre abre em console, registrando no log a mensagem Background nativo não suportado neste sistema operacional.

SintomaCausaO que fazer
Abrir o executável de novo não faz nada, ou mostra um aviso dizendo que já está rodando Proteção de instância única: o runtime não deixa dois processos com a mesma chave de ativação rodarem ao mesmo tempo no mesmo computador, pra não competir pela mesma fila de execuções. Vale nos dois modos, console e background. Chaves diferentes (instalações diferentes) rodam juntas no mesmo computador, cada um na sua pasta, com o seu agent.config.json. Nada a fazer, é o comportamento esperado. Pra reiniciar, encerre a instância em execução primeiro: Sair na bandeja (modo background) ou fechando a janela (modo console).
Em modo background o ícone aparece na bandeja, mas nenhuma mensagem confirma que subiu O arquivo está com "startup-notice": false, que é a opção de iniciar calado. Também acontece quando ninguém estava na frente da tela no minuto em que a caixa apareceu, já que ela se fecha sozinha depois disso. Troque para true e reinicie o runtime. Sem essa caixa, a confirmação de que subiu continua no ícone da bandeja e no arquivo de log.
Na primeira vez que liga em modo background num computador, o ícone demora alguns segundos a mais pra aparecer, ou abre um console dessa única vez O componente da bandeja é extraído para o disco na primeira execução naquele computador, e um antivírus escaneando esse arquivo recém-criado pode atrasar o processo por um instante. Nada a fazer, o runtime tenta de novo automaticamente antes de desistir e abrir um console. Da segunda execução em diante, no mesmo computador, isso não se repete.

Manter a sessão ativa em servidor remoto (Windows)

Quando o runtime roda num servidor ou numa máquina virtual acessada por Área de Trabalho Remota (RDP), fechar a janela da conexão sem sair do Windows deixa a sessão desconectada. Ela continua viva e o runtime continua executando, mas o Windows deixa de ter uma tela ativa. Programas que dependem do desktop deixam de funcionar até alguém entrar de novo. O caso típico são os módulos de segurança de bancos, como o Warsaw do Banco do Brasil, que o navegador não reconhece enquanto a sessão está desconectada.

Com "keep-session-active": true, o runtime prepara o Windows para manter a sessão ativa, sem nenhum script a instalar ou manter:

A cada vez que sobe, o runtime confere a tarefa, os tempos limite e o plano de energia e corrige o que tiver mudado. Com a opção em false, ele remove a tarefa e devolve os tempos limite, o monitor e a suspensão aos valores anteriores.

O runtime também avisa no log, sem alterar nada, quando o Windows bloqueia a tela por inatividade (política InactivityTimeoutSecs) ou quando a proteção de tela está ligada para o usuário. Com a tela bloqueada ou coberta, a automação pode falhar.

A tarefa só move a sessão quando ela continua desconectada numa segunda verificação, 30 segundos depois, e não há ninguém conectando pelo RDP naquele momento. Ao reconectar, a sessão passa um instante pelo estado desconectado. Sem essas verificações, a tarefa poderia agir nesse instante e derrubar quem está entrando. Quando você volta pelo RDP, a sessão é reconectada normalmente.

agent.config.json
{
  "key_activation": "<chave de ativação do runtime>",
  "user_token":     "<seu token de usuário>",
  "ui_socket_url":  "https://app.browsermate.io",
  "keep-session-active": true
}
Se não conseguir entrar pelo RDP Entre pelo console do provedor da máquina (painel web, sem RDP) e desative a tarefa num PowerShell como administrador: Disable-ScheduledTask -TaskName 'browserMate-KeepSessionActive-<usuário>'. Depois ponha "keep-session-active": false no arquivo e abra o runtime como administrador uma vez, para ele remover a tarefa.
SintomaCausaO que fazer
O programa do banco só é reconhecido enquanto você está conectado ao servidor A sessão fica desconectada quando você fecha o RDP. Ligue "keep-session-active": true e abra o runtime como administrador uma vez.
A opção está ligada e o log do runtime diz Manter sessão ativa NÃO está instalado O runtime não foi aberto como administrador depois de ligar a opção. Feche o runtime e abra-o com Executar como administrador uma vez. O log passa a dizer tarefa do Windows criada.
O log do runtime avisa que uma política de grupo define um tempo limite Uma política do servidor fixa o tempo limite do RDP, e ela vale acima do que o runtime grava. O Windows pode encerrar a sessão depois desse tempo. Peça a quem administra o servidor para zerar esse tempo limite na política de Serviços de Área de Trabalho Remota.
O log do runtime avisa que o Windows bloqueia a tela ou que a proteção de tela está ligada Depois de um tempo sem uso, o Windows bloqueia ou cobre a tela da sessão, e o runtime não altera essas configurações. Desligue a proteção de tela do usuário nas configurações do Windows. O bloqueio por inatividade é uma política do servidor: peça a quem o administra para desligá-la nessa máquina.
A tarefa está instalada e o programa do banco ainda falha com você fora Veja em logs\sessao-ativa.log se a sessão foi movida para o console. Se foi, a causa da falha é outra. Envie ao suporte o horário da falha e esse arquivo de log.

Preferência de IP (IPv4 ou IPv6)

O banco de dados em tempo real e as APIs da Google que a plataforma usa respondem tanto por IPv4 quanto por IPv6. O campo ip-preference diz qual dos dois o runtime tenta primeiro ao abrir uma conexão com eles:

ValorO que faz
"ipv4" (padrão)Tenta IPv4. Se o IPv4 não conectar, tenta IPv6 em seguida, sozinho.
"ipv6"Tenta IPv6. Se o IPv6 não conectar, tenta IPv4.
"system"Segue a ordem do sistema operacional, ou seja, a política de rede da máquina.

Com qualquer valor, uma rede que só tem IPv4 ou só tem IPv6 continua funcionando, porque a outra família fica de reserva. O padrão é IPv4 porque, em algumas redes, o caminho por IPv6 perde pacotes de vez em quando sem chegar a cair: a conexão aberta por ele fica lenta sem dar erro, e o agente para entre uma etapa e outra até ela se recuperar (veja Quando o banco de dados demora a responder). Use "ipv6" ou "system" quando a política de rede da empresa pede IPv6.

O que o ip-preference não resolve: DNS lento e o navegador

O ip-preference vale só para as conexões que o runtime abre com a plataforma (banco de dados em tempo real e Router). Com ele, o runtime não para entre etapas por causa de um caminho IPv6 ruim, sem nenhuma configuração na máquina. Duas coisas continuam com o sistema operacional, e nenhum programa as corrige de dentro:

  • A resolução de nomes (DNS). Quem resolve os nomes é o Windows, para o Chrome e para o próprio runtime. Se a placa de rede recebeu servidores de DNS IPv6 que não respondem, cada endereço novo demora alguns segundos para resolver, e as páginas podem ficar paradas na primeira carga e só carregar depois de recarregar.
  • O Chrome. Ele escolhe entre IPv4 e IPv6 pela regra do Windows, para os sites que têm os dois endereços.

No Windows, num PowerShell como administrador, há uma correção para cada caso. Nenhuma desliga o IPv6 nem a placa de rede, e as duas continuam valendo depois de reiniciar:

  • DNS IPv6 que não responde: veja quais servidores a placa recebeu com Get-DnsClientServerAddress -AddressFamily IPv6. Se a placa de rede principal tiver servidores IPv6 e as consultas demorarem, use netsh interface ipv6 set dnsservers name="<nome da placa>" source=static address=none register=none. Para desfazer: netsh interface ipv6 set dnsservers name="<nome da placa>" source=dhcp.
  • Preferir IPv4 em toda a máquina, inclusive no Chrome: netsh interface ipv6 set prefixpolicy prefix=::ffff:0:0/96 precedence=60 label=4. Para desfazer: netsh interface ipv6 set prefixpolicy prefix=::ffff:0:0/96 precedence=35 label=4.

Depois de qualquer uma das duas, reinicie o runtime, para as conexões abertas antes da mudança serem refeitas.

Uma máquina ativa por chave de ativação

Cada chave de ativação é de uma instalação e aceita um único runtime ativo por vez. Duas máquinas com a mesma chave disputariam os mesmos jobs da fila e dividiriam a mesma presença: cada job roda em quem o tirar da fila primeiro, mas, quando uma delas cai, a instalação inteira aparece desligada, mesmo com a outra no ar. Por isso, ao subir, o runtime faz a mesma pergunta que a tela Meus Runtimes faz para mostrar LIVE ou OFFLINE: esta chave está ativa agora? Se estiver, o runtime novo não sobe. Se não estiver, ele sobe.

Um runtime ativo renova um sinal de vida a cada 30 segundos, e a chave é considerada ativa enquanto esse sinal estiver recente (menos de 75 segundos). Na prática:

O Registering... também aparece se o servidor demorar mais de uns 5 segundos para responder à ativação, para que o runtime nunca fique parado sem dar sinal, principalmente no modo background, em que não há janela.

No modo background, o aviso de chave em uso aparece numa caixa de mensagem do Windows, e o ícone nem chega a subir na bandeja. Essa caixa não depende do startup-notice: mesmo com "startup-notice": false, ela sempre aparece, porque é um erro e não uma confirmação. Durante a espera, aparece também uma caixa Registering..., que se fecha sozinha assim que a pergunta termina.

Precisa rodar em duas máquinas ao mesmo tempo? Cada máquina precisa de uma instalação própria. Se as duas atendem ambientes diferentes do mesmo runtime, edite o runtime e troque a posição da segunda para Nova instalação. Se as duas fazem o mesmo papel, para dividir carga, cadastre outro runtime e use a chave dele (veja Balancear Carga dos Agentes). Cada instalação tem a própria chave e a própria fila de execuções.
Computador que hiberna, desliga ou perde a conexão Enquanto um computador hiberna ou fica sem rede, o sinal de vida dele deixa de ser renovado, e outro runtime pode assumir a chave. Quando o primeiro volta, ele faz a mesma pergunta antes de se declarar online. Se ninguém assumiu, ele volta ao normal sozinho. Se outro runtime está ativo, ele mostra Outro Runtime assumiu esta chave de ativação. Este Runtime não receberá mais jobs e será encerrado., para de receber jobs e se encerra depois de terminar as execuções que já estavam em andamento. No modo background, essa mensagem aparece numa caixa do Windows que fica na tela até você fechá-la, e o ícone da bandeja some quando o runtime se encerra. Assim os dois nunca ficam recebendo jobs da mesma chave por muito tempo. Se você quiser que o runtime original continue, encerre o outro e abra este de novo.
Mantenha os runtimes na versão mais recente Os runtimes de versões antigas do executável renovam o mesmo sinal de vida, então um runtime novo respeita um antigo que esteja ativo. O contrário não vale: um runtime antigo não faz a pergunta ao subir e pode subir ao lado de outro. Baixe a versão atual em Runtime dos Agentes e atualize todas as máquinas que usam a mesma chave.

Erros comuns de ativação e conexão

Se algo no agent.config.json ou na rede não estiver certo, o runtime encerra com uma mensagem no console (prefixo Boot error:) ou fica rodando sem nunca aparecer como online. Todas as mensagens Activation failed abaixo vêm da chamada que o runtime faz ao Router (veja Pré-requisitos técnicos) para validar a ativação:

Mensagem / sintomaCausaO que fazer
agent.config.json not found O arquivo não está na mesma pasta do executável (não foi criado, foi renomeado ou ficou em outra pasta após extrair o .zip). Confirme que o agent.config.json está ao lado do executável extraído.
Activation failed (400): user_token e key_activation são obrigatórios key_activation ou user_token está vazio no JSON. Preencha os dois campos. Nenhum pode ficar em branco.
Activation failed (401): ativação inválida A combinação não bate: a chave de ativação não pertence a nenhuma instalação deste user_token. Ela foi copiada de outra conta, a instalação foi removida, ou o token é de outro usuário. Copie a chave de novo em Meus Runtimes, no bloco do ambiente certo (ou baixe o agent.config.json dela), e confirme que o token é o Token de API do mesmo usuário dono desse runtime.
Activation failed (403): Runtime suspenso pelo plano atual da empresa A chave é válida, mas esta instalação passa do número que o plano atual cobre (o card mostra Suspensa pelo plano), ou pertence a um membro que ficou sem acesso ativo. Ver Quantos runtimes o plano permite. Faça upgrade do plano. Quando a empresa passa a um plano que comporta esta instalação (troca de plano ou confirmação de pagamento), ela volta a ativar sem precisar reconfigurar nada. Remover outra instalação não a reativa.
Já existe um Runtime ativo com essa chave de ativação. Outro runtime, nesta ou em outra máquina, está ativo com a mesma chave (o sinal de vida dele está sendo renovado). A mensagem diz em qual computador ele está. No modo background, o aviso aparece numa caixa do Windows e o ícone não sobe na bandeja. Encerre o outro runtime (Sair na bandeja, ou feche a janela de console na máquina onde ele roda) e abra este de novo. Para usar duas máquinas ao mesmo tempo, cada uma precisa de uma instalação própria, com a sua chave. Veja Uma máquina ativa por chave de ativação.
Outro Runtime assumiu esta chave de ativação. Este Runtime não receberá mais jobs e será encerrado. Este computador hibernou ou ficou sem conexão, e outro runtime assumiu a mesma chave nesse intervalo. Ao voltar, este runtime perguntou se a chave estava livre e viu o outro ativo. Nada a fazer, é o comportamento esperado: o runtime termina as execuções em andamento e se encerra. Para voltar a usar este computador, encerre o outro runtime e abra este de novo. Veja Uma máquina ativa por chave de ativação.
Registering... na tela por alguns segundos ao iniciar A plataforma ainda considera o runtime anterior ativo (o sinal de vida dele ainda é recente), e o novo espera para saber se ele continua vivo ou se parou de forma abrupta, por exemplo numa queda de energia. Também aparece quando o servidor está demorando para responder à ativação. Aguarde, no máximo uns 75 segundos. Se o runtime anterior estiver vivo, você recebe a mensagem de que já existe um runtime ativo. Se ele tiver parado, o runtime assume a chave e segue normalmente. Se a demora for do servidor e não passar, confira a conexão com a internet da máquina.
Activation failed (500): ... Erro inesperado no servidor durante a validação. Tente novamente em alguns instantes; se persistir, acione o suporte browserMate.
Transmission Service Error: ... A ativação passou, mas o runtime não conseguiu abrir a conexão ao vivo com a plataforma. ui_socket_url errado ou rede bloqueando a saída. Confira o ui_socket_url no JSON e a conectividade de saída (veja Pré-requisitos técnicos a seguir).
Roda sem erro no console, mas nunca aparece online em Meus Runtimes A ativação e o socket da plataforma passaram, mas a conexão com o banco de dados em tempo real (Firebase) que sinaliza os jobs está bloqueada. Libere a saída para o domínio Firebase da plataforma (veja Pré-requisitos técnicos).

Pré-requisitos técnicos

O runtime não abre nenhuma porta de entrada. Ele não sobe nenhum servidor local esperando conexão de fora, então não é preciso redirecionar porta nenhuma no roteador. Mas ele faz várias conexões de saída, e em redes corporativas com firewall/proxy restritivo (que bloqueiam saída por padrão), o time de TI provavelmente vai precisar liberar explicitamente:

Se a rede da sua empresa bloqueia saída por padrão (allowlist), acione o suporte browserMate para confirmar a lista completa e atualizada de domínios a liberar antes de colocar um runtime de Produção atrás desse tipo de firewall.

Requisitos mínimos de máquina

O runtime herda os requisitos oficiais de sistema operacional do Node.js 24, a versão que o empacota (no runtime 2.4.0, a 24.22.1):

SistemaRequisito mínimo
WindowsWindows 10 ou Windows Server 2016, 64-bit (x64)
macOSmacOS 13.5 (Ventura) ou superior. O pacote distribuído é para Apple Silicon (arm64)
LinuxKernel 4.18+ e glibc 2.28+, 64-bit (x64). Cobre distribuições como Ubuntu 20.04+, Debian 10+ e RHEL 8+

Não há requisito mínimo de RAM/CPU documentado oficialmente. Na prática, o consumo segue o do Google Chrome/Chromium (o maior componente do pacote), então qualquer máquina capaz de rodar um navegador Chrome moderno com folga roda o runtime sem problema. Reserve pelo menos 3 GB de disco livre por instalação (o .zip baixado já tem entre 380 MB e 660 MB dependendo do sistema operacional, e ocupa mais espaço depois de extraído).

Comportamento de execução

Cada instalação tem o próprio comportamento de execução. No card do runtime, o botão Configurar no bloco da instalação abre Configurar instalação, com o nome da instalação no título. A seção Comportamento de Execução controla como aquela instalação lida com múltiplos jobs. Nome, descrição e visibilidade para a empresa são do runtime e ficam em Editar.

Modal Configurar instalação - VPS Teste - Homologação, com Enfileirar Jobs, Manter fluxo offline, Execuções ao mesmo tempo em 1 e Anular fila por exceção
Configurar instalação da instalação de Homologação do runtime VPS Teste, com as quatro opções do comportamento de execução.
Por padrão, o runtime roda jobs em paralelo Sem marcar Enfileirar Jobs, o runtime inicia cada execução assim que ela chega. Se dois processos dispararem ao mesmo tempo, os dois rodam simultaneamente, cada um com seu próprio navegador. Duas execuções do mesmo agente usam pastas de navegador diferentes: veja Várias execuções do agente ao mesmo tempo. Isso é ótimo para throughput, mas pode sobrecarregar máquinas mais fracas ou gerar concorrência indevida sobre o mesmo sistema-alvo.
OpçãoComportamento
Enfileirar Jobs (em ordem, até o teto) Liga a fila do runtime: as execuções entram em ordem de chegada e só começam quando há vaga. Quantas vagas existem é o campo Execuções ao mesmo tempo, logo abaixo. Recomendado para servidores que não devem processar mais de um job ao mesmo tempo, ou mais do que um certo número.
Execuções ao mesmo tempo O teto da fila: quantas execuções podem estar de pé ao mesmo tempo nesta máquina. 1 é uma por vez, em ordem, o comportamento de sempre. Com 3, três rodam e a quarta espera a primeira vaga. Vale para tudo que chega na máquina: API, agendamento, webhook, Control Room, execução manual e agentes chamados por outro agente. Só existe com Enfileirar Jobs ligado; nos planos sem fila configurável é sempre 1. Uma chamada de webhook em modo Aguardar conta o tempo na fila dentro do limite de espera dela. Detalhes: Webhook.
Manter fluxo offline Sem esta opção, disparar uma execução com a instalação offline é recusado na hora (o job nem chega a ser criado). Com ela marcada, o job entra na fila mesmo com a instalação offline e dispara automaticamente assim que ela voltar a ficar online.
Anular fila por exceção Quando uma execução da fila falha, as execuções seguintes na fila são canceladas. Evita processar um lote inteiro sobre um estado inconsistente. Disponível quando Enfileirar Jobs está ativo. Vale só para as execuções de sempre: um agente chamado por outro agente não dispara o cancelamento nem é cancelado. As execuções canceladas saem da fila de vez. Uma chamada de webhook em modo Aguardar cancelada assim já recebeu o 202 com status queued e não recebe outra resposta.

Essas opções são lidas quando o runtime sobe. Depois de mudar Enfileirar Jobs, o número de execuções ao mesmo tempo ou as outras duas, reinicie o runtime na máquina daquela instalação para a mudança valer.

Como o agente chamado por outro agente entra nessa conta

A execução de um agente chamado pelas etapas Chamar Agente ou Paralelizar Agentes conta no teto e espera na fila como as outras, com duas regras próprias: ela entra na frente das execuções de sempre que estavam esperando, e o agente que a chamou, enquanto espera por ela, solta a vaga dele e a pede de volta quando o retorno chega, com prioridade sobre a fila. Sem isso, um teto de 1 seria um impasse: o chamador ocupando a única vaga e o chamado esperando atrás dele. Os três tetos que existem (o do runtime, o do agente e o da etapa) estão comparados em Enfileirar Agentes.

Limites e tetos

LimiteValorO que acontece ao passarContorno
Execuções ao mesmo tempo (o teto da fila)1 ou mais, por instalaçãoA execução que não cabe espera na fila, em ordem de chegada; o agente que espera agente chamado solta a vaga dele. Uma chamada de webhook em modo Aguardar cujo limite de espera acaba antes da vaga recebe 202 com status queued, e a execução segue na fila.Suba o número se a máquina aguenta; reparta entre máquinas com Balancear Carga dos Agentes; ou limite um agente específico pelo teto dele, em Configurações de Execução.
Sem Enfileirar JobsSem tetoCada execução começa ao chegar, cada uma com o seu navegador. A máquina é o limite.Ligue Enfileirar Jobs com um número que a máquina aguente.
Fila configurávelA partir do plano com Paralelismo (Paralelizar Agentes e distribuir entre runtimes) e fila configurávelNos outros planos o runtime roda sempre em fila, uma por vez.Mudar de plano, ou repartir o trabalho em mais de um runtime até o teto de runtimes do plano.
Runtimes por empresaO teto do plano, em que cada instalação conta como um runtime (ver Quantos runtimes o plano permite)O Salvar é recusado com a conta na tela.Reaproveite uma instalação entre ambientes, remova instalações que não usa mais, ou mude de plano.

Quando o runtime sai do ar no meio

O runtime pode cair por qualquer motivo comum: a máquina foi desligada, a internet caiu, o processo foi encerrado. O que acontece com o trabalho depende de onde ele estava.

Onde estavaO que acontece
ExecutandoA execução para onde estava. Não existe retomada do ponto: quando o runtime volta, ele não continua de onde parou. O registro fica no Control Room e no log com o que chegou a acontecer.
Na fila do runtimeContinua na fila e roda quando o runtime voltar, que é o que Manter fluxo offline promete. Sem essa opção, disparos novos são recusados na hora, em vez de esperarem.
Executando um agente que outro agente chamou, com o chamador esperandoO agente que espera não fica parado para sempre. A plataforma percebe que o runtime saiu do ar e devolve a falha a ele, que segue pela Gestão de Erros. Os prazos e cada situação estão em Quando o runtime do agente chamado sai do ar.
O runtime volta sozinho ao trabalho

Ao subir de novo, ele se declara ligado, pega o que estava na fila e volta a receber execuções novas. Não é preciso reativar nem mexer no cadastro. O que ficou pela metade não recomeça sozinho: quem decide repetir é você, pelo Control Room, pelo agendamento ou por quem dispara o agente.

Quando o banco de dados demora a responder

Antes de cada etapa, o runtime confere no banco de dados em tempo real se alguém pediu para parar ou pausar a execução. Normalmente a resposta vem em milissegundos. Quando ela demora:

Esse prazo só conta entre etapas. Dentro de uma etapa valem os prazos de sempre: espera de página, de elemento e de script. Uma pausa tem o seu prazo de 5 minutos, e ele vale mesmo com o banco de dados sem responder.

Esperas repetidas costumam vir da rede da máquina do runtime. Veja Preferência de IP.

Vínculo com o agente

Cada agente tem um runtime e um ambiente cadastrados, e são eles que valem por padrão: a execução roda na instalação que o runtime tem no ambiente do agente. O runtime fica no campo RUNTIME, na segunda fileira do cabeçalho do Agent Builder, e o ambiente nos botões Dev, Homolog e Prod, ao lado dele. Com o agente publicado, trocar um ou outro vale na hora, sem versão nova, porque é uma decisão de infraestrutura e não de modelagem. Os dois ficam travados enquanto outra pessoa está desenvolvendo o processo, já que a publicação dela sobrescreveria a escolha.

Em um agente que foi compartilhado com você, o runtime não é seu para trocar: ele pertence ao dono do agente, e o campo mostra apenas Runtime do dono do agente, além da Sandbox quando há uma versão em desenvolvimento aberta. Os botões Dev, Homolog e Prod mostram o ambiente que o dono escolheu e ficam desabilitados. Os runtimes da sua conta não aparecem ali de propósito. O dono não os alcança, e apontar um deles faria toda execução do agente ser recusada, inclusive as dele. Se o agente precisa rodar na sua máquina, marque o runtime como visível para toda a empresa e peça ao dono para selecioná-lo. Quem troca o runtime e o ambiente de um agente é sempre o dono dele.

Esse cadastro vale na execução manual, no modo de teste do editor e no disparo por webhook. Três situações permitem apontar outro runtime, ou outro ambiente, sem mexer no cadastro do agente. Em todas, o runtime precisa ter instalação no ambiente da execução:

OndeComo escolher
Agendamento Campo Runtime de Execução no cadastro do agendamento. A primeira opção, runtime e ambiente do agente, segue o cadastro do agente. Em cada runtime, mesmo ambiente do agente fixa só o runtime, e o ambiente acompanha o do agente; escolher um ambiente fixa os dois, e a execução usa os valores do cofre desse ambiente. Cada opção mostra o status LIVE ou OFFLINE da instalação no momento da escolha, e o que decide de fato é o estado dela na hora do disparo. Ao gravar e ao religar, a tela confere se o par que vai valer (o fixado, senão o runtime e o ambiente do agente publicado) tem instalação. Detalhes em Agendamento.
API Campos environmentID (o ID do runtime) e stage (dev, staging ou prod) no corpo da chamada, tanto no disparo de execução quanto na criação de agendamento. Os dois são opcionais: o que for omitido vem do cadastro do agente. Os IDs vêm de GET /v1/environments ou do card do runtime (veja ID do runtime).
Distribuir entre runtimes Nas etapas Chamar Agente e Paralelizar Agentes, você marca runtimes. No disparo, cada runtime marcado entra com a instalação do ambiente do agente chamado, e fica fora da distribuição o runtime sem instalação nesse ambiente, com a instalação suspensa pelo plano, ou que foi removido ou saiu do alcance do dono do agente chamado. Com Runtime do próprio agente, o agente chamado roda no runtime e no ambiente dele.
Escolher por disparo não altera o cadastro Nos três casos, a escolha vale só para aquela execução, para aquele agendamento ou para aquela etapa. O runtime e o ambiente do agente continuam os mesmos. É o que permite rodar o mesmo processo em máquinas diferentes conforme o horário ou conforme o sistema que chamou, sem duplicar o agente.
Runtime offline Se a instalação que vai rodar estiver offline no momento do disparo, a execução é recusada, a menos que Manter fluxo offline esteja ativo nela (veja acima). Verifique o status na tela Meus Runtimes antes de agendar processos críticos.

ID do runtime (para a API)

Numa chamada de API, o campo environmentID do disparo e do agendamento indica qual runtime deve executar. O ID de cada runtime aparece no alto do card dele em Meus Runtimes, com botão de cópia, e também vem da rota GET /v1/environments, que devolve os runtimes que a conta de quem chama alcança, com o ID e, para cada ambiente, se há instalação e qual o status dela (veja Rotas da API). O disparo e o agendamento valem pelo alcance do dono do processo: num agente compartilhado, o runtime enviado precisa estar ao alcance do dono. Qual instalação roda depende do ambiente: o do agente, ou o de stage. O ID de uma instalação também é aceito e vale pelo runtime a que ela pertence.

A chave de ativação do card é outra coisa: liga a máquina à instalação, no agent.config.json. É segredo, nunca use em integrações.

Boas práticas