Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Symposium ACP

This repository contains Symposium’s implementation of the Agent-Client Protocol (ACP).

For Users

If you want to build something with these crates, see the rustdoc:

The sacp crate includes a concepts module that explains how connections, sessions, callbacks, and message ordering work.

For Maintainers and Agents

This book documents the design and architecture for people working on the codebase itself.

Repository Structure

src/
├── sacp/              # Core protocol SDK
├── sacp-tokio/        # Tokio utilities (process spawning)
├── sacp-rmcp/         # Integration with rmcp crate
├── sacp-cookbook/     # Usage patterns (rendered as rustdoc)
├── sacp-derive/       # Proc macros
├── sacp-conductor/    # Conductor binary and library
├── sacp-test/         # Test utilities and fixtures
├── sacp-trace-viewer/ # Trace visualization tool
├── elizacp/           # Example agent implementation
└── yopo/              # "You Only Prompt Once" example client

Crate Relationships

graph TD
    sacp[sacp<br/>Core SDK]
    tokio[sacp-tokio<br/>Process spawning]
    rmcp[sacp-rmcp<br/>rmcp integration]
    conductor[sacp-conductor<br/>Proxy orchestration]
    cookbook[sacp-cookbook<br/>Usage patterns]

    tokio --> sacp
    rmcp --> sacp
    conductor --> sacp
    conductor --> tokio
    cookbook --> sacp
    cookbook --> rmcp
    cookbook --> conductor

Key Design Documents