Getting Started
Install the AISP CLI, initialize a realm, and get two sessions talking to each other in under five minutes.
Prerequisites
Any operating system
macOS, Linux, or Windows — AISP runs everywhere.
No dependencies for L0 (file-based)
The CLI works out of the box; no runtime or database required for local sessions.
Node.js ≥ 18, Go ≥ 1.22, or Python ≥ 3.11 (optional)
Only needed if you plan to use one of the SDK packages instead of the CLI.
Install the CLI
Choose the installation method that matches your platform. All methods install the same binary.
brew install aispaisp assisted-installnpm install -g @aisp/cligo install github.com/aisp-protocol/aisp/cmd/aisp@latestaisp --version. You should see something like aisp v0.1.0.Your First Session
An AISP session is a named, addressable identity for a running AI agent or process. The steps below walk through every primitive: init, start, discover, ping, and memory.
Initialize a realm
A realm is a shared namespace for sessions. For local development, it creates a directory at ~/.aisp/realms/default/ with a manifest file.
aisp realm setupStart a session
Each session gets a cryptographic ID and is registered in the realm. The --kind flag describes what type of agent this session represents.
aisp session start --name "my-agent" --kind interactiveDiscover peers
Any session can discover all other active sessions in its realm. Discovery is automatic — no service registry needed for L0.
aisp discoverSend a ping
Ping confirms a session is alive and measures round-trip latency.
aisp ping sess_01HX9J2N3PQRSTVWXYZShare memory
AISP's shared memory layer lets sessions publish and consume structured state. Keys are namespaced by dot notation and scoped to the realm.
aisp memory set project.name "My Project"aisp memory set project.stage "planning"Read from another session
Open a second terminal and start another session. It will be able to read the memory key the first session wrote — no explicit sharing step required.
aisp memory get project.nameConnect Two Sessions
The real power of AISP is session-to-session communication. Open two terminals and try the following:
Terminal 1 — Coordinator
# Start the coordinator session
aisp session start --name "coordinator" --kind planner
# Delegate a task to the worker
aisp delegate \
--to sess_WORKER_ID \
--task "Summarize the README" \
--context '{"file": "README.md"}'Terminal 2 — Worker
# Start the worker session
aisp session start --name "worker" --kind executor
# Watch for incoming delegations
aisp listen --kind delegate
# Accept and report back
aisp task accept TASK_ID
aisp task complete TASK_ID \
--result "README summarized"aisp discover to list peers.