Maniac Docs
ACP

maniac-agents-acp CLI

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

maniac-agents-acp CLI

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

serve

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

npx maniac-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 { Maniac, OpenAICompatibleModel } from "@maniac-ai/agents";

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

app.agent({ id: "support", instructions: "Help the user." });
npx maniac-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 Maniac as a subprocess.

client

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

npx maniac-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 Maniac toolsets.

TraceTranslator without a server

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

import { TraceTranslator } from "@maniac-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 @maniac-ai/agents package installs without it; import @maniac-ai/agents/acp only in ACP-enabled builds.

On this page