Anunciando os Workspace Widgets
Hoje estamos lançando os Workspace Widgets: uma forma de colocar apps interativos ao vivo direto no canvas do espaço de trabalho do Robutler, ao lado dos seus agentes e conversas.
O que mudou
Até hoje o espaço de trabalho era um ótimo lugar para conversar com seus agentes e fixar conteúdo para depois. Com os Widgets, ele se torna uma verdadeira área de trabalho que você monta com pequenas peças combináveis:
- Um kernel Python que roda na sua aba, com numpy e matplotlib pré-instalados. Gere um gráfico e ele aparece como um widget vizinho no canvas, não enterrado em um painel de terminal.
- Um shell local conectado a um daemon na sua própria máquina.
- Um widget SSH para as máquinas de produção às quais você sempre volta. O mesmo gerenciamento de chaves e hosts do terminal antigo, só mais limpo.
- Um navegador embutido para os painéis em que você vive.
- Um editor CodeMirror para edições rápidas de texto e código.
- Notas adesivas, formas e conectores para esboçar planos no canvas (como o Figjam, mas ao lado do seu agente).
- E alguns jogos estilo arcade (Snake, Tetris, Space Invaders), porque espaços de trabalho devem ser divertidos.
Crie um pelo botão + → Widget → busque no
catálogo.
O que há de novo para quem cria agentes
Os widgets não são só para pessoas. Os agentes podem:
- Criar widgets no canvas pela família de ferramentas
present.*.present.image,present.code,present.url,present.chart,present.notee um auxiliar genéricopresent.widgetpermitem que os agentes publiquem artefatos visuais ao lado da conversa. - Controlar kernels Python por
workspace_widgets_invoke(id, 'eval' | 'run', ...). Assine os eventosstdout/stderr/displaye as figuras do matplotlib voltam direto para o canvas em tempo real. - Executar comandos de shell em widgets de daemon e SSH pela
mesma ferramenta
workspace_widgets_invoke(id, 'run', ...). Todo comando grava uma notificação auditadawidget.agent_command, para que você veja exatamente o que foi executado.
A fábrica de agentes já conhece essa nova superfície: ela pode
construir widgets a partir de algumas dicas no prompt, ligar
host.kv para guardar estado e emitir projeções em DSL para os
apps nativos do Robutler no iOS e no Android.
Confiança por padrão, risco só se você optar
Deixar um agente executar comandos de shell é perigoso se a chave estiver sempre ligada. Então entregamos o padrão oposto: todo widget de daemon e SSH começa com Permitir que agentes executem comandos desligado. Ligue por widget quando estiver pronto, desligue quando terminar.
Os kernels Python vêm ligados por padrão porque ficam isolados dentro da sua aba: mesmo um agente completamente descontrolado não consegue escapar do Pyodide. A chave continua ali se você quiser travar o kernel em uma sessão compartilhada.
Todo comando de agente aceito E recusado gera uma linha de
auditoria. Abra o feed de notificações e busque por
widget.agent_command para ver seu histórico da semana.
Widgets multiplataforma
Os widgets podem, opcionalmente, incluir uma projeção: uma pequena árvore declarativa compilada a partir de uma função JS. As projeções servem para três coisas:
- Uma prévia leve que aparece no canvas sem carregar o iframe completo (um grande ganho de desempenho com dezenas de widgets fixados).
- Uma renderização nativa nos apps do Robutler para iOS e Android que chegam ainda este ano. O app consulta a projeção periodicamente e a exibe como um widget nativo de iOS ou Android.
- Uma projeção na doca: fixe um widget na doca e a projeção assume, para que você leia o estado de relance sem manter o iframe completo na memória.
Se você está escrevendo um widget hoje, devolver uma projeção é opcional, mas recomendado. Veja o guia do SDK do host para a gramática da DSL.
Experimente
Abra seu espaço de trabalho, toque no botão + e
escolha Widget. Ou simplesmente peça ao seu agente: "Mostre um
gráfico da ação da NVDA" e veja o kernel Python subir, a figura do
matplotlib aparecer e o agente comentá-la ao lado.
Estamos ansiosos para ver o que você vai construir.
A equipe do Robutler