问题域/PD-374

ACP协议适配

Agent Client Protocol Adapter

实现Agent Client Protocol标准协议,使标准客户端可接入自定义Agent系统

子问题

1.协议翻译层

2.会话映射

3.速率限制

4.流式通信

5.增量文本流提取(累积全文到差量 chunk 转换)

6.Gateway 断连时的 pending promise 批量清理

7.内存会话 LRU 淘汰与活跃 run 保护

各项目的解法1 solutions

Signals

横向对比

维度OpenClaw
协议翻译架构Translator 类实现 ACP Agent 接口,内部持有 GatewayClient 做 RPC 转发
会话映射双 ID 映射(UUID ↔ 业务键),三路径解析(label → key → fallback)
速率限制固定窗口限流器,120 次/10s,仅限 session 创建
流式通信ndJSON over stdin/stdout,增量文本提取(累积全文 slice 差量)
输入防御逐块字节计数 + 最终组装二次检查,2MB 上限(CWE-400)
会话生命周期内存 LRU 存储,5000 上限 + 24h TTL,活跃 run 不淘汰
工具事件翻译inferToolKind 关键词匹配推断工具类型,toolCallId Set 去重

最佳实践

1.标准协议兼容

2.session映射隔离

3.prompt前缀注入

4.逐块字节计数防 DoS,在内存分配前拒绝超大输入

5.idempotencyKey 关联 ACP prompt 与 Gateway run 防重复

6.凭证文件读取替代命令行参数防进程列表泄露