Expand description
§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
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
§MCP Bridge Mode
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.
§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:
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
§Related Crates
- sacp-proxy - Framework for building proxy components
- sacp - Core ACP SDK
- sacp-tokio - Tokio utilities for process spawning
Modules§
- trace
- Trace event types for sequence diagram viewer Trace event types for the sequence diagram viewer.
Structs§
- Agent
Only - Wrapper to convert a single agent component (no proxies) into InstantiateProxiesAndAgent.
- Command
Line Components - Wrapper for command-line component lists that can serve as either proxies-only (for proxy mode) or proxies+agent (for agent mode).
- Conductor
- The conductor manages the proxy chain lifecycle and message routing.
- Conductor
Args - Conductor
Responder - The conductor manages the proxy chain lifecycle and message routing.
- Proxies
AndAgent - Builder for creating proxies and agent components.
Enums§
- Conductor
Command - Conductor
Message - Messages sent to the conductor’s main event loop for routing.
- McpBridge
Mode - Mode for the MCP bridge.
- Source
Component Index - Identifies the source of an agent-to-client message.
Traits§
- Conductor
Link - Trait implemented for the two links the conductor can use:
- Conductor
Successor - Instantiate
Proxies - Trait for lazy proxy instantiation (proxy mode).
- Instantiate
Proxies AndAgent - Trait for lazy proxy and agent instantiation (agent mode).
- JrResponse
Ext