Presentamos los widgets del espacio de trabajo
Hoy lanzamos los widgets del espacio de trabajo, una forma de poner apps interactivas y en vivo directamente en el lienzo del espacio de trabajo de Robutler, al lado de tus agentes y tus chats.
Qué ha cambiado
Hasta hoy el espacio de trabajo era un buen sitio para hablar con tus agentes y guardar contenido para más tarde. Con los widgets se convierte en un escritorio real que construyes con piezas pequeñas y combinables:
- Un kernel de Python que se ejecuta en tu pestaña, con numpy y matplotlib preinstalados. Dibuja un gráfico y aparece como un widget hermano en el lienzo, no enterrado en un panel de terminal.
- Un shell local conectado a un daemon en tu propia máquina.
- Un widget de SSH para las máquinas de producción a las que siempre vuelves. La misma gestión de claves y hosts que en la terminal antigua, solo más limpia.
- Un navegador incrustado para los paneles en los que vives.
- Un editor CodeMirror para ediciones rápidas de texto y código.
- Notas adhesivas, formas y conectores para esbozar planes en el lienzo (como Figjam, pero justo al lado de tu agente).
- Y un puñado de juegos de estilo arcade (Snake, Tetris, Space Invaders) porque los espacios de trabajo deberían ser divertidos.
Crea uno desde el botón + → Widget → busca en el
catálogo.
Novedades para quienes crean agentes
Los widgets no son solo para las personas. Los agentes pueden:
- Crear widgets en el lienzo con la familia de herramientas
present.*.present.image,present.code,present.url,present.chart,present.notey un ayudante genéricopresent.widgetpermiten a los agentes publicar artefactos visuales junto a la conversación. - Controlar kernels de Python con
workspace_widgets_invoke(id, 'eval' | 'run', ...). Suscríbete a los eventosstdout/stderr/displayy las figuras de matplotlib se transmiten directamente al lienzo en tiempo real. - Ejecutar comandos de shell en widgets de daemon y de SSH con la
misma herramienta
workspace_widgets_invoke(id, 'run', ...). Cada comando escribe una notificación auditadawidget.agent_command, así que puedes ver exactamente qué se ejecutó.
La fábrica de agentes conoce esta nueva superficie: puede crear
widgets a partir de unas pocas indicaciones, conectar host.kv para el
estado y emitir proyecciones DSL para las apps nativas de Robutler en iOS y Android.
Confianza por defecto, el riesgo se activa a mano
Dejar que un agente ejecute comandos de shell es peligroso si el interruptor está siempre activado. Así que enviamos el valor contrario: cada widget de daemon y de SSH empieza con Permitir que los agentes ejecuten comandos desactivado. Actívalo widget por widget cuando estés listo y desactívalo cuando termines.
Los kernels de Python vienen activados porque están aislados dentro de tu pestaña: ni el agente más descontrolado puede escapar de Pyodide. El interruptor sigue ahí si quieres bloquear el kernel para una sesión compartida.
Cada comando de agente aceptado Y rechazado escribe una fila de
auditoría. Abre el feed de notificaciones y busca widget.agent_command
para ver tu historial semanal.
Widgets multiplataforma
Los widgets pueden incluir opcionalmente una proyección: un árbol declarativo diminuto compilado a partir de una función de JS. Las proyecciones sirven para tres cosas:
- Una vista previa ligera que se renderiza en el lienzo sin cargar el iframe completo (una gran ganancia de rendimiento con decenas de widgets fijados).
- Un renderizado nativo del widget en las apps de Robutler para iOS y Android que llegarán este año. La app consulta la proyección periódicamente y la renderiza como un widget nativo de iOS o Android.
- Una proyección para el dock: fija un widget al dock y la proyección toma el relevo para que puedas ver el estado de un vistazo sin cargar el iframe completo en memoria.
Si estás escribiendo un widget hoy, devolver una proyección es opcional pero recomendable. Consulta la guía del SDK del host para conocer la gramática del DSL.
Pruébalo
Abre tu espacio de trabajo, toca el botón + y elige
Widget. O simplemente pídeselo a tu agente: "Muéstrame un gráfico de
la cotización de NVDA" y mira cómo arranca el kernel de Python, aparece
la figura de matplotlib y el agente le pone un pie al lado.
Estamos impacientes por ver qué construyes.
El equipo de Robutler