Syzygy Docs
ACP

syzygy-agents-acp CLI

Serve Syzygy agents and smoke-test external ACP agents from the command line.

syzygy-agents-acp CLI

The package ships a syzygy-agents-acp binary (see package.json bin field) that mirrors Python's syzygy acp subcommand.

serve

Import a module exporting a Syzygy instance and serve the named agent over stdio:

npx syzygy-agents-acp serve support --app ./path/to/app.js:app
FlagPurpose
--app <specifier>Module export (required). Formats: ./file.js:export, pkgname:export, append () for a zero-arg factory
--nameACP agent name (defaults to agent id)
--titleHuman-readable title
--versionAgent version string

Example app module:

// app.ts
import { Syzygy, OpenAICompatibleModel } from "@syzygy-ai/agents";

export const app = new Syzygy({
  model: new OpenAICompatibleModel({ slug: "gpt-4o-mini" })
});

app.agent({ id: "support", instructions: "Help the user." });
npx syzygy-agents-acp serve support --app ./app.ts:app

Wire this command in your editor's ACP agent configuration (Zed, Neovim, etc.) so the editor spawns Syzygy as a subprocess.

client

Smoke-test an external ACP agent by spawning it and sending one prompt:

npx syzygy-agents-acp client ./external-acp-agent --prompt "hello"
FlagPurpose
--prompt <text>Prompt text (required)
--cwd <dir>Working directory for the spawned agent
--timeout <sec>Prompt timeout

Useful for verifying integration against third-party ACP implementations before wiring them into Syzygy toolsets.

TraceTranslator without a server

TraceTranslator is a pure-data module — test ACP notification shaping without spawning a process:

import { TraceTranslator } from "@syzygy-ai/agents/acp";

const translator = new TraceTranslator("session-1");
const notifications = translator.translate({
  kind: "token",
  payload: { text: "Hello" },
  // ... full TraceEvent envelope
});

Tool kind heuristics map builtin names to ACP categories — for example acp_read_text_fileread, python_execexecute, set_planthink, bg_waitother.

Dependencies

ACP integration requires @agentclientprotocol/sdk as an optional peer. The core @syzygy-ai/agents package installs without it; import @syzygy-ai/agents/acp only in ACP-enabled builds.

On this page