Browser Use: crea tu primer agente de navegación con IA

Aprende qué es Browser Use, cómo crear un agente de navegador en Python y qué aporta Cloud. Modelos compatibles, primeros pasos y límites de seguridad.

Publicado el

Browser Use: crea tu primer agente de navegación con IA

Browser Use permite encargarle a un agente de IA una tarea en un sitio web y mantener la automatización dentro de tu aplicación. Su biblioteca de código abierto requiere Python 3.11 o posterior; Browser Use Cloud puede alojar el navegador o el agente completo. Conviene empezar con una tarea cuyo resultado puedas comprobar, como consultar un registro en un portal, antes de darle permiso para enviar cambios.

Información verificada con el README de Browser Use en GitHub y la documentación oficial enlazada el 2 de noviembre de 2026. El ejemplo que sigue está adaptado de esa documentación; no es una prueba de rendimiento realizada por el autor.

Browser Use: automatización web con IA

Browser Use conecta un modelo de lenguaje con un navegador para que tu aplicación pueda describir un objetivo sin tener que especificar cada clic. Sirve para tareas como buscar un registro en el portal de un proveedor, consultar un panel de control o recorrer un formulario cuya siguiente pantalla depende de la respuesta anterior. La biblioteca de código abierto aporta el agente: el software que elige y ejecuta acciones de forma sucesiva para alcanzar ese objetivo. README de la biblioteca

Sitio web de Browser Use con sus productos de automatización de navegadores
Browser Use

Piensa en el modelo de lenguaje como un conductor, en Browser Use como los mandos y la información que lo guían, y en el navegador como el vehículo. La carretera sigue siendo el sitio web de otra persona. Por muy bien que conduzca, no puede abrir una carretera cerrada ni decidir que un encargo de entrega autoriza una compra ajena a ese encargo.

El ciclo funciona así:

  1. Observar: recopilar el estado actual de la página, incluidos sus elementos interactivos. Browser Use también puede proporcionar capturas de pantalla al modelo.
  2. Decidir: el modelo de lenguaje de gran tamaño, o LLM, elige la siguiente acción a partir de la tarea y del estado actual.
  3. Actuar: el navegador se desplaza a otra página, hace clic, escribe o realiza otra operación disponible.
  4. Volver a observar: la siguiente decisión parte de la página modificada. El ciclo continúa hasta que el agente se detiene o lo interrumpe un límite configurado.

El DOM, el árbol que organiza los elementos de una página, ayuda a identificar los controles sobre los que puede actuar el agente; las capturas aportan contexto visual. Browser Use documenta tanto el procesamiento del DOM como las opciones de visión, por lo que describirlo como un modelo que solo mira imágenes resulta engañoso. Controles del navegador, configuración del agente

Diagrama arquitectónico de un ciclo que conecta el estado de la página, el modelo, el navegador y el sitio web, con la tarea como entrada del modelo
El modelo elige una acción y después recibe el nuevo estado del sitio web.

Para quien está creando una empresa y desarrolla un asistente de compras, una tarea útil podría ser «buscar el estado del envío de este pedido». El criterio para darla por válida es obtener el pedido correcto y su estado, junto con el registro de origen. Un párrafo convincente del agente no basta para comprobarlo.

Browser Use de código abierto: qué necesitas instalar

La instalación básica consta del paquete de Python browser-use, un navegador que controlar y acceso a un modelo compatible. La biblioteca tiene licencia MIT. Su README exige Python 3.11 o posterior, mientras que la guía de inicio rápido utiliza Python 3.12. Puedes ejecutar el agente en tu propio proceso y elegir un navegador local o remoto. README e instalación

«Local» indica dónde se ejecuta ese proceso o navegador. Si eliges la API de un modelo remoto, las observaciones siguen enviándose a ese servicio; usar un navegador local no convierte todo el sistema en local.

¿Qué modelos se pueden usar?

