Skip to content

Agent hooks 是 Kiro 的自动化核心,允许你在 IDE 中特定事件发生时自动触发预设的 Agent 操作或 Shell 命令。无论是保存文件时自动检查代码规范、新建文件时更新索引,还是提交前扫描安全漏洞,hooks 都能消除重复的手动操作,让这些检查默默在后台运行。本文介绍 hooks 的工作原理、两种创建方式,以及进一步学习的路径。

Hooks 概述

Agent hooks 是强大的自动化工具,通过在 IDE 特定事件发生时自动执行预定义的 Agent 操作,简化你的开发工作流。有了 hooks,你不再需要手动要求 AI 执行例行检查,而是让这些操作在正确的时机自动触发。

Hooks 能响应哪些事件?

  • 文件保存、创建或删除
  • 用户 prompt 提交和 Agent 回合完成
  • 工具调用前后(Pre/Post Tool Use)
  • spec 任务执行前后
  • 手动按需触发(Manual Trigger)

Hooks 能做什么?

通过为常见任务配置 hooks,你可以:

  • 持续维护代码质量标准
  • 在问题进入代码库前拦截安全漏洞
  • 减少手动重复工作
  • 统一团队开发流程
  • 让开发循环更快

无论是个人小项目还是大型代码库,agent hooks 都能确保例行任务被自动、一致地处理,让你专注于真正有价值的工作。

Hooks 的工作原理

Hook 系统遵循简单的两步流程:

  1. 事件检测:系统持续监听 IDE 中的特定事件
  2. 自动动作:事件触发时,执行预设的 Agent prompt 或 Shell 命令

这套自动化流程消除了重复任务,并确保整个代码库的处理方式保持一致。

创建 Hooks

你可以通过两种方式创建 hook——用自然语言描述让 Kiro 生成配置,或者手动填写表单。

创建入口

  1. 进入 Kiro 面板的 Agent Hooks 区域
  2. 点击 + 创建新 hook
  3. 选择创建方式:
    • 手动创建:在表单中手动配置各字段
    • 让 Kiro 创建:用自然语言描述,由 Kiro 生成配置

让 Kiro 生成 Hook

  1. 选择 "Ask Kiro to create a hook"
  2. 用自然语言描述你希望的 hook 行为
  3. 按 Enter 或点击 Submit 提交
  4. 检查生成的配置,按需调整后点击 Save Hook 保存

手动创建 Hook

  1. 选择 "Manually create a hook" 打开配置表单
  2. 填写以下字段:
    • Title:hook 的简短名称
    • Description:hook 的功能说明
    • Event:触发类型(如 File Save、Post Tool Use、Pre Task Execution)
    • Tool name:Pre/Post Tool Use hooks 需要指定匹配的工具名
    • File pattern:文件事件 hooks 需要指定匹配的文件路径模式
    • Action:选择 Ask Kiro(Agent prompt)或 Run Command(Shell 命令)
    • Instructions or Command:填写 prompt 文本或 Shell 命令
  3. 点击 Create Hook 完成,或 Clear 重置表单

你也可以通过命令面板(Cmd/Ctrl + Shift + P)输入 Kiro: Open Kiro Hook UI 来打开 Hook 配置界面。

深入学习

现在你已经了解了 hooks 的基础概念,可以进一步探索:

  • Hook 动作类型 — 了解 Agent prompt 动作和 Shell 命令动作的区别与适用场景
  • 最佳实践 — Hook 设计、安全考量和团队协作的推荐做法
  • 示例与模板 — 可直接参考的真实 hook 实现案例

常见问题

Q:Hook 配置文件存放在哪里,可以提交到版本库吗?

A:Hook 配置文件存放在项目根目录的 .kiro/hooks/ 目录下,文件格式为 JSON(.kiro.hook 后缀)。强烈建议将这些文件提交到版本库,这样团队所有成员都能使用相同的自动化规则。

Q:Hook 会不会在不想要的时候自动触发干扰我?

A:可以通过精确的 patterns 设置来限制触发范围,只监听特定文件类型或目录。对于高频触发的 Agent prompt 类型 hook,建议检查触发频率是否合理——每次触发都会消耗 credits 并启动新的 Agent 循环。

Q:如何临时禁用某个 hook?

A:在 Kiro 面板的 Agent Hooks 区域,可以对单个 hook 进行启用/禁用切换,无需删除配置文件。