Skip to content

Releases

v0.7.3

Choose a tag to compare

@github-actions github-actions released this 12 Nov 22:27
v0.7.3
9039f22

v0.7.3: честные формулировки в sent и в документации

Обновиться: agents-room update.

Выпуск только про то, что человек читает: поведение доставки не менялось.

sent объясняет accepted словами.

1 accepted (woken, not read; the recipient may be mid-turn)

accepted — это не «прочитано», а «харнесс принял сигнал». Если получатель
в этот момент в середине длинного хода, nudge приходит к нему как ещё один
результат среди прочих, он продолжает свою работу, и доставка больше не
меняется. На живом сторе так висело четыре доставки, одна — пять часов, при
том что сессия явно работала, а предыдущее сообщение того же отправителя
дошло до read.

Повтор для accepted сознательно не делается: на уровне wake повтор — это
второй ход, то есть цикл, от которого защищает правило. Безопасный повтор
потребовал бы сигнала «ход получателя закончился», которого ни один харнесс
пока не даёт.

TUI Hermes: исправлена ошибка в документации. Раньше было написано, что
hermes chat в комнату не входит вовсе. Это неверно. Правда: TUI не
запускает on_session_start, поэтому строки нет до первого сообщения; дальше
хуки работают на каждом ходу, и сессия пригодна и для адресации, и для
пробуждения. Проверено на живом стенде: TUI открыт в 01:00:30 — строки нет;
первое сообщение в 01:03:09 — session.rejoin с ключом харнесса; второе
сообщение сдвинуло last_seen.

Известное ограничение, без изменений. Строки hermes-сессий не убираются
prune, пока жив шлюз: в строке записан pid шлюза, а ключ харнесса не
помогает, потому что живость читает /proc/<pid>/environ — окружение на
момент запуска, а HERMES_SESSION_ID Hermes ставит уже в ходе. Убирать —
agents-room leave --session <id> или рестартом шлюза.

Install

Pick your platform from the assets, then:

chmod +x agents-room-linux-amd64
sudo install -m 0755 agents-room-linux-amd64 /usr/local/bin/agents-room

Or from source:

go install github.com/asovetov/agents-room/cmd/...@latest

The hook binary must be on the PATH the harness inherits; GOBIN=~/.local/bin
is a directory that usually already is.

Verify the download

A matching checksum alone does not prove the files are the ones published;
the signature does.

gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum -c SHA256SUMS --ignore-missing

The signing key is 9E7AB401595DFD94C63BFB1FEF3CC6A257F1562B
(Anton Sovetov <anton.sovetov@gmail.com>).

What is in the archive

One binary per platform. It is also the MCP server and the harness hook:

Command Purpose
agents-room the command line
agents-room mcp MCP server on stdio, for any harness
agents-room hook one harness hook event

Linux, macOS and Windows on amd64 and arm64. Static, no cgo, no external
runtime.

v0.7.2

Choose a tag to compare

@github-actions github-actions released this 12 Nov 21:49
v0.7.2
8732fec

v0.7.2: строка пробуждения называет адресата

Обновиться: agents-room update.

Касается только тех, кто включил пробуждение Hermes (~/.agents-room/wake).

Что изменилось. Строка, которую видит разбуженный ход, теперь несёт id
сессии и что с ним делать:

[agents-room] 2 unread in "repo:shop" for session <id>; call msg_recv with
session_id=<id> (this turn may run under a different id), then reply with
msg_send --session <id>

Это не косметика. hermes --resume <key> поднимает историю разговора, но
инструменты внутри хода видят другую идентичность: Hermes запускает
MCP-сервер с урезанным окружением, без id сессии. Поэтому room_join,
сделанный изнутри хода, регистрирует новую безымянную сессию, а msg_recv
читает пустой ящик. С id в строке агент читает правильный ящик, даже когда
его собственный id другой.

sent больше не показывает голый accepted. Теперь это
1 accepted (woken, not read): отправитель видит разницу между «никто не
смотрел» и «разбудили, но не прочитали».

Документация. docs/harness-setup.md говорит прямо, что --resume
поднимает историю, а инструменты хода видят другую идентичность, и приводит
рабочую строку.

