Kiro CLI:在终端里跑 AI 开发助手

0 阅读

安装与登录

Kiro CLI 支持 Windows、macOS 和 Linux。Windows 用户用 PowerShell 一行命令就能装好:

irm 'https://cli.kiro.dev/install.ps1' | iex

Linux 用户根据架构下载对应压缩包,解压后运行 install.sh。卸载也很直接,运行 kiro-cli uninstall 即可。

装完之后需要登录。日常开发用浏览器登录最方便,执行 kiro-cli login 会自动打开浏览器完成认证。如果是 SSH 远程环境或者没有图形界面,它会自动切到设备码模式,显示一个网址和验证码,你在本地浏览器里完成就行。也可以强制指定设备码模式:

kiro-cli login --use-device-flow

CI/CD 场景没法交互,就用 API Key。设置环境变量 KIRO_API_KEY,然后加 --no-interactive 参数运行。注意 API Key 只能用于非交互模式,想聊天还是得浏览器登录。

启动会话与基本操作

最简单的启动就是 kiro-cli chat。想指定模型用 --model,指定 Agent 用 --agent,带问题直接启动就加问题字符串。上次没聊完?--resume 恢复,或者用 --resume-picker 从列表里选。

进会话后,提示符长这样:

Kiro auto 6%

分别是当前 Agent 名、模型简称、上下文窗口使用率。接近上限时会自动压缩,但你也可以手动 /compact 释放空间。

几个常用快捷键:

  • Ctrl+R 搜索历史命令
  • Ctrl+C 取消或退出
  • Ctrl+G 看子 Agent 活动监控
  • Ctrl+X 看任务进度
  • Ctrl+O 折叠/展开工具输出
  • Shift+Enter 多行输入(看终端支持)

会话自动保存在 ~/.kiro/sessions/cli/,每个目录独立,换项目不会互相干扰。文件包括 JSON 元数据、JSONL 对话日志,还有活跃会话的锁文件。

模型选择与成本

Kiro 接入了 Claude、DeepSeek、Qwen、StarCoder 等多个系列,分成几档:

Auto(默认):智能路由,综合性价比最高,日常开发推荐用这个。

Claude Opus 4.6:最强智能体,复杂系统设计、安全工程、超长任务用它,成本约 Auto 的 2.2 倍。

Claude Sonnet 4.6/4.7:智商和实用性的平衡,4.7 接近 Opus 智力但 token 效率更高,适合长会话和迭代开发。

Claude Haiku 4.0:极速,编码和推理能力接近 Sonnet 4,成本只有 1/3,适合快速补全和低延迟场景。

Qwen3 Coder Next:开源权重,编码性能匹配前沿,成本仅 0.25x,成本敏感型开发首选。

DeepSeek Coder v3:专为 Agent 工作流设计,擅长长工具调用链和有状态会话,同样 0.25x。

StarCoder2 5B/7B:多语言强,Rust/Go/C++ 和 UI 生成能力好,0.15x。

Granite Code 3B:最便宜,0.05x,专为 CLI 长会话设计,有错误恢复能力,适合实验性任务。

成本系数是估算值,实际以 Kiro 后台计费为准。Auto 模式下 10 credits 约等于 Opus 22 credits、Haiku 4 credits、Qwen3 0.5 credits。

斜杠命令速查

Kiro 的斜杠命令分几类,记几个常用的:

会话管理:/chat save 导出会话,/chat load 导入,/chat new 开新会话,/clear 清空历史(但 Session ID 不变),/compact 压缩释放空间。

Agent 与模型:/agent 切换 Agent,/agent create AI 辅助创建新 Agent,/model 切模型,/plan 切换到规划 Agent 拆解任务,/guide 问 Kiro 自身功能。

工具权限:/tools 看可用工具和权限状态,/tools trust 信任指定工具,/tools trust-all 全信任,/tools reset 恢复默认。

上下文管理:/context 看使用情况,/context show 看加载了哪些文件,/context add/remove 增删文件,/context clear 清空。

知识库:/knowledge show/add/remove/update/clear 管理知识库,/knowledge cancel 取消后台索引。

代码智能:/code init 启动 LSP,/code status/logs/overview/summary 看状态、日志、生成概览和文档。

其他:/help 看所有命令,/usage 看账户用量,/copy 复制上条回复,/editor 用系统编辑器写多行提示,/paste 粘贴剪贴板图片,/spawn 启动并行 Agent 会话,/theme 切主题。

三种上下文类型

Kiro 的上下文分三类,搞清楚区别才能用好:

Agent Resources(标配):每次对话都需要的文件,比如 README、项目规范。在 Agent 配置文件的 resources 字段里声明,用 file:// 前缀。持久化,跟着 Agent 走。

Session Context(草稿纸):当前任务的临时文件,比如正在改的代码、错误日志。用 /context add 临时加,会话结束就消失。

Knowledge Bases(外挂硬盘):大型代码库、完整文档集这种会撑爆上下文窗口的内容。先启用设置,用 /knowledge add 导入。平时不耗 Token,语义搜索命中时才引入,专门解决"大象装不进冰箱"的问题。

