ibara
Dale a los agentes MCP su propio escritorio, navegador y aplicaciones en las computadoras Omarchy que posees.
Documentación
ibara
Dale a tus agentes una computadora que sea tuya.
ibara les da a tus agentes uso de computadora en las máquinas Omarchy que posees. Pon una computadora de repuesto a trabajar: tu agente obtiene su propio escritorio, navegador y aplicaciones, y tú sigues trabajando en los tuyos.
ibara.app · Documentación · Benchmarks · Hoja de ruta

Cada computadora que agregas aparece como una imagen en vivo en una consola en las demás, donde puedes verla, enviarle archivos y tomar control de ella. Tus agentes trabajan en los escritorios reales de esas computadoras, con su propio cursor, mientras tú apruebas lo que importa e intervienes cuando quieras.
ibara se ejecuta en Omarchy (Arch Linux con Hyprland). Ubuntu 26.04 amd64 tiene paquetes independientes de Consola independiente y objetivo GNOME; consulta Instalación y compatibilidad de Ubuntu. Tus computadoras se comunican entre sí a través de tu propia red Tailscale. Es gratuito y de código abierto.
¿Quieres que lo configuren por ti? Cirlet ofrece configuración y soporte de pago.
Instalar
En una computadora Omarchy, ejecuta esto como tú mismo, no como root:
curl -fsSL https://github.com/MayberryDT/ibara/releases/latest/download/install | sh
El instalador descarga la versión más reciente y verifica su firma y el digesto de cada paquete. Instala 3 paquetes con pacman: ibara, y ibara-stream y ibara-view para Take Control. Luego ejecuta ibara setup, que pide tu contraseña una vez y coloca la marca de ibara en tu barra.
Instala ibara en cada computadora que quieras usar, luego abre la consola desde la barra y elige Agregar Computadora. Tus propias computadoras en tu tailnet se agregan entre sí en un solo paso.
Para verificar una versión manualmente antes de instalarla, consulta verificación de versiones.

Lo que puedes hacer