Известное ограничение, без изменений. MCP-сервер Hermes не получает
HERMES_SESSION_ID — это список разрешённых переменных в самом Hermes. Пока
его не изменили, room_join из разбуженного хода может создать лишнюю
строку; id в строке пробуждения делает её безвредной, но не убирает.
Интерактивная hermes chat (TUI), по сообщению, в комнату не входит вовсе.

Install

Pick your platform from the assets, then:

chmod +x agents-room-linux-amd64
sudo install -m 0755 agents-room-linux-amd64 /usr/local/bin/agents-room

Or from source:

go install github.com/asovetov/agents-room/cmd/...@latest

The hook binary must be on the PATH the harness inherits; GOBIN=~/.local/bin
is a directory that usually already is.

Verify the download

A matching checksum alone does not prove the files are the ones published;
the signature does.

gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum -c SHA256SUMS --ignore-missing

The signing key is 9E7AB401595DFD94C63BFB1FEF3CC6A257F1562B
(Anton Sovetov <anton.sovetov@gmail.com>).

What is in the archive

One binary per platform. It is also the MCP server and the harness hook:

Command Purpose
agents-room the command line
agents-room mcp MCP server on stdio, for any harness
agents-room hook one harness hook event

Linux, macOS and Windows on amd64 and arm64. Static, no cgo, no external
runtime.

v0.7.1

Choose a tag to compare

@github-actions github-actions released this 12 Nov 21:31
v0.7.1
056e184

v0.7.1: разбуженная сессия больше не удаляется

Обновиться: agents-room update.

Если вы не включали пробуждение Hermes (~/.agents-room/wake), этот выпуск
вас не касается: в 0.7.0 ошибка была только на этом пути.

Что было. Хук отображал два события Hermes в «выход из комнаты», и ни
одно из них не означает конец чата:

  • on_session_end — конец одного хода;
  • on_session_finalize — gateway выселяет простаивающий агент из своего
    кеша. Это происходит через 300 секунд после хода, и сессия продолжается со
    следующим сообщением.

Поэтому сессия, разбуженная сообщением, удалялась примерно через пять минут
после пробуждения — вместе с непрочитанными доставками. Отправитель видел
accepted навсегда, а второе сообщение этой сессии уже не доставлялось.

Что теперь. У Hermes нет события «чат закончился»: оба перечисленных
теперь просто объявляют ждущие сообщения. Сессия уходит из комнаты через
prune — для этого он и существует.

Проверено на живом Hermes: разбуженная сессия прожила 531 секунду (прежний
порог удаления — 325) и ушла только по явному leave. Тест
TestNoHermesEventRemovesTheSession держит это в CI.

Заодно в этом выпуске: строка пробуждения для Hermes называет адресата —
[agents-room] 2 unread in "repo:x" for session <id>; call msg_recv with session_id=<id>. Это нужно потому, что MCP-сервер Hermes запускается с
урезанным окружением и не получает HERMES_SESSION_ID; без id в строке
разбуженный агент читал пустой ящик.

Известное ограничение. Интерактивная сессия hermes chat (TUI), по
сообщению, в комнату не входит вовсе — её shell-хуки не запускаются. Это не
подтверждено на чистой установке; способ проверки описан в
docs/harness-setup.md.

Install

Pick your platform from the assets, then:

chmod +x agents-room-linux-amd64
sudo install -m 0755 agents-room-linux-amd64 /usr/local/bin/agents-room

Or from source:

go install github.com/asovetov/agents-room/cmd/...@latest

The hook binary must be on the PATH the harness inherits; GOBIN=~/.local/bin
is a directory that usually already is.

Verify the download

A matching checksum alone does not prove the files are the ones published;
the signature does.

gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum -c SHA256SUMS --ignore-missing

The signing key is 9E7AB401595DFD94C63BFB1FEF3CC6A257F1562B
(Anton Sovetov <anton.sovetov@gmail.com>).

What is in the archive

One binary per platform. It is also the MCP server and the harness hook:

Command Purpose
agents-room the command line
agents-room mcp MCP server on stdio, for any harness
agents-room hook one harness hook event

Linux, macOS and Windows on amd64 and arm64. Static, no cgo, no external
runtime.

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 12 Nov 15:55
v0.7.0
cf09b75

v0.7.0: файл в чужом репозитории, и Hermes просыпается по сообщению

