sacp-conductor
Binary for orchestrating ACP proxy chains.
What is the conductor?
The conductor is a tool that manages proxy chains - it spawns proxy components and the base agent, then routes messages between them. From the editor's perspective, the conductor appears as a single ACP agent.
Editor ← stdio → Conductor → Proxy 1 → Proxy 2 → Agent
Usage
Agent Mode
Orchestrate a chain of proxies in front of an agent:
# Chain format: proxy1 proxy2 ... agent
The conductor:
- Spawns each component as a subprocess
- Connects them in a chain
- Presents as a single agent on stdin/stdout
- Manages the lifecycle of all processes
MCP Bridge Mode
Connect stdio to a TCP-based MCP server:
# Bridge stdio to MCP server on localhost:8080
This allows stdio-based tools to communicate with TCP MCP servers.
How It Works
Component Communication:
- Editor talks to conductor via stdio
- Conductor uses
_proxy/successor/*protocol extensions to route messages - Each proxy can intercept, transform, or forward messages
- Final agent receives standard ACP messages
Process Management:
- All components are spawned as child processes
- When conductor exits, all children are terminated
- Errors in any component bring down the entire chain
Example Use Case
Add Sparkle embodiment + custom tools to any agent:
This creates a stack where:
- Sparkle proxy injects MCP servers and prepends embodiment
- Custom tools proxy adds domain-specific functionality
- Base agent handles the actual AI responses
Building
Binary will be at target/release/sacp-conductor.
Related Crates
- sacp-proxy - Framework for building proxy components
- sacp - Core ACP SDK
- sacp-tokio - Tokio utilities for process spawning
License
MIT OR Apache-2.0