I2C通信排查实战:万用表、示波器与i2cdetect分层定位指南
2026/9/28 19:49:27
深入掌握 Kiro 的全部核心功能:Vibe 模式、Spec 模式、Steering、Agent Hooks 和 MCP 集成。
适用版本:Kiro 0.8.140+ (2026年1月) |GA 发布:2025年11月 |官方文档:kiro.dev/docs
| 场景 | 推荐模式 | 原因 |
|---|---|---|
| 修 bug、小调整 | Vibe | 快速响应,无需规划 |
| 开发完整功能 | Spec | 结构化规划,有文档 |
| 新项目搭建 | Spec | 需要完整设计 |
| 代码重构 | Vibe | 即时反馈 |
| 团队协作 | Spec | 文档可共享 |
像和同事聊天一样,直接告诉 AI 你想做什么,AI 立即执行。
公式:上下文 + 具体问题 + 期望结果 + 约束条件
❌ 模糊提示:
帮我优化一下代码✅ 清晰提示:
#File utils.js 这个 handleData 函数性能较差,数据量大时会卡顿。 请优化: 1. 减少不必要的循环 2. 使用 Map 替代对象查找 3. 保持返回值格式不变用户:帮我创建一个用户登录表单 AI:[生成代码] 用户:再加一个"记住我"的复选框 AI:[更新代码] 用户:表单验证失败时显示红色边框 AI:[更新代码]Spec = Specification(规格说明)
先规划再执行,分三阶段生成文档,每阶段确认后才继续。
┌─────────────────────────────────────────────────────┐ │ Spec 工作流 │ ├─────────────────────────────────────────────────────┤ │ 需求阶段 设计阶段 任务阶段 │ │ (What) (How) (Do) │ │ │ │ │ │ │ ▼ ▼ ▼ │ │ requirements.md design.md tasks.md ──► 执行 │ │ │ │ │ │ │ 用户确认 ✓ 用户确认 ✓ 用户确认 ✓ │ └─────────────────────────────────────────────────────┘包含内容:项目简介、术语表、用户故事、EARS 验收标准
EARS 格式:
| 模式 | 格式 | 场景 |
|---|---|---|
| 事件驱动 | WHEN [事件] THEN [系统] SHALL [行为] | 用户操作 |
| 条件驱动 | IF [条件] THEN [系统] SHALL [行为] | 判断逻辑 |
| 通用 | THE [系统] SHALL [行为] | 始终成立 |
示例:
### 需求 1:用户登录 **用户故事:** 作为用户,我希望能够登录系统,以便访问个人数据。 #### 验收标准 1. WHEN 用户输入正确密码 THEN 系统 SHALL 跳转到首页 2. WHEN 用户输入错误密码 THEN 系统 SHALL 显示"密码错误" 3. THE 系统 SHALL 在 3 秒内完成验证包含内容:技术方案、架构设计、数据模型、API 设计、正确性属性
正确性属性示例:
### Property 1: 密码安全性 *对于任意* 存储的密码,系统只存储哈希值,不存储明文。 **验证: 需求 1.2**- [ ] 1. 用户认证模块 - [ ] 1.1 创建 User 数据模型 - 定义 User 接口 - _需求: 1.1_ - [ ] 1.2 实现登录接口 - 创建 /api/login 路由 - _需求: 1.2_ - [ ] 2. 检查点 - 后端完成 - 确保所有接口可调用 - 确保单元测试通过项目根目录/ └── .kiro/ └── specs/ └── [功能名称]/ ├── requirements.md ├── design.md └── tasks.mdSteering = 项目说明书,让 AI 记住项目背景,无需重复解释。
.kiro/steering/ ├── product.md # 产品概述 ├── tech.md # 技术栈 ├── structure.md # 项目结构 └── rules.md # 代码规范# 产品概述 ## 项目名称 [项目名称] ## 产品描述 [一句话描述] ## 核心功能 - 功能1 - 功能2 ## 目标用户 [用户群体]# 技术栈 ## 前端 - **框架**: Vue 3.4+ - **语言**: TypeScript 5.x - **样式**: TailwindCSS ## 后端 - **框架**: Express 4.x - **数据库**: PostgreSQL 15# 代码规范 ## 命名 - 组件:PascalCase - 函数:camelCase - 常量:SCREAMING_SNAKE_CASE ## 代码风格 - 使用 Composition API - 优先 async/await - 单函数不超过 50 行| 模式 | 说明 | 配置 |
|---|---|---|
| 始终包含 | 每次对话都读取(默认) | 无需配置 |
| 条件包含 | 特定文件类型时才包含 | inclusion: fileMatch |
| 手动包含 | #引用时才包含 | inclusion: manual |
条件包含示例:
--- inclusion: fileMatch fileMatch: "**/*.vue" --- # Vue 组件规范 - 使用 `<script setup>` 语法 - Props 必须定义类型Hooks = 事件驱动的自动化,特定事件触发时自动执行 AI 任务。
| 事件 | 官方名称 | 说明 | 用途 |
|---|---|---|---|
| On file save | On file save | 保存文件时 | 自动 lint、更新翻译 |
| On agent stop | On agent stop | AI 执行完成时 | 自动运行测试 |
| On file create | On file create | 创建文件时 | 生成模板代码 |
| Manual | Manual trigger | 手动触发 | 按需执行复杂任务 |
通过命令面板打开配置界面:
Ctrl+Shift+P→ 搜索Open Kiro Hook UI保存时自动格式化:
**/*.{js,ts,vue}自动运行测试:
翻译同步:
**/locales/zh-CN.jsonMCP = Model Context Protocol
开放协议,让 Kiro 连接外部工具和服务。
.kiro/settings/mcp.json # 项目级 ~/.kiro/settings/mcp.json # 用户级{"mcpServers":{"github":{"command":"npx","args":["-y","@modelcontextprotocol/server-github"],"env":{"GITHUB_TOKEN":"${env:GITHUB_TOKEN}"}},"postgres":{"command":"npx","args":["-y","@modelcontextprotocol/server-postgres"],"env":{"DATABASE_URL":"postgresql://user:pass@localhost:5432/db"}}}}| 服务器 | 用途 |
|---|---|
| GitHub | 管理仓库、PR、Issues |
| PostgreSQL | 数据库查询 |
| AWS Docs | 查询 AWS 文档 |
| Puppeteer | 浏览器自动化 |
[角色定义] + [上下文] + [具体任务] + [约束条件] + [输出格式]定义角色:
你是一个专注于性能优化的 Node.js 专家。提供示例:
帮我写验证函数,格式参考: // 输入: validateUser({ name: "张三" }) // 成功: { valid: true, data: {...} } // 失败: { valid: false, errors: [...] }明确约束:
要求: 1. 不改变函数签名 2. 不引入新依赖 3. 兼容 Node.js 16+分步执行:
请分步执行: 第一步:创建数据模型,等我确认 第二步:创建 CRUD 接口 第三步:添加测试 现在执行第一步.kiro/ ├── steering/ # ✅ 提交(团队共享背景) ├── specs/ # ✅ 提交(共享需求设计) └── settings/ └── mcp.json # ⚠️ 注意脱敏.gitignore:
.kiro/settings/mcp.json # 包含 token,不提交Steering(项目背景) ↓ Spec(功能规划)→ 文档可共享给团队 ↓ Vibe(日常调整)→ 快速迭代 ↓ Hooks(自动化)→ 保障质量| 问题 | 解决方案 |
|---|---|
| 上下文过长 | 用#File精确引用,避免#Codebase |
| 响应慢 | 按模块拆分 Steering |
| 任务复杂 | 用 Spec 分步执行 |