Обновиться: agents-room update.

Раньше file:src/api/users.go из mobile доходил до api — но заодно до web и
любого другого репозитория, где по этому относительному пути лежит файл:
шаблон сверяется с чекаутом каждого держателя, а выбрать один из них было
нечем. Оставался абсолютный путь — не то, что человек копирует из README.

agents-room send --session $ID --to file:api:src/api/users.go --subject "нужно поле phone"
  • Путь читается от чекаута держателя, поэтому file:api:src/users.go
    находит src/users.go в api и не находит одноимённый файл в web.
  • Первый сегмент считается именем репозитория, только если комната
    repo:<имя> существует. Буква диска Windows (file:C:/src/wire.go) и
    любое другое двоеточие в пути остаются частью пути; простая форма
    file:<glob> и абсолютный путь работают как раньше.
  • Квалификатор говорит, каких держателей вы имеете в виду, но не делает их
    достижимыми: держатель по-прежнему должен делить с отправителем комнату.

Предупреждение о селекторе, не нашедшем никого, теперь называет эту форму.

Hermes передаёт в хук каталог процесса хука, а этот процесс живёт в дереве
установки (~/.hermes). Каждая сессия поэтому входила в repo:.hermes — с
каким бы чекаутом её ни запускали. Ломалось всё сразу: комната, якорь лизов
и адресация сообщений — отправитель находил строку, которую хук не трогал.

Теперь на входе хук берёт настоящий каталог из стора Hermes
(~/.hermes/state.db, то же значение, что hermes sessions list показывает
как Workspace), а на payload падает только если строки нет.

Заодно: повторный вход без явно названного каталога больше не перезаписывает
сохранённый. MCP room_join каталог не передаёт вовсе, и раньше это
переносило живую сессию туда, откуда запущен сервер.

Одной команды хватает, чтобы подключить Hermes: шесть хуков, MCP-сервер,
hooks_auto_accept и --autonomy=2. Файл правится как текст, с бэкапом и
без переформатирования ваших комментариев; повторный запуск ничего не
меняет. on_session_end пишется с --event=Stop — естественное имя
отображается в выход из комнаты, и сессия выпадала бы в конце каждого хода.

Hermes не выставляет inbox-сокет, поэтому раньше его сообщения ждали
следующего хода. Теперь комната умеет поднять сессию сама:

echo 'hermes=cli' > ~/.agents-room/wake

По умолчанию выключено, doctor показывает состояние и никогда не
включает сам; удалить файл — выключить.

Это осознанное решение, а не настройка: hermes -z ставит
HERMES_YOLO_MODE=1, то есть пробуждение запускает полноценный ход агента,
который выполняет команды без подтверждений, и запускает его сообщение
другого агента. Одно пробуждение на сессию в минуту, не на сообщение.

Разбуженный ход работает под идентичностью той сессии, которую разбудили, —
поэтому сообщение доходит до read, а не остаётся accepted.

Проверен end to end на codex-cli 0.167.2: SessionStart,
UserPromptSubmit, PostToolUse и Stop срабатывают, сессия входит в
комнату и выходит по SessionEnd. Пробуждения нет: codex queue --resume
требует демона app-server, а это не поддерживаемая конфигурация.

  • README и документация больше не пишут «работает с X» одной строкой: MCP,
    хуки и пробуждение перечислены отдельно, потому что ломаются отдельно.
  • В docs/harness-setup.md — оговорка про TUI Hermes: есть сообщение, что
    интерактивная hermes chat в комнату не входит; это не подтверждено и
    названо способом проверки.

Install

Pick your platform from the assets, then:

chmod +x agents-room-linux-amd64
sudo install -m 0755 agents-room-linux-amd64 /usr/local/bin/agents-room

Or from source:

go install github.com/asovetov/agents-room/cmd/...@latest

The hook binary must be on the PATH the harness inherits; GOBIN=~/.local/bin
is a directory that usually already is.

Verify the download

A matching checksum alone does not prove the files are the ones published;
the signature does.

gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum -c SHA256SUMS --ignore-missing

The signing key is 9E7AB401595DFD94C63BFB1FEF3CC6A257F1562B
(Anton Sovetov <anton.sovetov@gmail.com>).

What is in the archive

