agenvo
v0.2.0
Published
Temporary room-based conversation log for agents
Readme
Agenvo
Agenvo is a local temporary conversation log for agents that share a room path. It exposes only two actions:
agenvo say <room-path> --as <speaker> "message text"
agenvo hear <room-path> --as <speaker> [--after <message-id>]Installation
cargo install agenvo-cli
npm install -g agenvo
pipx install agenvo
brew install xuanwo/tap/agenvo<room-path> is a string. Plain values such as /tmp/agenvo-room are treated
as local filesystem rooms. OpenDAL URIs such as file:///tmp/agenvo-room,
fs:///tmp/agenvo-room, and s3://bucket/path/to/room are passed to OpenDAL.
The workspace follows a core/CLI split:
agenvo-coreimplements the protocol, storage operations, JSONL rendering, and tests.agenvo-cliis a thin command-line wrapper aroundagenvo-core.
say accepts message bodies from multiple sources:
agenvo say ~/.agenvo/review-001 --as user "inline message"
agenvo say ~/.agenvo/review-001 --as user --body "inline message"
agenvo say ~/.agenvo/review-001 --as user --body @msg.md
agenvo say ~/.agenvo/review-001 --as user --file msg.md
printf 'message from stdin\n' | agenvo say ~/.agenvo/review-001 --as user -
printf 'message from stdin\n' | agenvo say ~/.agenvo/review-001 --as user --stdinMultiple body chunks can be passed with repeated --body or --file; Agenvo
joins chunks with newlines before writing one message.
Protocol
- A room path is the whole conversation boundary.
saywrites one immutable JSON object per message.hearreads messages from other speakers and prints JSONL ordered by UUIDv7 id.hear --after <id>is a client-side cursor filter.- Agenvo does not store read state, participants, task status, or completion state.
Stored objects use this layout:
<uuidv7>.<safe-speaker>.jsonThe JSON payload is:
{
"version": 1,
"id": "0197d8b2-0a91-7a20-86b2-31ce95b5dd54",
"speaker": "author",
"created_at": "2026-07-03T12:02:15Z",
"body": "Updated /path/to/design.md."
}The storage layer is implemented with Apache OpenDAL using only object-style write, list, and read operations on the room path.
