Skip to content

ACP 协议支持

本文档记录此插件支持哪些 Agent Client Protocol (ACP) 功能。

什么是 ACP?

Agent Client Protocol (ACP) 是 AI agent 与客户端应用程序之间通信的开放标准。它定义了客户端如何发送提示、接收响应、处理权限和管理会话。

Agent Client 作为 客户端 实现 ACP,与兼容 ACP 的 agent(如 Claude Code、Codex 和 Gemini CLI)通信。

方法

客户端 → Agent

插件可以在 agent 上调用的方法。

方法状态备注
initialize✅ 支持
authenticate✅ 支持
session/new✅ 支持
session/prompt✅ 支持
session/cancel✅ 支持
session/set_mode✅ 支持
session/load✅ 支持
session/set_model✅ 支持不稳定 API
session/list✅ 支持不稳定 API
session/resume✅ 支持不稳定 API
session/fork✅ 支持不稳定 API

TIP

标记为"不稳定 API"的方法可能会在未来的 ACP 版本中更改。它们在 SDK 中以 unstable_ 为前缀。

Agent → 客户端(通知)

插件可以通过 session/update 从 agent 接收的会话更新。

更新类型状态备注
agent_message_chunk✅ 支持仅文本
agent_thought_chunk✅ 支持仅文本
user_message_chunk✅ 支持仅文本;用于会话历史回放
tool_call✅ 支持
tool_call_update✅ 支持
plan✅ 支持
available_commands_update✅ 支持
current_mode_update✅ 支持

Agent → 客户端(请求)

agent 可以向插件发出的请求。

方法状态备注
session/request_permission✅ 支持
terminal/create✅ 支持
terminal/output✅ 支持
terminal/wait_for_exit✅ 支持
terminal/kill✅ 支持
terminal/release✅ 支持
fs/read_text_fileagent 使用自己的读取工具
fs/write_text_fileagent 使用自己的写入工具

内容类型

提示内容(客户端 → Agent)

插件可以在 session/prompt 中发送的内容类型。

类型状态备注
text✅ 支持
image✅ 支持需要 agent 支持
audio❌ 不支持
resource_link❌ 不支持
resource✅ 支持嵌入上下文;需要 agent 支持

工具调用内容(Agent → 客户端)

插件可以在工具调用中显示的内容类型。

类型状态备注
diff✅ 支持
terminal✅ 支持
content❌ 不支持

客户端能力

在初始化期间向 agent 广告的能力。

能力
fs.readTextFilefalse
fs.writeTextFilefalse
terminaltrue

INFO

插件不实现文件系统操作(fs/read_text_filefs/write_text_file)。agent 通过自己的工具处理文件操作。

另请参阅

基于 Apache 2.0 许可证发布