Plural — это «общая комната» (shared session) для одного AI coding-агента. Идея: один человек (host) запускает агента локально на своей машине под своими кредами/подпиской, а коллеги подключаются из терминала и видят в реальном времени все реплики агента, вызовы инструментов и диффы. Модель похожа на «pair programming со своим ИИ, но с коллегами в зрительном зале (или в кабине пилота)».
Лицензия: Apache-2.0. Статус: Alpha (judging по classifiers в pyproject.toml).
open — все участники могут писать агенту напрямую;review — host сначала одобряет промпт, и только потом
он уходит агенту. Режим можно переключать на ходу.curl -fsSL https://raw.githubusercontent.com/Plural-Organization/Plural/main/install.sh | shРаботает на macOS и Linux (arm64/x64), на Windows — через WSL. Скрипт
ставит uv, host-бинарник plural-host и клиент
plural.
cd your-project
pluralПервая строка в разговоре — это инвайт, который можно отправить коллеге:
plural join "ws://…"Без ключа host запускает скриптованного демо-агента. Для реальной модели:
ANTHROPIC_API_KEY=sk-ant-… pluralИли через F2 → Model → Claude OAuth.
src/plural/ — основной Python-пакет (бэкенд/host, пакет
plural-agent на PyPI). Точка входа
plural-host = plural.cli.main:app (CLI на
typer).tui/ — отдельный npm-workspace: терминальный клиент
(TUI) на Node.js (>=22), входит в монорепо через
package.json (workspaces).client/ — npm-workspace клиентской части (возможно,
библиотека протокола или SDK для клиента).web/ — npm-workspace веб-части проекта.deploy/ — материалы по деплою relay-сервера.docs/ — документация: usage.md,
configuration.md, protocol.md (wire-протокол),
threat-model.md (модель угроз), adr/
(architecture decision records), development.md.tests/ — тесты Python-части.scripts/, install.sh,
dist-bin/ — вспомогательные скрипты и сборка установочного
скрипта/бинарников.pyproject.toml — конфигурация Python-пакета
plural-agent (Python >= 3.12, сборка через
hatchling).package.json (корневой) — монорепо npm workspaces:
client, tui, web.Python (host/агент): aiosqlite,
anthropic, cryptography, openai,
pydantic / pydantic-settings,
rich, starlette, structlog,
typer, uvicorn, websockets. Для
разработки: pytest, pytest-asyncio,
hypothesis, import-linter,
pyright, ruff, pip-audit,
coverage.
Node.js (client/tui/web): монорепо на npm workspaces, Node >= 22.
Проект явно подчёркивает модель безопасности: host — единственный,
кто владеет кредами и подтверждает опасные действия; guest-пользователи
не могут обойти это через правила автопропуска. Есть отдельные
SECURITY.md и docs/threat-model.md, что
говорит о серьёзном подходе к модели угроз в multiplayer-сценарии с
несколькими участниками и одним реальным агентом.
Plural — это инфраструктура для совместной работы команды с одним AI coding агентом в реальном времени: один человек даёт агенту доступ и подписку, все остальные наблюдают, предлагают промпты и видят происходящее в удобном TUI, при этом финальный контроль над опасными действиями всегда остаётся у host.