Cómo funciona, parte por parte
Una sola regla sostiene todo el programa: el estado de la ventana vive en memoria y la configuración vive en archivos. Todo lo demás se deriva de ahí.
La regla que sostiene todo
Una ventana contiene pestañas. Una pestaña contiene bloques. Un bloque es una terminal, un archivo en edición, el panel de archivos, una página web, una imagen, un PDF, una página Markdown, un diff, el monitor del sistema, la pantalla de ajustes o el panel de un complemento. Se dividen en cualquier dirección con anidamiento, se arrastran, se redimensionan y se cierran siguiendo un único conjunto de reglas, no uno nuevo por cada función. Todo lo que es demasiado grande para pertenecer a todo el mundo es un complemento del catálogo propio de vobuda, Design y Director hasta ahora, instalado y retirado entero de una pulsación.
Nada de esa disposición se guarda en una base de datos, porque no hay ninguna. Lo que la ventana está haciendo vive en memoria; lo que tú has decidido vive en archivos. Por eso un botón, una tecla, la barra de menú, Cmd+K y la línea de comandos llaman todos a la misma acción por su nombre, y por eso hacer que se comporte distinto casi siempre significa editar JSON.
Por eso también el mejor emulador de terminal para Mac, para el tipo de trabajo para el que está pensado, es uno que se puede inspeccionar. Si un ajuste existe, hay una línea en un archivo que lo contiene. Si una acción existe, hay un nombre con el que se puede invocar.
Cinco caminos hasta una acción, y es la misma acción
Con tantas acciones, en la práctica la mayor parte del programa queda oculta. Cmd+K es la vía que responde «qué puede hacer» en vez de «haz esto».
-
Enseña las teclas en vez de sustituirlas
Cada línea muestra su propio atajo. Quien recurre a la lista dos veces para la misma acción ya se ha aprendido la tecla a la tercera.
-
No es un quinto diccionario
Cada línea ejecuta una acción por su nombre, igual que las otras cuatro formas. Una comprobación coteja la tabla que muestra con la lista del núcleo de a qué se puede asociar una tecla, en ambas direcciones: una acción que existe y no se ofrece ahí hace fallar la compilación.
-
La línea de comandos es el mismo conjunto
vobuda do block.split-down, vobuda button files, vobuda theme catppuccin-mocha, vobuda send, vobuda signal, vobuda state, vobuda log, escritos en cualquier bloque de vobuda, y
vobuda mcpofrece los mismos comandos a un agente como herramientas MCP. No es una puerta trasera para scripts: las pruebas de interfaz manejan todo el programa a través de ella, por eso se puede confiar en ella, y por eso un agente puede reorganizar tu ventana y tú puedes leer exactamente qué hizo.
Los bloques, y lo que prometen
Un bloque cambia de pestaña con su shell en marcha
Arrastra un bloque por su cabecera hasta una pestaña de la franja y aterriza ahí: mismo id, mismo shell, misma carpeta, sigue ejecutando lo que estaba ejecutando. La pestaña se ilumina con el color de acento mientras el bloque está encima. También hay una acción para esto, block.to-tab:2, así que puede asignarse a una tecla y una comprobación sin ratón puede activarla.
Los tamaños se recuerdan, y hay un mínimo
Por bloque, y ningún bloque puede volverse tan estrecho que deje de ser usable. Un panel de 200 puntos es un panel que nadie puede usar.
Nada tuyo se va en silencio
Cerrar algo que está en marcha pregunta antes, por su nombre, porque perder el trabajo de alguien una sola vez cuesta más confianza de la que gana una función entera. Por la misma razón, la carpeta del proyecto se fotografía antes de cada turno de un agente, con una pulsación para volver atrás; una clave pegada a un agente se detiene antes de que el agente la vea; y una valla que puedes activar rechaza las escrituras y borrados de un agente fuera del proyecto.
Las sesiones vuelven por defecto
Las pestañas, los bloques y la carpeta de trabajo de cada bloque vuelven tras un reinicio, y esto está activado por defecto; un interruptor en la sección General lo desactiva. Una sesión que llega de otra máquina abre lo que puede y dice lo que no pudo, en vez de descartar bloques en silencio.
La carpeta de ajustes, archivo por archivo
Todo en ~/.config/vobuda es JSON legible, vigilado mientras el programa se ejecuta. Guarda el archivo y la ventana se redibuja.
| Archivo | Qué contiene |
|---|---|
| settings.json | Tema, apariencia, terminal, shell, ventana, señales: cada ajuste de las diez secciones |
| themes/*.json | Colores de la terminal y la ventana. Se incluyen 25 paletas, dos pensadas para deficiencias en la visión del color |
| looks/*.json | La forma de la ventana: esquinas, sombras, colores de panel, transparencia. Se incluyen 29 |
| skins/*.json | Qué paneles del monitor se dibujan, y cómo |
| buttons.json | El dock: botones, orden, lado, forma, y un color para los pocos que merece la pena resaltar |
| agents.json | Cómo se reconoce a un agente y qué se le ofrece |
| keys.json | Todos los atajos. El menú nativo de macOS se construye a partir de este mismo archivo |
| workspaces/*.json | Proyectos: cada uno una ventana con sus propias pestañas, carpeta, tema y dock |
Los temas integrados viven dentro del binario y la carpeta los sobrescribe, así que una actualización trae colores nuevos sin sobrescribir nada que hayas editado. Toda la carpeta se guarda como un único archivo comprimido y se restaura en otro Mac, y en un Mac una copia vive en iCloud Drive, activada por defecto, con un interruptor para desactivarla.
Un monitor del sistema, organizado por un archivo
Doce tipos de panel, y cuáles ves depende de un skin, no de una pantalla que alguien diseñó una vez.
-
Los números son honestos consigo mismos
Un valor que el sistema estima en vez de medir se dibuja con una tilde, y el hardware ausente da un valor ausente, no un cero. Una máquina sin GPU discreta no obtiene un panel de GPU que marque cero por ciento.
-
Ambas direcciones, con un botón de copiar en cada una
El panel de direcciones muestra primero la dirección que ve internet y debajo la que esta máquina tiene en su propia red. Pregunta solo mientras el panel está en pantalla, más o menos una vez cada diez minutos, o cada treinta segundos mientras aún no se conoce ninguna dirección, y la solicitud no lleva ningún dato de la máquina.
-
Se reordena arrastrando, como todo lo demás
Los paneles del monitor, los botones del dock y las partes de la barra del agente se cogen y se colocan donde corresponde con el mismo gesto. Una fila de ajustes se agarra por el asa de su izquierda y no por cualquier punto de la fila, así que un arrastre que empieza en un campo de texto no te impide seleccionar la palabra que querías cambiar.
Un archivo se abre junto a la shell
Lo que una terminal normalmente te obliga a hacer en otro sitio: aparece una ruta en la salida, hay que cambiar dos líneas, y hasta ahora eso significaba salir a un editor y volver habiendo perdido el contexto de la shell.
-
Guardar es un acto deliberado
No se escribe nada hasta Cmd+S. Un editor que escribe mientras tecleas está bien en una app de notas y mal al lado de una shell en marcha. Es una acción, no una simple pulsación, lo que también le da un elemento de menú, un atajo y una entrada en la línea de comandos como todo lo demás aquí.
-
Lo que se niega a hacer importa tanto como lo que escribe
Un archivo modificado en disco desde que se abrió no se sobrescribe. Un binario no se muestra como texto ilegible. Una carpeta directamente no se abre. Los cambios sin guardar llevan una marca visible, y cerrar un archivo editado pregunta antes.
-
Encontrar un archivo
El panel de archivos busca por nombre por debajo de la carpeta en la que estás situado, y cada resultado indica en qué dos carpetas se encuentra, porque un nombre por sí solo no distingue dos index.ts. Se salta node_modules, .git, target y similares, se detiene a los ocho niveles o los doscientos resultados, y no hace nada con menos de dos letras.
Los ajustes, como pantalla y como archivos
Diez secciones, de General a Datos y privacidad, una búsqueda sobre cada ajuste, y cada uno de ellos es una línea en un archivo que también puedes editar a mano.
-
Los ajustes vienen al bloque
Hacer clic derecho en un panel significa «esto de aquí, cámbialo». Así que elegir una línea de ajustes en el propio menú de un bloque abre esa sección sobre la ventana, en la esquina del menú, en vez de llevarte a la pantalla de ajustes. Es una acción como todo lo demás: settings.here:themes, settings.here:monitor.
-
Un sonido que puedes escuchar al elegirlo
Elegir un sonido de señal o la campana de la terminal lo reproduce. Elegir un sonido de una lista de nombres que no puedes oír es elegir un nombre.
-
Nada pide reiniciar
La carpeta de ajustes se vigila, incluidas las dos cosas que pertenecen al núcleo: la barra de menú de macOS construida a partir de tu archivo de atajos, y la tecla global de la ventana desplegable, cuya tecla anterior se libera antes de registrar la nueva para que no puedan responder dos a la vez. Una comprobación lee cada texto de ayuda de la pantalla de ajustes y falla si aparece la palabra reiniciar.
Hablar y que te lean
Ambas usan la propia voz del sistema, en tu máquina. El audio nunca sale del ordenador.
Dictado
Cmd+Shift+V escribe lo que dices en el bloque en el que estás trabajando, y la franja indica en qué idioma está escuchando, en dos letras. Una frase dictada se escribe y nunca se ejecuta: el reconocimiento se equivoca al oír, y un comando mal oído que se ejecuta solo es un programa que borra cosas porque había una radio encendida. Junto a un agente, donde una frase es un mensaje y no un comando, puede enviarse sola, y eso es un ajuste que se lee en el momento en que termina la frase.
Leer la respuesta en voz alta
Cmd+Shift+R lee en voz alta la última respuesta del agente; pulsarlo de nuevo la detiene. Lo que se lee es la respuesta, no la pantalla. Una viñeta al principio, asteriscos alrededor de una palabra enfatizada, comillas invertidas alrededor de un nombre, una línea de recuadro, una ruta completa donde bastaría el nombre del archivo: eso desaparece, y las palabras que contienen se quedan. La lectura está delimitada por formas, no por palabras, por abajo con la línea de entrada del agente y por arriba con su logo, porque los elementos visuales de un agente cambian con cada versión suya.
Los pequeños detalles que deciden si te lo quedas
El botón derecho es nuestro
En toda la ventana: el menú propio del bloque dentro de un bloque, el propio de la ventana fuera de ellos, la franja de pestañas, el dock, el espacio entre mosaicos. Cada línea es una acción, y el menú tiene su propia acción, block.menu, así que un gesto que solo alcanza una mano no es un gesto que nada puede comprobar. El único sitio que conserva el menú del sistema es un campo de texto, donde ofrece cortar, copiar, pegar y el diccionario.
Abrir una carpeta desde cualquier sitio
vobuda://open?path=/some/path abre una pestaña en esa carpeta, desde una acción de Finder, un script u otra app. macOS no tiene un ajuste de terminal predeterminada a nivel de sistema, así que esta es la versión honesta de esa función en vez de una promesa que no puede cumplir.
Buscar dentro de un bloque
Cmd+F. El campo pertenece al bloque en el que busca, y al cerrarlo la vista se queda donde estaba la coincidencia.
Llévate el bloque contigo
Cmd+Shift+X copia el texto de un bloque, pedido a la propia terminal, que es también lo que hace que funcione con el renderizado por GPU activado, donde no hay texto en la página que seleccionar. Una imagen del bloque son dos acciones en Cmd+K, Block snapshot to clipboard y Block snapshot to a file.
Comprobaciones de actualización que no son una tarea
El núcleo comprueba una vez al día, en un hilo propio, y lo que ves es una franja encima de la disposición y no sobre ella, porque un aviso que tapa una terminal es uno que la gente aprende a cerrar sin leer. Nada se instala hasta que pulsas: para un agente la actualización es un comando escrito en el bloque activo donde se ve su salida, y para Vobuda en un Mac el botón instala la versión nueva en segundo plano y luego ofrece un reinicio, que ocurre solo a los diez segundos cuando no hay nada en ejecución.
Cuarenta idiomas, y una guía en cada uno
Incluida la barra de menú de macOS, que el sistema construye en el núcleo. El árabe y el hebreo reflejan toda la ventana excepto la terminal misma, donde reflejarla haría ilegibles la salida y las rutas. Una clave de traducción es la cadena en inglés, así que una cadena sin traducir cae de vuelta a un inglés legible en vez de a un espacio en blanco o un identificador.
Prueba las partes de las que acabas de leer
Tras dos preguntas breves en el primer arranque, se abre con un solo bloque de terminal y nada más. Todo lo anterior es algo que activas cuando quieres.
curl -fsSL https://vobuda.com/install.sh | sh