Browser Use incluye adaptadores para varios proveedores, así que no obliga a usar su propio modelo:

  • Browser Use BU2: ChatBrowserUse(model="bu-2-0"), con BROWSER_USE_API_KEY.
  • Modelos de OpenAI: ChatOpenAI, con OPENAI_API_KEY.
  • Modelos Claude de Anthropic: ChatAnthropic, con ANTHROPIC_API_KEY.
  • Modelos Gemini de Google: ChatGoogle, con GOOGLE_API_KEY.
  • Modelos locales mediante Ollama: ChatOllama, conectado a tu servicio de modelos local.

La documentación de modelos compatibles también enumera integraciones con DeepSeek, Mistral, Microsoft Azure OpenAI, Amazon Web Services Bedrock y OpenRouter. Comprueba qué modelos ofrece actualmente el proveedor; un identificador que aparece en un ejemplo antiguo no equivale a una recomendación.

Disponer de un adaptador no garantiza la calidad. Esa misma documentación advierte que algunos modelos Qwen generan un esquema de acciones incorrecto, es decir, instrucciones en un formato que el agente no puede ejecutar, y actualmente recomienda qwen-vl-max para esa integración. Evalúa el modelo con las páginas y los resultados que necesitas antes de ampliar sus responsabilidades.

La interfaz Browser Use Web UI

Browser Use Web UI es un proyecto independiente que ofrece una interfaz web con Gradio para interactuar con el agente. Tiene su propia instalación y sus propias dependencias. Para integrarlo en una aplicación, empieza por la documentación vigente de la biblioteca de Python; no mezcles la configuración del repositorio de Web UI con el SDK del servicio alojado.

¿Qué aporta Browser Use Cloud?

Browser Use Cloud permite delegar la infraestructura del navegador, el agente completo o ambas cosas. De esa elección depende cuánto código tendrás que operar. La guía de inicio rápido de Cloud actual distingue expresamente estas opciones:

ModalidadQué ejecuta tu aplicaciónQué ejecuta Browser Use
Biblioteca de código abierto con navegador localEl ciclo del agente y el navegadorSolo un servicio de modelos, si eliges uno
Tu agente con un navegador de CloudEl ciclo del agente y la lógica de tu aplicaciónLa infraestructura del navegador
Browser Use Agents alojadosEl envío de tareas, la gestión de resultados y las comprobaciones de negocioLa ejecución del agente y la infraestructura del navegador

Si ejecutas tu propio agente, Browser(use_cloud=True) selecciona el navegador alojado de Browser Use y requiere BROWSER_USE_API_KEY. El navegador gestionado añade funciones para reducir la detección de la automatización, proxies y una vista previa en directo. El README también describe la gestión de CAPTCHA y aclara expresamente que los resultados dependen del sitio y del desafío. Guía del navegador de Cloud, README

CDP, el protocolo Chrome DevTools Protocol, es la conexión de control remoto que utiliza la modalidad de infraestructura documentada. Por tanto, un navegador alojado puede trabajar con código que sigues ejecutando por tu cuenta.

En la modalidad totalmente alojada, el paquete es browser-use-sdk, no browser-use. Los ejemplos actuales de Cloud utilizan la API V4 y la importación de Python from browser_use_sdk.v4 import BrowserUse. Tu programa envía una tarea y recupera el resultado en lugar de ejecutar el ciclo local de Agent. Inicio rápido del agente alojado

Para quien desarrolla la aplicación, es una decisión de despliegue. Para quien la opera, la responsabilidad sigue siendo la misma: decidir a qué puede acceder el agente y qué pruebas permiten dar el trabajo por terminado.

¿Cuándo conviene una alternativa a Browser Use?

Elige qué parte del sistema necesitas controlar. Browser Use es un buen punto de partida si la tarea se limita a sitios web y buscas un ciclo de agente de navegador ya implementado, con libertad para elegir el modelo. Una API de control de computadoras encaja cuando quieres desarrollar tu solución a partir de su interfaz de acciones o necesitas trabajar fuera de las páginas web.

