Skip to content

Kiro Hooks 完整文档指南

概念介绍与核心理念

Kiro Hooks 是强大的自动化工具,通过在 IDE 中发生特定事件时自动执行预定义的 agent 操作来简化您的开发工作流程。使用 hooks,您无需手动请求例行任务,并确保代码库的一致性。

什么是 Agent Hooks?

Agent Hooks 是自动化触发器,当 IDE 中发生特定事件时执行预定义的 agent 操作。与其手动请求执行例行任务,hooks 为以下事件设置自动响应:

  • 保存文件
  • 创建新文件
  • 删除文件

Agent Hooks 的优势

Agent Hooks 通过智能自动化改变您的开发工作流程。通过为常见任务设置 hooks,您可以:

  • 维护一致的代码质量
  • 防止安全漏洞
  • 减少手动开销
  • 标准化团队流程
  • 创建更快的开发周期

Agent Hooks 工作原理

mermaid
flowchart LR
    A[事件检测] --> B[Prompt 执行]
    B --> C[自动化操作]
    
    A1[文件保存/创建/删除] --> A
    B1[预定义 Prompt] --> B
    C1[Agent 处理] --> C

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

  1. 事件检测:系统监控 IDE 中的特定事件
  2. Prompt 执行:当事件发生时,预定义的 prompt 被发送给 agent
  3. 自动化操作:agent 处理 prompt 并执行请求的操作

Hook 类型与触发器

Agent Hooks 支持各种触发器类型,每种都为特定的自动化场景而设计:

1. 文件创建时触发(On File Create)

触发条件:当工作区中创建匹配特定模式的新文件时。

使用场景

  • 为新组件生成样板代码
  • 向新文件添加许可证头
  • 创建实现文件时设置测试文件

2. 文件保存时触发(On File Save)

触发条件:当匹配特定模式的文件被保存时。

使用场景

  • 运行代码检查和格式化
  • 更新相关文件
  • 生成文档
  • 为更改的文件运行测试

3. 文件删除时触发(On File Delete)

触发条件:当匹配特定模式的文件被删除时。

使用场景

  • 清理相关文件
  • 更新其他文件中的导入引用
  • 维护项目完整性

4. 手动触发(Manual Trigger)

触发条件:手动执行 hook。

使用场景

  • 按需代码审查
  • 文档生成
  • 安全扫描
  • 性能优化

Hook 管理与配置

设置 Agent Hooks

创建和管理 hooks 非常简单:

使用资源管理器视图

  1. 导航到 Kiro 面板中的 Agent Hooks 部分
  2. 点击 + 按钮创建新的 hook
  3. 在输入字段中使用自然语言定义 hook 工作流程
  4. Enter 或点击 Submit 继续
  5. 配置 hook 设置并保存

使用命令面板

  1. 使用 Cmd + Shift + P(Mac)或 Ctrl + Shift + P(Windows/Linux)打开命令面板
  2. 输入 Kiro: Open Kiro Hook UI
  3. 按照屏幕指示创建您的 hook

管理您的 Hooks

通过 Kiro 面板中的 Agent Hooks 部分访问所有 hooks。

启用/禁用 Hooks

在不删除的情况下开启或关闭 hooks:

  • 快速切换:点击 Agent Hooks 面板中任何 hook 旁边的 眼睛图标
  • 从 hook 视图:选择一个 hook 并使用右上角的 Hook Enabled 开关

编辑现有 Hooks

Hooks 随着您的工作流程而演进。通过在 Agent Hooks 面板中选择您的 hook 并修改触发器、文件模式、指令或描述等设置,随时更新它们。更新立即生效。

删除 Hooks

在 Agent Hooks 面板中选择 hook,点击底部视图中的 Delete Hook,然后点击 delete。此操作无法撤销。

运行手动触发 Hooks

您可以使用以下方式执行手动触发 hook:

  • 快速运行:点击 Agent Hooks 面板中 hook 名称旁边的 播放按钮(▷)
  • 从 hook 视图:选择 hook 并点击右上角的 Start Hook

最佳实践与指导原则

遵循这些最佳实践将帮助您创建可靠、高效且可维护的 hooks,从而增强您的开发工作流程。

Hook 设计

具体且清晰

  • 编写详细、明确的指令
  • 每个 hook 专注于一个特定任务
  • 对复杂操作使用编号步骤

充分测试

  • 在部署前在示例文件上测试 hooks
  • 验证 hooks 在边缘情况下的工作情况
  • 在扩展前从有限的文件模式开始

监控性能

  • 确保 hooks 不会减慢您的工作流程
  • 考虑触发事件的频率
  • 优化 prompts 以提高效率

