Kiro AI 助手完整使用指南
详细介绍 Kiro AI 助手的完整使用指南。涵盖核心概念如读写代码、智能分析、Shell 命令执行等。工作模式分为 Autopilot 自动驾驶与 Supervised 监督模式。重点讲解了规范驱动开发(Specs)、自动化触发器(Hooks)、行为定制规则(Steering)以及模型上下文协议(MCP)。包含聊天上下文引用方法、实战示例及最佳实践建议,旨在帮助开发者高效利用 AI 工具完成编码任务。

详细介绍 Kiro AI 助手的完整使用指南。涵盖核心概念如读写代码、智能分析、Shell 命令执行等。工作模式分为 Autopilot 自动驾驶与 Supervised 监督模式。重点讲解了规范驱动开发(Specs)、自动化触发器(Hooks)、行为定制规则(Steering)以及模型上下文协议(MCP)。包含聊天上下文引用方法、实战示例及最佳实践建议,旨在帮助开发者高效利用 AI 工具完成编码任务。

Kiro 是一个 AI 驱动的 IDE 助手,专注于帮助开发者高效完成编码任务。它不仅能理解你的代码,还能主动执行操作、自动化工作流程。
切换方式: 在 Kiro 设置中选择工作模式
Specs 是一种结构化的功能开发方法,将复杂功能分解为:需求 → 设计 → 任务。
Spec 是一个正式化的开发流程,包含三个核心文档:
requirements.md - 需求文档design.md - 设计文档tasks.md - 任务清单用于构建新功能或能力
适用场景:
触发词: 'add', 'new', 'create', 'implement', 'build', 'develop'
示例:
"我想添加用户认证功能"
"创建一个新的仪表板"
"实现支付处理"
用于修复已损坏或不正确的功能
适用场景:
触发词: 'fix', 'bug', 'crash', 'error', 'broken', 'issue', 'problem'
示例:
"修复数量为零时的崩溃"
"登录在移动端报错"
"用户无法提交表单"
1. Requirements-First(需求优先)
需求文档 → 设计文档 → 任务清单
2. Design-First(设计优先)
设计文档 → 需求文档 → 任务清单
Bug 条件探索 → 设计修复方案 → 任务清单
方式 1: 直接对话
"创建一个用户认证的 spec"
"我想为购物车功能写一个规范"
方式 2: 使用命令面板
.kiro/specs/ └── user-authentication/ # 功能名称(kebab-case) ├── .config.kiro # 配置文件 ├── requirements.md # 需求文档 ├── design.md # 设计文档 └── tasks.md # 任务清单
执行单个任务:
"执行任务 2"
"开始任务 1.3"
执行所有任务:
"运行所有任务"
"执行完整的 spec"
在 Spec 文档中,你可以引用其他文件:
#[[file:openapi.yaml]]
#[[file:schema.graphql]]
这样 Kiro 在处理 Spec 时会自动读取这些文件的内容。
Hooks 允许你在特定事件发生时自动触发 AI 操作。
fileEdited - 文件被编辑并保存fileCreated - 创建新文件fileDeleted - 删除文件promptSubmit - 发送消息给 AIagentStop - AI 执行完成preToolUse - 工具执行前(可用于权限检查)postToolUse - 工具执行后(可用于验证)preTaskExecution - Spec 任务开始前postTaskExecution - Spec 任务完成后userTriggered - 用户手动点击触发1. askAgent(询问 AI)
2. runCommand(运行命令)
{"name":"Lint on Save","version":"1.0.0","when":{"type":"fileEdited","patterns":["*.ts","*.tsx"]},"then":{"type":"runCommand","command":"npm run lint"}}
{"name":"Review Write Operations","version":"1.0.0","when":{"type":"preToolUse","toolTypes":["write"]},"then":{"type":"askAgent","prompt":"验证此写操作是否符合编码标准"}}
{"name":"Run Tests After Task","version":"1.0.0","when":{"type":"postTaskExecution"},"then":{"type":"runCommand","command":"npm run test"}}
方式 1: 使用 UI
方式 2: 直接编辑
.kiro/hooks/ 目录方式 3: 对话创建
"创建一个 Hook,在保存 TypeScript 文件时运行 lint"
"添加一个 Hook,在任务完成后运行测试"
.kiro/hooks/ ├── lint-on-save.json ├── review-writes.json └── test-after-task.json
Steering 规则允许你定制 Kiro 的行为和工作方式。
Steering 是 Markdown 文件,包含额外的上下文和指令,影响 Kiro 的所有或部分交互。
--- inclusion: always --- # 我的编码标准 - 使用 TypeScript 严格模式 - 所有函数必须有 JSDoc 注释 - 使用 4 空格缩进
--- inclusion: fileMatch fileMatchPattern: '**/*.test.ts' --- # 测试文件规则 - 使用 Jest 框架 - 每个测试必须有描述性名称 - 使用 AAA 模式(Arrange-Act-Assert)
--- inclusion: manual --- # API 设计指南 - RESTful 风格 - 使用语义化的 HTTP 状态码 - 统一的错误响应格式
在聊天中使用 # 引用:
"按照 #API 设计指南 创建用户 API"
工作区级别(优先级更高):
.kiro/steering/ ├── coding-standards.md ├── test-rules.md └── api-guidelines.md
用户级别(全局):
~/.kiro/steering/ ├── personal-preferences.md └── common-patterns.md
Steering 文件中可以引用其他文件:
# API 规范 参考我们的 OpenAPI 定义: #[[file:api/openapi.yaml]]
方式 1: 对话创建
"创建一个 Steering 规则,要求所有组件使用函数式写法"
"添加编码标准到 Steering"
方式 2: 直接编辑
.kiro/steering/ 创建 .md 文件--- inclusion: always --- # 代码变更自动记录规则 当完成文件变更后,自动调用记录工具追踪变更。 触发条件: - 创建新文件 - 修改现有文件 - 删除文件内容 - 重构代码
这就是你当前激活的 Steering 规则!
MCP 允许 Kiro 连接外部工具和服务,扩展其能力。
Model Context Protocol(模型上下文协议)是一个标准,允许 AI 模型与外部系统交互。
用户级别(全局):
~/.kiro/settings/mcp.json
工作区级别:
.kiro/settings/mcp.json
{"mcpServers":{"aws-docs":{"command":"uvx","args":["awslabs.aws-documentation-mcp-server@latest"],"env":{"FASTMCP_LOG_LEVEL":"ERROR"},"disabled":false,"autoApprove":[],"database":{"command":"uvx","args":["mcp-server-postgres"],"env":{"DATABASE_URL":"postgresql://localhost/mydb"},"disabled":false,
command: 启动 MCP 服务器的命令(通常是 uvx)args: 命令参数(包名和版本)env: 环境变量disabled: 是否禁用此服务器autoApprove: 自动批准的工具列表大多数 MCP 服务器使用 uvx 运行,需要先安装 uv:
使用 pip:
pip install uv
使用 Homebrew (macOS):
brew install uv
使用 Cargo (Rust):
cargoinstall uv
方式 1: 命令面板
方式 2: MCP Server 视图
方式 3: 对话配置
"配置 MCP 连接到我的 PostgreSQL 数据库"
"添加 AWS 文档 MCP 服务器"
aws-documentation-mcp-server - AWS 文档查询mcp-server-postgres - PostgreSQL 数据库操作mcp-server-git - Git 仓库操作mcp-server-filesystem - 文件系统访问"测试 AWS 文档 MCP 工具"
"使用数据库 MCP 查询用户表"
Kiro 可以访问多种上下文信息,帮助它更好地理解你的需求。
"查看 #src/App.tsx 的实现"
"重构 #utils/helper.ts 中的函数"
"分析 #src/components 目录结构"
"重构 #services 文件夹中的代码"
"修复 #Problems"
"解决这些诊断问题 #Problems"
"分析 #Terminal 中的错误"
"根据 #Terminal 输出调试问题"
"审查 #Git Diff"
"解释这些变更 #Git Diff"
你可以直接拖拽图片到聊天框,Kiro 可以分析图片内容:
你:"创建一个用户认证功能的 spec"
Kiro: 这是新功能还是修复 bug? [选项:新功能 / 修复 Bug]
你:"新功能"
Kiro: 你想从哪里开始? [选项:需求文档 / 技术设计]
你:"需求文档"
Kiro: [创建 requirements.md] 需求文档已创建,包含: - 用户故事 - 验收标准 - 正确性属性
你:"看起来不错,继续"
Kiro: [创建 design.md] 设计文档已创建,包含: - 系统架构 - 数据模型 - API 设计
你:"继续"
Kiro: [创建 tasks.md] 任务清单已创建,共 8 个任务
你:"执行所有任务"
Kiro: [依次执行任务 1-8]
✓ 任务 1: 创建用户模型
✓ 任务 2: 实现注册 API ...
✓ 任务 8: 编写集成测试
所有任务已完成!
你:"在 #src/App.tsx 中添加一个加载状态"
Kiro: [修改文件] 已添加 loading 状态和 Spinner 组件 [自动记录变更] - 文件修改:src/App.tsx - 新增:15 行 - 删除:3 行
你:"创建一个 Hook,每次保存 TypeScript 文件时运行 ESLint"
Kiro: [创建 Hook 文件] Hook 已创建:.kiro/hooks/lint-on-save.json 现在每次保存 .ts 或 .tsx 文件时,会自动运行 ESLint
你:"创建一个 Steering 规则,要求所有 API 响应使用统一格式"
Kiro: [创建 Steering 文件] Steering 规则已创建:.kiro/steering/api-response-format.md 现在我会确保所有 API 响应遵循这个格式: { "success": boolean, "data": any, "error": string | null }
你:"React 19 有哪些新特性?"
Kiro: [搜索网络] 根据最新文档,React 19 的主要新特性包括: 1. Server Components 正式发布 2. Actions 简化表单处理 3. 新的 use() Hook ... [来源:react.dev]
你:"创建一个 spec 修复数量为零时的崩溃"
Kiro: 这是新功能还是修复 bug? [选项:新功能 / 修复 Bug]
你:"修复 Bug"
Kiro: [创建 bugfix.md] Bug 条件文档已创建: - Bug 描述 - 重现步骤 - Bug 条件 C(X)
你:"继续"
Kiro: [创建 design.md] 修复设计已创建: - 根因分析 - 修复方案 - 验证策略
你:"执行所有任务"
Kiro: [执行任务]
✓ 任务 1: 编写 Bug 探索测试(测试失败 ✓ - 确认 Bug 存在)
✓ 任务 2: 实现修复
✓ 任务 3: 验证修复(测试通过 ✓)
Bug 已修复并验证!
使用 Spec 当:
直接对话当:
# 好的做法
"重构 #src/utils/helper.ts 中的日期处理函数"
# 不够好的做法
"重构 helper.ts"(Kiro 可能找不到文件)
常见的自动化场景:
--- inclusion: always --- # 团队编码标准 ## TypeScript - 启用严格模式 - 使用接口而非类型别名(公共 API) - 所有导出函数必须有 JSDoc ## React - 使用函数组件 - Props 使用接口定义 - 使用 React.FC 类型
# 创建 Spec
"创建一个 [功能名] 的 spec"
# 执行任务
"执行任务 [编号]"
"运行所有任务"
# 文件操作
"创建 [文件名]"
"修改 #[文件路径]"
"重构 #[文件夹]"
# 上下文引用
"查看 #File"
"分析 #Folder"
"修复 #Problems"
"解释 #Terminal"
"审查 #Git Diff"
# Hook 管理
"创建一个 Hook [描述]"
"打开 Hook UI"
# Steering 管理
"创建 Steering 规则 [描述]"
"添加编码标准"
# MCP 管理
"配置 MCP [服务名]"
"测试 MCP 工具"
项目根目录/
├── .kiro/
│ ├── hooks/ # Hook 配置文件
│ │ └── *.json
│ ├── steering/ # Steering 规则文件
│ │ └── *.md
│ ├── settings/ # 设置文件
│ │ └── mcp.json # MCP 配置
│ └── specs/ # Spec 文件
│ └── feature-name/
│ ├── .config.kiro
│ ├── requirements.md
│ ├── design.md
│ └── tasks.md
└── .ai-activity/ # AI 活动日志
└── ai-code-tracker.log
"如何创建 Hook?"
"Spec 和直接对话有什么区别?"
"如何配置 MCP 服务器?"
Kiro 很智能,你可以用自然语言描述你想做的事情,它会理解并执行。不要害怕尝试!
Kiro 是一个强大而灵活的 AI 编程助手:
选择适合你的工作方式,逐步探索更高级的功能。祝编码愉快!🚀

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online