Robutler

Анонс віджетів робочого простору

Сьогодні ми випускаємо віджети робочого простору: спосіб розмістити живі інтерактивні застосунки прямо на полотні робочого простору Robutler, поруч з вашими агентами й чатами.

Що змінилося

До сьогодні робочий простір був чудовим місцем, щоб говорити з агентами й закріплювати контент на потім. З віджетами він стає справжнім робочим столом, який ви складаєте з невеликих деталей:

  • Ядро Python, яке працює у вашій вкладці, numpy і matplotlib уже встановлені. Побудуйте графік, і він з'явиться сусіднім віджетом на полотні, а не загубиться в панелі термінала.
  • Локальна командна оболонка, підключена до демона на вашій власній машині.
  • Віджет SSH для робочих серверів, до яких ви постійно повертаєтеся. Те саме керування ключами й хостами, як у старому терміналі, просто чистіше.
  • Вбудований браузер для панелей, у яких ви живете.
  • Редактор CodeMirror для швидких правок тексту й коду.
  • Наліпки, фігури та з'єднувачі, щоб малювати плани на полотні (як у Figjam, але прямо поруч з вашим агентом).
  • І кілька аркадних ігор (Snake, Tetris, Space Invaders), бо робочі простори мають бути веселими.

Запустіть будь-який з кнопки + → Widget → шукайте в каталозі.

Що нового для тих, хто створює агентів

Віджети не лише для людей. Агенти можуть:

  • Створювати віджети на полотні через набір інструментів present.*. present.image, present.code, present.url, present.chart, present.note і універсальний помічник present.widget дають агентам змогу публікувати візуальні матеріали поруч із розмовою.
  • Керувати ядрами Python через workspace_widgets_invoke(id, 'eval' | 'run', ...). Підпишіться на події stdout / stderr / display, і зображення matplotlib будуть надходити прямо на полотно в реальному часі.
  • Виконувати команди оболонки у віджетах демона й SSH через той самий інструмент workspace_widgets_invoke(id, 'run', ...). Кожна команда записує сповіщення widget.agent_command для аудиту, тож ви бачите точно, що було виконано.

Фабрика агентів знає про нову поверхню: вона може створювати віджети з кількох підказок у запиті, підключати host.kv для стану й видавати проєкції DSL для нативних застосунків Robutler на iOS та Android.

Довіра за замовчуванням, ризик лише за згодою

Дозволяти агенту виконувати команди оболонки небезпечно, якщо перемикач завжди УВІМКНЕНО. Тому ми випускаємо протилежне значення за замовчуванням: кожен віджет демона й SSH починає з Allow agents to run commands у стані ВИМКНЕНО. Увімкніть його для окремого віджета, коли будете готові, і вимкніть, коли закінчите.

Для ядер Python за замовчуванням увімкнено, бо вони ізольовані у вашій вкладці: навіть агент, що поводиться зовсім дико, не вибереться з Pyodide. Перемикач усе одно є, якщо ви хочете закрити ядро для спільної сесії.

Кожна прийнята І відхилена команда агента записує рядок аудиту. Відкрийте потік сповіщень і знайдіть widget.agent_command, щоб побачити свою історію за тиждень.

Віджети для різних платформ

Віджети можуть за бажанням містити проєкцію: крихітне декларативне дерево, скомпільоване з функції JS. Проєкції забезпечують три речі:

  1. Легкий попередній вигляд, який показується на полотні без завантаження повного iframe (величезний виграш у швидкодії, коли закріплено десятки віджетів).
  2. Нативне відображення віджета у застосунках Robutler для iOS та Android, які виходять пізніше цього року. Застосунок періодично опитує проєкцію й показує її як справжню плитку віджета для iOS чи Android.
  3. Проєкцію для доку: закріпіть віджет у доку, і проєкція візьме на себе показ, тож ви бачите стан одним поглядом, не тримаючи повний iframe у пам'яті.

Якщо ви пишете віджет сьогодні, повертати проєкцію необов'язково, але бажано. Синтаксис DSL дивіться в посібнику з SDK хоста.

Спробуйте

Відкрийте свій робочий простір, натисніть кнопку + і виберіть Widget. Або просто попросіть свого агента: «Покажи мені графік акцій NVDA» і дивіться, як завантажується ядро Python, з'являється зображення matplotlib, а агент підписує його поруч.

Не можемо дочекатися, щоб побачити, що ви створите.

Команда Robutler