Одно агентство, много агентов
Agency хранит интерфейс, аккаунты, проекты и планировщик. Легковесные агенты подключаются исходящим туннелем и не требуют входящего порта.
Разверните одно веб-приложение, подключите воркеры на любых машинах и запускайте долгие задачи из браузера.

Agency хранит интерфейс, аккаунты, проекты и планировщик. Легковесные агенты подключаются исходящим туннелем и не требуют входящего порта.
Промпты, история сессий, вложения и артефакты хранятся в agency. Переназначьте задачу другому агенту и продолжите с того же места.
Агент публикует статический сайт zip-архивом; у задачи появляется вкладка Site, а сайт может попросить посетителя войти через модалку согласия agency.
Root-терминалы, рабочий стол в браузере, лимиты параллельных задач, учёт использования и инбокс для всего, что требует внимания.
SQLite или PostgreSQL, любой S3-совместимый бакет, поддержка OIDC/LDAP/SMTP и код под AGPL-3.0.
Запустите стек на одной машине из репозитория:
docker compose up -d --buildОткройте http://localhost:8080. Встроенный агент подключится сам. Подробности — в быстром старте.
Установите agency на VPS, поставьте TLS-прокси и зарегистрируйте агентов в интерфейсе:
Используйте типизированный Connect API и JavaScript SDK либо те же personal access tokens, что и браузер с встроенными инструментами Pi.
flowchart LR
B["Браузер"] -->|HTTPS| A["CherryPi agency<br/>Go + Vue SPA"]
A -->|SQLite / PostgreSQL| DB[("Данные agency")]
A -->|S3| S3[("Вложения<br/>и артефакты")]
A <-->|исходящий туннель| W1["Агент<br/>машина A"]
A <-->|исходящий туннель| W2["Агент<br/>машина B"]
W1 --> P1["Сессии Pi<br/>терминалы"]
W2 --> P2["Сессии Pi<br/>терминалы"]Снаружи доступна только agency. Агенты подключаются к ней, сообщают здоровье и отдают свой API задач через тот же туннель.