Binary for orchestrating ACP proxy chains.
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
Orchestrate a chain of proxies in front of an agent:
# Chain format: proxy1 proxy2 ... agent
sacp-conductor agent "python proxy1.py" "python proxy2.py" "python base-agent.py"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
Connect stdio to a TCP-based MCP server:
# Bridge stdio to MCP server on localhost:8080
sacp-conductor mcp 8080This allows stdio-based tools to communicate with TCP MCP servers.
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
Add Sparkle embodiment + custom tools to any agent:
sacp-conductor agent \
"sparkle-acp-proxy" \
"my-custom-tools-proxy" \
"claude-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
cargo build --release -p sacp-conductorBinary will be at target/release/sacp-conductor.
- sacp-proxy - Framework for building proxy components
- sacp - Core ACP SDK
- sacp-tokio - Tokio utilities for process spawning
MIT OR Apache-2.0