普通 Context Files 有硬性限制,不超过模型上下文窗口的 75%,超限会被自动丢弃,防止任务失败。Knowledge Bases 不占用这个窗口,这是它最大的区别。

文件操作与图像分析

Kiro 能直接读写项目文件,不用 cat、echo 这些 Shell 命令。读取支持按行、指定范围、批量读多个、浏览目录、读图片。写入支持创建新文件、查找替换、插入、追加,自动创建不存在的父目录。

图像分析需要模型有视觉能力,三种上传方式:

  • 拖拽上传:直接把图片拖进终端窗口,最快捷
  • 显式读取:在提示里写路径,如 analyze /path/to/screenshot.png
  • 剪贴板:/paste 命令,直接粘贴剪贴板里的图

应用场景包括 Debug 截图分析、架构图转代码、UI 设计评审、文档里的代码片段理解。

代码搜索与智能

正则搜索(grep):文本模式搜索,支持文件类型过滤。

文件查找(glob):按路径模式找文件。

代码智能(code):基于 AST 的分析,支持符号搜索、模式匹配、代码重写。比如"查找 UserService 类定义"、"搜索所有继承 BaseEntity 的类"、"把所有 public void setXxx 重命名"。

初始化代码智能后(/code init),还有 LSP 能力:跳转定义、查找引用、悬停信息、自动补全、诊断。

Shell 命令执行

其他工具搞不定的时候,Kiro 可以执行 Shell 命令。比如运行 mvn clean install、执行 git status、跑测试并分析结果。

注意输出是缓冲的,完成后才显示,不支持交互式命令如 sudo、npm init 这种会停下来等输入的。

多 Agent 协作(Subagents)

Subagents 是 Kiro 的亮点功能。它是能自主执行复杂任务的专用 Agent,有独立上下文、工具权限和决策能力,适合多步骤操作。

核心能力包括:自主执行、实时进度追踪(Ctrl+G 打开监控面板)、核心工具访问(读文件、执行命令、写文件、MCP 工具)、并行执行、任务依赖图(DAG)、细粒度权限控制、结果聚合。

内置三个默认角色:

  • kiro_default:默认开发 Agent
  • kiro_planner:规划 Agent,擅长任务拆解
  • kiro_guide:指南 Agent,回答 Kiro 自身功能问题

也可以指定自定义 Agent 配置作为 Subagent,比如 Use the backend agent to refactor the payment module。

手动启动并行会话用 /spawn:

/spawn 分析 src/auth 目录的测试覆盖率
/spawn --name security-check 检查所有 API 端点的安全性

Subagent 的工作流程:任务分配 → 初始化(独立上下文和工具)→ 自主执行(特定操作可能暂停等确认)→ 进度更新 → 结果返回主 Agent。

可用工具包括 read、write、shell、grep、code、glob、MCP 工具。不可用 web_search、web_fetch、thinking、todo_list、use_aws 等,这些得主 Agent 来做。

任务依赖图支持 DAG,独立任务并行,有依赖的按序执行。比如"先分析依赖,再重构每个服务,最后跑测试",执行前一次性规划好,执行中不能改。

知识库管理

Kiro 内置持久化知识库,支持语义搜索(MiniLM)和关键词搜索(BM25),跨会话可用。

索引类型:

  • Fast(BM25):日志、配置、大型代码库,快速索引,精确关键词匹配
  • Best(语义):文档、研究资料,理解语义,自然语言查询

设置默认索引类型:

kiro-cli settings knowledge.indexType Best

每个 Agent 有独立知识库,互不干扰。支持 Markdown、Java、Python、JavaScript、TypeScript、JSON、YAML、SQL、HTML、CSS 等主流格式。

网络能力

网络搜索:查训练数据之外的最新信息,比如"Spring Boot 4 的最新变更"。

网页抓取:获取指定 URL 内容,三种模式:

  • selective(默认):围绕搜索词智能提取
  • truncated:前 8000 字符
  • full:完整内容,最大 10MB

示例:读取 https://docs.spring.io/... 中关于 auto-configuration 的内容

项目记忆:Steering 文件

Steering 是 Kiro 的"项目记忆"功能,通过 Markdown 文件持久化存储项目规范,放在 .kiro/steering/ 目录,对所有会话生效。不用每次重复解释技术栈和代码风格,实现跨会话的上下文一致性。

核心价值:新老成员产出代码风格统一;告别每次的"技术栈自我介绍";通过 Git 版本化实现团队规范同步。

文件分两级,Workspace(项目级)优先级高于 Global(全局级):

  • Workspace:项目根目录/.kiro/steering/,项目专属,如 API 规范、测试标准
  • Global:~/.kiro/steering/,个人或团队通用,如编码习惯、安全基线

同名指令冲突时,项目级覆盖全局级。团队可以通过 MDM 或 Git 分发全局配置,同时允许项目本地自定义。

