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| Flag | Purpose |
|---|---|
--app <specifier> | Module export (required). Formats: ./file.js:export, pkgname:export, append () for a zero-arg factory |
--name | ACP agent name (defaults to agent id) |
--title | Human-readable title |
--version | Agent 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:appWire 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"| Flag | Purpose |
|---|---|
--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_file → read, python_exec → execute, set_plan → think, bg_wait → other.
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.