Kiro AI 编程助手使用指南

一、Kiro 是什么

Kiro 是一个 AI 驱动的开发环境,它能直接编写代码、运行命令、搜索文件、管理项目结构,让开发者专注于系统设计、方案探索和决策制定。Kiro 不只是一个聊天机器人,它是一个能实际操作你代码库的编程伙伴。

官网地址:

https://kiro.dev/

费用价格:
请添加图片描述

用量查询见右下角:
请添加图片描述


二、核心工作模式

2.1 Autopilot 模式(自动驾驶)

  • Kiro 可以自主修改工作区内的文件,无需逐步确认
  • 适合信任度高、任务明确的场景
  • 子代理(Sub-Agent)功能仅在此模式下可用

2.2 Supervised 模式(监督模式)

  • 每次修改后用户有机会回退变更
  • 适合需要逐步审查的场景

三、聊天交互技巧

3.1 引用文件和文件夹

在聊天输入框中使用 # 前缀可以快速引用上下文:

语法 说明
#File 引用指定文件,将其内容加入上下文
#Folder 引用整个文件夹结构
#Problems 引用当前文件的编译/lint 错误
#Terminal 引用终端输出内容
#Git Diff 引用当前 Git 变更差异

示例:

请帮我修复 #src/main/java/com/example/Service.java 中的空指针问题

3.2 附件支持

  • 图片:拖拽图片文件到聊天框,或点击附件图标上传
  • 文档:支持 PDF、DOCX 等格式,同样拖拽或点击上传
  • Kiro 会自动识别并分析附件内容

3.3 高效提问技巧

场景 推荐写法 说明
修复 bug “修复 #File 中第 45 行的 NPE” 精确定位问题
重构代码 “将这个方法拆分为两个独立方法” 明确意图
生成代码 “按照项目现有风格新增一个 Service” 让 Kiro 匹配现有规范
理解代码 “解释这个类的职责和调用链” 获取分析而非修改

注:

博客:

https://blog.csdn.net/badao_liumang_qizhi

四、Spec(规格说明)功能

Spec 是 Kiro 中结构化构建和文档化功能的方式,适合复杂特性的增量开发。

4.1 Spec 的工作流程

  1. 需求阶段 — 与 Kiro 迭代讨论需求
  2. 设计阶段 — 确定技术方案和架构
  3. 任务拆分 — 将实现拆分为可执行的小任务
  4. 逐步实现 — Kiro 按任务逐个完成实现

4.2 Spec 中引用外部文件

在 Spec 文件中可以通过特殊语法引用其他文件:

参考 API 定义:#[[file:openapi.yaml]]
参考数据模型:#[[file:src/main/resources/schema.sql]]

这样 OpenAPI 规范、GraphQL Schema 等文档可以直接影响实现。

4.3 使用场景

  • 新功能开发(多文件、多层级)
  • 复杂重构(需要分步骤执行)
  • 需要留下设计文档的场景

五、Steering(引导规则)

Steering 文件为 Kiro 提供额外的上下文和指令,确保生成的代码符合团队规范。

5.1 文件位置

.kiro/steering/*.md

5.2 三种引入方式

方式 配置 说明
始终引入 默认行为 每次对话都会加载
条件引入 inclusion: fileMatch + fileMatchPattern 当匹配文件被读取时加载
手动引入 inclusion: manual 用户通过 # 手动引用时加载

5.3 示例:条件引入

---
inclusion: fileMatch
fileMatchPattern: '**/*Mapper.java'
---

# MyBatis Mapper 编写规范

- 所有 Mapper 接口必须添加 @Mapper 注解
- 方法命名遵循 selectXxx / insertXxx / updateXxx / deleteXxx
- 复杂查询使用 XML 映射文件

5.4 常见用途

  • 编码规范和团队约定
  • 项目架构说明
  • 构建/测试/部署命令说明
  • 技术栈和依赖版本约束

六、Hooks(钩子自动化)

Hooks 让 Kiro 在特定 IDE 事件发生时自动执行操作。

6.1 支持的事件类型

事件 触发时机
fileEdited 用户保存文件时
fileCreated 新建文件时
fileDeleted 删除文件时
promptSubmit 发送消息给 Agent 时
agentStop Agent 执行完成时
preToolUse 工具执行前
postToolUse 工具执行后
preTaskExecution Spec 任务开始前
postTaskExecution Spec 任务完成后
userTriggered 用户手动触发

6.2 支持的动作

  • askAgent — 向 Agent 发送提示词(如代码审查提醒)
  • runCommand — 执行 Shell 命令(如自动 lint、自动测试)

6.3 示例:保存时自动 Lint

{
  "name": "Lint on Save",
  "version": "1.0.0",
  "when": {
    "type": "fileEdited",
    "patterns": ["*.java"]
  },
  "then": {
    "type": "runCommand",
    "command": "mvn checkstyle:check"
  }
}

6.4 示例:任务完成后自动测试

