用 Kiro CLI 做 Agent 后端,1000 行代码搞定飞书 AI 聊天机器人

前两天想给团队飞书群接一个 AI 聊天机器人。刚开始梳理需求就头大了------LLM 集成、流式响应、工具调用、会话管理、上下文控制......

后来发现 Kiro CLI 支持 ACP(Agent Client Protocol),不用自己搭 Agent 运行时了,写一层桥接服务把飞书消息翻译成 ACP 格式就行。亚马逊云科技官博昨天也发了这个方案的实践文章,我跟着试了一遍,记录一下。

ACP 协议干嘛的

说白了就是一个标准化的"跟 AI Agent 对话"的协议。跑在 stdio 上,交互用 JSON。

启动 Kiro CLI,stdin 发指令,stdout 读响应。支持 Session 管理、富文本 Prompt(文本/图片/文件)、流式输出、工具调用状态上报。

关键点:协议不绑定任何前端。接飞书可以,接钉钉也可以,接 Slack 也行。

Kiro CLI 作为 Agent 后端

选它做后端是因为省事。LLM 集成、MCP 工具调用、Session 管理、Sub-agent 编排、Skill 模板------全内置了。你不需要自己搞也不需要长期维护。

Custom Agent 配置

一个 JSON 搞定。比如 Code Review Agent:

json 复制代码
{
  "name": "code-review-agent",
  "description": "代码审查专用 Agent",
  "prompt": "你是一个代码审查专家,专注于代码质量、安全漏洞和工程实践规范",
  "tools": ["read", "shell"],
  "allowedTools": ["read", "shell"],
  "toolsSettings": {
    "shell": {
      "allowedCommands": [
        "grep", "find", "wc", "head", "tail",
        "cat", "diff", "git diff", "git log", "cargo"
      ]
    }
  },
  "resources": [
    "skill://~/.kiro/skills/rust-code-review/SKILL.md"
  ],
  "hooks": {
    "agentSpawn": [
      {
        "command": "git diff --name-only HEAD~1",
        "timeout_ms": 5000,
        "max_output_size": 2048
      }
    ]
  }
}

几个值得说的设计:

  • allowedCommands 白名单控制 Shell 权限,Agent 不会乱执行危险命令
  • resources 引用 Skill 文件,把团队编码规范注入上下文
  • hooks.agentSpawn 启动时自动 git diff,Agent 直接知道该审查哪些文件

放到 ~/.kiro/agents/ 目录,kiro-cli acp --agent code-review-agent 启动。

MCP 工具生态

原生支持 MCP,查数据库、检索文档、调外部 API 都能通过 MCP Server 接入。内置工具(shell/read/write/grep/web_fetch/web_search)覆盖日常场景。

架构和数据流

三层结构:

java 复制代码
飞书 WebSocket ←→ 桥接服务 ←→ Kiro CLI (ACP)

消息进来:WebSocket 监听飞书事件 → 解析用户消息

Session 映射:飞书话题(Thread)= ACP Session。同一话题里的消息自动路由到同一个 Session,新话题创建新 Session。桥接服务用一致性哈希把对话路由到固定 Worker,避免 Session 频繁切换。

流式回传:Kiro CLI 的流式输出累积后以消息卡片实时更新到飞书。工具调用状态同步展示。

双向集成 :桥接服务内嵌 MCP Server,Agent 可以反向操作飞书------比如通过 feishu_send_file 工具给用户发文件。

实操步骤

配置桥接服务 config.toml

toml 复制代码
log_level = "debug"

[feishu]
app_id = "cli_xxxxxxx"
app_secret = "xxxxxxxxx"

[kiro]
cmd = "kiro-cli"
args = ["acp", "--agent", "code-review-agent"]

[kiro].args 指定 Agent,换个 Agent 就改这一行。

启动后的对话流程

  1. 用户在飞书 @机器人:"帮我审查最近的提交"
  2. Agent 通过 hooks 自动 git diff,拿到变更列表
  3. 逐文件分析代码,识别问题
  4. 输出结构化报告(Critical / Warning / Suggestion)
  5. 用户可以继续追问,上下文保持

不同场景切换

换个 Agent 配置就是另一个产品:

  • 知识库问答:配文档 RAG 的 MCP 工具
  • DevOps 助手:配 CloudWatch 查询、日志分析的 MCP 工具
  • 技术摘要 :用内置 web_fetch 抓取网页生成摘要

踩坑记录

  1. 进程池别开太大。每个 Kiro CLI 进程占内存不少,4-8 个 Worker 够用
  2. 消息卡片不要逐 Token 更新。飞书 API 有频率限制,攒 500ms 再刷新
  3. Session 超时要处理。话题可能沉寂很久又活跃,要能自动恢复 Session
  4. cwd 指对。Code Review Agent 需要能读到代码文件

成本

直接调大模型 API 按 Token 计费,Agent 场景下调用次数成倍增加。Kiro CLI 用订阅模式,成本可预测,不会因为用量波动而账单炸裂。

扩展到其他平台

ACP 不绑定 IM 平台。核心桥接逻辑复用,只需要改平台适配层(钉钉 WebHook / 企微回调 / Slack Events API)。Agent 配置不需要变。

相关资源:

相关推荐
亚马逊云开发者2 天前
Claude Code Token费用暴涨3倍?SageMaker+LiteLLM动态路由方案帮你省70%
aws
亚马逊云开发者2 天前
文搜视频、图搜视频、视频搜视频——Nova Multimodal Embeddings 多模态素材搜索实战
aws
亚马逊云开发者2 天前
3小时从零到生产:用Kiro IDE写Agent + AgentCore一键部署到云端
aws
亚马逊云开发者4 天前
都2026了,你的游戏服务器还在裸奔?聊聊用Player Gateway彻底隐藏IP的DDoS防护方案
aws
翼龙云_cloud4 天前
亚马逊云代理商:三步用 CloudWatch 高效监控 AWS Lambda 日志
云计算·aws·云服务器
zhojiew4 天前
关于AWS Direct Connect with Transit Gateway和Direct Connect Gateway
云计算·gateway·aws
观测云4 天前
AWS DevOps Agent 接入观测云最佳实践
aws·devops·可观测性·观测云
亚马逊云开发者7 天前
试了 8 种方式全失败后,我用双通道架构把 Kiro CLI 变成了 REST API
aws
亚马逊云开发者7 天前
两个 AI Agent 互相调用是什么体验?Kiro + OpenClaw 双协议实战,架构评审从 2 天干到 15 分钟
aws
亚马逊云开发者8 天前
更新个监控 Agent 要协调 200 个团队?Amazon ECS 托管守护进程终于把平台工程师从苦海里捞出来了
aws