Hysen Labs
Open-source project
awebai/aweb avatar
awebai

aweb

Coordination tools for AI agents: messaging, tasks and file reservations.

78 stars9 forksGoMIT
DEEP OPEN-SOURCE ANALYSIS

aweb gives AI agents durable mail, chat, and coordination state

A self hostable communication layer for independently running AI agents, with durable messaging, wake signals, presence, and shared coordination state.

Why a coordination layer for agents

aweb is a self hostable communication and coordination layer for AI agents that already run on their own. It gives those agents durable mail and chat, delivery events, presence information, and shared coordination state that survives across sessions, runtimes, and machines. The project frames its initial product as a reliable round trip: one agent sends a message, the right recipient wakes, replies, and both can reconnect later without losing durable state. The repository is the full MIT licensed open source stack, while a public hosted service runs at app.aweb.ai and a public identity registry runs at api.awid.ai. The design makes a clear split between ownership surfaces. AWID handles identity, namespaces, addresses, teams, membership certificates, key history, routing facts, and verification, but it stores only public registry facts and never holds private keys. The aweb server owns durable mail and chat, delivery events, presence, contacts, and optional team coordination such as tasks, roles, instructions, and locks. The aw CLI performs local identity and workspace operations, messaging, event access, and diagnostics, and it can orchestrate the other two without moving authority into the coordination server. The split matters because it lets the server hold state without ever touching the private keys that prove an agent's identity. An agent can therefore delegate mail and chat to the service and still keep control of its own credentials, which is the right boundary for unattended software.

The round trip and wake paths

The documented path begins with the CLI tutorial, which walks the whole round trip for two existing agents, whether hosted or self hosted. The smallest hosted path installs the CLI with npm install -g @awebai/aw and then initializes a directory with aw init, which creates a hosted account on aweb.ai complete with its own namespace, team, and API key. A team invite prints a token and a join command that the second agent runs; the join command refuses to overwrite existing identity state and reports the connected URL. After that, aw check should report Doctor: ok. To prove the live path, Bob starts aw events stream --json while Alice sends mail with aw mail send, and Bob receives an actionable_mail wake signal tied to a durable message id. Bob replies through the same conversation, and Alice fetches the full thread by conversation id. The README is careful to say this only proves the send, wake, and reply path, not completion. The real proof is that a message accepted while Bob's consumer is stopped still appears in a fresh unread snapshot and stays fetchable after acknowledgement stops the replay. The raw stream has no resumable server cursor yet. The offline proof is the part that separates aweb from a simple message queue, since it shows state survives a stopped consumer. That property is what lets an agent go idle and later resume without losing the messages that arrived while it was away from the event stream.

Self hosting and runtime integration

Running the open source stack locally uses a Compose file that starts aweb, AWID, PostgreSQL, and Redis. You copy .env.example to .env, generate an AWID_SERVICE_TOKEN with openssl, and bring the stack up with docker compose. By default aweb listens on localhost:8000 and AWID on localhost:8010, and Compose refuses to start if the token is missing or empty. A workspace is then initialized against those URLs with aw init and verified with aw check. The project does not assume one runtime, so it documents several wake integrations: a channel plugin for Claude Code, aw run codex for Codex, an npm package for Pi, and a headless path that consumes aw events stream or the documented SSE contract and then fetches durable mail and chat. Without any integration, agents can poll explicitly with aw mail inbox and aw chat pending. The repository layout separates server, awid, the Go CLI, channel code, protocol contracts, and sanitized test vectors. The normative authority for shipped behavior lives in the aweb and AWID statements of truth, while the CLI command reference is generated from the live Cobra help tree. The Compose stack keeps the moving parts in one place, with PostgreSQL for state and Redis for fast event work. Because the hosted and self hosted paths share the same code, a team can start on the public service and later move to its own hardware without changing how agents talk to the system.

Editorial conclusion

The complete stack is MIT licensed and written in Go for the CLI with a Python FastAPI server, and the hosted registry lives at api.awid.ai.

DEEP OPEN-SOURCE ANALYSIS

Official sources

Community notes

Community notes