- Ve todas las computadoras a la vez en el muro de flota, con una imagen en vivo, quién la está usando y qué está haciendo.
- Observa la pantalla de una computadora, sigue las tareas de su agente paso a paso y lee su historial en Actividad.
- Envía archivos soltándolos en una computadora y recoge lo que un agente hizo para ti.
- Toma Control de una computadora en una ventana de visor, con teclado, mouse y portapapeles, luego Devuelve el Control.
- Deja que los agentes hagan trabajo real en un escritorio real: abrir aplicaciones, hacer clic, escribir, guardar archivos, completar páginas web y ejecutar comandos.
- Aprueba los pasos que importan antes de que ocurran: enviar, gastar, eliminar y cambiar accesos piden permiso primero por defecto.
- Comparte una computadora con un amigo por una hora, un día, una semana o hasta que la revoques, con un código de invitación de un solo uso.
- Despierta, reinicia, bloquea o pon una computadora en reposo, y aplica tu tema de Omarchy a toda la flota.
- Ponte al día con lo que sucedió mientras estabas ausente, una línea por computadora.
Conecta cualquier agente
ibara funciona con cualquier agente que pueda usar servidores MCP, como Codex, Claude Code, opencode y omp. No hay nada que configurar manualmente. Abre la consola, elige Copiar Prompt en Conectar un Agente y pega el prompt a tu agente. En una computadora sin consola, ibara prompt imprime el mismo prompt.
El prompt hace que el agente haga tres cosas por sí mismo, para que ibara nunca edite los archivos de ningún agente:
- agregar
ibara mcpa su configuración de MCP como un servidor a nivel de usuario llamadoibara. Una entrada llega a cada computadora que hayas agregado, incluidas las que agregues después; - vincular la habilidad de ibara, que el paquete instala en
/usr/share/ibara/skills/ibara, en su carpeta de habilidades. La habilidad dice cuándo usar ibara y cómo trabajar para que los resultados sean confiables, y se actualiza con ibara; - agregar un bloque breve marcado a su archivo de instrucciones a nivel de usuario (AGENTS.md, CLAUDE.md o similar), para que cada sesión sepa que ibara está ahí y cuándo recurrir a él.
El agente obtiene 11 herramientas, descritas en herramientas del agente.
Compositors
Hypoland también es compatible mediante entrada de compositor opcional. ibara lo selecciona automáticamente en Hypoland, que no tiene sistema de plugins. La captura de pantalla, las lecturas de accesibilidad, el lanzamiento de aplicaciones, los clics, el texto del teclado US, los atajos, el desplazamiento y los arrastres dentro de una ventana funcionan sin el plugin Cua. Otro texto usa inserción por accesibilidad cuando la aplicación lo admite. Esta ruta tiene seguridad de entrada reducida: verifica la geometría de la ventana antes de la entrada, no puede aplicar las reglas de superficie y ventanas emergentes del plugin y no puede detectar las pulsaciones físicas de una persona. El movimiento del mouse detiene la entrada entre pasos. Las teclas de despacho requieren un teclado de asiento. El estado del Doctor y del agente indican estos límites. Esto se probó en un escritorio Hypoland anidado; el hardware GPU antiguo y Take Control en Hypoland aún necesitan verificación.
En Hyprland estándar, el plugin sigue siendo el predeterminado. Para seleccionar el respaldo cuando el plugin no está disponible, coloca esto en ~/.config/ibara/settings.toml:
[agents]
input_backend = "dispatchers"
Usa "auto" para volver a la elección normal de compositor, o "plugin" para requerir el plugin. Una negativa del plugin nunca reintenta la entrada a través de despachadores.
Cómo funciona
flowchart LR
subgraph here["Your computer"]
agent["Your agent<br/>(Codex, Claude Code, …)"]
mcp["ibara mcp"]
console["ibara console<br/>(Omarchy bar plugin)"]
service["ibarad<br/>(console service)"]
viewer["ibara-view"]
agent -- "MCP over stdio" --> mcp
console -- "local socket" --> service
end
subgraph there["Another of your computers"]
entry["Agent entry<br/>(SSH on port 2222)"]
daemon["ibarad"]
journal[("Journal:<br/>tasks, approvals,<br/>access, history")]
cua["Cua driver and<br/>Hyprland plugin"]
stream["ibara-stream"]
desktop["Hyprland desktop"]
entry --> daemon
daemon --> journal
daemon --> cua --> desktop
daemon --> stream --> desktop
end
mcp -- "SSH over Tailscale" --> entry
service -- "SSH over Tailscale" --> entry
viewer -- "video stream,<br/>one-time ticket" --> stream
Cada computadora ejecuta el mismo ibara, por lo que cada computadora es un par. Cada una ejecuta ibarad, el servicio que posee su escritorio para agentes: mantiene un diario de cada tarea, paso, aprobación y cambio de acceso, y escribe cada paso antes de llevarlo a cabo, para que un reinicio nunca pierda el rastro de lo que sucedió.
Los agentes y las consolas llegan a otra computadora a través de su entrada de agente, un servidor SSH que solo escucha en direcciones Tailscale y acepta solo las claves de las computadoras que emparejaste. ibarad verifica cada llamada contra las reglas de acceso de esa computadora, luego actúa a través del controlador de Cua, que lee las aplicaciones mediante accesibilidad y mueve el cursor propio del agente, para que puedas ver dónde está trabajando. Las páginas web se leen a través de una pequeña extensión de navegador que nunca hace clic ni escribe por sí misma.
Cuando tomas control, la computadora pausa sus agentes e inicia ibara-stream. El ibara-view de tu consola se conecta con un ticket que funciona una sola vez, solo para tu visor.
Arquitectura explica cada parte con más profundidad.
Modelo de seguridad
ibara les da a personas y agentes poder real sobre computadoras reales, por lo que lo diseñamos para que quede claro quién puede hacer qué.