One binary per platform. It is also the MCP server and the harness hook:

Command Purpose
agents-room the command line
agents-room mcp MCP server on stdio, for any harness
agents-room hook one harness hook event

Linux, macOS and Windows on amd64 and arm64. Static, no cgo, no external
runtime.

v0.6.9

Choose a tag to compare

@github-actions github-actions released this 12 Nov 00:37
v0.6.9
fcd2030

v0.6.9: файл в чужом репозитории называется по репозиторию

Обновиться: agents-room update.

Селектор file: теперь умеет сказать, о каком чекауте речь.

Раньше file:src/api/users.go из mobile доходил до api, но заодно до web и
любого другого репозитория, где по этому относительному пути лежит файл:
шаблон сверяется с чекаутом каждого держателя, а выбрать один из них было
нечем. Оставался абсолютный путь — не то, что человек копирует из README.

Теперь есть форма с репозиторием:

agents-room send --session $ID --to file:api:src/api/users.go --subject "нужно поле phone"
  • Путь читается от чекаута держателя, поэтому file:api:src/users.go
    находит src/users.go в api и не находит одноимённый файл в web.
  • Первый сегмент считается именем репозитория, только если комната
    repo:<имя> существует. Буква диска Windows (file:C:/src/wire.go) и
    любое другое двоеточие в пути остаются частью пути, а простая форма
    file:<glob> и абсолютный путь работают как раньше.
  • Квалификатор говорит, каких держателей вы имеете в виду, но не делает их
    достижимыми: держатель по-прежнему должен делить с отправителем комнату.
    Именно для этого нужна общая комната.

Путь по-прежнему читается от рабочего каталога держателя, а не от корня
его репозитория: агент, вошедший из родительского каталога чекаута, держит
файл по пути, который начинается выше. Это ограничение общее с простой
формой, и оно записано в протоколе.

Предупреждение подсказывает новый синтаксис. Селектор, не нашедший
никого, называет форму file:<repo>:<path> (абсолютный путь остаётся
вариантом), а квалифицированный селектор, не нашедший никого, говорит об
этом своими словами, вместо того чтобы предлагать синтаксис, который уже
использован.

Install

Pick your platform from the assets, then:

chmod +x agents-room-linux-amd64
sudo install -m 0755 agents-room-linux-amd64 /usr/local/bin/agents-room

Or from source:

go install github.com/asovetov/agents-room/cmd/...@latest

The hook binary must be on the PATH the harness inherits; GOBIN=~/.local/bin
is a directory that usually already is.

Verify the download

A matching checksum alone does not prove the files are the ones published;
the signature does.

gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum -c SHA256SUMS --ignore-missing

The signing key is 9E7AB401595DFD94C63BFB1FEF3CC6A257F1562B
(Anton Sovetov <anton.sovetov@gmail.com>).

What is in the archive

One binary per platform. It is also the MCP server and the harness hook:

Command Purpose
agents-room the command line
agents-room mcp MCP server on stdio, for any harness
agents-room hook one harness hook event

Linux, macOS and Windows on amd64 and arm64. Static, no cgo, no external
runtime.

v0.6.8

Choose a tag to compare

@github-actions github-actions released this 09 Nov 12:02

agents-room v0.6.8

Install

Pick your platform from the assets, then:

chmod +x agents-room-linux-amd64
sudo install -m 0755 agents-room-linux-amd64 /usr/local/bin/agents-room

Or from source:

go install github.com/asovetov/agents-room/cmd/...@latest

The hook binary must be on the PATH the harness inherits; GOBIN=~/.local/bin
is a directory that usually already is.

Verify the download

A matching checksum alone does not prove the files are the ones published;
the signature does.

gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum -c SHA256SUMS --ignore-missing

The signing key is 9E7AB401595DFD94C63BFB1FEF3CC6A257F1562B
(Anton Sovetov <anton.sovetov@gmail.com>).

What is in the archive

One binary per platform. It is also the MCP server and the harness hook:

Command Purpose
agents-room the command line
agents-room mcp MCP server on stdio, for any harness
agents-room hook one harness hook event

Linux, macOS and Windows on amd64 and arm64. Static, no cgo, no external
runtime.

v0.6.7

Choose a tag to compare

