Kiro Chat 完整文档
概述
Kiro 提供了一个全面的聊天面板,您可以通过自然语言对话与代码进行交互。这个强大的 AI 助手保持对项目的完整上下文理解,让您能够询问关于代码库的问题、请求复杂逻辑的解释、生成新功能、调试棘手问题,以及自动化重复性任务。
开始使用
访问 Chat
在开发环境中有多种方式访问聊天功能:
- 键盘快捷键:按
Cmd+L
(Mac)或Ctrl+L
(Windows/Linux)打开聊天面板 - Command Palette:按
Cmd+Shift+P
(Mac)或Ctrl+Shift+P
(Windows/Linux)并搜索"Kiro: Open Chat"
- Secondary Side Bar:点击右侧顶部栏的 Kiro chat 图标,使用
Cmd+Opt+B
(Mac)或Ctrl+Alt+B
切换打开聊天面板
第一次对话
聊天面板打开后:
- 在聊天输入框中用自然语言输入您的问题或请求
- 按 Enter 发送消息
- Kiro 将分析您的请求并适当回应
开始使用的示例请求:
询问代码相关问题
- "这个认证系统是如何工作的?"
- "这个函数的目的是什么?"
生成新代码
- "为用户配置文件创建一个 React 组件"
- "为这个 API 调用添加错误处理"
修复问题
- "修复支付处理中的 bug"
- "优化这个缓慢的数据库查询"
Smart Intent Detection
Kiro 智能分析您的消息,理解您是想要信息还是想要执行操作。当您问"这是如何工作的?"或"这段代码的目的是什么?"这样的问题时,Kiro 识别这是信息请求,会提供解释和文档而不修改您的代码。当您使用"创建一个组件"或"修复这个 bug"这样的指令时,Kiro 识别这是操作请求,会提议或实施必要的代码更改、执行命令或管理文件。这种无缝的意图识别允许自然对话,无需显式命令来切换信息和操作模式。
Context Management
Kiro 的强大之处在于对代码库上下文的深度理解。它自动分析编辑器中打开的文件,包括它们的依赖关系和结构,但您也可以明确提供额外的上下文。
Context Providers
在聊天输入中使用 #
符号访问上下文提供者:
Provider | 描述 | 示例 |
---|---|---|
#codebase | 允许 Kiro 自动在项目中查找相关文件 | #codebase explain the authentication flow |
#file | 引用代码库中的特定文件 | #auth.ts explain this implementation |
#folder | 引用特定文件夹及其内容 | #components/ what components do we have? |
#git diff | 引用当前 Git 更改 | #git diff explain what changed in this PR |
#terminal | 在上下文中包含终端输出 | #terminal help me fix this build error |
#problems | 包含当前文件中的所有问题 | #problems help me resolve these issues |
#url | 包含网页文档 | #url:https://docs.example.com/api explain this API |
#code | 在上下文中包含特定代码片段 | #code:const sum = (a, b) => a + b; explain this function |
#repository | 包含仓库结构图 | #repository how is this project organized? |
#current | 引用编辑器中当前活动的文件 | #current explain this component |
#steering | 包含特定的指导文件 | #steering:coding-standards.md review my code |
#docs | 引用文档文件和内容 | #docs:api-reference.md explain this API endpoint |
#mcp | 访问 Model Context Protocol 工具和服务 | #mcp:aws-docs how do I configure S3 buckets? |
您可以在单个请求中组合多个上下文提供者进行综合分析。
Sessions 和 History
Kiro 在会话中维护对话历史,允许持续的上下文感知交互。
管理 Sessions
- 创建新 Sessions:为不同主题或项目开始新对话。点击聊天面板中的
+
图标开始新会话 - 在 Sessions 之间切换:通过标签切换器轻松导航正在进行的对话
- 查看 History:通过
History
按钮访问之前的交互及其结果 - 任务跟踪:通过
Task list
按钮监控正在进行和已完成任务的进度
Execution History
Kiro 维护详细的会话历史,包括执行的操作,如代码更改、执行的命令、搜索结果、文件操作等。您可以搜索、恢复或删除特定会话。
Autopilot 模式
什么是 Autopilot 模式?
Autopilot 模式是 Kiro 的自主执行模式,允许代理在您的代码库中进行代码更改并以最少的干预完成复杂任务。这是一个关键功能,使 Kiro 能够更独立地为您工作。
工作原理
Autopilot 模式(默认)
Kiro 自主工作以端到端完成任务。它可以创建文件、在多个位置修改代码、运行命令,并在每个步骤不需要批准的情况下做出架构决策。您通过查看所有更改、撤销所有内容或随时中断执行的能力保持控制。
Supervised 模式
Kiro 展示每个提议的操作并等待您的批准后再继续。您将确切看到 Kiro 想要进行的更改,可以接受、拒绝或修改它们。此模式将复杂任务分解为可管理的步骤,并有明确的反馈检查点。
在模式之间切换
您可以随时使用聊天界面中的 autopilot 开关在 Autopilot 和 Supervised 模式之间切换。这种灵活性允许您为不同任务使用适当的控制级别。
何时使用每种模式
Autopilot 模式最适合:
- 熟悉 Kiro 功能的有经验用户
- 重复性或明确定义的任务
- 您想要快速推进的项目
- 跨越多个文件或需要多个步骤的任务
Supervised 模式最适合:
- 熟悉 Kiro 的新用户
- 关键或敏感的代码库
- 学习 Kiro 如何处理问题
- 当您想要仔细审查每个更改时
- 处理不熟悉的代码或复杂系统
Kiro 的变更管理功能
在 Autopilot 模式中
在 Autopilot 模式中,Kiro 自主工作,可以对您的代码库进行多个更改,而无需对每个单独操作进行批准。但是,您仍然通过几个关键功能保持对这些更改的控制:
查看所有更改
- 您可以通过在 Chat 模块中选择"View all changes"选项查看所有修改的综合列表
- 这让您可以看到 Kiro 在代码库中所做的一切
- 更改以 diff 视图呈现,清楚显示添加、修改或删除的内容
撤销所有更改
- 如果您对 Kiro 所做的更改不满意,可以选择"Revert"
- 这将在本地文件系统中将文件恢复到之前的状态
- 这本质上是 Kiro 所有修改的"撤销"功能
中断执行
- 您可以中途中断 Autopilot 以重新获得手动控制
- 如果您注意到出现问题,这会阻止 Kiro 进行进一步更改
在 Supervised 模式中
在 Supervised 模式中,Kiro 与您互动工作,在进行更改之前需要您的批准:
审查更改
- Kiro 在实施之前向您显示所有提议更改的 diff
- 您可以详细审查这些更改以确保它们符合您的要求
Accept All
- "Accept All"功能允许您一次性批准所有提议的更改
- 当 Kiro 建议多个您想要一起实施的相关更改时,这很有用
Reject All
- 类似地,"Reject All"允许您拒绝所有提议的更改
- 当 Kiro 的建议不符合您的意图时,这很有帮助
Vibe vs Spec Sessions
什么是 Vibe Session?
Vibe sessions 是 Kiro 中以交互式问答为重点的会话,专为快速问题、解释和通过更对话式方法构建项目而设计。
如何访问
您可以在启动新会话时使用 session picker 在 Vibe sessions 和 Spec sessions 之间切换。这允许您选择最适合当前任务的交互风格。
何时使用 Vibe
交互式问答格式:Vibe sessions 针对关于代码的往返对话进行了优化,允许您提问并获得即时回应。
快速协助:它们非常适合快速获得编码问题的答案、代码行为的解释或理解概念,而无需经过正式的规范过程。
上下文理解:像其他 Kiro sessions 一样,Vibe sessions 利用上下文提供者来理解您的代码库,但重点是解释而不是大量代码生成。
灵活方法:与 Spec sessions 相比,Vibe sessions 提供更流畅、结构化程度较低的方法,使其适合探索性编码和学习。
什么是 Spec Session?
Spec session 指导您通过 Kiro 中复杂开发任务的结构化方法,将软件开发过程正式化。它将高级想法转换为详细的实施计划,并进行系统执行和清晰跟踪。
如何访问
您可以在启动新会话时使用 session picker 在 Spec sessions 和 Vibe sessions 之间切换。对于复杂的开发任务,Spec sessions 提供确保彻底实施所需的结构。
何时使用 Spec
复杂开发任务:对于构建复杂功能、整个应用程序或需要仔细规划和执行的重大重构,使用 Spec sessions。
结构化方法:当您需要有条不紊、循序渐进的开发方法,并有明确的需求和实施细节文档时。
团队协作:对于多个团队成员需要理解实施计划并根据规范跟踪进度的项目。
文档需求:当您想要在代码实施的同时生成详细文档,以供将来参考或知识共享时。
Terminal Integration
概述
通过 Kiro 的 terminal integration 转变您的开发工作流程。无需记忆命令语法或在窗口之间切换,只需描述您想要完成的任务,Kiro 就会将您的请求转换为可执行命令,在操作间维护上下文,并提供安全的批准系统,让您在管理依赖项、导航 git 工作流程或探索代码库时保持控制。
开始使用
只需用自然语言描述您想要做什么。例如:
- "安装项目依赖项"
- "检查 git 状态"
- "在 src 文件夹中查找所有 TypeScript 文件"
- "运行开发服务器"
Kiro 将您的请求转换为适当的终端命令,并在执行前请求您的批准。您将审查建议的命令并选择 Modify、Reject、Run 或 Run and Trust,然后直接在聊天中查看输出。
工作原理
当 Kiro 建议一个命令时,您有四个选项:
- Modify - 运行前编辑命令
- Reject - 取消执行
- Run - 执行一次
- Run and Trust - 执行并信任将来类似的命令
Trust Commands
为了安全起见,Kiro 在运行任何命令之前都会请求批准。您可以通过配置哪些命令自动信任来简化此过程。
Trust Read-Only Commands
自动运行安全命令,如 ls
、cat
、pwd
、find
和 grep
,无需提示。
Trusted Commands
使用通配符模式创建自定义信任命令列表:
npm *
- 信任所有 npm 命令git status
- 仅信任 git statusnpm run *
- 信任带任何脚本名称的 npm run
您可以通过在提示时选择 Run and Trust
或在 Settings → Trusted Commands
中手动配置来将命令添加到此列表。这些设置可以在用户级别(跨所有工作空间的全局)和工作空间级别(特定于当前项目)进行配置。
高级用法
使用 Terminal Context
在对话中使用 #Terminal
引用最近的终端输出:
Kiro 保持对命令历史和输出的感知,实现:
- 错误分析 - 理解命令失败的原因
- 输出解释 - 解释复杂的命令结果
- 后续操作 - 根据结果建议下一步
故障排除
有关 terminal integration 问题和手动设置说明,请参阅 Shell Integration troubleshooting guide。