harnsy

Три машины, три человека, один кластер

harnsy начинался на одной машине. Теперь несколько машин могут работать как один кластер: ваш сервер, ноутбук дома и даже чужой компьютер со своим входом в Claude или Codex. Ниже — один пример установки и точные ответы: что ходит между машинами, что нет и что видит каждая сторона.

5 мин чтенияPavel Buchnev

Главные цифры

0
портов открывать, когда участники подключаются к домашней главной машине через релей
1
раз показывается строка присоединения, поэтому скопируйте её при выпуске
20 с
не больше, чтобы отзыв из терминала закрыл соединение участника; из дашборда оно закрывается сразу
3 дня
не больше, сколько участник сохраняет одолженный harnsy Max после отзыва его токена
В этой статье
  1. Одна главная машина и участники, которые к ней подключаются
  2. Пример: Аня, Борис и Вера
  3. Напрямую или через релей
  4. Что видит каждая сторона
  5. Границы
  6. Настройка

Одна главная машина и участники, которые к ней подключаются

Кластер — это одна главная машина и машины, которые к ней подключились. В роли участника может выступать ваш сервер, домашний ноутбук или машина другого человека. У каждого участника свой ключ harnsy Max, либо он берёт место у главной машины.

Входы никуда не уходят. Участник хранит свой вход в Claude, Codex или OpenCode на своей машине. Главная машина узнаёт имя каждого агента, его харнес, статус и папку и направляет сообщения. Входа и ключа она не получает.

Пример: Аня, Борис и Вера

Главная машина Ани — её Mac дома, за домашним роутером, без публичного адреса. У Бориса ноутбук со своей подпиской на Claude и своим ключом harnsy Max. У Веры компьютер со своей подпиской на Codex и без ключа: она берёт место у Ани.

До Mac Ани снаружи не достучаться, поэтому Борис и Вера подключаются к нему через релей. На Mac Аня делает его мастером (harnsy debug cluster init home --master), включает релей (harnsy debug cluster relay on) и перезапускает harnsy. Затем открывает в дашборде «Узлы» и выбирает «Добавить в кластер»: имя и права, отдельно для Бориса и для Веры. Каждая строка присоединения показывается один раз. Борис вставляет свою в «Вступить в кластер мастера» на ноутбуке, Вера — свою. Никто не открывает порт.

Главная машинаanna-mac
Релейвидит: какая машина (по хешу), когда и сколько
Участникben-laptopчерез релей
Участникcarol-pcчерез релей

Логины остаются на каждой машине; сообщения направляет главная машина.

Одна главная машина; Борис и Вера подключаются через релей, у каждого участника указан путь. Пример данных.

Теперь агент-лид Ани может написать boris/builder или vera/reviewer: на другой машине агента зовут машина/агент, и сообщение идёт через машину Ани. Машина Бориса может открыть папку, а агенты Ани читают её, только для чтения. Что открыть, решает каждая машина сама.

Напрямую или через релей

Если у главной машины есть адрес, до которого остальные дотянутся (сервер, публичный IP, проброшенный порт), участники подключаются к ней напрямую. Участнику за NAT или файрволом ничего особенного не нужно: участник всегда соединяется сам и не открывает порт. Связи между машинами идут по TLS по умолчанию.

Релей — для главной машины, до которой не дотянуться, как до Mac Ани дома за NAT. Главная машина и каждый участник, который подключается через релей, сами соединяются с нашим размещённым релеем; он соединяет два потока и пересылает байты. У одной главной машины могут быть прямые участники и участники через релей одновременно.

Что видит каждая сторона

  • **Релей** видит, какая машина подключилась (по хешу), когда и сколько трафика. Оборвать соединение он может; читать то, что внутри, не может: сообщения, токены, ключ главной машины. TLS идёт между вашими машинами, а участник сверяет главную машину с пином из своей строки присоединения, поэтому релей не может выдать себя за неё.
  • **Главная машина** направляет сообщения, поэтому может их читать. Она видит имена агентов участника, харнес, статус и папку. Входы и ключи — нет.
  • **Участник** видит сообщения, отправленные его агентам.

Чтобы убрать машину, отзовите её на главной («Узлы» → «отозвать»): соединение сразу закроется, а место освободится. Участник, который брал harnsy Max, сохраняет его до 3 дней.

Границы

У участника не может быть своих участников.

Настройка

Пошаговая инструкция с командами и тем, что вы увидите после каждого шага, — на странице релея. Релею нужен ключ harnsy Max на главной машине.

Несколько машин, один кластер

harnsy соединяет машины в один кластер: напрямую или через релей, когда до главной машины не дотянуться.

Пошаговая инструкция
site-3fлид · Claude Codeна связитолько смотреть
❯ Распланируй #42 с командой.

Жду разбор от analyst-7a…

от analyst-7a через harnsy❯ #42 разобрана: три критерия приёмки, включая повтор через 24 ч.

Передаю #42 разработчику site-9a.

❯