sacp -- the Symposium Agent Client Protocol (ACP) SDK
sacp is a Rust SDK for building agents and editors using the Agent-Client Protocol (ACP). It makes it easy to build ACP editors and clients -- or, indeed, any JSON-RPC-based application.
Quick Start
Building an ACP agent is straightforward with sacp's type-safe API:
// Start by creating an agent talking on stdout/stdin
new
.name // Give it a name for logging purposes
.on_receive_request
.on_receive_message
.serve // Finally, start the server (or use `with_client`)
.await
Learning more
You can learn more in the docs for JrConnection or on our Github Pages site.
You may also enjoy looking at some of these examples:
simple_agent.rs- Minimal agent implementationyolo_one_shot_client.rs- Complete client that spawns an agent and sends a promptelizacp- Full working agent with session management (also useful for testing)sacp-conductor- The "conductor" is an ACP agent that composes proxies components with a final agent.
Related Crates
- sacp-proxy - Framework for building ACP proxies that extend agent behavior
- sacp-tokio - Tokio-specific utilities (process spawning, connection management)
- sacp-conductor - Binary for orchestrating proxy chains
License
MIT OR Apache-2.0