Syzygy Docs
ACP

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/sdk

Quick 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

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.

On this page