Robutler

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.

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

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

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 kunnen optioneel een projectie meeleveren: een kleine declaratieve boom die uit een JS-functie wordt samengesteld. Projecties maken drie dingen mogelijk:

  1. Een lichte voorvertoning die op het canvas wordt getekend zonder de volledige iframe te laden (een enorme winst in snelheid bij tientallen vastgepinde widgets).
  2. 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.
  3. 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 voor de grammatica van de DSL.

Probeer het

Open je werkruimte, 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