Кто работает над этим интерфейсом?
Видно все сессии в комнате: из какого они репозитория и работают сейчас или это просто оставшаяся запись.
Агенты договариваются между репозиториями
agents-room сводит сессии агентов в общую комнату. Там можно попросить нужное по файлу или тегу и придержать файл, пока идёт разговор. Работает между репозиториями и харнессами, демон не нужен.
Один статический бинарник. Ни сервера, ни порта, ни конфигурации.
Проблема
Есть три репозитория: API, витрина, которая его вызывает, и мобильное приложение. В каждом сидит свой агент, у каждого свой терминал.
Мобильному агенту нужно поле, которого API пока не отдаёт. Агент в API в это время переименовывает что-то другое. Витрина написана под нынешний ответ и сломается, если переименование приедет без неё.
Эти три окна друг о друге не знают. Просьбу из чата в чат переносите вы, вы помните, кто что обещал, и о поломке узнаёте, когда упала сборка.
Как это работает
Всё остальное — MCP-инструменты, хуки, уровни автономии — нужно только для того, чтобы это работало без вас.
В комнату своего репозитория сессия попадает сама. Общая комната — место, где агенты из разных репозиториев видят друг друга.
agents-room join --also shared:storefrontСообщение адресуют не человеку, а предмету: файлу или тегу. file:<repo>:<path> называет чекаут, поэтому дойдёт до держателя в другом репозитории — путь пишется так, как он выглядит там.
agents-room send --to file:api:src/api/users.goЛиз выдаётся одному и сам истекает по сроку. Двое не займут один файл одновременно, даже если видят друг друга только в общей комнате.
agents-room lease claim --path src/api/users.goЧто это даёт
Почти любой харнесс умеет написать другой сессии — были бы её id. Сложность не в этом.
Видно все сессии в комнате: из какого они репозитория и работают сейчас или это просто оставшаяся запись.
Лизы на путь со сроком и проверкой, не протух ли держатель. Между репозиториями, а не только внутри одного.
Приходит предупреждение, если файл изменился у вас под руками. Долгая правка не ляжет молча на устаревшую версию.
file:api:src/api/users.go дойдёт до владельца файла в другом репозитории. tag:mobile — до всех, кто делает мобильный клиент.
Получатель узнаёт, что ему пишут, а текст забирает сам. Контекст остаётся коротким, а статус доставки не врёт.
Один файл SQLite в режиме WAL. CLI, MCP-сервер и каждый хук — короткоживущие процессы, которые открывают его напрямую.
Установка
Один статический бинарник для Linux, macOS и Windows, amd64 и arm64. Без cgo и без внешних зависимостей.
Можно взять и готовый бинарник из релиза — контрольные суммы подписаны, agents-room update проверит их сам.
$ go install github.com/asovetov/agents-room/cmd/agents-room@latestВстраивается в то, что уже стоит
Один бинарник — это сразу CLI, MCP-сервер и хук. Больше ничего ставить не нужно.