{
  "name": "Run Tests After Task",
  "version": "1.0.0",
  "when": {
    "type": "postTaskExecution"
  },
  "then": {
    "type": "runCommand",
    "command": "mvn test"
  }
}

6.5 管理方式

  • 通过资源管理器中的 “Agent Hooks” 面板查看和管理
  • 或使用命令面板搜索 “Open Kiro Hook UI”

七、MCP(Model Context Protocol)

MCP 允许 Kiro 连接外部工具服务器,扩展其能力。

7.1 配置文件位置

级别 路径
用户级(全局) ~/.kiro/settings/mcp.json
工作区级 .kiro/settings/mcp.json

优先级:用户配置 < 工作区配置

7.2 配置示例

{
  "mcpServers": {
    "aws-docs": {
      "command": "uvx",
      "args": ["awslabs.aws-documentation-mcp-server@latest"],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

7.3 安装 uvx

MCP 服务器通常通过 uvx 运行(Python 的 uv 包管理器的一部分):

# 使用 pip 安装
pip install uv

# 或使用 Homebrew
brew install uv

安装后,uvx 会自动下载并运行 MCP 服务器,无需额外安装。


八、Powers(能力扩展)

Powers 是打包好的文档、工作流引导和可选 MCP 服务器的集合。

8.1 操作方式

  • list — 查看已安装的 Powers
  • activate — 激活 Power,获取文档和工具列表
  • use — 调用 Power 中的工具
  • readSteering — 读取 Power 的工作流引导
  • configure — 打开 Powers 管理面板

8.2 使用流程

  1. activate 获取 Power 的完整信息
  2. 查看 toolsByServer 了解可用工具
  3. 通过 use 调用具体工具

九、省 Token 技巧

9.1 精确引用

# 好的做法 — 精确指定文件
修复 #src/main/java/.../StockService.java 第 120 行的问题

# 不好的做法 — 模糊描述
帮我看看项目里有没有 bug

9.2 分步骤提问

复杂任务拆分为多个小请求,避免一次性加载过多上下文:

  1. “先帮我分析 StockService 的结构”
  2. “在 allocateStock 方法中添加库存不足的校验”
  3. “为新增的校验逻辑编写单元测试”

9.3 善用 Steering 文件

将重复性的规范说明放入 .kiro/steering/ 中,避免每次对话都重复描述:

  • 编码规范 → coding-standards.md
  • 项目结构 → structure.md
  • 技术栈 → tech.md

9.4 使用条件引入

对于只在特定场景需要的规则,使用 fileMatch 条件引入,避免始终占用上下文:

---
inclusion: fileMatch
fileMatchPattern: '**/*Controller.java'
---
# Controller 编写规范
...

9.5 利用 #Problems 和 #Git Diff

直接引用 IDE 已有的诊断信息,而不是让 Kiro 重新分析整个文件:

请修复 #Problems 中报告的所有类型错误

十、常用操作示例

10.1 生成文档

为 StockService 类生成 JavaDoc 文档注释
根据 #src/main/java/.../api/StockApi.java 生成 API 接口文档

10.2 代码生成

参照 DeliveryService 的模式,新建一个 TransferService,
包含 api 接口、controller、service、dao 全套代码

10.3 Bug 修复

#Terminal 中显示 NullPointerException,
堆栈指向 StockServiceImpl 第 234 行,请修复

10.4 重构

将 StockServiceImpl 中超过 200 行的 processOrder 方法
拆分为多个职责单一的私有方法

10.5 代码审查

审查 #Git Diff 中的变更,检查是否有潜在问题

10.6 数据库相关

根据以下表结构生成对应的 Entity、Mapper 接口和 XML:
表名:stock_transfer
字段:id, from_warehouse_id, to_warehouse_id, sku_code, quantity, status, created_at

十一、最佳实践总结

原则 说明
明确意图 告诉 Kiro 你要"做什么"而不是"怎么做"
提供上下文 # 引用相关文件,减少 Kiro 猜测
分步执行 复杂任务拆分为小步骤,逐步推进
利用 Steering 团队规范写入 steering 文件,一劳永逸
善用 Spec 大功能用 Spec 管理,保持设计和实现的一致性
设置 Hooks 重复性检查(lint、test)交给自动化
信任但验证 Autopilot 模式高效,但关键变更建议审查
匹配项目风格 Kiro 会自动读取现有代码匹配风格,但明确指出更好

十二、快速上手清单

  1. ✅ 了解两种工作模式(Autopilot / Supervised)
  2. ✅ 学会用 # 引用文件、文件夹、Problems、Terminal、Git Diff
  3. ✅ 在 .kiro/steering/ 中添加项目规范文件
  4. ✅ 尝试创建一个简单的 Hook(如保存时 lint)
  5. ✅ 对复杂功能使用 Spec 进行结构化开发
  6. ✅ 探索 Powers 面板,安装有用的扩展能力
  7. ✅ 根据需要配置 MCP 服务器连接外部工具
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