# Wir stellen Workspace Widgets vor (/docs/de/posts/announcing-workspace-widgets)



# Wir stellen Workspace Widgets vor [#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.

<!-- more -->

## Was sich geändert hat [#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 [#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 [#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-ü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:

. 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).
. 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.
. 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](/guides/widgets/host-sdk/).

## Probiere es aus [#probiere-es-aus]

Öffne deinen [Arbeitsbereich](/workspace), 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
