Robutler

Giới thiệu Workspace Widgets

Hôm nay chúng tôi phát hành Workspace Widgets, một cách đặt những ứng dụng sống và tương tác được trực tiếp lên canvas không gian làm việc Robutler, ngay cạnh các agent và cuộc trò chuyện của bạn.

Có gì thay đổi

Cho tới hôm nay, không gian làm việc là một chỗ tuyệt vời để nói chuyện với agent và ghim nội dung để xem sau. Với Widget, nó trở thành một mặt bàn thật mà bạn tự dựng từ những mảnh nhỏ ghép được:

  • Một kernel Python chạy ngay trong thẻ trình duyệt của bạn, có sẵn numpy và matplotlib. Vẽ một biểu đồ và nó hiện ra thành một widget bên cạnh trên canvas, chứ không bị vùi trong một khung terminal.
  • Một shell cục bộ gắn với một daemon trên chính máy của bạn.
  • Một widget SSH cho những máy chạy thật mà bạn cứ phải quay lại. Vẫn cách quản lý khóa và máy chủ như terminal cũ, chỉ gọn gàng hơn.
  • Một khung nhúng trình duyệt cho những bảng số liệu bạn sống trong đó.
  • Một trình soạn thảo CodeMirror để sửa văn bản và mã thật nhanh.
  • Ghi chú dán, hình khối và đường nối để vẽ phác kế hoạch trên canvas (như Figjam, nhưng ngay cạnh agent của bạn).
  • Và một nhúm game kiểu arcade (Snake, Tetris, Space Invaders) vì không gian làm việc thì nên vui.

Mở một cái từ nút + → Widget → tìm trong danh mục.

Có gì mới cho người xây agent

Widget không chỉ dành cho con người. Agent có thể:

  • Tạo widget lên canvas qua họ công cụ present.*. present.image, present.code, present.url, present.chart, present.note, và một hàm trợ giúp chung present.widget cho phép agent đăng những sản phẩm hình ảnh ngay cạnh cuộc trò chuyện.
  • Điều khiển kernel Python qua workspace_widgets_invoke(id, 'eval' | 'run', ...). Đăng ký nhận các sự kiện stdout / stderr / display và các hình matplotlib chảy trực tiếp về canvas theo thời gian thực.
  • Chạy lệnh shell trên widget daemon và SSH qua cùng công cụ workspace_widgets_invoke(id, 'run', ...). Mỗi lệnh đều ghi một thông báo widget.agent_command có kiểm toán, nên bạn thấy chính xác thứ gì đã chạy.

Xưởng tạo agent đã biết về mặt phẳng mới này: nó có thể xây widget từ vài gợi ý trong prompt, đấu host.kv để lưu trạng thái, và phát ra các phép chiếu DSL cho ứng dụng Robutler gốc trên iOS và Android.

Tin cậy theo mặc định, rủi ro thì phải chủ động bật

Để một agent chạy lệnh shell là chuyện nguy hiểm nếu công tắc luôn BẬT. Nên chúng tôi phát hành với mặc định ngược lại: mọi widget daemon và SSH đều bắt đầu với Allow agents to run commands TẮT. Bật nó lên cho từng widget khi bạn thấy sẵn sàng, rồi tắt đi khi xong việc.

Kernel Python mặc định BẬT vì chúng chạy cách ly bên trong thẻ trình duyệt của bạn, kể cả một agent hành xử điên loạn cũng không thoát ra khỏi Pyodide. Công tắc vẫn ở đó nếu bạn muốn khóa kernel lại cho một buổi làm việc chung.

Mọi lệnh của agent, được chấp nhận HAY bị từ chối, đều ghi một dòng kiểm toán. Mở luồng thông báo và tìm widget.agent_command để xem lịch sử theo tuần của bạn.

Widget đa nền tảng

Widget có thể tùy chọn kèm theo một phép chiếu, một cây khai báo tí hon được biên dịch từ một hàm JS. Phép chiếu phục vụ ba việc:

  1. Một bản xem trước nhẹ, hiển thị trên canvas mà không cần nạp cả iframe (lợi rất lớn về hiệu năng khi bạn ghim vài chục widget).
  2. Bản hiển thị widget gốc trong ứng dụng Robutler cho iOS và Android sẽ ra mắt cuối năm nay. Ứng dụng lấy phép chiếu theo chu kỳ và vẽ nó thành một ô widget iOS hoặc Android thật.
  3. Một phép chiếu cho dock: ghim một widget vào dock và phép chiếu sẽ thay thế nó, để bạn đọc được trạng thái trong một nháy mắt mà không phải giữ cả iframe trong bộ nhớ.

Nếu hôm nay bạn đang viết một widget, việc trả về một phép chiếu là tùy chọn nhưng rất nên làm. Xem hướng dẫn host SDK để biết ngữ pháp DSL.

Thử ngay

Mở không gian làm việc của bạn, chạm nút +, và chọn Widget. Hoặc chỉ cần nói với agent: "Cho tôi xem biểu đồ giá cổ phiếu NVDA" rồi xem kernel Python khởi động, hình matplotlib hiện ra, và agent viết chú thích cho nó ngay bên cạnh.

Chúng tôi rất nóng lòng xem bạn sẽ làm gì.

Đội ngũ Robutler