Skip to content

ACP Profile

目标

ACP 是 AaaS v1 的一等北向协议档案,用于承载客户端会话、权限请求、文件系统与终端能力协商。

ACP 对外暴露的会话语义必须映射到 canonical AaaS 资源,而不是绕开 RunInteractionRequest 或平台事件流。

档案声明

  • ACP 能力由 AgentRevision.protocolProfiles.acp 声明
  • 实际 endpoint、transport 和 security 由 ProtocolBinding(protocol=acp) 声明
  • protocolVersion 表示 ACP 版本,不等于 AaaS /v1
  • capabilities 用于声明是否支持 loadSessionsessionListsessionInfoUpdatepermissionsterminalfsmcp
  • 仍处于草案状态的 ACP 能力 MUST 通过 extensions 声明,MUST NOT 作为 AaaS v1 的必选行为

核心映射

ACP 概念AaaS canonical model
initialize对 revision profile 与 ProtocolBinding(acp) 的能力与 transport 协商
session/newCreateRunCommand
session/load既有 Run / Thread 的恢复视图;仅在 loadSession=true 时可用
session/promptContinueRunCommand,或在客户端便捷层中折叠为创建新 run
session/update由 run 事件流与读模型投影出来的稳定更新
session/cancelCancelRunCommand
session/request_permissionInteractionRequest
fs/*受 execution profile 和沙箱策略约束的文件系统能力
terminal/*受 execution profile 和沙箱策略约束的终端能力
session/listGET /v1/runs 的协议视图;仅在 sessionList=true 时可用
session_info_updaterun / attempt / session 元数据变更的协议事件;仅在 sessionInfoUpdate=true 时可用

会话语义

  • ACP adapter MUST 为映射到同一 runId / threadId 的会话提供稳定句柄
  • canonical 写入与读取身份仍以 runId 为准
  • ACP 会话的历史、状态与恢复 MUST 来源于平台事件流、消息投影、interaction 投影和 checkpoint,而不是 adapter 私有内存
  • loadSessionfalse 时,adapter MUST NOT 伪造恢复能力

权限与输入

  • ACP 中需要用户确认、授权、补充参数或确认继续执行的场景,MUST 映射到 InteractionRequest
  • session/request_permission 产生的等待态 MUST 反映为 run 的 blockingInteractionIdblockedReason
  • 权限结果 MUST 通过 respond interaction 的标准写路径回到平台
  • adapter MUST NOT 直接在协议边界内吞掉权限决策而不留下平台审计事实

文件系统、终端与 MCP

  • fs/*terminal/* 只在底层 execution profile 实际支持时才可宣告为可用
  • ACP adapter MUST 将文件与终端访问约束到 run / session 的安全边界内
  • 如 ACP profile 同时宣告 mcp 能力,MCP server 目录 MUST 来源于 AgentRevision.mcpServerRefs[] 解析得到的 McpServerRevision,其 tool catalog 则来源于该 revision 的 toolCatalog[] 与可选 Tool 引用
  • ACP transport 只是暴露方式;工具调用产生的结果如进入 run 输出流,仍 MUST 转换为标准 tool call / result 事件

v1 原生范围

AaaS v1 将以下 ACP 能力视为原生对齐范围:

  • initialize
  • session/new
  • session/load
  • session/prompt
  • session/update
  • session/cancel
  • session/request_permission
  • fs/*
  • terminal/*
  • 可选已完成能力:session/listsession_info_update

以下能力不属于 AaaS v1 必选范围,若实现需要支持,必须放入 extensions

  • 仍处于草案阶段的 session/resume
  • draft elicitation / draft close / delete 等实验性会话语义
  • 任何会改变 canonical run / interaction 语义的私有暂停模型

兼容要求

  • ACP adapter MUST NOT 引入独立于 AaaS 的 session 状态机真源
  • ACP 中的取消、权限、恢复、列表能力 MUST 与 canonical run 事实保持一致
  • ACP protocolVersion 可单独演进,但不得改变 AaaS v1 资源模型字段语义

白皮书与规范内容以仓库真源为准。