- Nada escucha en internet. La entrada de agente, el emparejamiento y la transmisión de Take Control solo escuchan en las direcciones Tailscale de esta computadora. Si el firewall ufw está activado, la configuración abre esos puertos solo en la interfaz Tailscale.
- Agregar una computadora requiere prueba. Tailscale le dice a ibara qué computadora y qué inicio de sesión está preguntando. Tus propias computadoras se agregan entre sí cuando tu consola en la computadora que pregunta avala la solicitud. La computadora de cualquier otra persona espera hasta que una persona en tu computadora acepte un código de 6 dígitos que ambas pantallas muestran, o traiga un código de invitación de un solo uso que creaste.
- Cada computadora y cada agente tiene sus propios permisos: Ver, Archivos, Take Control, Tareas de Agente y Administrar. Cada uno es Permitido, Preguntar Primero o Denegado. La invitación de un amigo nunca incluye Administrar, y puedes cambiar o eliminar cualquier permiso desde la pestaña Acceso en cualquier momento.
- Los agentes tienen nombre. Un agente conectado es, por ejemplo,
claude@your-laptop: el nombre de su cliente MCP, abreviado para agentes conocidos como Codex y Claude Code, y la computadora de la que proviene, no una clave anónima. - Los pasos que importan preguntan primero. Por defecto, la lectura y los cambios ordinarios están permitidos, mientras que enviar, gastar, eliminar y cambios de acceso esperan a que una persona apruebe ese paso exacto. Una aprobación cubre solo ese paso y termina si el control cambia de manos. Puedes desactivar la pregunta antes de envíos, gastos y eliminaciones para agentes de tus propias computadoras, para cada computadora, una computadora o un agente; los agentes de la computadora de cualquier otra persona siguen preguntando, y los cambios de acceso siempre preguntan.
- Siempre puedes tomar el control. Mover tu mouse detiene la entrada del agente de inmediato, y Take Control pausa a todos los agentes hasta que devuelvas el control. Devolver el Control permite que los agentes trabajen de nuevo a menos que los hayas pausado tú mismo, y nunca reinicia la tarea de un agente por sí solo.
- Las versiones están firmadas. El instalador y
ibara updateverifican la firma de la versión contra una clave integrada en ibara, y el digesto de cada paquete, antes de instalar cualquier cosa.
Las aprobaciones protegen los efectos que ibara conoce o que un agente declara. Un agente que puede ejecutar comandos o usar el escritorio no está en una caja de arena: da acceso de agente solo a computadoras donde dejarías trabajar a ese agente. Seguridad y acceso tiene los detalles, y SECURITY.md dice cómo reportar una vulnerabilidad.
Requisitos
- Omarchy en x86_64, con su escritorio y barra Hyprland. ibara depende de los comandos propios de Omarchy para la barra, los temas y las ventanas flotantes.
- Tailscale, con sesión iniciada, en cada computadora. La configuración te dice cómo si no lo está.
cua-driver-bin0.28.2 o más reciente, del repositorio de paquetes de Omarchy. pacman lo instala con ibara.- Google Chrome o Chromium, si quieres que los agentes usen páginas web.
- No se necesita mouse ni monitor en las computadoras que usan los agentes. Los agentes hacen clic y escriben en una computadora sin mouse conectado, y una computadora sin pantalla conectada obtiene una virtual.
- Aproximadamente 15 MB para descargar los 3 paquetes.
ibara no necesita Node ni Python en tiempo de ejecución.

Números reales
Medimos ibara en 2 computadoras de prueba: mini PC ACEPC de cinco años con procesadores Intel Celeron J3455, ejecutadas desde una consola en una de ellas. Cada resultado tiene su compilación y fecha, y el objetivo que establecimos donde lo establecimos. Los fallos se quedan. Las tablas completas están en los benchmarks y en los resultados de prueba.

