Kiro chat提供了一种称为"Headless mode"的运行模式。这是一种无交互方式运行Kiro CLI,可以在自动化Pipeline和脚本中运行Kiro CLI以实现自动化的code review,troubleshoot等。
API Key认证
我们通常先需要Login才能运行Kiro CLI,这个过程需要在弹出的浏览器窗口进行交互。为了实现无交互地运行Kiro CLI,必须提供环境变量KIRO_API_KEY给Kiro CLI。
要生成API Key,需要登录https://app.kiro.dev,找到API Keys,手工生成即可。

复制生成的API Key,设置为环境变量KIRO_API_KEY,后续运行Kiro CLI就无需登录交互。
$env:KIRO_API_KEY = "ksk_xxxxxxxx"
运行"Headless mode"的Kiro CLI
所谓"Headless mode",就是在启动Kiro Chat时提供**--no-interactive**选项。这样的Kiro Chat不需要任何人机交互。最简单的命令如下:
kiro-cli chat --no-interactive "your prompt here"
我们知道,在Kiro Chat中最常见的交互是对调用tools的控制,这可以通过**--trust-all-tools** 和**--trust-tools**两个选项,在启动Kiro Chat时预先控制,在被调用时就无需再问。
-
--trust-all-tools,顾名思义就是信任所有可能被调用的tools。
-
--trust-tools=read,grep,这里只给出信任的tools
kiro-cli chat --no-interactive --trust-all-tools "your prompt here"
kiro-cli chat --no-interactive --trust-tools=read,grep,@git/git_status,@git/git_log "your prompt here"
Kiro还提供了**--require-mcp-startup**选项,在被调用的MCP servers无法连接时,失败并尽快结束。
kiro-cli chat --no-interactive --trust-all-tools --require-mcp-startup "Your prompt here"
集成"Headless mode"的Kiro CLI到Pipeline
-
在脚本中执行Kiro CLI
#!/bin/bash
kiro-cli chat --require-mcp-startup --no-interactive --trust-all-tools "Run code analysis"
exit_code=$?case exit_code in 0) echo "Success" ;; 3) echo "MCP servers failed to start"; exit 1 ;; *) echo "Failed with code exit_code"; exit $exit_code ;;
esac -
在Pipeline中执行Kiro CLI
- name: Run Kiro task
run: |
kiro-cli chat --require-mcp-startup --no-interactive --trust-all-tools "Analyze code"
continue-on-error: false
- name: Run Kiro task
-
在Github workflow中以指定的Agent执行Kiro CLI
这里,对tools的控制在Agent的配置中。
name: Kiro Code Review
on:
push:
branches: [ main ]
jobs:
code-review:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Run Kiro code reviewer agent
env:
KIRO_API_KEY: ${{ secrets.KIRO_API_KEY }}
run: |
kiro-cli chat \
--agent my-code-reviewer \
--no-interactive \
"Review the files in this repository and provide a summary"