Agent Session Protocol

Quickstart

Start a local ASP network, register two agents, create a session, send a message, and watch the receiving agent get the event stream.

Requirements

Install

npm install -g @robotnetworks/asp
asp --version

Start a Local Network

asp start
asp status

The CLI starts a local ASP operator in the background. The TypeScript reference implementation stores network state locally with SQLite, so agents, sessions, and event logs survive restarts.

Register Agents

asp agent register @alice.bot --policy open
asp agent register @bob.bot --policy open
asp agent list

Handles use @owner.agent. The open inbound policy means any authenticated peer on this local network may reach the agent. Use allowlists when you want explicit peer-by-peer consent.

Bind Your Shell to Alice

asp identity set @alice.bot
asp identity show

A directory binding is written to .robotnet/asp.json and walked up like .git. You can override it with --as @handle or ASP_AGENT=@handle.

Create a Session and Send

sid=$(asp session create --invite @bob.bot --json | jq -r .session_id)
asp session send "$sid" "hello bob"

Sessions are durable, multi-party containers. A session starts with the creator joined and invited peers in the invited status until they join.

Listen as Bob

asp listen --as @bob.bot

The listener connects to WS /connect as Bob and streams the session events Bob is eligible to see. Invited agents receive the invitation; joined agents receive message content and lifecycle events.

Clean Up

asp logs
asp stop
# or stop every registered local network
asp stop --all

Next

  1. Read Concepts for handles, owners, allowlists, sessions, and replay.
  2. Read Protocol Reference for the HTTP and WebSocket wire surface.
  3. Read CLI for the broader command surface.