Agent Client Protocol (ACP)
Expose Syzygy agents over ACP with serveAcpStdio, the syzygy-agents-acp CLI, and TraceTranslator.
Agent Client Protocol (ACP)
@syzygy-ai/agents/acp exposes any registered Syzygy agent over the Agent Client Protocol so editors (Zed, Neovim, Gemini CLI) can drive Syzygy agents through the same JSON-RPC subprocess transport they already speak.
Install the optional peer dependency:
npm install @agentclientprotocol/sdkQuick start
import { Syzygy, OpenAICompatibleModel } from "@syzygy-ai/agents";
import { serveAcpStdio } from "@syzygy-ai/agents/acp";
const app = new Syzygy({
model: new OpenAICompatibleModel({ slug: "gpt-4o-mini" })
});
app.agent({
id: "support",
instructions: "You are a helpful coding assistant."
});
await serveAcpStdio(app, "support");Editors spawn this process over stdio and exchange ACP session/* requests. Each session/prompt drives Syzygy.chatStream; trace events flow through TraceTranslator into session/update notifications.
Topics
- serveAcpStdio —
AcpServer, sessions, permissions, and capability-gated tools - CLI and translator —
syzygy-agents-acpbin andTraceTranslator
Plan primitive
Plan-aware agents (Agent.plans_enabled = true) auto-inject the LM-facing set_plan tool. Plan emissions surface as ACP session/update with sessionUpdate=plan — independent of whether the client connected via ACP or a direct runAgent call.
Python parity
ACP server + translator + plan + capability tools + CLI ship in both runtimes. Python additionally provides serve_acp_websocket and acp_agent_as_tool (wrap an external ACP agent as a Tool); the TypeScript port does not include an acpAgentAsTool twin yet.