ACP 兼容 CLI
通过 Agent Client Protocol (ACP) 标准协议接入与运行第三方智能体 CLI。
Mopheus 原生支持通过 Agent Client Protocol (ACP) 与第三方智能体 CLI 通信。ACP 是一个基于 JSON-RPC 2.0 的开放双向协议标准,解耦了工作区编排平台与具体的智能体运行时。
通过 ACP 协议,Mopheus 可以标准化地派发任务提示词、管理工具调用与执行结果、同步工作区状态,并在任务流中进行下一 turn 的交互通信。
协议特性与能力矩阵
| 维度 | 特性说明 |
|---|---|
| 通信协议 | ACP (JSON-RPC 2.0 via stdin/stdout) |
| 会话管理 | 支持 session/new、session/prompt、session/cancel |
| 交互投递 | 下一 turn(Next-turn delivery) |
| 工作区状态 | 支持自动同步工作区根目录与上下文信息 |
| 无人值守权限 | 支持声明权限自动放行策略(如 bypassPermissions) |
| 文件系统沙箱 | Linux 支持(同其他原生 Provider) |
已验证与支持的 ACP CLI
1. Hermes(内置推荐)
Hermes 是 Mopheus 默认内置注册的 ACP Provider。
| 项目 | 值 |
|---|---|
| 二进制文件 | hermes |
| 路径覆盖变量 | MOPHEUS_HERMES_PATH |
| 验证命令 | hermes --version |
| 任务 Skill 路径 | .hermes/skills/ |
安装方式:在守护进程主机安装 hermes 并加入 $PATH,启动守护进程即可自动发现。
2. Kiro CLI
Kiro CLI 提供了完整的 ACP 接口。Mopheus 为 Kiro 内置了专属的工作区状态适配器(WorkspaceStateCapable),在初始化时自动注入工作区边界。
- 启动命令:
kiro-cli - 环境变量:
MOPHEUS_KIRO_PATH - Skill 路径:
.kiro/skills/
3. Qoder CLI
Qoder CLI 支持通过 --acp 参数进入 ACP 模式,并提供无人值守权限策略支持。
- 启动命令:
qodercli - 典型 ACP 启动参数:
--acp-args=--acp,--permission-mode,bypass_permissions - 工作区隔离:默认使用
.qoder/作为 home 与 workdir 子目录。
4. OpenCode / MimoCode(ACP 变体)
除原生行协议外,Mopheus 同样内置了这两款工具的 ACP 变体注册:
- OpenCode ACP:以
opencode-acp注册,执行opencode acp。 - MimoCode ACP:以
mimocode-acp注册,执行mimocode acp。
5. Qwen Code
Qwen Code 作为内置的 qwen ACP Provider 提供。
- 启动命令:
qwen - 路径覆盖变量:
MOPHEUS_QWENCODE_PATH - ACP 模式:使用
--acp启动
ACP Token 用量上报
ACP 不同 CLI 实现之间没有统一的 token 用量载荷格式。用量是否可见以及字段含义取决于具体 CLI 和版本。Mopheus 会记录当前 CLI 实际上报的用量;CLI 未上报时,Mopheus 无法推算真实 token 用量。
| CLI | 已观察到的 ACP 用量上报行为 |
|---|---|
| Qwen Code | 执行过程中会发送用量元数据。在已验证的运行中,Mopheus 能在运行期间记录用量,结束时的总量与 runtime 用量日志一致。缓存输入与未缓存输入分开记录;思考 token 已包含在输出 token 中。 |
| OpenCode | 在当前测试环境中,只能在任务结束时获得可用用量,运行期间没有可用的用量更新。具体行为可能随 CLI 版本变化。 |
| Qoder CLI | 使用 Qoder CLI 1.1.65 和已测试的 zhipu/glm5.3-cp 模型时,ACP 会话能够完成,但返回的用量为零,且没有可用的流式用量元数据。其他版本、模型或配置可能不同。 |
注册其他自定义 ACP CLI
如果你开发的智能体或其他第三方 CLI 支持 ACP 协议,可通过 Mopheus CLI 一键注册为守护进程可用 Provider:
mopheus provider register my-agent acp \
--cmd-name my-agent-cli \
--env-var MY_AGENT_PATH \
--acp-args=--acp \
--unattended-mode bypassPermissions有关无人值守参数配置、自定义别名及配置持久化规则,请参阅自定义 Provider CLI。