Con agentes en segundo plano, lanza agentes asíncronos que editan y ejecutan código en un entorno remoto. Consulta su estado, envía follow-ups o toma el control cuando quieras.

Cómo usar

Puedes acceder a los agentes en segundo plano de dos maneras:
  1. Barra lateral de agentes en segundo plano: Usa la pestaña de agentes en segundo plano en la barra lateral nativa de Cursor para ver todos los agentes en segundo plano asociados a tu cuenta, buscar agentes existentes y crear otros nuevos.
  2. Modo de agente en segundo plano: Pulsa para activar el modo de agente en segundo plano en la interfaz.
Después de enviar un prompt, selecciona tu agente en la lista para ver el estado y entrar en la máquina.

Los agentes en segundo plano requieren conservar datos durante unos pocos días.

Configuración

De forma predeterminada, los agentes en segundo plano se ejecutan en una máquina aislada basada en Ubuntu. Tienen acceso a Internet y pueden instalar paquetes.

Conexión con GitHub

Los agentes en segundo plano clonan tu repositorio desde GitHub y trabajan en una rama aparte, haciendo push a tu repositorio para facilitar la entrega. Concede permisos de lectura y escritura a tu repositorio (y a cualquier repositorio o submódulo dependiente). En el futuro admitiremos otros proveedores (GitLab, Bitbucket, etc.).
Configuración de la lista de IP permitidas
Si tu organización usa la función de lista de IP permitidas de GitHub, vas a tener que configurar el acceso para los agentes en segundo plano. Consulta la documentación de la integración con GitHub para obtener instrucciones completas de configuración, incluida la información de contacto y las direcciones IP.

Configuración base del entorno

Para casos avanzados, configura el entorno por tu cuenta. Consigue una instancia del IDE conectada a la máquina remota. Prepara tu máquina, instala herramientas y paquetes, y luego toma un snapshot. Configura los ajustes de runtime:
  • El comando de instalación se ejecuta antes de que arranque un agente e instala las dependencias de runtime. Esto puede implicar ejecutar npm install o bazel build.
  • Los terminales ejecutan procesos en segundo plano mientras el agente trabaja, como iniciar un servidor web o compilar archivos protobuf.
Para los casos más avanzados, usa un Dockerfile para la configuración de la máquina. El Dockerfile te permite configurar dependencias a nivel del sistema: instalar versiones específicas de compiladores, depuradores o cambiar la imagen base del SO. No hagas COPY de todo el proyecto: nosotros gestionamos el workspace y hacemos checkout del commit correcto. Aun así, gestiona la instalación de dependencias en el script de instalación. Ingresa cualquier secreto requerido para tu entorno de desarrollo: se almacenan cifrados en reposo (usando KMS) en nuestra base de datos y se inyectan en el entorno del agente en segundo plano. La configuración de la máquina se encuentra en .cursor/environment.json, que puedes commitear en tu repo (recomendado) o almacenar de forma privada. El flujo de configuración te guía para crear environment.json.

Comandos de mantenimiento

Al configurar una máquina nueva, empezamos desde el entorno base y luego ejecutamos el comando install de tu environment.json. Este comando es el que un desarrollador ejecutaría al cambiar de rama: instala cualquier dependencia nueva. Para la mayoría, el comando install es npm install o bazel build. Para garantizar un arranque rápido de la máquina, almacenamos en caché el estado del disco después de ejecutar el comando install. Diseña este proceso para que pueda ejecutarse varias veces. Solo persiste el estado del disco del comando install: los procesos iniciados aquí no seguirán activos cuando se inicie el agente.

Comandos de arranque

Después de ejecutar install, la máquina se inicia y ejecutamos el comando start, seguido de arrancar cualquier terminals. Esto pone en marcha procesos que deberían estar activos cuando se ejecute el agente. El comando start a menudo se puede omitir. Úsalo si tu entorno de desarrollo depende de Docker: pon sudo service docker start en el comando start. Los terminals son para el código de la app. Estos terminals se ejecutan en una sesión de tmux disponible para ti y para el agente. Por ejemplo, muchos repositorios de sitios web ponen npm run watch como un terminal.

La especificación de environment.json

El archivo environment.json puede verse así:
{
  "snapshot": "POPULATED_FROM_SETTINGS",
  "install": "npm install",
  "terminals": [
    {
      "name": "Run Next.js",
      "command": "npm run dev"
    }
  ]
}
Formalmente, la especificación está definida aquí.

Modelos

Solo los modelos compatibles con Max Mode están disponibles para los agentes en segundo plano.

Precios

Conoce más sobre los precios de Background Agent.

Seguridad

Los Background Agents están disponibles en modo de privacidad. Nunca entrenamos con tu código y solo retenemos el código para ejecutar el agente. Más información sobre el modo de privacidad. Lo que deberías saber:
  1. Otórgale privilegios de lectura y escritura a nuestra app de GitHub para los repos que quieras editar. Usamos esto para clonar el repo y hacer cambios.
  2. Tu código se ejecuta en nuestra infraestructura en AWS en VMs aisladas y se almacena en discos de VM mientras el agente está activo.
  3. El agente tiene acceso a Internet.
  4. El agente ejecuta automáticamente todos los comandos de la terminal, lo que le permite iterar sobre pruebas. Esto difiere del agente en primer plano, que requiere aprobación del usuario para cada comando. La ejecución automática introduce riesgo de exfiltración de datos: atacantes podrían realizar ataques de inyección de prompts y engañar al agente para subir código a sitios web maliciosos. Consulta la explicación de OpenAI sobre los riesgos de inyección de prompts para background agents.
  5. Si el modo de privacidad está deshabilitado, recopilamos prompts y entornos de desarrollo para mejorar el producto.
  6. Si deshabilitas el modo de privacidad al iniciar un background agent y luego lo habilitas durante la ejecución del agente, este seguirá con el modo de privacidad deshabilitado hasta que termine.

Configuración del dashboard

Los admins del workspace pueden configurar ajustes adicionales desde la pestaña Background Agents en el dashboard.

Configuración predeterminada

  • Modelo predeterminado – el modelo que se usa cuando una ejecución no especifica uno. Elige cualquier modelo que sea compatible con Max Mode.
  • Repositorio predeterminado – cuando está vacío, los agentes te piden elegir un repo. Indicar un repo aquí permite saltarse ese paso.
  • Rama base – la rama desde la que los agentes crean pull requests (a partir de un fork). Déjalo en blanco para usar la rama predeterminada del repositorio.

Configuración de seguridad

Todas las opciones de seguridad requieren privilegios de admin.
  • Restricciones de usuario – elige Ninguna (todos los miembros pueden iniciar agentes en segundo plano) o Lista de permitidos. Cuando está en Lista de permitidos, especificas exactamente qué compañeros pueden crear agentes.
  • Seguimientos del equipo – cuando está activado, cualquiera en el espacio de trabajo puede añadir mensajes de seguimiento a un agente que alguien más inició. Desactívalo para restringir los seguimientos al propietario del agente y a los admins.
  • Mostrar resumen del agente – controla si Cursor muestra las imágenes de diferencias de archivos del agente y fragmentos de código. Desactívalo si prefieres no exponer rutas de archivo o código en la barra lateral.
  • Mostrar resumen del agente en canales externos – extiende el ajuste anterior a Slack o cualquier canal externo que tengas conectado.
Los cambios se guardan al instante y afectan a los nuevos agentes inmediatamente.