OpenBot es un espacio de trabajo de escritorio donde conviven varios agentes de programación con IA: Codex, Claude Code, Gemini, Grok, Cursor, Cline, OpenCode. Cada uno con su espacio de trabajo, su conversación y su propio contexto, más una cola de tareas compartida y un navegador integrado que los agentes pueden manejar. Apareció en GitHub el 12 de agosto de 2026. El 28 de octubre tenía 2.432 estrellas, 251 forks, 221 issues abiertos y 103 encabezados de versión en su changelog: la v0.52.1 llegó el día 76.
Ese ritmo es lo primero que conviene mirar, porque determina cómo leer todo lo demás. Los últimos 300 commits se concentran en seis días naturales, con 79 commits solo el 27 de octubre. Un proyecto que se mueve así va a tener documentos que se contradicen entre sí; la pregunta es cuáles de esas contradicciones te afectan.
Tres te afectan, y las tres se pueden citar textualmente de archivos del propio proveedor: una vía de inicio de sesión por suscripción que el repositorio puntúa entre «poco claro» y «alto», una web que dice «OpenBot is open source» junto a una licencia que prohíbe el uso comercial, y un relato de privacidad que promete que los datos del navegador se quedan en tu equipo mientras el contrato de analítica registra cada dominio que visitan tus agentes.
Las cifras, antes de los argumentos
| Métrica | Valor | Fuente |
|---|---|---|
| Estrellas / forks / watchers | 2.432 / 251 / 10 | API de GitHub, 28-10-2026 |
| Watchers sobre estrellas | 0,41 % | Cálculo propio |
| Issues abiertos | 221 | API de GitHub |
| Contribuidores | 37; el primero acumula 1.349 de 2.249 commits (60,0 %) | API de GitHub |
| Versiones publicadas | 103 encabezados, 0.1.0 → 0.52.1, del 13 ago al 27 oct | CHANGELOG.md (419.275 bytes) |
| Artefacto Linux | OpenBot-0.52.1-x86_64.AppImage, 297,0 MB | Assets del release |
| Artefactos macOS / Windows | .dmg de 333,4 MB, .exe de 271,9 MB | Assets del release |
| README frente a política de privacidad | 55.726 bytes frente a 114.540 (2,05×) | Tamaño de archivo |
| Eventos de analítica definidos | 81 nombres distintos; escritorio en la generación 12 | ANALYTICS.md |
Diez watchers frente a 2.432 estrellas merece una pausa. Los watchers son quienes pidieron recibir cada issue y cada pull request; las estrellas son un marcador. Un 0,41 % es lo que se ve cuando un repositorio se difunde por un lanzamiento y no por gente que lee su código. No es una crítica al software: es un aviso sobre cuánto de ese contador demuestra algo.
Primera afirmación: «con los planes que ya pagas»
La web lo repite en cuatro sitios. En la cabecera: «Run Codex, Claude, Gemini and Grok with the plans you already pay for, or your own model». En el bloque de precio: «$0 — OpenBot is free. No hidden fees. No locked features. Your agents use the AI plans you already pay for». Más abajo: «Use the AI plan you have». Y en las preguntas frecuentes, formulada directamente:
Can I use my ChatGPT or Claude plan? Yes. Codex signs in with your ChatGPT plan, and Claude Code with your Claude plan. Gemini uses a Google AI Pro or Ultra plan. OpenCode has free models that need no account.
Ahora abre docs/provider-terms.md en el repositorio. Son 4.695 bytes, revisados alrededor del 6 de octubre, y es el documento más honesto del proyecto. Empieza así:
OpenBot does not sell, resell or pay for model usage. Each provider CLI signs in with your own account or key, and your agreement with that provider applies to all usage. OpenBot does not check that your use agrees with a provider’s terms, and a provider can limit or close an account that breaks them.
Después cita la página legal de Anthropic, leída el 6 de octubre de 2026:
«Developers building products or services that interact with Claude’s capabilities, including those using the Agent SDK, should use API key authentication through Claude Console or a supported cloud provider. Anthropic does not permit third-party developers to offer Claude.ai login into their own applications, or to route requests through Free, Pro, or Max plan credentials on behalf of their users.»
Y justo después de las citas:
Anthropic has not confirmed to the OpenBot project that subscription sign-in through OpenBot is permitted. For your own use case, Anthropic tells you to contact sales.
No es una cláusula escondida en una lista de subencargados. Es una página del repositorio, enlazada desde la documentación, escrita por los mantenedores, que contiene la frase «Anthropic no ha confirmado al proyecto OpenBot que el inicio de sesión por suscripción a través de OpenBot esté permitido».
Las dos afirmaciones solo pueden convivir si lees «¿puedo usar mi plan de Claude?» como pregunta técnica —¿funciona el botón?— y no como pregunta de permisos. El botón funciona. Ese es justamente el problema: lo que un comprador pregunta es si está autorizado, y la web responde otra cosa.
La tabla de riesgo que escribió el propio proyecto
El mismo archivo continúa con una tabla que conviene reproducir entera, porque es más crítica que cualquier cosa en este artículo:
| Uso | Riesgo con una suscripción de Claude |
|---|---|
| Tu propio trabajo en tu propio equipo | Not clear. Inicias sesión en el CLI sin modificar en la página de Anthropic, algo que Anthropic permite. Pero OpenBot es un producto basado en el Agent SDK, y Connect lanza el inicio de sesión de Claude.ai desde OpenBot. Los agentes que corren sin ti pueden superar el «uso ordinario e individual». |
| Inicio de sesión por código en un host desde otro equipo | Higher. OpenBot transporta el código de inicio de sesión de tu navegador al host. |
| Miembros del equipo usan agentes de Claude en tu host | High. Las peticiones de otras personas usan el plan de una sola. |
La tercera fila es el producto que la empresa vende. La sección «OpenBot for Teams» de la web dice: «AI coworkers for your whole company. We run OpenBot on managed servers and set it up around your team and tools». La evaluación del propio repositorio sobre miembros del equipo usando agentes de Claude en un host es una sola palabra: High, con la razón escrita sin rodeos: las peticiones de otras personas usan el plan de una.
Hay una lectura defendible según la cual esto está bien: un binario de Claude Code sin modificar, con sesión iniciada por su dueño, en una máquina que ese dueño controla, es el caso que la propia nota de Anthropic exceptúa («does not prevent an end user from signing in to the unmodified Claude Code binary with their own Claude subscription, including where a platform hosts Claude Code»). El documento también lo dice, y es el argumento más fuerte a favor del producto. Pero la excepción habla de un usuario final que inicia sesión él mismo, y la fila «High» habla de las peticiones de varias personas pasando por ese único inicio de sesión. El repositorio no resuelve la diferencia. La web tampoco.
Un detalle más del mismo archivo, que es donde está la respuesta práctica:
An Anthropic API key, Amazon Bedrock, Google Cloud’s Agent Platform or Microsoft Foundry is the method that Anthropic tells Agent SDK products to use. The CLI uses it before a subscription sign-in, and OpenBot passes its environment to the CLI. Set
ANTHROPIC_API_KEYin the environment that starts OpenBot, or in theenvblock of~/.claude/settings.json.
Existe, por tanto, un camino admitido que esquiva toda la cuestión: una clave de API, que factura por token en lugar de tirar de una suscripción plana. El enfoque de la web —«$0, usa el plan que ya pagas»— apunta al otro camino.
Lo que el archivo no cubre
provider-terms.md tiene una sección detallada, la de Claude, y luego dos líneas tituladas «Other providers»: OpenBot ejecuta el CLI de cada proveedor con tu propio inicio de sesión y se aplican sus términos. La web nombra Codex, Gemini y Grok en la misma frase que Claude. La posición de OpenAI, Google y xAI sobre clientes de terceros que usan una suscripción de consumidor no se cita, no se puntúa y no se resume en ninguna parte del repositorio. Si Anthropic —cuyo criterio está documentado como no confirmado— es el actor más prudente del grupo, la ausencia de los otros tres no tranquiliza.
Segunda afirmación: «OpenBot is open source»
El panel de recursos de la web termina con una línea que no admite interpretación:
<div class="site-panel-footer">
<span class="site-panel-summary">OpenBot is open source.</span>
<a href="https://github.com/nightly-labs/openbot">Source code</a>
</div>
El archivo LICENSE de ese repositorio es PolyForm Noncommercial 1.0.0. Su cláusula «Noncommercial Purposes» dice que «cualquier propósito no comercial es un propósito permitido», y su cláusula «Personal Uses» concede el uso para «investigación, experimentación y pruebas en beneficio del conocimiento público, estudio personal, entretenimiento privado, proyectos de aficionado, actividades amateur o práctica religiosa, sin ninguna aplicación comercial prevista». El uso comercial no se concede.
PolyForm Noncommercial 1.0.0 no aparece en la lista de licencias aprobadas por la Open Source Initiative. Lo comprobé en la lista misma en vez de fiarme de un resumen: opensource.org/licenses devuelve una página de 262 KB que contiene MIT, Apache-2.0 y las licencias GNU, y cero apariciones de «PolyForm». La licencia es de código disponible; «código abierto» es un término con definición, y esta falla la cláusula de campo de actividad.
Las preguntas frecuentes, tres secciones más abajo en la misma página, son más cuidadosas:
All of the source code is public on GitHub, so you can check what OpenBot does. You can change and run it for free for noncommercial use, such as personal projects, study or research. Commercial use needs a separate license. The license is PolyForm Noncommercial 1.0.0.
El README es aún más preciso: se describe como «an independent source-available project». El repositorio coincide con las preguntas frecuentes. Solo el panel de navegación dice «open source», y es la línea que un visitante lee más de pasada.
Ocho días de Apache-2.0 y luego una puerta de un solo sentido
La historia de la licencia está en el registro de commits de la ruta LICENSE, y es corta:
| Commit | Fecha | Cambio |
|---|---|---|
b74d7d28 | 12-08-2026 | «Prepare repository for public release» — Apache License 2.0 |
5f733c89 | 20-08-2026 | «Change license to PolyForm Noncommercial» |
6b22fe7f | 16-10-2026 | «Name Synthetify Labs as the licensor and add a commercial contact» |
Revisé las etiquetas, no solo los commits. v0.1.11, publicada el 16 de agosto, todavía contiene el texto de Apache 2.0. v0.1.14, publicada el 21 de agosto, ya contiene PolyForm Noncommercial 1.0.0. La ventana permisiva duró ocho días y abarcó once versiones.
Conviene enunciar dos consecuencias con precisión. Primera: el código que obtuviste bajo Apache-2.0 sigue siendo Apache-2.0 para ti, porque esa concesión es irrevocable, de modo que un fork hecho el 15 de agosto es jurídicamente un objeto distinto de uno hecho hoy. Segunda: el proyecto ha vuelto la nueva postura estructural, no editorial. AGENTS.md, el archivo que instruye a los agentes de IA que trabajan en el repositorio, contiene esta regla en la línea 34:
Keep PolyForm Noncommercial 1.0.0. Do not add incompatible dependencies or relicense files.
Y CONTRIBUTING.md exige a cada autor externo firmar un acuerdo de cesión de copyright a favor de Synthetify Labs. Las contribuciones externas aterrizan así bajo una licencia que el contribuidor no puede reutilizar comercialmente, con el copyright en manos de la empresa que sí puede.
No hay precio publicado para la licencia comercial. openbot.run/pricing devuelve 404 hoy. La incidencia que registra el hueco está abierta y es reciente: la #2947, «Add the Pricing page and sell its license prices», abierta el 23 de octubre. Hasta que eso salga, la respuesta a «cuánto cuesta esto para mi empresa» es un correo a licenses@openbot.run.
Tercera afirmación: «los datos del navegador se quedan en el equipo»
La sección de almacenamiento de la web se presenta como una lista —Workspaces, Conversations, Files, Browser data— bajo el encabezado «Stored on your computer», seguida de: «Workspaces, conversations, files and browser data stay on the computer that runs OpenBot, not on our servers». Las preguntas frecuentes lo repiten: «Workspaces, conversations, attachments and browser data stay on the computer that runs OpenBot».
PRIVACY.md coincide en espacios de trabajo, conversaciones y adjuntos. Sobre los datos del navegador es más preciso, en un párrafo que la web no resume:
Websites. When a page in the embedded browser reaches a new registrable domain, the host sends that domain (for example
linkedin.comforwww.linkedin.com) and whether the user or an agent opened it. It never sends the subdomain, path, query, fragment or page title.
El catálogo de analítica define el evento como system_site_visited y añade un detalle que importa a quien ejecuta agentes en vez de navegar él mismo: «actor is user or agent». Cada dominio registrable nuevo que visita el agente durante una tarea se comunica, atribuido a tu cuenta, con una marca de si lo abrió una persona o un agente.
Tres datos más de esa tubería, todos del repositorio:
- Viene activada por defecto, y el código lo dice.
src/main/analytics-preference-store.ts, línea 10:const DEFAULT_PREFERENCE: AnalyticsPreference = { enabled: true };. Si el archivo de preferencias no existe, queda activada; solo un archivo corrupto la desactiva. El documento lo confirma: «Desktop analytics is enabled by default and can be disabled in General settings». - No hay límite de retención.
PRIVACY.md: «OpenPanel event and profile data has no automatic retention limit. It remains stored until it is removed manually or the analytics project is deleted». - Te identifica. «OpenPanel receives the central account ID as
profileIdand the normalized account email as the profile email». Una lista de dominios asociada a un correo corporativo nominal es un objeto distinto de un contador anónimo.
El catálogo son 84 filas de tabla y 81 nombres de evento distintos, repartidos en seis superficies y seis generaciones de esquema (escritorio 12, host 11, landing 10, account_api 11, móvil 4, web 2). También incluye system_resources —un perfil diario de CPU y memoria por grupo de procesos y por proveedor, en el percentil 95— y system_inventory, que cuenta una vez al día tus agentes, rutinas, flujos de trabajo, servidores MCP y plugins de catálogo instalados.
Desactivar la analítica funciona, y el proyecto documenta el borde: el acto de desactivarla envía primero un evento analytics_preference_changed y luego se detiene. Es un diseño defendible y está escrito. El hueco no está en PRIVACY.md; está entre PRIVACY.md y una sección de preguntas frecuentes que dice que los datos del navegador se quedan en el equipo sin que aparezca una sola vez la palabra «analítica».
Qué estás instalando en realidad
297 MB para una ventana de chat es mucho, y el SBOM de Windows explica por qué: el paquete lleva Sunshine (streaming de pantalla), un cliente web Moonlight, ONNX Runtime, ffmpeg, Vulkan, SwiftShader, sherpa-onnx para voz y un binario cua-driver para control del escritorio. OpenBot es una pila de escritorio remoto y uso de computadora con una capa de agentes delante, y se documenta y se vende como tal.
Dos consecuencias de ese diseño están enunciadas por el proyecto en un lenguaje que merece citarse, no parafrasearse.
El aviso del README:
OpenBot is a development preview. Agents currently run with
danger-full-accessandapprovalPolicy: never. They can read and modify files, run commands, use the network, and control the embedded browser without per-action confirmations after the explicit first-launch consent.
PRIVACY.md añade la frase que debería ser lo primero que lea un revisor de seguridad:
This is an explicit product behavior, not a host security boundary. Keep backups and do not give an agent a task you would not allow a local command-line tool to perform.
Y la guía de alojamiento multiinquilino, para el caso de un Mac que sirve a varios clientes de pago:
Use one native macOS Standard user and one OpenBot instance per tenant. The shared application is
/Applications/OpenBot.app. Client connections use the existing Team API, WebRTC, and the operator’s STUN/TURN infrastructure. No VM or Docker is involved.This setup protects tenant files through macOS ownership and permissions. It does not provide resource isolation against a hostile tenant: native users share CPU, memory, storage capacity, and the network namespace. A tenant can consume resources or occupy ports. An idle update requires cooperation from every registered tenant; one tenant can block maintenance.
La guía también dice «Do not promise independent availability on a shared native host», un consejo que la página comercial de Teams no repite. El aislamiento de archivos entre inquilinos es real —homes privados en modo 0700, un ayudante que nunca abre datos de inquilinos, una prueba de aceptación documentada que debe ejecutarse antes de atender a clientes de pago—. El aislamiento de recursos no existe por construcción, y el documento lo dice en negrita.
Esa prueba de aceptación es la parte del proyecto a la que apuntaría primero a un lector escéptico. Es un procedimiento escrito, por inquilino: desde una cuenta, intentar leer, crear o reemplazar un archivo de prueba en el home de otro inquilino; ambas operaciones deben fallar; luego repetirlo en sentido contrario. Es más rigor del que trae la mayoría del software comercial de escritorio, y existe porque los autores saben lo que su configuración no hace.
El artefacto que no dice nada
Los releases incluyen paquetes Sigstore y archivos SPDX, lo que parece una cadena de suministro madura. El lado Sigstore es real: los paquetes de macOS son sobres DSSE con predicateType: https://slsa.dev/provenance/v1 y buildType: https://actions.github.io/buildtypes/workflow/v1, que cubren el .dmg, el .zip y el .pkg del host por SHA-256, construidos por GitHub Actions.
El lado SPDX no lo es. Analicé los cinco SBOM adjuntos a la v0.52.1:
| Artefacto | Tamaño del SBOM | Paquetes | Campos de licencia |
|---|---|---|---|
| Linux | 5.176 bytes | 1 (el directorio raíz dist/linux-unpacked) | NOASSERTION |
| Linux arm64 | 3.882 bytes | 1 | NOASSERTION |
| macOS arm64 | 9.518 bytes | 1 | NOASSERTION |
| macOS x64 | 9.468 bytes | 1 | NOASSERTION |
| Windows | 23.672 bytes | 16 | NOASSERTION en los 16 |
Todas las entradas tienen filesAnalyzed: false. El archivo de Windows al menos nombra binarios —Sunshine, ONNX Runtime, ffmpeg, Vulkan, SwiftShader, cua-driver, los dos runtimes de escritorio remoto— pero no asigna licencia a ninguno. Los SBOM de Linux y macOS no nombran nada. Como artefacto para una revisión de compras, un SBOM de un paquete con NOASSERTION para un binario de 297 MB es una firma sin declaración.
El archivo NOTICE tiene la misma forma. Enumera exactamente cuatro atribuciones de terceros: Blobatar 0.2.0 (MIT), recharts (MIT), moby/profiles (Apache-2.0) y el código de movimiento adaptativo de cua-driver 0.34.0 (MIT). No menciona Sunshine, ffmpeg, ONNX Runtime, Vulkan, SwiftShader ni sherpa-onnx.
Sunshine es el que hay que mirar, porque el repositorio es explícito. El README habla de «the bundled Sunshine.app», la guía multiinquilino menciona reservar «Sunshine port families» y el árbol contiene vendor/remote-desktop/patches/sunshine-v2026.516.143833-openbot.patch: 4.875 líneas y 184.095 bytes sobre 37 archivos del código de Sunshine. El proyecto original, LizardByte/Sunshine, tiene licencia GPL-3.0.
Si un Sunshine parcheado, distribuido como aplicación separada dentro de un paquete, es mera agregación o una obra derivada es una pregunta para un abogado, y no voy a fingir resolverla. Lo que puede decirse sin abogado es más estrecho y aún útil: la cláusula «Notices» de la propia licencia PolyForm exige que quien recibe una copia reciba también los términos y cualquier línea Required Notice:; el NOTICE distribuido nombra cuatro componentes MIT/Apache y ninguno GPL; y el SBOM que un comprador entregaría a su equipo legal declara NOASSERTION para todo. El material de cumplimiento existe en el repositorio —el parche es público, que es la parte difícil del cumplimiento GPL— pero nada de eso está en el artefacto.
Lo que el proyecto hace bien
Una auditoría que solo enumera defectos es fácil de escribir y fácil de descartar. Aquí está la otra columna, con el mismo estándar de prueba.
- El límite de la telemetría está especificado con inusual detalle.
ANALYTICS.mdenumera lo que nunca puede enviarse: «Never send message content, prompts, answers, generated content, search terms, URLs (a website is reported only as its registrable domain), referrers, user-authored names such as a custom MCP server, routine or skill name, file names, local paths, commands, credentials and API tokens, invitation values, raw errors, or local identifiers». Las cargas se validan en tiempo de ejecución, los enums están en lista blanca, los arrays se recortan y la grabación de sesión está desactivada. - Desactiva la telemetría de un proveedor en vez de reenviarla.
cua-driverllama a casa por su cuenta;PRIVACY.mddice «OpenBot stops both calls, always», fijandoCUA_DRIVER_RS_TELEMETRY_ENABLED=0yCUA_DRIVER_RS_UPDATE_CHECK=0en cada copia que arranca. docs/provider-terms.mdexiste. Muy pocas herramientas de agentes publican una tabla de riesgo que puntúe su caso de uso principal como «Not clear». Ese documento es la razón por la que este artículo puede citar la posición de Anthropic en lugar de adivinarla.- Los modos de fallo multiinquilino están documentados, no descubiertos. «One tenant can block maintenance» y «Do not promise independent availability» son frases que normalmente aparecen en un postmortem, no en la guía de instalación.
- El changelog está completo. 103 encabezados de versión, 4.907 líneas, sin huecos, incluso con un ritmo de más de una versión por día. La palabra «breaking» no aparece nunca, lo que es otro problema —ver abajo—, pero el registro está.
Una lista de verificación para antes de instalarlo en el trabajo
Cada punto nombra el archivo, el ajuste o la pregunta, porque «evalúa el riesgo» no es un paso que nadie pueda ejecutar.
- Lee
LICENSEprimero, no la web. Si tu uso genera ingresos, la concesión de PolyForm Noncommercial no lo cubre. Escribe luego alicenses@openbot.runy pide precio y fecha de entrega; la incidencia #2947 es el registro público de si existe. - Decide la vía de autenticación antes del primer inicio de sesión. Para Claude, define
ANTHROPIC_API_KEYen el entorno que arranca OpenBot, o en el bloqueenvde~/.claude/settings.json, para que el CLI use la clave por delante de cualquier sesión de suscripción. Presupuesta coste por token: ese es el precio del camino admitido. - Pregunta a los tres proveedores que el repositorio no cita.
provider-terms.mddocumenta a Anthropic y hace un gesto hacia los demás. Si piensas usar suscripciones de ChatGPT Plus, Google AI Pro o Grok a través de un cliente de terceros en el trabajo, consigue la respuesta del proveedor por escrito para tu caso, no la del fabricante de la herramienta. - Desactiva la analítica y confírmalo, superficie por superficie. Escritorio: Settings → General → Permissions → Share product analytics. Móvil: Settings → Privacy. Aplicación web: ajustes de cuenta. Son tres preferencias distintas; cambiar una no cambia las otras.
PRIVACY.mdañade que el servicio de cuenta ignora por completo la preferencia del escritorio para los eventos de facturación. - Verifica el relato del SBOM antes de fiarte. Descarga el
.spdx.jsonde tu plataforma y cuenta los paquetes. Hoy en macOS y Linux obtendrás uno, conNOASSERTION. Si tu proceso de compras exige un inventario de componentes, tendrás que producirlo tú. - Si alojas a más de una persona, ejecuta la prueba de aceptación.
sudo openbot-host setup --create-user client-a --create-user client-b, luegosudo openbot-host verify, y después la prueba de archivos entre inquilinos dedocs/multi-tenant-hosting.md. Está documentada como obligatoria antes de atender a clientes de pago; trátala así. - Asume que los agentes tienen tu shell.
danger-full-accessconapprovalPolicy: neveres el valor por defecto distribuido, y la documentación lo llama comportamiento de producto, no frontera de seguridad. Dale a OpenBot un usuario del sistema cuyo daño puedas asumir y guarda copias fuera de él.
Preguntas frecuentes
¿OpenBot es gratis?
Para uso no comercial, sí, y sin funciones bloqueadas, según la web y la licencia. Para uso comercial, la licencia exige una licencia aparte, no hay precio publicado y openbot.run/pricing es un 404. «Gratis» y «gratis para lo que estás a punto de hacer con él» son afirmaciones distintas.
¿Es código abierto? El panel de recursos de la web dice «OpenBot is open source». La licencia es PolyForm Noncommercial 1.0.0, que no está en la lista aprobada por la OSI, y el README se describe como «source-available». Fíate de la segunda y la tercera fuente.
¿Puedo usar mi suscripción de Claude o de ChatGPT?
Técnicamente sí: Connect ejecuta claude auth login --claudeai y el CLI guarda las credenciales. Si está permitido es otra pregunta, y el propio archivo del proyecto dice que Anthropic no lo ha confirmado para OpenBot, cita la prohibición de Anthropic sobre aplicaciones de terceros que enrutan credenciales Pro/Max y puntúa el caso de equipo como «High». La vía de la clave de API es la que Anthropic recomienda para productos basados en el Agent SDK.
¿Envía mis datos a alguna parte?
Las conversaciones, adjuntos y espacios de trabajo se quedan en SQLite local. La analítica de producto va a un proyecto OpenPanel autoalojado en analytics.openbot.run y viene activada: 81 tipos de evento, incluido el dominio registrable de cada sitio que abren tus agentes, tu correo de cuenta normalizado y un perfil diario de CPU y memoria. No hay límite automático de retención.
¿Qué contienen 297 MB?
Una aplicación Electron más la pila de escritorio remoto y uso de computadora: un Sunshine parcheado, un cliente web Moonlight, ONNX Runtime, ffmpeg, Vulkan, SwiftShader, sherpa-onnx y el binario cua-driver. El SBOM de Windows nombra buena parte; los de macOS y Linux no nombran nada.
¿Es seguro dejarlo funcionando sin supervisión? Por defecto tiene acceso total sin aprobación por acción, tras una sola pantalla de consentimiento. En palabras del propio proyecto: «do not give an agent a task you would not allow a local command-line tool to perform». Ese es el marco correcto: es un shell con cola de tareas, no una caja de arena.
Conclusión
OpenBot es ingeniería seria con un conjunto de documentación inusualmente sincero, y esa combinación es precisamente por la que la superficie comercial es el eslabón débil. El repositorio te dice que el inicio de sesión por suscripción está sin resolver y que el uso en equipo es de riesgo alto; la web te dice que traigas el plan que ya pagas. El repositorio te dice que la analítica viene activada y comunica dominios sin límite de retención; la web dice que los datos del navegador se quedan en tu equipo. El repositorio se llama «source-available»; el panel de navegación lo llama código abierto.
Nada de esto exige mala fe para explicarse. Un proyecto de 76 días que publica 103 versiones tiene tres superficies —producto, documentación, web— editadas por manos distintas a velocidades distintas, y en precisión gana la documentación. Pero quien tiene que reconciliarlas antes de ponerlo delante de un cliente eres tú, y la reconciliación lleva una tarde:
Fija la clave de API, lee la licencia, cambia los tres interruptores de analítica, cuenta los paquetes del SBOM y ejecuta la prueba de inquilinos si hay más de una persona. Si los cinco salen como el repositorio predice, sabes exactamente qué compraste. Si la licencia comercial vuelve con un precio y las preguntas a los proveedores vuelven con un sí, tienes una herramienta que justifica los 297 MB.