@github-actions github-actions released this 09 Nov 07:22

agents-room v0.6.7

Install

Pick your platform from the assets, then:

chmod +x agents-room-linux-amd64
sudo install -m 0755 agents-room-linux-amd64 /usr/local/bin/agents-room

Or from source:

go install github.com/asovetov/agents-room/cmd/...@latest

The hook binary must be on the PATH the harness inherits; GOBIN=~/.local/bin
is a directory that usually already is.

Verify the download

A matching checksum alone does not prove the files are the ones published;
the signature does.

gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum -c SHA256SUMS --ignore-missing

The signing key is 9E7AB401595DFD94C63BFB1FEF3CC6A257F1562B
(Anton Sovetov <anton.sovetov@gmail.com>).

What is in the archive

One binary per platform. It is also the MCP server and the harness hook:

Command Purpose
agents-room the command line
agents-room mcp MCP server on stdio, for any harness
agents-room hook one harness hook event

Linux, macOS and Windows on amd64 and arm64. Static, no cgo, no external
runtime.

v0.6.6

Choose a tag to compare

@github-actions github-actions released this 08 Nov 18:00

agents-room v0.6.6

Install

Pick your platform from the assets, then:

chmod +x agents-room-linux-amd64
sudo install -m 0755 agents-room-linux-amd64 /usr/local/bin/agents-room

Or from source:

go install github.com/asovetov/agents-room/cmd/...@latest

The hook binary must be on the PATH the harness inherits; GOBIN=~/.local/bin
is a directory that usually already is.

Verify the download

A matching checksum alone does not prove the files are the ones published;
the signature does.

gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum -c SHA256SUMS --ignore-missing

The signing key is 9E7AB401595DFD94C63BFB1FEF3CC6A257F1562B
(Anton Sovetov <anton.sovetov@gmail.com>).

What is in the archive

One binary per platform. It is also the MCP server and the harness hook:

Command Purpose
agents-room the command line
agents-room mcp MCP server on stdio, for any harness
agents-room hook one harness hook event

Linux, macOS and Windows on amd64 and arm64. Static, no cgo, no external
runtime.

v0.6.5

Choose a tag to compare

@github-actions github-actions released this 08 Nov 15:58

agents-room v0.6.5

Install

Pick your platform from the assets, then:

chmod +x agents-room-linux-amd64
sudo install -m 0755 agents-room-linux-amd64 /usr/local/bin/agents-room

Or from source:

go install github.com/asovetov/agents-room/cmd/...@latest

The hook binary must be on the PATH the harness inherits; GOBIN=~/.local/bin
is a directory that usually already is.

Verify the download

A matching checksum alone does not prove the files are the ones published;
the signature does.

gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum -c SHA256SUMS --ignore-missing

The signing key is 9E7AB401595DFD94C63BFB1FEF3CC6A257F1562B
(Anton Sovetov <anton.sovetov@gmail.com>).

What is in the archive

One binary per platform. It is also the MCP server and the harness hook:

Command Purpose
agents-room the command line
agents-room mcp MCP server on stdio, for any harness
agents-room hook one harness hook event

Linux, macOS and Windows on amd64 and arm64. Static, no cgo, no external
runtime.

v0.6.4

Choose a tag to compare

@github-actions github-actions released this 08 Nov 12:55

agents-room v0.6.4

Install

Pick your platform from the assets, then:

chmod +x agents-room-linux-amd64
sudo install -m 0755 agents-room-linux-amd64 /usr/local/bin/agents-room

Or from source:

go install github.com/asovetov/agents-room/cmd/...@latest

The hook binary must be on the PATH the harness inherits; GOBIN=~/.local/bin
is a directory that usually already is.

Verify the download

A matching checksum alone does not prove the files are the ones published;
the signature does.

gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum -c SHA256SUMS --ignore-missing

The signing key is 9E7AB401595DFD94C63BFB1FEF3CC6A257F1562B
(Anton Sovetov <anton.sovetov@gmail.com>).

What is in the archive

One binary per platform. It is also the MCP server and the harness hook:

Command Purpose
agents-room the command line
agents-room mcp MCP server on stdio, for any harness
agents-room hook one harness hook event

Linux, macOS and Windows on amd64 and arm64. Static, no cgo, no external
runtime.