基于 Agent Client Protocol 的无头 CLI 客户端,支持多 agent 统一调度、持久化会话、命名并行工作流及结构化输出。
acpx 是一个基于 Agent Client Protocol (ACP) 的无头命令行客户端,旨在替代传统的 PTY 终端文本抓取方式,让 AI 编排器通过结构化协议消息(thinking、tool calls、diffs)与 coding agent 通信。
核心能力
- 多 Agent 统一入口:一个命令面支持 Pi、OpenClaw ACP、Codex、Claude 等 ACP 兼容 agent,首次使用时通过 npx 自动下载对应 adapter
- 持久化会话:跨调用的多轮对话,按 repo 作用域存储于
~/.acpx/,支持命名会话并行运行多个工作流(如-s backend、-s frontend) - Prompt 队列与协作取消:agent 繁忙时排队提交 prompt 按序执行,
cancel通过队列 IPC 发送 ACP session/cancel 不破坏会话状态 - 精细权限控制:
--approve-all、--approve-reads、--deny-all、--non-interactive-permissions fail等策略 - 多输出格式:
text(人类可读)、json(NDJSON 自动化)、quiet(仅最终输出)、--suppress-reads(抑制文件内容) - Fire-and-forget 与无状态执行:
--no-wait排队并立即返回;exec无状态一次性执行 - Soft-close 与 Crash 重连:关闭会话保留磁盘历史,自动检测死亡 agent 进程并重新加载会话
实验性 Flows 系统
TypeScript 工作流模块,支持 acp / action / compute / checkpoint 步骤类型编排多步 ACP 任务,附带浏览器内回放查看器(React 19 + @xyflow/react + Vite)。
配置体系
全局 ~/.acpx/config.json → 项目级 <cwd>/.acpxrc.json → CLI flags,优先级从低到高。认证握手支持 config auth 字段或 ACPX_AUTH_<METHOD_ID> 环境变量。支持通过 config agents 字段注册自定义 agent。
程序化嵌入
提供 acpx/runtime 导出,支持在 Node.js 应用中程序化调用。内置数据驱动的 ACP Core v1 一致性测试套件。
适用场景
- Agent-to-Agent 通信:编排器程序化调用 coding agent 获取结构化输出
- 并行代码审查/修复:同一仓库内命名会话并行执行不同任务
- CI/CD 集成:
exec模式 + NDJSON 输出在流水线中无头运行 - 多步工作流自动化:Flows 编排复杂多轮编码流程(如 PR triage)
前置条件:Node.js ≥ 22.12.0。当前处于 Alpha 阶段(v0.6.1),CLI/runtime 接口可能变化。
注意:ACP 规范的正式定义出处(openclaw 组织自研或外部标准)尚未在仓库中明确;npm 发布状态未经直接验证;OpenClaw 组织背景信息有限。