Com agentes em background, crie agentes assíncronos que editam e executam código em um ambiente remoto. Visualize seu status, envie acompanhamentos ou assuma o controle a qualquer momento.

Como Usar

  1. Pressione para abrir o painel de controle do agente em segundo plano para listar agentes, criar novos e visualizar o status.
  2. Após enviar um prompt, selecione seu agente da lista para visualizar o status e entrar na máquina.

Agentes em segundo plano requerem retenção de dados na ordem de alguns dias.

Feedback

Envie feedback para nosso canal #background-agent no Discord ou background-agent-feedback@cursor.com. Por favor, envie bugs, solicitações de recursos ou ideias.

Configuração

Os agentes em segundo plano executam em uma máquina isolada baseada em ubuntu por padrão. Os agentes têm acesso à internet e podem instalar pacotes.

Conexão com GitHub

Os agentes em segundo plano clonam seu repositório do GitHub e trabalham em uma branch separada, fazendo push para seu repositório para facilitar a transferência. Conceda privilégios de leitura e escrita ao seu repositório (e quaisquer repositórios dependentes ou submódulos). Ofereceremos suporte a outros provedores (GitLab, BitBucket, etc) no futuro.

Configuração do Ambiente Base

Para casos avançados, configure o ambiente você mesmo. Obtenha uma instância de IDE conectada à máquina remota. Configure sua máquina, instale ferramentas e pacotes, depois tire um snapshot. Configure as definições de runtime:
  • O comando de instalação executa antes de um agente iniciar e instala dependências de runtime. Isso pode significar executar npm install ou bazel build.
  • Os terminais executam processos em segundo plano enquanto o agente trabalha - como iniciar um servidor web ou compilar arquivos protobuf.
Para os casos mais avançados, use um Dockerfile para configuração da máquina. O dockerfile permite configurar dependências a nível de sistema: instalar versões específicas de compiladores, debuggers, ou trocar a imagem base do SO. Não use COPY para todo o projeto - nós gerenciamos o workspace e fazemos checkout do commit correto. Ainda assim, trate a instalação de dependências no script de instalação. Insira quaisquer secrets necessários para seu ambiente de desenvolvimento - eles são armazenados criptografados em repouso (usando KMS) em nosso banco de dados e fornecidos no ambiente do agente em segundo plano. A configuração da máquina fica em .cursor/environment.json, que pode ser commitado em seu repositório (recomendado) ou armazenado privadamente. O fluxo de configuração te guia através da criação do environment.json.

Comandos de Manutenção

Ao configurar uma nova máquina, começamos do ambiente base, depois executamos o comando install do seu environment.json. Este comando é o que um desenvolvedor executaria ao trocar de branches - instalar quaisquer novas dependências. Para a maioria das pessoas, o comando install é npm install ou bazel build. Para garantir inicialização rápida da máquina, fazemos cache do estado do disco após o comando install executar. Projete-o para executar múltiplas vezes. Apenas o estado do disco persiste do comando install - processos iniciados aqui não estarão vivos quando o agente iniciar.

Comandos de Inicialização

Após executar install, a máquina inicia e executamos o comando start seguido pela inicialização de quaisquer terminals. Isso inicia processos que devem estar vivos quando o agente executar. O comando start pode frequentemente ser pulado. Use-o se seu ambiente de desenvolvimento depende do docker - coloque sudo service docker start no comando start. terminals são para código da aplicação. Esses terminais executam em uma sessão tmux disponível para você e o agente. Por exemplo, muitos repositórios de websites colocam npm run watch como um terminal.

A Especificação do environment.json

O arquivo environment.json pode parecer com:
{
  "snapshot": "POPULATED_FROM_SETTINGS",
  "install": "npm install",
  "terminals": [
    {
      "name": "Run Next.js",
      "command": "npm run dev"
    }
  ]
}
Formalmente, a especificação está definida aqui.

Modelos

Apenas modelos compatíveis com o Max Mode estão disponíveis para agentes em segundo plano.

Preços

Saiba mais sobre preços do Background Agent.

Segurança

Os Agentes em Background estão disponíveis no Modo de Privacidade. Nunca treinamos com seu código e apenas retemos o código para executar o agente. Saiba mais sobre o modo de Privacidade. O que você deve saber:
  1. Conceda privilégios de leitura e escrita ao nosso app do GitHub para repositórios que você deseja editar. Usamos isso para clonar o repositório e fazer alterações.
  2. Seu código é executado dentro de nossa infraestrutura AWS em VMs isoladas e é armazenado em discos de VM enquanto o agente está acessível.
  3. O agente tem acesso à internet.
  4. O agente executa automaticamente todos os comandos do terminal, permitindo que ele itere em testes. Isso difere do agente em primeiro plano, que requer aprovação do usuário para cada comando. A execução automática introduz risco de exfiltração de dados: atacantes podem executar ataques de injeção de prompt, enganando o agente para fazer upload de código para sites maliciosos. Veja a explicação da OpenAI sobre os riscos de injeção de prompt para agentes em background.
  5. Se o modo de privacidade estiver desabilitado, coletamos prompts e ambientes de desenvolvimento para melhorar o produto.
  6. Se você desabilitar o modo de privacidade ao iniciar um agente em background e depois habilitá-lo durante a execução do agente, o agente continua com o modo de privacidade desabilitado até ser concluído.