TronCode Tron CLI ACP 协议

概述

ACP(Agent Communication Protocol)是 Tron 的 Agent 间通信协议,支持多 Agent 协作。通过 ACP,多个 Tron 实例可以在同一任务中协同工作,由 Orchestrator Agent 统一协调,Sub-Agent 并行执行子任务,大幅提升复杂工程任务的执行效率。

ACP 基于本地 Unix Socket 或 TCP 通信,消息格式为 JSON,设计目标是轻量、低延迟,适合本地多进程协作场景。

架构

ACP 采用 Orchestrator / Sub-Agent 通信模型:

  • Orchestrator Agent:主 Tron 实例,负责任务分解、Sub-Agent 调度和结果汇总
  • Sub-Agent:工作 Tron 实例,接收子任务,执行后将结果返回给 Orchestrator
  • 消息总线:Orchestrator 监听 ACP 端口,Sub-Agent 主动连接并注册
text
用户请求
    │
    ▼
Orchestrator Agent (主实例)
    ├── Sub-Agent A: 处理前端代码
    ├── Sub-Agent B: 处理后端代码
    └── Sub-Agent C: 运行测试套件
    │
    ▼
汇总结果 → 返回用户

每个 Sub-Agent 是独立的 Tron 进程,拥有独立的上下文窗口,互不干扰,可真正并行执行。

启用 ACP

config.json 中通过 acp 字段配置并启用 ACP:

json
{
  "acp": {
    "enabled": true,
    "port": 7700,
    "host": "127.0.0.1",
    "token": "your-secret-token",
    "maxAgents": 4,
    "agentTimeout": 300000
  }
}

配置说明:

  • port:ACP 监听端口,默认 7700
  • host:监听地址,强烈建议保持 127.0.0.1(仅本地访问)
  • token:认证令牌,Sub-Agent 连接时需提供
  • maxAgents:最大并发 Sub-Agent 数量
  • agentTimeout:Sub-Agent 任务超时时间(毫秒)

多 Agent 场景

ACP 最适合可以并行分解的大型任务。以下是一个典型的多 Agent 协作示例:

text
# 在 Tron TUI 中发起多 Agent 任务
用户: 将整个项目从 JavaScript 迁移到 TypeScript

Orchestrator 分析任务...
分解为 3 个并行子任务:
  [A] 迁移 src/api/ 目录 (43 个文件)
  [B] 迁移 src/components/ 目录 (67 个文件)
  [C] 迁移 src/utils/ 目录 (28 个文件)

启动 3 个 Sub-Agent...
  Sub-Agent A: 正在处理 src/api/...
  Sub-Agent B: 正在处理 src/components/...
  Sub-Agent C: 正在处理 src/utils/...

[Sub-Agent C 完成] 28 个文件已迁移
[Sub-Agent A 完成] 43 个文件已迁移
[Sub-Agent B 完成] 67 个文件已迁移

汇总结果: 138 个文件成功迁移到 TypeScript
💡
适用场景

多 Agent 协作适合任务可清晰分区、各子任务相对独立的场景。对于相互依赖严重的任务,单 Agent 顺序执行通常更可靠。

安全

ACP 使用 Bearer Token 进行认证,所有 Sub-Agent 连接请求必须携带有效令牌:

json
// Sub-Agent 连接配置
{
  "acp": {
    "mode": "agent",
    "orchestratorUrl": "http://127.0.0.1:7700",
    "token": "your-secret-token"
  }
}

安全建议:

  • 仅限本地使用:将 host 始终设置为 127.0.0.1,切勿绑定到 0.0.0.0
  • 使用强令牌:使用随机生成的长令牌,避免使用简单密码
  • 避免跨网络暴露:ACP 不内置 TLS,不适合通过网络传输
⚠️
注意

ACP 设计仅用于本地多进程协作。如需跨机器协作,请使用 Server 模式 并配置适当的网络安全措施。