# Workspace Widgets aangekondigd (/docs/nl/posts/announcing-workspace-widgets)



# Workspace Widgets aangekondigd [#workspace-widgets-aangekondigd]

Vandaag brengen we **Workspace Widgets** uit: een manier om live,
interactieve apps rechtstreeks op het canvas van je Robutler-werkruimte
te zetten, naast je agents en gesprekken.

<!-- more -->

## Wat er is veranderd [#wat-er-is-veranderd]

Tot vandaag was de werkruimte een prima plek om met je agents te
praten en inhoud voor later vast te pinnen. Met Widgets wordt het een
echt bureaublad dat je opbouwt uit kleine, combineerbare onderdelen:

* Een **Python-kernel** die in je tabblad draait, met numpy en
  matplotlib al geïnstalleerd. Maak een grafiek en die komt naast
  de andere widgets op het canvas te staan, niet verstopt in een
  terminalvenster.
* Een **lokale shell** die verbonden is met een daemon op je eigen
  machine.
* Een **SSH-widget** voor de productiemachines waar je steeds naar
  terugkeert. Hetzelfde beheer van sleutels en hosts als de oude
  terminal, alleen netter.
* Een **ingebedde browser** voor de dashboards waarin je leeft.
* Een **CodeMirror**-editor om snel tekst en code te bewerken.
* **Plaknotities**, **vormen** en **verbindingslijnen** om plannen
  op het canvas te schetsen (zoals Figjam, maar direct naast je
  agent).
* En een handvol arcadegames (Snake, Tetris, Space Invaders), want
  werkruimtes mogen leuk zijn.

Start er een via de `+`-knop → **Widget** → zoek in de catalogus.

## Wat er nieuw is voor wie agents bouwt [#wat-er-nieuw-is-voor-wie-agents-bouwt]

Widgets zijn niet alleen voor mensen. Agents kunnen:

* **Widgets op het canvas zetten** via de gereedschapsfamilie
  `present.*`. Met `present.image`, `present.code`, `present.url`,
  `present.chart`, `present.note` en een algemene hulpfunctie
  `present.widget` kunnen agents visueel materiaal naast het
  gesprek plaatsen.
* **Python-kernels besturen** via `workspace_widgets_invoke(id,
  'eval' | 'run', ...)`. Abonneer je op `stdout` / `stderr` /
  `display`-gebeurtenissen en matplotlib-figuren stromen in realtime
  rechtstreeks terug naar het canvas.
* **Shell-opdrachten uitvoeren** op daemon- en SSH-widgets via
  hetzelfde gereedschap `workspace_widgets_invoke(id, 'run', ...)`.
  Elke opdracht schrijft een controleerbare
  `widget.agent_command`-melding, zodat je precies kunt zien wat er
  is uitgevoerd.

De agentfabriek kent de nieuwe mogelijkheden: hij kan widgets bouwen
uit een paar aanwijzingen in een prompt, `host.kv` aansluiten voor
de status, en DSL-projecties maken voor de Robutler-apps voor iOS en
Android.

## Standaard vertrouwd, risico alleen als je het aanzet [#standaard-vertrouwd-risico-alleen-als-je-het-aanzet]

Een agent shell-opdrachten laten uitvoeren is gevaarlijk als de
schakelaar altijd AAN staat. Daarom kiezen we het omgekeerde: elke
daemon- en SSH-widget begint met **Agents opdrachten laten uitvoeren**
UIT. Zet het per widget AAN als je er klaar voor bent, en UIT als je
klaar bent.

Python-kernels staan standaard AAN omdat ze afgeschermd in je tabblad
draaien: zelfs een volledig ontspoorde agent komt niet uit Pyodide.
De schakelaar is er nog wel, mocht je de kernel voor een gedeelde
sessie op slot willen zetten.

Elke geaccepteerde EN geweigerde agentopdracht schrijft een regel in
het controlespoor. Open de meldingenlijst en zoek met grep op
`widget.agent_command` om je geschiedenis van de week te zien.

## Widgets op elk platform [#widgets-op-elk-platform]

Widgets kunnen optioneel een **projectie** meeleveren: een kleine
declaratieve boom die uit een JS-functie wordt samengesteld.
Projecties maken drie dingen mogelijk:

. Een lichte voorvertoning die op het canvas wordt getekend zonder
  de volledige iframe te laden (een enorme winst in snelheid bij
  tientallen vastgepinde widgets).
. Een eigen weergave in de Robutler-apps voor iOS en Android die
  later dit jaar komen. De app haalt de projectie regelmatig op en
  tekent hem als een echte iOS- of Android-widgettegel.
. Een dockprojectie: pin een widget aan de dock en de projectie
  neemt het over, zodat je de status in één oogopslag kunt lezen
  zonder de volledige iframe in het geheugen te houden.

Schrijf je vandaag een widget, dan is een projectie teruggeven
optioneel maar aangeraden. Zie de
[handleiding voor de host-SDK](/guides/widgets/host-sdk/) voor de
grammatica van de DSL.

## Probeer het [#probeer-het]

Open je [werkruimte](/workspace), tik op de `+`-knop en kies
**Widget**. Of vraag het gewoon aan je agent: "Laat me een
koersgrafiek van NVDA zien" en zie de Python-kernel opstarten, de
matplotlib-figuur verschijnen en de agent er een tekst bij zetten.

We kunnen niet wachten om te zien wat je bouwt.

Het team van Robutler
