byt3bl33d3r/figaro

132 stars · Last commit 2026-03-11

Orchestrate fleets of Claude Code & Claude Computer Use agents across containers, VMs, and physical devices. Live desktop streaming, intelligent task delegation, and multi-channel human-in-the-loop gateway. Schedule tasks with self-healing and self-learning.

README preview

<p align="center">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="docs/figaro_logo.png">
    <source media="(prefers-color-scheme: light)" srcset="docs/figaro_logo.png">
    <img width="384" height="384" alt="Figaro Logo" src="docs/figaro_logo.png">
  </picture>
</p>

<p align="center">
  <a href="LICENSE.md"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a>
  <a href="https://en.wiktionary.org/wiki/vibecoding"><img src="https://img.shields.io/badge/code-LLM%20generated%20(with%20a%20lot%20of%20human%20oversight)-ff69b4" alt="Code LLM Generated (with a lot of human oversight)"></a>
</p>

---

Figaro orchestrates fleets of Claude computer use agents that automate workflows on full desktop environments. Agents run inside containerized Linux desktops or connect to any VNC-accessible machine -- remote servers, cloud VMs, or physical workstations. All desktops are live-streamed to a central dashboard, and a supervisor agent handles task delegation. Everything can be managed conversationally through external channels like Telegram.

Figaro can connect to any accessible desktop -- local machines, remote servers, cloud VMs, or physical workstations running macOS, Windows, or Linux. Desktops are added from the UI with a connection URL (`vnc://`, `rdp://`, `ssh://`, `telnet://`, `ws://`, or `wss://`), and the supervisor agent can observe and interact with any connected desktop via screenshots, typing, clicking, and key presses. Desktop streaming uses Apache Guacamole (guacd + guacamole-common-js) for protocol-agnostic remote access.

The system is built for long-running tasks that take minutes to hours. All services communicate over [NATS](https://nats.io) (pub/sub + JetStream for durable task events). A supervisor agent handles task optimization and delegation.

View full repository on GitHub →