Annonce des widgets d'espace de travail
Aujourd'hui nous livrons les widgets d'espace de travail : un moyen de poser des apps interactives et vivantes directement sur le canevas de l'espace de travail Robutler, côte à côte avec vos agents et vos conversations.
Ce qui change
Jusqu'à aujourd'hui, l'espace de travail était un bon endroit pour parler à vos agents et épingler du contenu pour plus tard. Avec les widgets, il devient un vrai bureau que vous composez à partir de petites pièces :
- Un noyau Python qui tourne dans votre onglet, avec numpy et matplotlib préinstallés. Tracez un graphique et il arrive comme widget voisin sur le canevas, pas enfoui dans un panneau de terminal.
- Un shell local rattaché à un démon sur votre propre machine.
- Un widget SSH pour les machines de production sur lesquelles vous revenez sans cesse. La même gestion de clés et d'hôtes que l'ancien terminal, en plus net.
- Un navigateur intégré pour les tableaux de bord où vous passez vos journées.
- Un éditeur CodeMirror pour des modifications rapides de texte et de code.
- Des notes autocollantes, des formes et des connecteurs pour esquisser des plans sur le canevas (comme Figjam, mais juste à côté de votre agent).
- Et une poignée de jeux d'arcade (Snake, Tetris, Space Invaders), parce qu'un espace de travail doit aussi être amusant.
Lancez-en un depuis le bouton + → Widget → cherchez dans le
catalogue.
Ce qui est nouveau pour ceux qui créent des agents
Les widgets ne sont pas réservés aux humains. Les agents peuvent :
- Faire apparaître des widgets sur le canevas via la famille
d'outils
present.*.present.image,present.code,present.url,present.chart,present.noteet un utilitaire génériquepresent.widgetpermettent aux agents de publier des artefacts visuels à côté de la conversation. - Piloter des noyaux Python via
workspace_widgets_invoke(id, 'eval' | 'run', ...). Abonnez-vous aux événementsstdout/stderr/displayet les figures matplotlib remontent directement sur le canevas en temps réel. - Exécuter des commandes shell sur les widgets démon et SSH via le
même outil
workspace_widgets_invoke(id, 'run', ...). Chaque commande écrit une notification auditéewidget.agent_command, pour que vous voyiez exactement ce qui a tourné.
L'usine à agents connaît cette nouvelle surface : elle peut construire
des widgets à partir de quelques indications, brancher host.kv pour
l'état, et produire des projections DSL pour les applications Robutler
natives iOS et Android.
Confiance par défaut, le risque sur demande
Laisser un agent exécuter des commandes shell est dangereux si l'interrupteur est toujours sur ON. Nous livrons donc le réglage inverse : chaque widget démon et SSH démarre avec Autoriser les agents à exécuter des commandes sur OFF. Passez-le sur ON widget par widget quand vous êtes prêt, remettez-le sur OFF quand vous avez terminé.
Les noyaux Python sont sur ON par défaut parce qu'ils sont isolés dans votre onglet : même un agent qui déraille complètement ne peut pas sortir de Pyodide. L'interrupteur est quand même là si vous voulez verrouiller le noyau pour une session partagée.
Chaque commande d'agent acceptée ET refusée écrit une ligne d'audit.
Ouvrez le fil de notifications et cherchez widget.agent_command
pour voir votre historique de la semaine.
Widgets multiplateformes
Les widgets peuvent embarquer une projection : un petit arbre déclaratif compilé depuis une fonction JS. Les projections servent à trois choses :
- Un aperçu léger qui s'affiche sur le canevas sans charger l'iframe complète (gain énorme de performance quand des dizaines de widgets sont épinglés).
- Un rendu natif du widget dans les applications Robutler iOS et Android à venir cette année. L'application interroge la projection périodiquement et l'affiche comme une véritable tuile de widget iOS ou Android.
- Une projection pour le dock : épinglez un widget au dock et la projection prend le relais, pour lire l'état d'un coup d'œil sans garder l'iframe complète en mémoire.
Si vous écrivez un widget aujourd'hui, renvoyer une projection est optionnel mais encouragé. Voir le guide du SDK hôte pour la grammaire du DSL.
Essayez
Ouvrez votre espace de travail, appuyez sur le bouton +
et choisissez Widget. Ou demandez simplement à votre agent :
« Montre-moi le cours de NVDA en graphique » et regardez le noyau Python
démarrer, la figure matplotlib apparaître, et l'agent la légender juste
à côté.
Nous avons hâte de voir ce que vous allez construire.
L'équipe Robutler