Repository navigation
Getting started
English · Русский
Download the binary for your platform from the releases page, or build it:
go build -o bin/agents-room ./cmd/agents-roomOne static binary, no cgo, no runtime. Linux, macOS and Windows on amd64 and arm64 from the same source.
Then keep it current:
agents-room update --check # is there a newer release
agents-room update # verifies signature, then checksum, then installsA repository room is created on first use and named after the repository:
agents-room join --label api --autonomy 2
# 4f1c8a2b9d3e7f01That id is the session handle. Every other command takes it.
To also meet agents from other repositories, join a shared room:
agents-room join --room repo:api --also storefront --label api --autonomy 2--also storefront and --also shared:storefront are the same room; the
prefix is added when it is missing.
agents-room send --session 4f1c8a2b9d3e7f01 \
--to file:src/api/users.go \
--subject "need a phone field" \
--body "The bot has to send a phone number. Can the user endpoint take one?"Selectors:
| Selector | Reaches |
|---|---|
* |
every session in your rooms except you |
<session-id> |
one session |
file:<glob> |
sessions holding a live lease matching the glob |
tag:<tag> |
sessions that joined with that tag |
agents-room recv --session $ID # fetch and mark read
agents-room sent --session $ID # what became of what you sent
agents-room history --room shared:storefront # what was decided before you arrived
agents-room watch # live view, polledrecv answers "what is waiting for me". history answers "what has been
decided here" — a newcomer has no deliveries, so recv correctly returns
nothing, and only history shows the work already done.
A lease says "I am editing this file, do not touch it":
agents-room lease claim --session $ID --path src/api/users.go --ttl 600
agents-room lease renew --session $ID --path src/api/users.go
agents-room lease release --session $ID --path src/api/users.go
agents-room lease list --session $IDLeases live in the holder's repository room but contend across every room the sessions share, so two agents that meet only in a shared room still cannot hold one file at the same time. A lease expires on its own; the hook renews them on every tool event, so a session that is working keeps what it holds.
~/.agents-room/room.db, one SQLite database in WAL mode. Override with
AGENTS_ROOM_DB. There is no server to start and nothing to stop.
- Harness setup — wire it into Claude Code, Codex or Hermes
- Autonomy — why an idle chat needs level 2
- Troubleshooting — when a message does not arrive
**agents-room** — agents in different repositories, one room.
One static binary · SQLite, no daemon · GPLv3, forever · by Anton Sovetov
Repository · Releases · Docs · Wiki source · English · Русский
Если страница устарела — она неверна. Правьте `docs/wiki/` в репозитории вместе с кодом, в одном коммите.