OpciónCuándo elegirlaResponsabilidad que debes prever
Google Gemini Computer UseQuieres que Gemini proponga acciones sobre la interfaz a partir de capturas de pantalla en sus entornos compatiblesTu cliente ejecuta las acciones, devuelve las observaciones y toma las decisiones de seguridad
OpenAI computer useTu aplicación utiliza las interfaces de OpenAI para controlar el navegador o el escritorioSi utilizas Responses, debes aportar el entorno de ejecución y configurar sus permisos
Anthropic Claude computer useClaude necesita herramientas de captura de pantalla, ratón y teclado en un escritorio controladoTu aplicación ejecuta las llamadas a las herramientas del cliente en ese entorno
Infraestructura de navegadores de BrowserbaseYa tienes un agente o código de automatización y necesitas sesiones de navegador gestionadasConecta el controlador que hayas elegido y define cómo comprobar que la tarea se completó correctamente

OpenAI también ofrece una Agents API con un navegador alojado por OpenAI independiente, de modo que ya no sirve la regla de que «el control de computadoras siempre exige alojar tu propio navegador». Browserbase también cuenta con productos de agentes además de su infraestructura de navegadores.

Browser Use y Browserbase no son necesariamente opciones excluyentes: Browser Use acepta un cdp_url y Browserbase proporciona una URL de conexión CDP. Esas interfaces documentadas permiten plantear la combinación de la biblioteca de agentes con ese entorno de ejecución, aunque este artículo no afirma haber probado la integración. Configuración de conexión de Browser Use

Conserva una API fiable o un script de navegador con una secuencia fija si ya resuelve la tarea. Un formulario estable no gana nada si le pides a un modelo que redescubra siempre los mismos pasos. La guía de agentes de control de computadoras explica con más detalle cómo decidir quién controla las acciones; la comparativa de navegadores para agentes de IA aborda la infraestructura.

Los riesgos que tu aplicación sigue teniendo que gestionar

En producción, lo más difícil es delimitar qué puede hacer el navegador con una sesión iniciada. Alojarlo en otro lugar no vuelve fiables las instrucciones de las páginas ni elimina las consecuencias de un envío equivocado.

Inyección de prompts en el contenido de las páginas

Hay inyección de prompts cuando el contenido que lee el agente intenta desviar sus instrucciones. En un portal, podría ser una nota escrita por un cliente que le ordena subir un informe a otro destino. Trata esa nota como un dato, aunque se presente como una instrucción del administrador.

Usa cuentas dedicadas con solo los permisos que exige la tarea. Restringe la navegación con allowed_domains de Browser Use y haz que tu aplicación o entorno de ejecución exija aprobación para las acciones con consecuencias. Un sitio permitido también puede mostrar contenido malicioso generado por sus usuarios: una lista de dominios, por sí sola, no garantiza que el contenido sea fiable. Restricciones del navegador, orientaciones de seguridad para el control de computadoras

Una zona de lectura conduce a un control de aprobación humana antes del envío, con una ventana independiente para inspeccionar el resultado
Diseño recomendado para la aplicación: exigir aprobación para las acciones con consecuencias y comprobar después el estado en el destino.

Un prompt que diga «pregunta antes de enviar» no impone un límite efectivo de permisos. Si tu integración no puede interceptar de forma fiable la acción en cuestión, déjala fuera de los permisos del agente y encárgasela a una persona. La guía sobre inyección de prompts explica cómo vincular la aprobación a la acción exacta que se autoriza.

Inicios de sesión, almacenamiento y registros

Una sesión guardada da acceso a una cuenta. Browser Use puede reutilizar Chrome mediante Browser.from_system_chrome() o cargar cookies y almacenamiento local guardados con Browser(storage_state="auth.json"). Protege ese archivo de estado como una credencial, exclúyelo del control de versiones y evita usar un perfil personal de navegador para una tarea empresarial sin supervisión. Documentación de autenticación

La migración tiene un límite concreto: según el README, la sincronización del perfil local transfiere las cookies, pero no el almacenamiento local, IndexedDB ni las extensiones. IndexedDB es otro sistema de almacenamiento del navegador. Por su parte, los perfiles de Cloud pueden conservar cookies, almacenamiento local y estado de inicio de sesión entre navegadores en la nube. Esa persistencia no implica que la sincronización local haya copiado todos los mecanismos de almacenamiento. En algunos sitios tendrás que volver a iniciar sesión. Limitación de la sincronización

