Robutler

Wir stellen Workspace Widgets vor

Heute veröffentlichen wir Workspace Widgets, eine Möglichkeit, lebende, interaktive Apps direkt auf die Leinwand des Robutler-Arbeitsbereichs zu bringen, direkt neben deinen Agenten und Chats.

Was sich geändert hat

Bis heute war der Arbeitsbereich ein guter Ort, um mit deinen Agenten zu sprechen und Inhalte für später anzupinnen. Mit Widgets wird er zu einem echten Schreibtisch, den du aus kleinen, kombinierbaren Teilen baust:

  • Ein Python-Kernel, der in deinem Tab läuft, numpy und matplotlib vorinstalliert. Zeichne ein Diagramm, und es landet als eigenes Widget auf der Leinwand, nicht vergraben in einem Terminalfenster.
  • Eine lokale Shell, verbunden mit einem Dienst auf deinem eigenen Rechner.
  • Ein SSH-Widget für die Produktionsserver, zu denen du immer wieder zurückkommst. Dieselbe Verwaltung von Schlüsseln und Hosts wie im alten Terminal, nur aufgeräumter.
  • Ein eingebetteter Browser für die Dashboards, in denen du lebst.
  • Ein CodeMirror-Editor für schnelle Änderungen an Text und Code.
  • Klebezettel, Formen und Verbindungslinien, um Pläne auf der Leinwand zu skizzieren (wie Figjam, nur direkt neben deinem Agenten).
  • Und eine Handvoll Arcade-Spiele (Snake, Tetris, Space Invaders), weil Arbeitsbereiche Spaß machen sollten.

Starte eines über die Schaltfläche + → Widget → durchsuche den Katalog.

Was für Agenten-Bauende neu ist

Widgets sind nicht nur für Menschen. Agenten können:

  • Widgets auf die Leinwand bringen, über die Werkzeugfamilie present.*. present.image, present.code, present.url, present.chart, present.note und ein allgemeines present.widget erlauben Agenten, visuelle Ergebnisse neben dem Gespräch einzustellen.
  • Python-Kernel steuern, über workspace_widgets_invoke(id, 'eval' | 'run', ...). Abonniere die Ereignisse stdout / stderr / display, und matplotlib-Grafiken fließen in Echtzeit direkt zurück auf die Leinwand.
  • Shell-Befehle ausführen, auf Dienst- und SSH-Widgets über dasselbe Werkzeug workspace_widgets_invoke(id, 'run', ...). Jeder Befehl schreibt eine protokollierte widget.agent_command-Benachrichtigung, sodass du genau sehen kannst, was gelaufen ist.

Die Agenten-Fabrik kennt die neue Oberfläche: Sie kann Widgets aus wenigen Hinweisen im Prompt bauen, host.kv für den Zustand verdrahten und DSL-Projektionen für die nativen iOS- und Android-Apps von Robutler ausgeben.

Vertrauen als Standard, Risiko nur auf Wunsch

Einen Agenten Shell-Befehle ausführen zu lassen ist gefährlich, wenn der Schalter immer AN ist. Deshalb liefern wir den umgekehrten Standard: Jedes Dienst- und SSH-Widget startet mit Agenten dürfen Befehle ausführen AUS. Stell es pro Widget AN, wenn du bereit bist, und AUS, wenn du fertig bist.

Python-Kernel sind standardmäßig AN, weil sie in deinem Tab abgeschottet sind: Selbst ein völlig aus dem Ruder gelaufener Agent kann Pyodide nicht entkommen. Der Schalter ist trotzdem da, wenn du den Kernel für eine gemeinsame Sitzung sperren willst.

Jeder angenommene UND abgelehnte Agentenbefehl schreibt eine Protokollzeile. Öffne den Benachrichtigungsverlauf und suche nach widget.agent_command, um deine Wochenhistorie zu sehen.

Widgets über Plattformen hinweg

Widgets können optional eine Projektion mitbringen, einen kleinen deklarativen Baum, der aus einer JS-Funktion übersetzt wird. Projektionen treiben drei Dinge an:

  1. Eine leichte Vorschau, die auf der Leinwand rendert, ohne das vollständige Iframe zu laden (ein großer Gewinn für die Leistung, wenn Dutzende Widgets angepinnt sind).
  2. Eine native Widget-Darstellung in den iOS- und Android-Apps von Robutler, die später in diesem Jahr kommen. Die App ruft die Projektion regelmäßig ab und stellt sie als echtes iOS- oder Android-Widget dar.
  3. Eine Dock-Projektion: Pinne ein Widget an das Dock, und die Projektion übernimmt, sodass du den Zustand auf einen Blick lesen kannst, ohne das vollständige Iframe im Speicher zu halten.

Wenn du heute ein Widget schreibst, ist eine Projektion optional, aber empfohlen. Die DSL-Grammatik findest du im Leitfaden zum Host-SDK.

Probiere es aus

Öffne deinen Arbeitsbereich, tippe auf die Schaltfläche + und wähle Widget. Oder frag einfach deinen Agenten: "Zeig mir ein Aktiendiagramm für NVDA" und sieh zu, wie der Python-Kernel startet, die matplotlib-Grafik erscheint und der Agent sie daneben beschriftet.

Wir sind gespannt, was du baust.

Das Robutler-Team