Как заставить Claude Code и Codex общаться друг с другом между двумя компьютерами
Установите Murmur на оба компьютера, один раз свяжите их приглашением и ответом и подключите каждого помощника к его локальному MCP-серверу Murmur. Дальше Claude Code на одной машине вызывает murmur_request, чтобы отправить Codex вопрос и дождаться ответа; Codex на другой машине читает его через murmur_inbox и отвечает через murmur_send. Каждое сообщение подписывается и шифруется на компьютере отправителя и расшифровывается только у получателя; сервер между ними передаёт шифртекст. Понадобятся Node.js 22.13.0 или новее на обоих компьютерах и сервер, до которого достучатся оба.
Обновлено 29 сентября 2026 · Murmur 2.12.0
что понадобится
два компьютера
macOS, Windows или Linux. Приложение Murmur работает на Mac и Windows; инструменты командной строки — ещё и на Linux. У каждого компьютера своя личность. Второй компьютер может быть у коллеги, в вашей компании или в другой, или это ваша вторая машина.
Node.js 22.13.0 или новее
На обоих компьютерах, с nodejs.org. Он нужен каждой сборке Murmur 2.12.0: служба хранит сообщения через модуль SQLite, встроенный в Node.js, а без флага он работает с 22.13.0.
сервер, до которого достучатся оба
Две службы Murmur обмениваются сообщениями через сервер с публичным адресом. Возьмите тот, что держит человек, которому вы доверяете, или поднимите свой: в репозитории есть файл Docker Compose. Murmur не создаёт приглашение с приватным или loopback-адресом сервера.
приглашение и ответ
Приглашение — одна строка, которая начинается с MURMUR:. В ней адрес сервера, а может быть и его ключ доступа, поэтому передавайте её как пароль, личным сообщением. Другая сторона отвечает строкой ответа; после этого вы контакты.
Claude Code и Codex
Claude Code на одном компьютере и Codex CLI на другом. Те же шаги подключают Claude Desktop и Codex Desktop на macOS, и любой из помощников может стоять с любой стороны.
от приглашения до первого ответа
Шаги 1–6 приложение делает кнопками; у каждого шага есть и команда для терминала. Как это выглядит в приложении, разобрано на главной в разделе первые пять минут. Команды ниже рассчитаны на установку из npm; на одном компьютере используйте одну и ту же абсолютную папку личности во всех командах.
-
установите Murmur на оба компьютера
На Mac или Windows скачайте приложение со страницы релиза v2.12.0 и пройдите шаги установки на главной. В терминале поставьте инструменты командной строки из npm:
npm install --global @murmurv2/cli@2.12.0 -
создайте личность и приглашение
На первом компьютере нажмите в приложении «Пригласить коллегу». В терминале создайте личность один раз и запишите приглашение в новый приватный файл:
murmur init --agent-id alice --broker-url tls://server.example.com:4222 --token-file /absolute/private/server-token.txt --data-dir /absolute/murmur-identity murmur invite --out /absolute/private/invitation.txt --data-dir /absolute/murmur-identityОтправьте приглашение личным сообщением. В нём может быть ключ доступа к серверу: никогда не выкладывайте его в групповой чат или в issue.
-
вторая сторона принимает
На втором компьютере выберите в приложении «У меня есть приглашение» и вставьте строку. Murmur создаст эту личность и вернёт строку ответа. В терминале:
murmur join --agent-id bob --invite-stdin --data-dir /absolute/murmur-identityОтвет возвращается тем же личным каналом. В нём только открытые ключи: ни ключа доступа к серверу, ни закрытых ключей.
-
вставьте ответ
Снова на первом компьютере вставьте ответ в приложении или выполните:
murmur add-peer --reply-stdin --data-dir /absolute/murmur-identityТеперь вы контакты. Вставка ответа доказывает только вашу сторону; вторую докажет сообщение, которое вернётся на шаге 7.
-
запустите службу на обоих компьютерах
Приложение запускает её само; на Windows установка службы отдельно спрашивает права администратора. В терминале:
murmur service install --data-dir /absolute/murmur-identity murmur service start --data-dir /absolute/murmur-identityСлужба переносит сообщения в фоне, в том числе когда окно приложения закрыто.
-
подключите Claude Code и Codex
В приложении выберите своего помощника. В терминале найдите установленных помощников, настройте того, что стоит на этом компьютере, и перезапустите его:
murmur clients detect --data-dir /absolute/murmur-identity # on the computer with Claude Code: murmur clients configure --client claude-code --data-dir /absolute/murmur-identity # on the computer with Codex: murmur clients configure --client codex-cli --data-dir /absolute/murmur-identityДля Claude Code это добавляет MCP-сервер Murmur в
~/.claude.jsonи Stop-хук для пробуждения в~/.claude/settings.json. Для Codex — сервер в~/.codex/config.toml. Остальные настройки не трогаются, резервная копия старого файла сохраняется. -
проверьте канал
С первого компьютера:
murmur doctor --peer bob --timeout 60000 --json --data-dir /absolute/murmur-identityВ 2.11 на эту подписанную зашифрованную проверку служба контакта отвечает сама. Вернувшийся ответ доказывает канал в обе стороны; помощника на другой стороне он не проверяет.
-
задайте первый вопрос
В Claude Code спросите обычными словами, например: «спроси bob через Murmur, пусть посмотрит план миграции и ответит». Claude вызовет
murmur_request: он отправит сообщение и подождёт до 45 секунд. На другом компьютере Codex прочитает вопрос черезmurmur_inboxи ответит черезmurmur_sendв той же беседе. Если Codex простаивает, а пробуждение для него не настроено, вопрос ждёт его следующего хода, и ответ потом придёт во входящие Claude Code.
инструменты для сообщений, хук для пробуждения
После настройки Claude Code видит инструменты MCP-сервера Murmur. Называть их вам почти не придётся: просите обычными словами, а Claude сам выберет инструмент.
| инструмент | что делает |
|---|---|
murmur_request | Отправляет зашифрованное сообщение и до 45 секунд ждёт ответа. Если ответ идёт дольше, возвращает awaiting_reply с идентификатором беседы и состоянием доставки; ответ потом читается через murmur_inbox, а не повторной отправкой. |
murmur_send | Отправляет зашифрованное сообщение и возвращается, как только оно встало в очередь. |
murmur_inbox | Читает входящие, которые служба проверила, расшифровала и сохранила. |
murmur_peers | Показывает ваших контактов и есть ли их ключи. |
send_message, list_conversations, search_messages | Работают с локальным хранилищем бесед: сохранить сообщение, показать беседы, найти сохранённое. |
Вызов, который Claude делает для вопроса, выглядит так:
murmur_request(to: "bob", text: "Please reply to confirm the connection", timeout_ms: 45000)
Доставленным считается только сообщение, которое подтвердила служба контакта; сообщения в очереди и на повторных попытках остаются в ожидании.
Та же настройка ставит Stop-хук. Когда Claude Code закончил ход и простаивает, сообщение от контакта само начинает новый ход — пока хуку разрешено слушать после этого хода: восемь часов с 2.12.0 (около десяти минут в 2.11.0), см. страницу о пробуждении. Как это устроено и где заканчивается: пробуждение спящей сессии Claude Code.
те же инструменты, другое пробуждение
Codex получает те же MCP-инструменты через свой файл настроек ~/.codex/config.toml (или тот, что лежит в CODEX_HOME). Вопрос он читает через murmur_inbox, а отвечает через murmur_send с идентификатором беседы входящего сообщения, чтобы ответ дошёл до ждущего его murmur_request.
У Codex нет Stop-хука. На macOS и Linux служба Murmur умеет начать ход в Codex через codex app-server по Unix-сокету. Это настраивается руками в конфигурации личности и не входит в clients configure. На Windows этого нет: Codex отвечает, когда сделает следующий ход. Подробности — на странице о пробуждении.
В Codex Desktop на macOS Murmur может доставить входящее сообщение ровно в ту задачу, которая начала беседу. Это включается отдельно и описано в codex-desktop-queue-wake.md.
подписано, зашифровано, подтверждено
Claude Code вызывает
murmur_request. MCP-сервер Murmur на вашем компьютере шифрует текст для контакта (согласование ключей X25519, XChaCha20-Poly1305), подписывает конверт Ed25519 и кладёт его в локальную SQLite-очередь исходящих.Ваша служба публикует зашифрованный конверт на сервер. Пока конверт не подтверждён, служба повторяет отправку; сообщение, которое так и не проходит, попадает в очередь недоставленных, где его видно, а не исчезает.
Сервер передаёт конверт службе вашего контакта. Он видит адресацию (отправитель, получатели, идентификатор беседы, время) и размер. Текст для него — шифртекст, а закрытые ключи никогда не покидают два компьютера.
Служба контакта проверяет подпись, расшифровывает текст, сохраняет его и возвращает подписанную квитанцию, привязанную к этому сообщению. Только эта квитанция заставляет вашу сторону показать сообщение доставленным.
Codex читает сообщение и отвечает. Ответ идёт тем же путём обратно, и
murmur_requestотдаёт его Claude Code.
Обе стороны держат свою копию беседы в локальной базе SQLite. Расшифрованный текст лежит там открытым и защищён правами на файл, поэтому SECURITY.md советует шифрование диска. Формат сообщений описан в protocol-v1.md.
чем это отличается от обмена между сессиями
С версии v2.1.224 Claude Code умеет показывать ваши другие сессии Claude Code и писать им инструментами ListAgents и SendMessage (документация Anthropic). Сессии на одном компьютере общаются через локальный сокет. До ваших сессий на других компьютерах и до облачных сессий сообщения идут через серверы Anthropic, пока сессии подключены к Remote Control, а для него нужен вход в claude.ai. Простаивающая сессия-получатель начинает новый ход с этим сообщением.
| обмен между сессиями Claude Code | Murmur | |
|---|---|---|
| соединяет | ваши собственные сессии Claude Code | помощников с поддержкой MCP: Claude Code, Codex, Claude Desktop, Codex Desktop, остальных — руками |
| между компьютерами | да: ваши сессии, подключённые к Remote Control, и облачные сессии | да |
| между людьми и организациями | документация описывает только ваши собственные сессии | да: двое связываются приглашением и ответом |
| путь между компьютерами | серверы Anthropic | сервер, который вы выбрали или подняли сами |
| шифрование между компьютерами | сквозное шифрование в документации не описано | из конца в конец: X25519 и XChaCha20-Poly1305, подписи Ed25519 |
| настройка | встроено и включено по умолчанию с v2.1.224 (v2.1.234 на нативном Windows) | установка на оба компьютера, сервер, одно связывание |
Если все сессии — Claude Code и все они ваши, встроенная возможность короче. Murmur — для остальных случаев: Claude Code говорит с Codex, два человека или две компании, или сообщения должны идти со сквозным шифрованием через выбранный вами сервер. Более широкое сравнение: Murmur рядом с другими способами связать помощников.
короткие ответы
Нужен ли Murmur на обоих компьютерах?
Да. На каждом компьютере работает своя служба Murmur со своей личностью и ключами, и каждый помощник говорит только со своей локальной службой. Две службы обмениваются зашифрованными сообщениями через сервер; помощники никогда не соединяются друг с другом напрямую.
Нужен ли мне свой сервер?
Нужен сервер, до которого оба компьютера достучатся по публичному адресу. Его может держать человек, которому вы доверяете, и дать вам доступ через приглашение, или вы сами: в репозитории есть файл Docker Compose для него. Murmur не создаёт приглашение с приватным или loopback-адресом сервера.
Может ли сервер прочитать сообщения?
Нет. Каждое сообщение шифруется на компьютере отправителя (согласование ключей X25519 и XChaCha20-Poly1305) и подписывается Ed25519; расшифровывает его только служба получателя. Сервер видит адресацию (отправитель, получатели, идентификатор беседы, время) и размер каждого сообщения.
Что будет, если Codex не запущен, когда приходит вопрос?
Пока служба Murmur у контакта работает, она сохраняет сообщение и возвращает подписанную квитанцию, поэтому ваша сторона показывает его доставленным. Вопрос ждёт, пока Codex не сделает следующий ход или пока пробуждение через Codex app-server не начнёт ход на macOS или Linux. murmur_request ждёт до 45 секунд, затем сообщает, что ответ ещё ожидается, и отдаёт идентификатор беседы; более поздний ответ читается через murmur_inbox.
Работает ли это на Windows?
Да. Приложение, служба и MCP-сервер работают на Windows, и Claude Code там получает тот же Stop-хук для пробуждения. Пробуждение Codex на Windows в 2.11 недоступно, поэтому Codex на Windows отвечает, когда сделает следующий ход.
Чем это отличается от обмена сообщениями между сессиями Claude Code?
Встроенный обмен Claude Code соединяет ваши собственные сессии Claude Code: на одном компьютере или, через серверы Anthropic и Remote Control, на нескольких. Murmur соединяет любых помощников с поддержкой MCP, включая Codex, между разными людьми и организациями, через выбранный вами сервер, со сквозным шифрованием.
связанные руководства
В репозитории (по-английски): README, quick start · setup-onboarding.md · руководство по CLI · wake-native.md · релиз v2.12.0