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 配置结构说明
{"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
{"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+):
{"redis":{"command":"npx","args":["-y","@modelcontextprotocol/server-redis","redis://:密码@地址:端口/库编号"],"env":{},"disabled":false,"autoApprove":[]}}Python 版(需要 Redis 6.0+):
{"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
{"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(网页抓取)
{"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:
# 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:
# 项目架构 Spring Cloud 微服务,某服务模块。 ## 分层 - controller → service → mapper → entity - dto: 传输对象 / vo: 视图对象 ## 技术栈 Spring Boot 2.x / MyBatis-Plus / Redis / MySQL / RocketMQGit 提交规范(始终加载)—git-conventions.md:
# Git Commit 规范 格式:<type>(<scope>): <subject> type: feat / fix / refactor / docs / style / test / chore 示例:feat(xx): 新增xx锁定接口Controller 规范(文件匹配加载)—controller-rules.md:
--- inclusion: fileMatch fileMatchPattern: "**/controller/*.java" --- # Controller 规范 - 统一返回 Result<T> - GET 查询,POST 创建,PUT 更新,DELETE 删除 - 路径 kebab-case:/api/xxx-record - 必须加 @ApiOperation 注解 - 参数校验使用 @ValidMapper 规范(文件匹配加载)—mapper-rules.md:
--- inclusion: fileMatch fileMatchPattern: "**/mapper/*.java" --- # Mapper 规范 - 继承 BaseMapper<T> - 复杂 SQL 写 XML - 禁止在 Mapper 中写业务逻辑3.5 引用外部文件
Steering 支持引用项目中的其他文件作为上下文:
# 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 示例
写入前代码审查:
{"name":"Pre-Write Code Review","version":"1.0.0","when":{"type":"preToolUse","toolTypes":["write"]},"then":{"type":"askAgent","prompt":"检查代码是否符合编码规范:命名、注释、分层等"}}保存后编译检查:
{"name":"Compile on Save","version":"1.0.0","when":{"type":"fileEdited","patterns":["*.java"]},"then":{"type":"runCommand","command":"mvn compile -pl . -q"}}新文件自动加文件头:
{"name":"Auto File Header","version":"1.0.0","when":{"type":"fileCreated","patterns":["*.java"]},"then":{"type":"askAgent","prompt":"为新建的 Java 文件添加标准文件头注释(作者、日期、描述)"}}SQL 安全审查:
{"name":"SQL Safety Review","version":"1.0.0","when":{"type":"preToolUse","toolTypes":[".*sql.*",".*mysql.*"]},"then":{"type":"askAgent","prompt":"检查 SQL 安全性:禁止无 WHERE 的 UPDATE/DELETE,禁止 DROP TABLE"}}提交前敏感信息检查:
{"name":"Secret Check","version":"1.0.0","when":{"type":"preToolUse","toolTypes":[".*git_commit.*"]},"then":{"type":"askAgent","prompt":"检查暂存变更中是否包含密码、密钥、Token 等敏感信息"}}任务完成后跑测试:
{"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:
# Code Review 按以下维度检查: 1. 功能正确性:逻辑是否满足需求 2. 性能:N+1 查询、循环中重复调用 3. 安全:SQL 注入、XSS、权限校验 4. 可读性:命名、注释、方法长度 5. 异常处理:边界情况是否覆盖 6. 并发安全:共享资源同步 输出格式: - 🔴 严重问题(必须修复) - 🟡 建议优化 - 🟢 优点数据库设计技能 —db-design.md:
# 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:
# API Design - 响应结构:{"code": 200, "message": "success", "data": {}} - 分页结构:{"list": [], "total": 100, "pageNum": 1, "pageSize": 10} - 错误码:5 位业务码,模块前缀 + 序号 - Swagger 注解必须完整 - 参数校验:@Valid + @NotNull/@NotBlank5.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 示例(最常用):
curl-XPOST 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)