安全考虑

验证输入

  • 确保 hooks 优雅地处理意外的文件内容
  • 考虑文件格式中的潜在边缘情况
  • 使用格式错误或意外输入进行测试

限制范围

  • 尽可能针对特定文件类型或目录
  • 使用精确的文件模式避免不必要的执行
  • 考虑 hooks 对整个代码库的影响

定期审查

  • 随着项目发展更新 hook 逻辑
  • 删除不再需要的 hooks
  • 根据实际结果优化 prompts

团队协作

文档化 Hooks

  • 维护 hook 用途的清晰文档
  • 包含预期行为的示例
  • 记录任何限制或边缘情况

标准化工作流程

  • 在团队成员之间使用一致的 hooks
  • 在版本控制中存储 hook 配置
  • 为常见团队工作流程创建标准 hooks

版本控制集成

  • 考虑与版本控制系统集成的 hooks
  • 为代码审查工作流程创建 hooks
  • 使用 hooks 强制执行团队标准

实际使用案例与示例

这些示例展示了您可以为自己的项目调整的真实 hook 实现。

1. 安全预提交扫描器

触发类型:File Save
目标**/*

此 hook 通过在提交前扫描文件来帮助防止安全泄露。

Hook 指令

扫描此文件的潜在安全问题,包括:
- API 密钥、密码或机密信息
- 硬编码凭据
- 潜在的 SQL 注入漏洞
- XSS 漏洞
- 不安全的配置

如果发现任何问题,请提供具体的修复建议。

2. 国际化助手

触发类型:File Save
目标src/locales/en/*.json

此 hook 确保当您更新主要语言文件中的文本时,翻译保持同步。

Hook 指令

检查此英语语言环境文件是否有其他语言文件中不存在的新键。
对于任何缺失的键,将它们添加到相应文件中,并使用占位符文本
表示需要翻译。

3. 文档生成器

触发类型:Manual Trigger

此 hook 在代码更改时自动更新文档。

Hook 指令

为当前项目生成全面的文档,包括:
- 所有公共函数的 API 文档
- 使用示例
- 安装说明
- 配置选项

使用最新信息更新 README.md 文件。

4. 测试覆盖率维护器

触发类型:File Save
目标src/**/*.{js,ts,jsx,tsx}

此 hook 确保随着代码的发展,测试覆盖率保持较高水平。

Hook 指令

分析此文件并检查是否存在相应的测试文件。
如果测试缺失或不完整:
- 创建或更新测试文件
- 确保所有公共函数都经过测试
- 在适当的地方添加边缘情况测试

与 MCP 集成

Agent Hooks 可以通过 Model Context Protocol (MCP) 功能增强以扩展其功能:

  1. 访问外部工具:Hooks 可以利用 MCP 服务器访问专门的工具和 API
  2. 增强上下文:MCP 为更智能的 hook 操作提供额外的上下文
  3. 领域特定知识:专门的 MCP 服务器可以提供领域专业知识

示例:验证 Figma 设计

触发类型:File Save Hook
目标*.css *.html

Hook 指令

使用 Figma MCP,验证此文件中的 HTML 和 CSS 更改
是否遵循设计系统规范。检查:
- 颜色与设计令牌的一致性
- 排版与样式指南的对齐
- 间距和布局对网格系统的遵循

对任何偏差提供具体反馈。

故障排除与常见问题

虽然提供的信息中故障排除页面内容不完整,但这里是 Kiro Hooks 的常见故障排除方法:

常见问题

Hook 未触发

  • 验证文件模式是否匹配您的目标文件
  • 检查 hook 是否在 Agent Hooks 面板中启用
  • 确保触发事件按预期发生

性能问题

  • 审查 hook 频率和范围
  • 优化 prompt 复杂性
  • 考虑限制文件模式以减少不必要的执行

意外结果

  • 审查并优化 hook 指令的清晰度
  • 在部署到生产环境前使用示例文件测试
  • 检查文件模式中的边缘情况

调试步骤

  1. 检查 Hook 状态:验证 hook 已启用且配置正确
  2. 测试文件模式:确保您的目标模式匹配预期文件
  3. 查看日志:检查任何错误消息或警告
  4. 简化指令:从基本指令开始,逐渐增加复杂性
  5. 增量测试:在广泛应用前在小文件集上测试 hooks

故障排除最佳实践

  • 保持 hook 配置的详细文档
  • 尽可能在版本控制中使用 hook 设置
  • 在生产环境前在开发环境中测试 hooks
  • 监控 hook 性能并根据需要调整
  • 随着项目发展定期审查和更新 hook 逻辑

基于 MIT 许可证发布