常用文件示例:

  • product.md:业务背景,产品目标、用户画像、核心功能
  • tech.md:技术选型,语言、框架、数据库、工具链
  • structure.md:架构约束,目录结构、命名规范、导入规则
  • api-standards.md:REST 规范、错误响应、认证流程
  • testing-standards.md:单元测试模式、集成策略、覆盖率要求
  • code-conventions.md:命名模式、文件组织、组件模式
  • security-policies.md:认证要求、数据验证、输入清理
  • deployment-workflow.md:构建流程、环境配置、CI/CD 管道

最佳实践:一域一文件,避免单文件臃肿;严禁写入密钥。

Agent 配置详解

Agent 是 Kiro 的核心概念,通过 JSON 配置文件定义行为、工具、上下文和集成。

配置文件位置:

  • 项目级:.kiro/agents/<name>.json(优先级高)
  • 全局级:~/.kiro/agents/<name>.json

关键字段:

  • prompt:系统提示词,定义专业领域和行为,支持 file:// 引用外部文件
  • tools:可用工具列表
  • allowedTools:自动批准的工具,免确认,支持通配符如 fs_*、@git/*
  • resources:上下文文件,file:// 始终加载,skill:// 按需加载
  • hooks:钩子,特定时机执行命令
  • mcpServers:MCP 服务器配置
  • keyboardShortcut:快捷键切换到此 Agent
  • welcomeMessage:切换时显示的欢迎消息
  • toolsSettings.subagent:Subagent 权限配置,包括可用 Agent 列表、信任 Agent 列表、每个 Subagent 的工具白名单和强制审批项

Hooks 触发时机:agentSpawn(初始化)、userPromptSubmit(用户提交消息)、preToolUse(工具执行前,可阻止)、postToolUse(工具执行后)、stop(回复完成时)。

MCP 服务器:支持本地(stdio)和远程(HTTP)两种模式。本地用 command 和 args,远程用 url 和 headers。

Agent Skills

Skills 是遵循开放标准的"技能包",可复用的工作流指令集,比如 PR 审查、部署流程。采用按需加载机制,大幅扩展专业能力。

核心机制:Kiro 启动时只读技能描述(Description),当你的自然语言指令匹配描述中的关键词时,自动加载完整 SKILL.md 执行。用 /context show 可查看当前可用技能列表。

作用域与优先级:

  • Workspace(.kiro/skills/):项目独有,优先级更高
  • Global(~/.kiro/skills/):个人通用
  • 同名技能,项目级覆盖全局级

文件结构:

my-skill/
├── SKILL.md          # 核心指令文件
├── references/       # 拆分存放的详细文档
└── scripts/          # 可执行脚本

SKILL.md 编写:YAML Frontmatter + Markdown 正文。Description 是关键,必须包含用户可能用的触发短语,这是自动激活的匹配依据。大文档拆到 references/ 目录,正文通过相对路径引用。

Default Agent 自动加载全局和项目级技能。Custom Agent 需在 resources 字段显式声明 skill://.kiro/skills/**/SKILL.md。

全局设置

通过 CLI 命令管理:

# 查看所有可用设置
kiro-cli settings list --all

# 设置默认模型和 Agent
kiro-cli settings chat.defaultModel "model-id"
kiro-cli settings chat.defaultAgent aaf-dev

# 启用/禁用功能
kiro-cli settings chat.enableKnowledge true
kiro-cli settings chat.enableCodeIntelligence true
kiro-cli settings chat.enableSubagent true
kiro-cli settings chat.enableThinking true

# 删除设置
kiro-cli settings --delete chat.defaultModel
kiro-cli settings --delete "knowledge.*"  # 批量删除

设置优先级:Session > Workspace(.kiro/settings/cli.json)> Global(~/.kiro/settings/cli.json)

Headless 模式(自动化)

适合 CI/CD 和脚本集成,非交互运行:

# 单次查询,自动信任所有工具
kiro-cli chat --no-interactive --trust-all-tools "运行 mvn test 并分析结果"

# 信任指定工具
kiro-cli chat --no-interactive --trust-tools=fs_read,grep "查找所有 TODO"

注意:必须提供初始查询,必须配置工具信任(否则会挂起),不支持交互式命令。

实用技巧总结

  1. 先读后写:Kiro 修改代码前会先读相关文件理解上下文,匹配项目风格
  2. /context add 加载关键文件:让 Kiro 始终了解项目规范和架构
  3. /compact 释放空间:对话过长时压缩历史,保留关键信息
  4. /plan 拆解复杂任务:切换到规划 Agent,先拆解再执行
  5. 知识库索引文档:项目文档索引后,Kiro 可以跨会话检索
  6. /chat save 保存重要会话:方便后续恢复和分享
  7. 配置专属 Agent:为项目创建专属 Agent,预设提示词、工具权限和上下文文件
  8. /spawn 并行处理:多个独立任务同时执行

日志与调试

Windows 日志位置:%TEMP%/kiro-log/logs/kiro-chat.log

自定义日志路径:

set KIRO_CHAT_LOG_FILE=D:\logs\kiro-debug.log
kiro-cli chat

查看 LSP 日志:

/code logs -l ERROR -n 50