Mantén perfiles separados para cada usuario final. Antes de trabajar con datos privados de un portal, revisa también qué información llega a las entradas del modelo, las capturas de pantalla y los historiales de conversación guardados. Browser Use ofrece controles para las capturas y el guardado de conversaciones; configúralos según lo que necesites. Configuración del agente

Límites de solicitudes y reintentos con resultado incierto

Disponer de una sesión de navegador en la nube no da acceso ilimitado al sitio de destino. Planifica por separado los límites del servicio de modelos, la capacidad y los límites de solicitudes de Browser Use Cloud, y las restricciones de frecuencia o los desafíos del propio sitio.

Limita el trabajo simultáneo por sitio de destino, reduce el ritmo cuando te pida esperar y detén los intentos bloqueados que se repiten. Ante errores de la API de Cloud, comprueba si el fallo se debe a la capacidad o a la frecuencia de solicitudes y respeta las indicaciones recibidas para reintentar. Límites de Cloud

Sobre todo, no dupliques un envío porque tu cliente haya agotado el tiempo de espera. Primero comprueba la ejecución existente y el registro en el sistema de destino. Un tiempo de espera agotado puede dejarte sin saber qué pasó con una acción que ya se realizó.

Primeros pasos con Browser Use: una tarea sencilla

Empieza con una página pública y una tarea de solo lectura. Así podrás comprobar que el paquete, el navegador y el modelo se conectan sin involucrar una sesión de usuario ni una transacción de negocio. Los comandos siguen la guía de inicio rápido de código abierto; este ejemplo utiliza su entorno de Python 3.12 y la selección explícita del modelo BU2 que aparece en el README.

Cómo configurar Browser Use en Python

  1. Instala el paquete y el navegador

    En macOS o Linux, con Python y pip disponibles, abre una terminal Bash en una carpeta nueva para el proyecto:

    Bash
    pip install uv
    uv venv --python 3.12
    source .venv/bin/activate
    uv pip install browser-use
    uvx browser-use install

    El último comando instala el navegador. En Windows, sustituye source por el comando de activación del entorno que indica la guía de inicio rápido.

  2. Configura la credencial del modelo

    Crea una clave de API de Browser Use en el panel enlazado desde la guía de inicio rápido. Introdúcela en la misma terminal Bash sin mostrarla en pantalla:

    Bash
    read -rsp "Browser Use API key: " BROWSER_USE_API_KEY
    printf '\n'
    export BROWSER_USE_API_KEY

    Esta clave habilita el servicio del modelo elegido. No traslada automáticamente el navegador a Cloud.

  3. Ejecuta una tarea breve de solo lectura

    Guarda lo siguiente en agent.py:

    Python
    import asyncio
    from browser_use import Agent, ChatBrowserUse
    
    async def main():
        agent = Agent(
            task=(
                "Open https://example.com and report the page heading. "
                "Do not follow links or submit anything."
            ),
            llm=ChatBrowserUse(model="bu-2-0"),
        )
        history = await agent.run()
        print(history.final_result())
    
    if __name__ == "__main__":
        asyncio.run(main())

    Después, ejecuta:

    Bash
    python agent.py

    Compara por tu cuenta el encabezado que devuelve con el de la página. La instrucción de la tarea sirve como restricción inicial para este ejemplo inocuo; en producción, las restricciones deben imponerse fuera del prompt.

Si falla, lee el error antes de cambiar de modelo: la instalación del navegador, la autenticación del modelo y el acceso al sitio web son puntos de fallo distintos. Cuando funcione, conserva las versiones de las dependencias que utilizaste y pasa a una cuenta de prueba en el sitio previsto.

¿Qué expectativas conviene ajustar?

Que el agente termine su ejecución no demuestra que haya completado una transacción de negocio. La documentación de resultados de Browser Use distingue ambos conceptos: is_done() significa que el agente emitió una acción de finalización; is_successful() refleja la valoración del propio agente. Los resultados externos importantes siguen necesitando una comprobación en el sistema de destino. Significado de los resultados

Si cambias una dirección, revisa la dirección guardada. Si descargas un informe, comprueba el archivo y el periodo que abarca. Si realizas un envío, guarda la confirmación del destino y aclara cualquier resultado incierto antes de reintentar.

