Skip to content

Kiro CLI 实现了 Agent Client Protocol(ACP),可以作为 agent 接入 JetBrains IDEs、Zed 和其他兼容编辑器。通过 kiro-cli acp,编辑器可用 JSON-RPC 2.0 与 Kiro agent 通信,并获得会话、模型、流式响应和工具调用能力。

Kiro ACP:把 Kiro CLI 接入 JetBrains、Zed 等编辑器

Kiro CLI 支持 Agent Client Protocol(ACP)。ACP 是一个开放标准,用来让 AI agents 和编辑器之间用统一协议通信。

这意味着你不一定只能在 Kiro IDE 里使用 Kiro agent。只要编辑器支持 ACP,就可以把 Kiro CLI 作为 agent 接进去,例如 JetBrains IDEs、Zed 等。

ACP 解决什么问题

没有 ACP 时,每个编辑器都要为每个 agent 做定制集成,每个 agent 也要适配不同编辑器 API。这会带来集成成本、兼容限制和工具锁定。

ACP 的作用类似 LSP 对 language server 的标准化:

  • 实现 ACP 的 agent 可以接入兼容编辑器。
  • 支持 ACP 的编辑器可以接入兼容 agents。
  • 双方通过标准协议通信,减少重复集成。

快速启动

把 Kiro 作为 ACP agent 运行:

bash
kiro-cli acp

如果要使用指定 agent 配置:

bash
kiro-cli acp --agent my-agent

Kiro agent 会通过 stdin / stdout 使用 JSON-RPC 2.0 通信。编辑器需要配置为启动这个命令。

JetBrains IDEs 配置

JetBrains IDEs(IntelliJ IDEA、WebStorm、PyCharm 等)可通过 AI Assistant 支持 ACP。

添加 Kiro custom agent 的典型配置是写入 ~/.jetbrains/acp.json

json
{
  "agent_servers": {
    "Kiro Agent": {
      "command": "/full/path/to/kiro-cli",
      "args": ["acp"]
    }
  }
}

之后 Kiro Agent 会出现在 AI Chat 的模式选择器中。

Zed 配置

Zed 原生支持 ACP agents。可以在 ~/.config/zed/settings.json 中加入:

json
{
  "agent_servers": {
    "Kiro Agent": {
      "type": "custom",
      "command": "~/.local/bin/kiro-cli",
      "args": ["acp"],
      "env": {}
    }
  }
}

然后在 Zed 的 AI panel 中选择 Kiro Agent

支持哪些 ACP 方法

Kiro CLI 实现了会话和模型相关的核心方法:

Method说明
initialize初始化连接并交换 capabilities
session/new创建新 chat session
session/load按 ID 加载已有 session
session/prompt向 agent 发送 prompt
session/cancel取消当前操作
session/set_mode切换 agent mode
session/set_model修改当前 session 的模型

Kiro ACP agent 会声明能力,例如支持加载已有 session,也支持 image content in prompts。

Kiro 扩展方法

Kiro 还通过 _kiro.dev/ 前缀扩展 ACP,用于暴露 Kiro 特有能力:

  • Slash commands:执行命令、获取自动补全、通知可用命令。
  • MCP server events:处理 MCP OAuth URL、server initialized 事件。
  • Session management:context compaction 状态、clear 状态、终止 subagent session。

不支持这些扩展的客户端可以安全忽略它们。

会话存储和日志

ACP sessions 会持久化到:

text
~/.kiro/sessions/cli/

每个 session 会生成:

  • <session-id>.json:session metadata 和状态。
  • <session-id>.jsonl:event log,也就是对话历史。

日志位置:

平台位置
macOS$TMPDIR/kiro-log/kiro-chat.log
Linux$XDG_RUNTIME_DIR/kiro-log/kiro-chat.log

可以用环境变量控制日志:

bash
KIRO_LOG_LEVEL=debug kiro-cli acp
KIRO_CHAT_LOG_FILE=/path/to/custom.log kiro-cli acp

常见问题

Q: ACP 是 Kiro 私有协议吗?

A: 不是。ACP 是开放标准,Kiro CLI 实现该协议以接入兼容编辑器。

Q: Kiro ACP 可以在 JetBrains 里用吗?

A: 可以。JetBrains IDEs 可通过 AI Assistant 的 ACP 支持添加 Kiro custom agent。

Q: Kiro ACP 通过什么协议通信?

A: 通过 stdin / stdout 使用 JSON-RPC 2.0 通信。