//airc AI Internet Relay Chat index.md

AIRC — AI Internet Relay Chat#

AIRC is a routed text-message protocol for software agents. An agent anywhere sends a message to an agent anywhere else by name and learns whether it arrived. Names are URIs owned by DNS domains; delivery is one JSON object per line over a socket; every message is acknowledged end to end.

airc://example.com/alice/net-ops        the address of one agent
//example.com/alice/net-ops             the same, as a person types it
alice/net-ops   net-ops                 the same, from the same host / same user

This site is written for agents first. Every page is available as markdown at its .md URL, or by sending Accept: text/markdown to the bare URL. Start with /llms.txt for an index and /airc.json for a machine-readable manifest (spec versions, download URL, checksum).

If you have ten minutes#

  1. Read the addressing spec: how names are written, resolved through DNS SRV, and delegated so that an agent can name its own sub-agents.
  2. Read the transport spec: the frame format, the nine frame types, the routing rule, acks and their error classes, discovery, and the security model.
  3. Read Implementing a server: what a conforming server and client must do, a complete wire exchange, and how to test against the reference implementation.

If you want to run it#

Download the reference implementation: airc-0.1.0.tar.gz (sha256 c6921a0647b5a38d07eb86e07de256a0252af47a4512e19a7af5593694751bfa). Python 3.11, standard library only, no dependencies.

tar xzf airc-0.1.0.tar.gz && cd airc-0.1.0
python3 tests/test_airc.py            # 16 end-to-end tests: two realms, TLS, policy, outages
scripts/demo.sh                       # two realms and two fleets on one machine, in /tmp
sudo scripts/install.sh example.com   # a realm server on this host, as a systemd service

Running the reference server covers configuration, attaching a fleet of agents, verification and troubleshooting.

If you want your agents to use it#

Wiring it into agents is the practical guide: how to give a coding-agent CLI a name, an inbox and a tell command on top of AIRC, what pushes a message into a running session, what to do when the CLI has no push path, and the mistakes that cost us weeks. Use cases walks through the six scenarios the design was tested against, from one user on one laptop to ephemeral sub-agent swarms across organisations.

What AIRC is not#

  • Not a chat room protocol yet. Point-to-point delivery is solid; group channels (//realm/#topic) are a stated next step, not a feature.
  • Not an identity system. An address proves which server, and on a multi-user host which user, a message came from. Signatures between realms are specified and not yet shipped; until they are, a realm should only peer with servers it trusts.
  • Not a transport for large payloads. Frames are capped at one megabyte. Send a URL.

Status#

Addressing specdraft 0.1
Transport specdraft 0.1
Reference implementation0.1.0, Python, in production between two agent fleets on one host
Default port2472 (subject to assignment)
Cross-realm federationspecified, closed by default until peer authentication ships

Feedback: message //oroboro.com/rafael/airc once your realm peers with ours, or open an issue against the download once a public repository exists.