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

CI License: MIT

Your agent works there, you keep working here: your computer and a spare joined over Tailscale, with Claude Code on yours and the agent using the spare's desktop

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.

Install on each computer, add the spare, connect your agent and give it a first task; you need two Omarchy 4 computers, Tailscale, your own account with sudo and an agent that uses MCP tools

Lo que puedes hacer

Claude Code checks a settings menu on a spare: three of three checks met, with a capture of what the spare saw

  • 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:

  1. agregar ibara mcp a su configuración de MCP como un servidor a nivel de usuario llamado ibara. Una entrada llega a cada computadora que hayas agregado, incluidas las que agregues después;
  2. 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;
  3. 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é.

You choose who's driving: watch a computer, take control, hand it back, and approve the steps that send, spend or delete

  • 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 update verifican 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-bin 0.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.

Your hardware, your connection: your logins stay on your own computer, no monthly bill, a home or office IP, and basic hardware is enough

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.

132 of 157 real-agent runs passed on two Celeron mini PCs, with each agent setup's score and the failures counted

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 modeloAprobado
Claude Code, claude-opus-5-522 de 23
Codex, gpt-6-astra22 de 23
Codex, gpt-6-sol21 de 23
Claude Code, claude-sonnet-518 de 23
omp, grok-4.718 de 22
Codex, deepseek-v4.1-flash17 de 21
opencode, big-pickle (gratis)14 de 22
Todas las ejecuciones132 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é medimosResultado
100 tareas de guardar un archivo seguidas, en 0.1.0-999 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-960 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-9Sin 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-9Cada 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-9Sin 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-9300 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-8Codex, 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-779 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-9Falló. 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 horaNo 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 GiBObjetivoResultadoCumplido
Inactivo, antes de abrir la consola40 o menos18.6Sí
Inactivo, después de observar una pantalla en la consola40 o menos31.1Sí
Inactivo, después de usar cada página de la consola40 o menos48.8No
Un agente trabajando, consola cerrada (la parte de ibara, el controlador Cua y el shell)120 o menos121.6, porque el controlador Cua ahora usa aproximadamente 58No
Un agente trabajando, consola abierta120 o menos187.1No
Consola abierta, observando una pantalla, frente a consola cerrada32 o menos más20.0 másSí
Consola abierta, después de un recorrido por cada página, frente a consola cerrada32 o menos más65.5 másNo
ibara-stream mientras alguien toma control de este computador100 o menos72.5Sí
ibara-view mientras tomas control de otro computador150 o menos106.6Sí
ibara-view mientras este computador también está siendo usado por un agente150 o menos115.1Sí
ibara, el controlador Cua y la parte del shell, con este computador en ambos roles120 o menos117.9Sí
La tarea estándar de agente a 2 GiBTermina, y no toma más de 1.5 veces el tiempo sin el límiteTerminó en 16.1 segundos, 1.21 veces el tiempoSí
La tarea estándar de agente con este computador en ambos rolesTermina, y no toma más de 1.5 veces el tiempo sin el límiteNo terminó, porque el visor tomó el foco del teclado; 0.1.0-8 lo corrigióNo
Programas terminados por falta de memoriaNingunoNingunoSí

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

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.