руководство · Claude Code и Codex

Как заставить 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; на одном компьютере используйте одну и ту же абсолютную папку личности во всех командах.

  1. установите Murmur на оба компьютера

    На Mac или Windows скачайте приложение со страницы релиза v2.12.0 и пройдите шаги установки на главной. В терминале поставьте инструменты командной строки из npm:

    npm install --global @murmurv2/cli@2.12.0
  2. создайте личность и приглашение

    На первом компьютере нажмите в приложении «Пригласить коллегу». В терминале создайте личность один раз и запишите приглашение в новый приватный файл:

    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.

  3. вторая сторона принимает

    На втором компьютере выберите в приложении «У меня есть приглашение» и вставьте строку. Murmur создаст эту личность и вернёт строку ответа. В терминале:

    murmur join --agent-id bob --invite-stdin --data-dir /absolute/murmur-identity

    Ответ возвращается тем же личным каналом. В нём только открытые ключи: ни ключа доступа к серверу, ни закрытых ключей.

  4. вставьте ответ

    Снова на первом компьютере вставьте ответ в приложении или выполните:

    murmur add-peer --reply-stdin --data-dir /absolute/murmur-identity

    Теперь вы контакты. Вставка ответа доказывает только вашу сторону; вторую докажет сообщение, которое вернётся на шаге 7.

  5. запустите службу на обоих компьютерах

    Приложение запускает её само; на Windows установка службы отдельно спрашивает права администратора. В терминале:

    murmur service install --data-dir /absolute/murmur-identity
    murmur service start --data-dir /absolute/murmur-identity

    Служба переносит сообщения в фоне, в том числе когда окно приложения закрыто.

  6. подключите 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. Остальные настройки не трогаются, резервная копия старого файла сохраняется.

  7. проверьте канал

    С первого компьютера:

    murmur doctor --peer bob --timeout 60000 --json --data-dir /absolute/murmur-identity

    В 2.11 на эту подписанную зашифрованную проверку служба контакта отвечает сама. Вернувшийся ответ доказывает канал в обе стороны; помощника на другой стороне он не проверяет.

  8. задайте первый вопрос

    В Claude Code спросите обычными словами, например: «спроси bob через Murmur, пусть посмотрит план миграции и ответит». Claude вызовет murmur_request: он отправит сообщение и подождёт до 45 секунд. На другом компьютере Codex прочитает вопрос через murmur_inbox и ответит через murmur_send в той же беседе. Если Codex простаивает, а пробуждение для него не настроено, вопрос ждёт его следующего хода, и ответ потом придёт во входящие Claude Code.

в 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

те же инструменты, другое пробуждение

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.

что происходит по пути

подписано, зашифровано, подтверждено

  1. Claude Code вызывает murmur_request. MCP-сервер Murmur на вашем компьютере шифрует текст для контакта (согласование ключей X25519, XChaCha20-Poly1305), подписывает конверт Ed25519 и кладёт его в локальную SQLite-очередь исходящих.

  2. Ваша служба публикует зашифрованный конверт на сервер. Пока конверт не подтверждён, служба повторяет отправку; сообщение, которое так и не проходит, попадает в очередь недоставленных, где его видно, а не исчезает.

  3. Сервер передаёт конверт службе вашего контакта. Он видит адресацию (отправитель, получатели, идентификатор беседы, время) и размер. Текст для него — шифртекст, а закрытые ключи никогда не покидают два компьютера.

  4. Служба контакта проверяет подпись, расшифровывает текст, сохраняет его и возвращает подписанную квитанцию, привязанную к этому сообщению. Только эта квитанция заставляет вашу сторону показать сообщение доставленным.

  5. Codex читает сообщение и отвечает. Ответ идёт тем же путём обратно, и murmur_request отдаёт его Claude Code.

Обе стороны держат свою копию беседы в локальной базе SQLite. Расшифрованный текст лежит там открытым и защищён правами на файл, поэтому SECURITY.md советует шифрование диска. Формат сообщений описан в protocol-v1.md.

собственный обмен Claude Code

чем это отличается от обмена между сессиями

С версии v2.1.224 Claude Code умеет показывать ваши другие сессии Claude Code и писать им инструментами ListAgents и SendMessage (документация Anthropic). Сессии на одном компьютере общаются через локальный сокет. До ваших сессий на других компьютерах и до облачных сессий сообщения идут через серверы Anthropic, пока сессии подключены к Remote Control, а для него нужен вход в claude.ai. Простаивающая сессия-получатель начинает новый ход с этим сообщением.

обмен между сессиями Claude CodeMurmur
соединяетваши собственные сессии 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, между разными людьми и организациями, через выбранный вами сервер, со сквозным шифрованием.