【无标题】

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 文件中可以通过特殊语法引用其他文件:

markdown 复制代码
参考 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 示例:条件引入

markdown 复制代码
---
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

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

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

json 复制代码
{
  "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 配置示例

json 复制代码
{
  "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 包管理器的一部分):

bash 复制代码
# 使用 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 条件引入,避免始终占用上下文:

markdown 复制代码
---
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 服务器连接外部工具
相关推荐
修电脑的猫12 小时前
在中国使用 Claude Code 解决 403 错误(VS CODE)
ai·sap
蚕豆糯米饭13 小时前
Github Copilot 研发效能提升实战指南
ai·github·copilot·ai编程
Token掘金室14 小时前
Aider配置自定义API教程
ai
Young丶16 小时前
讲透 Claude Code 系列 (四):Claude Skills 完全指南:可复用的“专业能力包”从入门到精通
人工智能·ai·ai编程·ai coding
小七-七牛开发者17 小时前
谷歌利用果蝇实现“AI 突围”?Cognition 再融 20 亿美元;AI 三巨头集体呼吁放慢脚步
ai·agent·token·skill·周一上线
子非鱼eva17 小时前
Ascend950PR版本速配表
人工智能·ai
衣舞晨风17 小时前
15秒之谜:一次APISIX网关超时问题的排查记录
ai·apisix·网关超时
陈老老老板18 小时前
2026企业数据采集选型指南,主流采集 API 与全托管平台深度对比
ai·数据分析
imbackneverdie18 小时前
告别 Copilot?Codex 本地化部署指南
人工智能·ai·aigc·数据可视化·本地化·codex
ALINX技术博客20 小时前
跨越 1819 公里,ALINX 携 AI 异构平台、电子后视镜及 HIL 仿真方案亮相深圳国际电子展
ai·fpga开发·汽车