内容类型

理解 Agent Client Protocol 中的内容块

内容块代表在 Agent Client Protocol 中流动的可显示信息。它们提供了一种结构化的方式来处理各种面向用户的内容——无论是来自语言模型的文本、用于分析的图像,还是用于上下文的嵌入资源。

内容块出现在:

  • 通过 session/prompt 发送的用户提示中
  • 通过 session/update 通知作为消息更新或流式分块报告的语言模型输出中
  • 工具调用的进度更新和结果中,包括流式工具调用内容分块

内容类型

Agent Client Protocol 使用与 Model Context Protocol (MCP) 相同的 ContentBlock 结构。

此设计选择使 Agent 能够无缝转发 MCP 工具输出的内容而无需转换。

当接收方可以保留或通用显示时,内容块 type 值可以是自定义或未来变体。自定义内容块类型 必须_ 开头。未知的非下划线内容块类型保留给未来的 ACP 变体。

文本内容

纯文本消息构成大多数交互的基础。

{
  "type": "text",
  "text": "What's the weather like today?"
}

所有 Agent 必须 在提示中包含时支持文本内容块。

字段类型必需描述
textstring要显示的文本内容
annotationsAnnotations-可选元数据,关于内容应如何使用或显示。

图像内容

可以包含图像以提供视觉上下文或分析。

{
  "type": "image",
  "mimeType": "image/png",
  "data": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAAB..."
}

在提示中包含时需要 image 提示能力

字段类型必需描述
datastringBase64 编码的图像数据
mimeTypestring图像的 MIME 类型(例如 “image/png”、“image/jpeg”)
uristring-可选的图像来源 URI 引用
annotationsAnnotations-可选元数据,关于内容应如何使用或显示。

音频内容

用于转录或分析的音频数据。

{
  "type": "audio",
  "mimeType": "audio/wav",
  "data": "UklGRiQAAABXQVZFZm10IBAAAAABAAEAQB8AAAB..."
}

在提示中包含时需要 audio 提示能力

字段类型必需描述
datastringBase64 编码的音频数据
mimeTypestring音频的 MIME 类型(例如 “audio/wav”、“audio/mp3”)
annotationsAnnotations-可选元数据,关于内容应如何使用或显示。

嵌入资源

直接嵌入消息中的完整资源内容。

{
  "type": "resource",
  "resource": {
    "uri": "file:///home/user/script.py",
    "mimeType": "text/x-python",
    "text": "def hello():\n print('Hello, world!')"
  }
}

这是在提示中包含上下文的首选方式,例如使用 @-提及来引用文件或其他资源。通过将内容直接嵌入请求中,客户端可以包含 Agent 可能无法直接访问的来源的上下文。在提示中包含时需要 embeddedContext 提示能力

字段类型必需描述
resourceEmbeddedResourceResource嵌入的资源内容,可以是:
字段类型必需描述
uristring标识资源的 URI
textstring资源的文本内容
mimeTypestring-可选的文本内容 MIME 类型
字段类型必需描述
uristring标识资源的 URI
blobstringBase64 编码的二进制数据
mimeTypestring-可选的 blob MIME 类型
字段类型必需描述
annotationsAnnotations-可选元数据,关于内容应如何使用或显示。

资源链接

对 Agent 可访问资源的引用。

{
  "type": "resource_link",
  "uri": "file:///home/user/document.pdf",
  "name": "document.pdf",
  "mimeType": "application/pdf",
  "icons": [
    {
      "src": "https://example.com/icons/pdf.png",
      "mimeType": "image/png",
      "sizes": ["48x48"]
    }
  ],
  "size": 1024000
}
字段类型必需描述
uristring资源的 URI
namestring资源的人类可读名称
mimeTypestring-资源的 MIME 类型
titlestring-可选的资源显示标题
descriptionstring-可选的资源内容描述
iconsIcon[]-可选的客户端可为此资源显示的图标。每个图标需要 src URI,并可包含 mimeTypesizestheme
sizeinteger-可选的资源大小(字节)
annotationsAnnotations-可选元数据,关于内容应如何使用或显示。