Agentes reales, 29 de septiembre de 2026, en ibara 0.1.0-17. Siete configuraciones de agentes ejecutaron las mismas 12 tareas desde un inicio limpio. Cada agente tenía solo el servidor MCP de ibara, su habilidad y su nota en las instrucciones del agente, y el código fuente del propio proyecto estaba oculto para él. Aprobado significa que las verificaciones propias del benchmark pasaron.
| Agente y modelo | Aprobado |
|---|---|
| Claude Code, claude-opus-5-5 | 22 de 23 |
| Codex, gpt-6-astra | 22 de 23 |
| Codex, gpt-6-sol | 21 de 23 |
| Claude Code, claude-sonnet-5 | 18 de 23 |
| omp, grok-4.7 | 18 de 22 |
| Codex, deepseek-v4.1-flash | 17 de 21 |
| opencode, big-pickle (gratis) | 14 de 22 |
| Todas las ejecuciones | 132 de 157 (84%) |
De los 25 fallos, 13 fueron de ibara, 8 de los agentes y 4 de la configuración propia del benchmark. La tarea más débil fue el administrador de archivos (3 de 13): su ventana emergente de renombrar tomó el teclado y rechazó toda entrada, lo que causó 10 de los 13 fallos de ibara. 0.1.0-18 lo corrigió, y una reejecución enfocada de 5 tareas pasó 20 de 20 para Claude Code con claude-opus-5-5 y Codex con gpt-6-astra, sin ningún fallo de ibara. La ejecución se detuvo con 99 ejecuciones en cola no iniciadas, por lo que los tamaños de muestra son desiguales. Google Gemini no ha sido probado.
Confiabilidad y velocidad. Registrado en las computadoras de prueba, en la compilación nombrada en cada fila.
| Qué medimos | Resultado |
|---|---|
| 100 tareas de guardar un archivo seguidas, en 0.1.0-9 | 99 aprobadas, con una mediana de 12.6 a 12.9 segundos y sin desviación. El único fallo fue un monitor que se reconectó a mitad de la escritura, lo cual ibara informó con honestidad |
| Dos agentes en cada uno de dos computadores, en 0.1.0-9 | 60 de 60 tareas que comenzaron se completaron, en 7 minutos. No hay cola, así que un agente en espera esperó hasta 107 segundos |
| 50 ciclos de Tomar Control y Devolver Control, en 0.1.0-9 | Sin errores, sin teclas atascadas, nada quedó en ejecución |
| Tomar Control, desde elegirlo hasta que el visor aparece en pantalla, en 0.1.0-9 (20 intentos entre 2 computadores de prueba en Wi-Fi) | Mediana de 8.2 segundos, de 8.1 a 10.5 segundos. El computador vuelve a aceptar a un agente 0.7 segundos después de Devolver Control |
| 20 reinicios de ibara en medio de una tarea, en 0.1.0-9 | Cada resultado fue honesto, cada aplicación y su texto sobrevivió, y los agentes volvieron en 6.5 a 9.2 segundos |
| 10 caídas de red de 10 a 90 segundos, en 0.1.0-9 | Sin bloqueo. Cada llamada esperó y se ejecutó una vez, o indicó que pudo haberse ejecutado |
| Los clics aterrizan donde se apuntan, en 0.1.0-9 | 300 de 300 aciertos al primer intento, a 0 píxeles del centro, en botones de página en Chrome y una aplicación GTK 4 a escala 1 y 1.5. Un mouse estuvo conectado durante esta prueba |
| Agentes que se conectaron solos desde el único mensaje, en 0.1.0-8 | Codex, Claude Code, opencode y omp, con modelos de 3 proveedores; 5 de 5 tareas de seguimiento completadas |
| Observar un escritorio estático en la pestaña Pantalla, en 0.1.0-10 (60 segundos) | 24.5 kbit/s, frente a 1.0 kbit/s sin observar; una imagen completa cruza la red solo cuando algo en la pantalla cambia |
| Instalación, primer uso, actualización, reversión y desinstalación en un contenedor limpio, en 0.1.0-7 | 79 de 79 verificaciones aprobadas, sin ningún proceso de Node en ningún momento |
| Un cursor en pantalla mientras un agente trabaja, en 0.1.0-6 (6,349 fotogramas registrados) | No se alcanzó el objetivo de exactamente un cursor en cada fotograma: 6,256 fotogramas muestran exactamente un cursor; 78 muestran ambos en el mismo lugar, hasta 0.67 segundos en los traspasos; 15 muestran ambos separados o ninguno. La corrección se incluyó en 0.1.0, y no hemos repetido este conteo en una versión de lanzamiento |
| Archivos de 1 a 5 GB, en 0.1.0-9 | Falló. No es compatible: el límite es 250 MB. A 100 MiB, los envíos se ejecutaron a 2.4 a 3.8 MiB/s y las recepciones a aproximadamente 5 MiB/s |
| Una prueba de inactividad de una hora | No se ejecutó. Se redujo a aproximadamente 5 minutos |
La memoria se midió en 0.1.0-7 con el computador limitado a 2 GiB. Cada cifra es el pico del tamaño de conjunto proporcional más el intercambio, en MiB. Las filas de la consola cuentan el crecimiento del shell de Omarchy mientras la consola está cargada.
| Memoria a 2 GiB | Objetivo | Resultado | Cumplido |
|---|---|---|---|
| Inactivo, antes de abrir la consola | 40 o menos | 18.6 | Sí |
| Inactivo, después de observar una pantalla en la consola | 40 o menos | 31.1 | Sí |
| Inactivo, después de usar cada página de la consola | 40 o menos | 48.8 | No |
| Un agente trabajando, consola cerrada (la parte de ibara, el controlador Cua y el shell) | 120 o menos | 121.6, porque el controlador Cua ahora usa aproximadamente 58 | No |
| Un agente trabajando, consola abierta | 120 o menos | 187.1 | No |
| Consola abierta, observando una pantalla, frente a consola cerrada | 32 o menos más | 20.0 más | Sí |
| Consola abierta, después de un recorrido por cada página, frente a consola cerrada | 32 o menos más | 65.5 más | No |
ibara-stream mientras alguien toma control de este computador | 100 o menos | 72.5 | Sí |
ibara-view mientras tomas control de otro computador | 150 o menos | 106.6 | Sí |
ibara-view mientras este computador también está siendo usado por un agente | 150 o menos | 115.1 | Sí |
| ibara, el controlador Cua y la parte del shell, con este computador en ambos roles | 120 o menos | 117.9 | Sí |
| La tarea estándar de agente a 2 GiB | Termina, y no toma más de 1.5 veces el tiempo sin el límite | Terminó en 16.1 segundos, 1.21 veces el tiempo | Sí |
| La tarea estándar de agente con este computador en ambos roles | Termina, y no toma más de 1.5 veces el tiempo sin el límite | No terminó, porque el visor tomó el foco del teclado; 0.1.0-8 lo corrigió | No |
| Programas terminados por falta de memoria | Ninguno | Ninguno | Sí |
A memoria completa el 28 de septiembre, en uno de los computadores de prueba: ibara inactivo 17.8 MiB, un agente trabajando 117.0 MiB, y la consola abierta en la flota 58.2 MiB, frente a su objetivo de 40 MiB.
Preguntas frecuentes
¿ibara envía mi pantalla o archivos a alguien más?
No. Las imágenes, archivos y comandos van directamente entre tus computadores a través de la red cifrada de Tailscale. ibara no tiene servidor propio ni cuenta para registrarse. Lo único que ibara obtiene de internet son sus propias versiones firmadas, cuando instalas o actualizas.
¿Qué agentes funcionan con ibara?
Cualquier agente que pueda agregar un servidor MCP a su propia configuración. Hemos probado Codex, Claude Code, opencode y omp. Un agente que no pueda cambiar su propia configuración aún puede usar ibara: agrega el comando ibara mcp como servidor stdio llamado ibara manualmente.
¿Qué pasa si toco el mouse mientras un agente trabaja?
La entrada del agente se detiene. Tu puntero vuelve de inmediato y el cursor del agente desaparece. La siguiente entrada del agente espera hasta que tu mouse haya estado quieto durante un segundo. Si sigues usando el computador, esa entrada se rechaza y se le informa al agente que una persona lo está usando. Si quieres el computador para ti por más tiempo, elige Tomar Control.
¿Puede un agente hacer algo que no he aprobado?
Dentro de lo que ibara puede ver, ningún paso que pida permiso se ejecuta sin una aprobación, y una aprobación cubre solo el paso exacto para el que se dio. Si desactivas Preguntar antes de que los agentes envíen, gasten o eliminen, los agentes de tus propios computadores realizan esos pasos sin preguntar; los agentes de cualquier otro computador siguen preguntando. Y un agente con permiso para ejecutar comandos o usar el escritorio podría hacer cosas que ibara no puede reconocer como envío o eliminación. Solo da acceso a agentes a computadores y agentes en los que confíes con ese poder.
¿Puedo usar ibara sin Omarchy?
Todavía no. ibara depende de la configuración de Hyprland, la barra y los comandos de Omarchy, y solo probamos allí.
¿Cómo actualizo o elimino ibara?
ibara update instala la versión más reciente, y ibara update --check solo indica si hay una. ibara --version imprime la versión instalada. ibara rollback vuelve a la versión anterior, y lo dice sin pedir tu contraseña cuando no hay ninguna. ibara uninstall elimina los paquetes ibara, ibara-stream y ibara-view y conserva la identidad de este computador para una instalación posterior, y ibara uninstall --delete-data elimina todo, incluidos la configuración y la caché del visor. cua-driver-bin permanece instalado, ya que otro software puede usarlo; elimínalo con sudo pacman -R cua-driver-bin si nada más lo necesita. Pide a cada agente que conectaste que elimine su servidor ibara, su enlace de habilidad ibara y el bloque de ibara en su archivo de instrucciones. ibara --help lista los comandos que ejecutas.
Algo no funciona
Consulta solución de problemas. Si eso no ayuda, abre un problema.
Hoja de ruta
Estas son las brechas conocidas que queremos cerrar a continuación:
- llevar la memoria de la consola dentro de sus objetivos, incluso después de una sesión larga: con la consola abierta en la flota usa 58.2 MiB frente a un objetivo de 40
- probar el inicio sin la contraseña del disco (
ibara unattended-boot) en hardware real, no solo en una máquina virtual - probar un corte de energía y una prueba de inactividad de una hora, y reiniciar ambos computadores de prueba, no solo uno
- leer páginas dentro de iframes y shadow DOM
- ejecutar nuevamente el benchmark completo en la versión más reciente, ya que la última ejecución completa fue en 0.1.0-17
El registro de cambios lista lo que cambió en cada versión.
Documentación
- Arquitectura: las partes de ibara y cómo se comunican entre sí
- Seguridad y acceso: emparejamiento, permisos, aprobaciones y lo que no cubren
- Herramientas del agente: las 11 herramientas MCP y lo que devuelven
- Solución de problemas: qué revisar cuando algo no funciona
- Desarrollo: construir, probar y cambiar ibara
- Internos: la referencia detallada de cada módulo
- Verificación de versiones: verificar la firma y los paquetes de una versión
La consola en sí es un repositorio separado, omarchy-ibara, porque el mercado de complementos de Omarchy necesita cada complemento en la parte superior de su propio repositorio.
Créditos
ibara se apoya en el trabajo de varios proyectos de código abierto. Estamos agradecidos con todos ellos.
- Sunshine de LizardByte (GPL-3.0) es el host de transmisión detrás de Tomar Control. Nuestro fork,
ibara-stream, es una compilación ligera sin interfaz web, bandeja, UPnP, mDNS ni gamepads. Admite un visor solo con un ticket de un solo uso vinculado al certificado de ese visor, confirma cuando se revoca el acceso y limita la codificación por software. - Moonlight del proyecto Moonlight (GPL-3.0), versión 6.1.0, es el visor. Nuestro fork,
ibara-view, transmite un computador desde un ticket, con su propia identidad. Agrega Super+Alt+Escape para mover el teclado entre los 2 computadores, una etiqueta que indica a dónde van las teclas y la caída de archivos. También se cierra cuando la transmisión termina y no descarga nada de los servidores de Moonlight. - Cua (MIT) proporciona el controlador que ibara usa para leer aplicaciones a través de accesibilidad, escribir, hacer clic y dibujar el cursor de cada agente. ibara incluye el complemento Hyprland de Cua desde la versión 0.28.2 con cambios que hacen que los clics se muevan como el puntero de una persona, acepten la configuración del teclado de Omarchy e informen exactamente por qué se rechazó una entrada. Los cambios están en vendor/cua-hyprland-plugin/IBARA.md.
- Omarchy, Hyprland y Tailscale hacen posible todo esto.
Los forks no tienen repositorios propios. Cada versión en la página de versiones incluye ibara-VERSION-source.tar.gz, el código fuente exacto del que se construyeron sus paquetes: este núcleo, el complemento de la consola y ambos forks con sus submódulos y cambios.
Licencia
El núcleo de ibara está licenciado bajo la Licencia MIT, copyright 2026 Tyler Mayberry. El complemento de la consola también tiene licencia MIT, y el complemento Cua incluido conserva su propia licencia MIT y aviso de copyright.
Los programas de transmisión y visor incluidos, ibara-stream (un fork de Sunshine) y ibara-view (un fork de Moonlight), permanecen bajo GPL-3.0 como programas separados. Se distribuyen junto con el núcleo; sus licencias y código fuente permanecen disponibles con la versión.
Las contribuciones son bienvenidas: consulta CONTRIBUTING.md y nuestro código de conducta.