La misma cautela se aplica a la promesa de que «funciona en cualquier sitio web». Las funciones del navegador gestionado pueden reducir las dificultades de acceso, pero el README del proyecto no promete evitar ni resolver todos los CAPTCHA. Un modelo mejor tampoco puede conceder permisos de cuenta que el usuario no tiene. Diseña la integración según el comportamiento real del sitio, incluido el momento en que debe intervenir una persona.

Por dónde empezar el lunes

Si estás creando una empresa y tienes un perfil técnico, la primera prueba útil consiste en una tarea acotada de lectura en un portal, con una respuesta clara. Usa una cuenta de prueba independiente, identifica las páginas permitidas y deja por escrito cómo verificarás el registro devuelto. Registra tanto los fallos como las ejecuciones completadas.

Amplía el alcance a la preparación de formularios solo cuando comprendas esos fallos. Deja el envío en manos de una persona hasta que tu aplicación pueda exigir aprobación, inspeccionar el resultado guardado y recuperarse sin duplicar la acción. Si una API compatible o un script estable ya cubre el flujo de trabajo, conserva esa integración más sencilla.

Para recibir consejos prácticos sobre cómo crear flujos de trabajo fiables con IA, suscríbete al boletín.

Publicado
Categoría
Build
Artículos relacionados
Automatizar publicaciones en redes sociales con Zernio: análisis

Automatizar publicaciones en redes sociales con Zernio: análisis

Analizamos Zernio para integrar redes sociales en tu producto: precios, cuentas compatibles, límites, MCP y cuándo convienen Ayrshare, Postiz o las API nativas.1 nov 2026Build
Airtable vs Notion: cuál elegir para tu equipo

Airtable vs Notion: cuál elegir para tu equipo

Compara Airtable y Notion para CRM, proyectos, wiki, inventario y portales de clientes. Conoce sus límites de IA, automatización y API antes de elegir.1 nov 2026Build
Google Jules cierra: cómo exportar tu trabajo y migrar

Google Jules cierra: cómo exportar tu trabajo y migrar

Fechas del cierre de Google Jules, pasos para exportar tu trabajo y opciones para migrar a Antigravity, Codex, Claude Code o GitHub Copilot sin perder contexto.1 nov 2026Build
Agentes de IA con smolagents: cómo funcionan y cuándo usarlos

Agentes de IA con smolagents: cómo funcionan y cuándo usarlos

Descubre cómo crear agentes de IA con smolagents: acciones en Python, herramientas y sandbox, con un ejemplo y comparaciones con LangGraph y OpenAI Agents SDK.31 oct 2026Build
Warp Terminal: análisis para decidir si vale la pena cambiar

Warp Terminal: análisis para decidir si vale la pena cambiar

¿Vale la pena cambiar a Warp Terminal? Analizamos sus agentes, precios, privacidad y alternativas para decidir qué aporta a tu trabajo y al de tu equipo.31 oct 2026Build
Kilo Code: análisis, precios y cuándo conviene usarlo

Kilo Code: análisis, precios y cuándo conviene usarlo

Analizamos Kilo Code: modelos, VS Code, JetBrains, CLI y agentes en la nube. Conoce sus precios, límites y cuándo elegirlo frente a Cline o Claude Code.31 oct 2026Build
Agentes de IA con Bedrock AgentCore: arquitectura y uso

Agentes de IA con Bedrock AgentCore: arquitectura y uso

Descubre qué resuelve Bedrock AgentCore al operar agentes de IA, qué responsabilidades conservas y cómo plantear un primer piloto con la CLI de AWS.30 oct 2026Build
Decodificación especulativa: cuándo acelera un LLM

Decodificación especulativa: cuándo acelera un LLM

Aprende cómo funciona la decodificación especulativa, cuándo reduce la latencia y cómo activarla en vLLM, SGLang y TensorRT-LLM con verificación exacta.30 oct 2026Build
Newsletter

Una carta, cada domingo.Sistemas que funcionan, no opiniones calientes.

Semanal. Sin spam. Cancele cuando quiera.