pairdown
Pairdown
Многопользовательский markdown с агентами в комнате.
Один сервер хранит все документы. Люди открывают ссылку и редактируют один и тот же документ вместе, в реальном времени, и оставляют комментарии на полях. Любой в комнате может привести с собой свою сессию Claude Code — она появляется как именованный участник, молчит, пока кто-то её не упомянет, и затем отвечает в ветке, в которую её позвали.
Работает в браузере без установки чего-либо. Комнаты, редактирование, комментарии и общий доступ работают без подключённого агента; плагин Claude Code — это необязательный способ подключить сессию, и он никогда не хранит сам документ.
Запуск сервера
Для хостинга нужен клон репозитория и bun:
bun install
bun run build # bundles the browser client into public/js
bun run src/server.ts # http://127.0.0.1:8790Один процесс обслуживает все комнаты. / — это индекс комнат: каждая комната на сервере, со ссылкой на свой /r/<id>, с формой для создания новой. Комнаты сохраняются в data/rooms/, по одному файлу на каждую, и переживают процесс.
Related MCP server: Concord
Подключение агента
Установите плагин из этого репозитория — репозиторий является собственным маркетплейсом, так что это две команды, а не одна:
claude plugin marketplace add rohanrichards/pairdown
claude plugin install pairdown@pairdownУстановка запрашивает четыре вещи, и первые две важны:
Настройка | Зачем |
Имя агента | то, что люди вводят после |
Ваше имя | отображается рядом с именем агента, чтобы было видно, чей это агент |
Сервер комнат | оставьте как есть для сервера на вашей машине; укажите чужой, чтобы присоединиться к их комнате |
Общий ключ | только если сервер защищён им. Это общий демонстрационный ключ, а не личные учётные данные, и он хранится в открытом виде в |
Изменить их позже можно с помощью /plugin configure pairdown.
Вам нужен node (22 или новее) в PATH. Вам не нужно клонировать этот репозиторий или устанавливать его зависимости — агент поставляется в виде одного собранного файла и запускается прямо из него.
bun нужен только для хостинга сервера комнат, потому что сервер построен на Bun.serve. Для подключения агента к чужой комнате он не нужен.
Для работы над самим плагином claude --plugin-dir . загружает его из клона без установки и подхватывает ваши правки при /reload-plugins.
Плагин запускает MCP-сервер, который подключается к серверу комнат как клиент. Его бинарник pairdown, находящийся в PATH при включённом плагине, запускает сервер комнат по требованию, если он ещё не запущен.
После подключения сессия вызывает room_list, затем room_create или room_join, а затем работает с read, outline, search, edit, append, insert, comments, reply и resolve.
Агент бездействует, пока его не назовут. Ничто не доходит до сессии, если комментарий не упоминает её имя, поэтому комната с четырьмя агентами так же тиха, как комната без них, пока кто-то не попросит одного из них.
Те же четыре настройки являются переменными окружения для запуска агента вне плагина:
Переменная | Что делает |
| имя этой сессии, которое люди вводят после |
| чей это агент, отображается рядом с именем |
| сервер комнат для подключения (по умолчанию |
| общий ключ, когда сервер защищён |
Переменная окружения имеет приоритет над настройкой плагина с тем же именем, что позволяет запустить второго агента под другим именем, не трогая конфигурацию:
PAIRDOWN_AGENT=scout PAIRDOWN_OWNER=Rohan claudeОбновление
Установка не переносит существующую установку на новую версию — она сообщает, что плагин уже установлен, и оставляет работающую версию без изменений. Чтобы получить новый выпуск:
claude plugin marketplace update pairdown
claude plugin uninstall pairdown@pairdown
claude plugin install pairdown@pairdownПроверьте, что реально запущено, с помощью claude plugin list; важна версия именно там, а не то, что лежит в кэше.
Упоминание имени немедленно уведомляет эту сессию; комментарий без тега ждёт, пока кто-то не нажмёт «send to claude». Для немедленного уведомления также требуется предварительный просмотр каналов (channels research preview), а на Team/Enterprise администратор организации должен установить channelsEnabled — без этого уведомление молча отбрасывается, а всё остальное продолжает работать.
Ограничение по общему ключу
Установка PAIRDOWN_SECRET ставит весь сервер за один ключ: браузеры получают форму, а затем сессионный cookie, агенты и скрипты отправляют Authorization: Bearer <key>. Если ключ не задан, сервер открыт, как и раньше.
PAIRDOWN_SECRET="$(openssl rand -base64 32 | tr -d /+= )" bun run src/server.tsЭто аутентификация, а не авторизация. Один ключ означает, что все, кто им владеет, — один и тот же субъект: никого нельзя различить, никого нельзя отозвать по отдельности, и каждая комната на сервере за одной и той же дверью. Он существует для того, чтобы контролируемая демонстрация могла пройти через туннель, не отдавая сервер тому, кто найдёт URL. Это не способ оставить сервер включённым.
Что он действительно делает правильно, так это то, что обычно у таких ограничений не получается: сравнение выполняется за постоянное время, cookie содержит HMAC ключа, а не сам ключ, и обновление websocket ограничено вместе со страницами — если ограничить только HTML, но не /ws, это закроет дверь, но оставит окно открытым.
Тестирование
bun test
bun run src/smoke.tssmoke.ts создаёт временную комнату, запускает MCP-сервер для неё и проверяет всю поверхность инструмента от начала до конца.
Чего пока нет
Аккаунты, SSO, права на комнаты, хостинг. Сначала локально, туннель для демо.
Дизайн описан в docs/superpowers/specs/2026-08-19-spec-room-design.md. Он и план рядом с ним — датированные записи, созданные под первым именем проекта, и оставлены как есть.
This server cannot be deployed
Maintenance
Related MCP Connectors
Markdown workspace for AI agents: read, write, organize, and share markdown documents.
Persistent docs and memory for AI agents — read, write, organize & search a shared workspace.
Create and improve live, shared interactive documents with your agent.
Collaborative word processor you can use with your agent.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceMCP server for collaborative markdown editing, allowing agents to write documents and humans to comment, with comments fed back as agent input.345,281 npmMIT
- AlicenseNot gradedqualityDmaintenanceProvides a multi-agent collaboration room with real-time messaging, file sharing, and coordination primitives for AI agents.2MIT
- FlicenseNot gradedqualityBmaintenanceEnables collaborative multi-agent turn-taking conversations between LLM agents and humans via @mentions, with synchronized turn queues, private messaging, and live Markdown transcript tracking.-
- AlicenseAqualityBmaintenanceEnables AI agents to perform safe, semantic edits on Markdown and DOCX documents through a normalized model with staging, diff review, and stale-edit protection.13MIT