Kiro AI 开发助手能力全景指南
一、概述
Kiro 是一个 AI 驱动的开发环境,除了基础的代码编写能力外,还提供了多种可配置的扩展机制来增强开发体验。核心能力体系如下:
| 能力 | 作用 | 配置位置 |
|---|---|---|
| MCP Server | 连接外部工具和数据源 | .kiro/settings/mcp.json |
| Steering | 设定 AI 行为规则和规范 | .kiro/steering/*.md |
| Hooks | 事件驱动的自动化操作 | .kiro/hooks/*.kiro.hook |
| Skills | 按需激活的专项能力 | .kiro/skills/*.md |
| Specs | 结构化需求拆解和实现 | .kiro/specs/ |
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
二、MCP Server(模型上下文协议)
2.1 什么是 MCP
MCP(Model Context Protocol)是一种让 AI 代理与外部系统通信的标准协议。配置后 AI 可以直接操作数据库、缓存、版本控制等,无需人工复制粘贴。
2.2 配置文件位置
| 作用域 | 路径 |
|---|---|
| 工作区级别 | .kiro/settings/mcp.json |
| 用户全局级别 | ~/.kiro/settings/mcp.json |
多工作区时,后面的 workspace 配置覆盖前面的。
2.3 配置结构说明
json
{
"mcpServers": {
"服务名称": {
"command": "启动命令(npx/uvx/可执行文件路径)",
"args": ["命令参数数组"],
"env": { "环境变量": "值" },
"disabled": false,
"autoApprove": []
}
}
}
| 字段 | 说明 |
|---|---|
command |
启动命令:npx(Node.js)、uvx(Python)、或本地可执行文件路径 |
args |
命令参数数组 |
env |
环境变量,传递连接信息、镜像源等 |
disabled |
true 临时禁用,false 启用 |
autoApprove |
自动批准的工具名列表,空数组表示每次都需确认 |
2.4 常用 MCP Server 一览
2.4.1 MySQL
json
{
"mysql": {
"command": "uvx",
"args": ["mcp-server-mysql"],
"env": {
"MYSQL_HOST": "数据库地址",
"MYSQL_PORT": "3306",
"MYSQL_USER": "用户名",
"MYSQL_PASSWORD": "密码",
"MYSQL_DATABASE": "数据库名",
"UV_INDEX_URL": "https://mirrors.aliyun.com/pypi/simple/"
}
}
}
提供的工具: 执行 SQL、创建表、插入数据、查询数据、列出表、查看表结构
2.4.2 Redis
Node.js 版(推荐,兼容 Redis 5.x+):
json
{
"redis": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-redis", "redis://:密码@地址:端口/库编号"],
"env": {},
"disabled": false,
"autoApprove": []
}
}
Python 版(需要 Redis 6.0+):
json
{
"redis": {
"command": "uvx",
"args": ["mcp-server-redis"],
"env": {
"REDIS_HOST": "127.0.0.1",
"REDIS_PORT": "6379",
"REDIS_DB": "0",
"REDIS_PASSWORD": "密码",
"UV_INDEX_URL": "https://mirrors.aliyun.com/pypi/simple/"
}
}
}
提供的工具: set(写入)、get(读取)、delete(删除)、list(按模式列出 key)
常见问题:
| 问题 | 原因 | 解决 |
|---|---|---|
| PyPI 下载超时 | 国内网络不通 | 加 UV_INDEX_URL 镜像源 |
| 403 Forbidden | 镜像源限流 | 换阿里云/中科大镜像 |
| unknown command 'HELLO' | Redis 版本 < 6.0 | 改用 Node.js 版 |
| Field required | Python 版需要环境变量 | 在 env 中配置四个必填项 |
2.4.3 Git
json
{
"git": {
"command": "uvx",
"args": ["mcp-server-git", "--repository", "项目路径"],
"env": {
"UV_INDEX_URL": "https://mirrors.aliyun.com/pypi/simple/"
}
}
}
提供的工具: status、diff、commit、log、branch、checkout、show 等
2.4.4 Fetch(网页抓取)
json
{
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"],
"env": {
"PYTHONIOENCODING": "utf-8",
"UV_INDEX_URL": "https://mirrors.aliyun.com/pypi/simple/"
}
}
}
提供的工具: fetch(URL 抓取,HTML 转 Markdown)
参数说明:
| 参数 | 说明 |
|---|---|
url |
目标 URL(必填) |
max_length |
最大返回字符数,默认 5000 |
start_index |
起始字符位置(分页读取) |
raw |
是否返回原始内容不转 Markdown |
自定义选项(加在 args 中):
--proxy-url=http://127.0.0.1:7890--- 代理访问--ignore-robots-txt--- 忽略 robots.txt--user-agent=YourAgent--- 自定义 UA
注意: Windows 必须加 PYTHONIOENCODING: utf-8,否则可能超时。
2.4.5 其他推荐 MCP Server
| 工具 | 包名 | 用途 |
|---|---|---|
| MongoDB | mcp-server-mongodb |
NoSQL 查询 |
| Elasticsearch | mcp-server-elasticsearch |
日志搜索 |
| Docker | mcp-server-docker |
容器管理 |
| Kubernetes | mcp-server-kubernetes |
集群管理 |
| Kafka | @kafkajs/mcp-server-kafka |
消息队列调试 |
| Sequential Thinking | @anthropic/mcp-server-sequential-thinking |
复杂问题分步推理 |
2.5 国内镜像源汇总
| 镜像 | URL |
|---|---|
| 阿里云 PyPI | https://mirrors.aliyun.com/pypi/simple/ |
| 清华 PyPI | https://pypi.tuna.tsinghua.edu.cn/simple |
| 中科大 PyPI | https://pypi.mirrors.ustc.edu.cn/simple/ |
| npm 镜像 | https://registry.npmmirror.com |
npm 镜像配置方式:在 env 中加 "npm_config_registry": "https://registry.npmmirror.com"
三、Steering(规则引导)
3.1 什么是 Steering
Steering 是给 AI 设定的行为准则文件,相当于"团队编码规范的 AI 版本"。AI 在每次对话中会根据配置自动或按需加载这些规则。
3.2 配置位置
- 工作区级别:
.kiro/steering/*.md - 用户级别:
~/.kiro/steering/*.md
3.3 三种加载模式
| 模式 | Front-matter 配置 | 触发条件 |
|---|---|---|
| 始终加载 | 无(默认) | 每次对话自动生效 |
| 文件匹配 | inclusion: fileMatch + fileMatchPattern |
操作匹配的文件时生效 |
| 手动加载 | inclusion: manual |
聊天中用 # 引用时生效 |
3.4 常用 Steering 示例
编码规范(始终加载)--- coding-standards.md:
markdown
# Java 编码规范
- 类名 PascalCase,方法名 camelCase
- 常量 UPPER_SNAKE_CASE
- 数据库字段 snake_case
- 代码注释使用中文
- 禁止拼音命名
- DTO/VO/Entity 后缀严格区分
- Service 接口:XxxService,实现类:XxxServiceImpl
- 方法前缀:查询 get/find/query/list,创建 create/add/save,更新 update/modify,删除 delete/remove
项目架构说明(始终加载)--- project-architecture.md:
markdown
# 项目架构
Spring Cloud 微服务,某服务模块。
## 分层
- controller → service → mapper → entity
- dto: 传输对象 / vo: 视图对象
## 技术栈
Spring Boot 2.x / MyBatis-Plus / Redis / MySQL / RocketMQ
Git 提交规范(始终加载)--- git-conventions.md:
markdown
# Git Commit 规范
格式:<type>(<scope>): <subject>
type: feat / fix / refactor / docs / style / test / chore
示例:feat(xx): 新增xx锁定接口
Controller 规范(文件匹配加载)--- controller-rules.md:
markdown
---
inclusion: fileMatch
fileMatchPattern: "**/controller/*.java"
---
# Controller 规范
- 统一返回 Result<T>
- GET 查询,POST 创建,PUT 更新,DELETE 删除
- 路径 kebab-case:/api/xxx-record
- 必须加 @ApiOperation 注解
- 参数校验使用 @Valid
Mapper 规范(文件匹配加载)--- mapper-rules.md:
markdown
---
inclusion: fileMatch
fileMatchPattern: "**/mapper/*.java"
---
# Mapper 规范
- 继承 BaseMapper<T>
- 复杂 SQL 写 XML
- 禁止在 Mapper 中写业务逻辑
3.5 引用外部文件
Steering 支持引用项目中的其他文件作为上下文:
markdown
# API 设计参考
请参考以下 OpenAPI 规范进行接口开发:
#[[file:docs/api-spec.yaml]]
四、Hooks(自动化钩子)
4.1 什么是 Hooks
Hooks 是事件驱动的自动化机制。当 IDE 中发生特定事件时,自动触发 AI 操作或执行命令。
4.2 配置位置
.kiro/hooks/*.kiro.hook(JSON 格式)
4.3 支持的事件类型
| 事件 | 触发时机 |
|---|---|
fileEdited |
用户保存文件时 |
fileCreated |
用户创建新文件时 |
fileDeleted |
用户删除文件时 |
userTriggered |
用户手动点击按钮触发 |
promptSubmit |
发送消息给 AI 时 |
agentStop |
AI 执行完成时 |
preToolUse |
工具执行前 |
postToolUse |
工具执行后 |
preTaskExecution |
Spec 任务开始前 |
postTaskExecution |
Spec 任务完成后 |
4.4 支持的动作类型
| 动作 | 说明 |
|---|---|
askAgent |
发消息给 AI(需配置 prompt) |
runCommand |
执行 shell 命令(需配置 command) |
4.5 常用 Hook 示例
写入前代码审查:
json
{
"name": "Pre-Write Code Review",
"version": "1.0.0",
"when": {
"type": "preToolUse",
"toolTypes": ["write"]
},
"then": {
"type": "askAgent",
"prompt": "检查代码是否符合编码规范:命名、注释、分层等"
}
}
保存后编译检查:
json
{
"name": "Compile on Save",
"version": "1.0.0",
"when": {
"type": "fileEdited",
"patterns": ["*.java"]
},
"then": {
"type": "runCommand",
"command": "mvn compile -pl . -q"
}
}
新文件自动加文件头:
json
{
"name": "Auto File Header",
"version": "1.0.0",
"when": {
"type": "fileCreated",
"patterns": ["*.java"]
},
"then": {
"type": "askAgent",
"prompt": "为新建的 Java 文件添加标准文件头注释(作者、日期、描述)"
}
}
SQL 安全审查:
json
{
"name": "SQL Safety Review",
"version": "1.0.0",
"when": {
"type": "preToolUse",
"toolTypes": [".*sql.*", ".*mysql.*"]
},
"then": {
"type": "askAgent",
"prompt": "检查 SQL 安全性:禁止无 WHERE 的 UPDATE/DELETE,禁止 DROP TABLE"
}
}
提交前敏感信息检查:
json
{
"name": "Secret Check",
"version": "1.0.0",
"when": {
"type": "preToolUse",
"toolTypes": [".*git_commit.*"]
},
"then": {
"type": "askAgent",
"prompt": "检查暂存变更中是否包含密码、密钥、Token 等敏感信息"
}
}
任务完成后跑测试:
json
{
"name": "Run Tests After Task",
"version": "1.0.0",
"when": {
"type": "postTaskExecution"
},
"then": {
"type": "runCommand",
"command": "mvn test -pl . -q"
}
}
五、Skills(技能)
5.1 什么是 Skills
Skills 是可以在聊天中通过 # 手动激活的专项能力文档。适合不需要每次都加载、但偶尔需要的专业指导。
5.2 配置位置
- 工作区级别:
.kiro/skills/*.md - 用户级别:
~/.kiro/skills/*.md
5.3 常用 Skills 示例
代码审查技能 --- code-review.md:
markdown
# Code Review
按以下维度检查:
1. 功能正确性:逻辑是否满足需求
2. 性能:N+1 查询、循环中重复调用
3. 安全:SQL 注入、XSS、权限校验
4. 可读性:命名、注释、方法长度
5. 异常处理:边界情况是否覆盖
6. 并发安全:共享资源同步
输出格式:
- 🔴 严重问题(必须修复)
- 🟡 建议优化
- 🟢 优点
数据库设计技能 --- db-design.md:
markdown
# Database Design
- 主键:BIGINT 自增
- 必有字段:id, create_time, update_time, create_by, update_by, is_deleted
- 字段命名:snake_case
- 索引命名:idx_表名_字段名
- 唯一索引:uk_表名_字段名
- 金额:DECIMAL(18,2)
- 状态:TINYINT + 注释枚举值
接口设计技能 --- api-design.md:
markdown
# API Design
- 响应结构:{"code": 200, "message": "success", "data": {}}
- 分页结构:{"list": [], "total": 100, "pageNum": 1, "pageSize": 10}
- 错误码:5 位业务码,模块前缀 + 序号
- Swagger 注解必须完整
- 参数校验:@Valid + @NotNull/@NotBlank
5.4 使用方式
在聊天输入框中输入 #,从列表中选择要激活的 Skill,AI 就会按照该 Skill 的指导来执行任务。
六、Specs(规格文档)
6.1 什么是 Specs
Specs 是 Kiro 的结构化开发流程工具,将复杂功能拆解为"需求 → 设计 → 任务 → 实现"的标准流程,适合大功能开发。
6.2 流程
需求文档(Requirements)
↓
设计文档(Design)
↓
任务列表(Tasks)
↓
逐步实现(Implementation)
6.3 适用场景
- 新增一个完整的业务模块(如盘点功能)
- 涉及多个文件的大功能开发
- 需要跟踪进度的复杂重构
- 团队协作时的需求对齐
6.4 特性
- 支持通过
#[[file:相对路径]]引用外部文档(OpenAPI spec、数据库设计文档等) - 任务可配合 Hooks 实现自动测试
- 支持增量开发,每一步都有反馈
七、接口测试能力
7.1 本地接口测试方式
当你写完接口并在本地运行后,AI 可以通过以下方式帮你测试:
| 方式 | 适用场景 | 需要额外配置 |
|---|---|---|
| 终端 curl 命令 | 简单请求,快速验证 | 否 |
| Python/Node 脚本 | 复杂请求,批量测试 | 否 |
| mcp-server-fetch | GET 请求为主 | 是 |
curl 示例(最常用):
bash
curl -X POST http://localhost:8080/api/stock/query \
-H "Content-Type: application/json" \
-d '{"wareCode": "WH001"}'
7.2 内网文档访问
| 方式 | 适用场景 | 推荐度 |
|---|---|---|
| 拖文件进聊天 | 临时查看一份文档 | ⭐⭐⭐⭐⭐ |
#File 引用 |
项目内的设计文档 | ⭐⭐⭐⭐⭐ |
.kiro/steering/ |
长期规范、架构说明 | ⭐⭐⭐⭐ |
| fetch + 无认证 URL | 内网无登录页面 | ⭐⭐⭐ |
八、推荐项目配置结构
针对 Java/Spring Cloud 项目的完整配置建议:
.kiro/
├── settings/
│ └── mcp.json # MCP 工具配置
├── steering/
│ ├── coding-standards.md # 编码规范(始终加载)
│ ├── project-architecture.md # 架构说明(始终加载)
│ ├── git-conventions.md # Git 规范(始终加载)
│ ├── controller-rules.md # Controller 规范(文件匹配)
│ └── mapper-rules.md # Mapper 规范(文件匹配)
├── hooks/
│ ├── pre-write-code-review.kiro.hook # 写入前审查
│ ├── sql-safety-review.kiro.hook # SQL 安全审查
│ └── secret-check.kiro.hook # 提交前检查敏感信息
├── skills/
│ ├── code-review.md # 代码审查技能
│ ├── db-design.md # 数据库设计技能
│ └── api-design.md # 接口设计技能
└── specs/ # 复杂功能的结构化开发
九、快速上手检查清单
- 配置 MCP:MySQL、Redis、Git(按需加 Fetch)
- 创建 Steering:编码规范 + 项目架构说明
- 设置 Hooks:写入前审查 + SQL 安全检查
- 编写 Skills:代码审查 + 数据库设计
- 国内环境加镜像源:PyPI(阿里云)、npm(npmmirror)