Skip to content

Kiro CLI File References 允许你在 chat prompt 中用 @path 直接引用文件或目录。文件内容会在发送前内联展开,目录会展开成结构树,适合临时提供代码上下文,避免手动复制,也减少不必要的工具调用。

Kiro CLI File References:用 @path 快速把文件加入 Prompt

Kiro CLI 的 file references 让你可以在消息里用 @path 引用文件或目录。它适合“这次 prompt 临时需要某个文件”的场景,比手动复制代码更稳,也比长期加入 context 更轻。

和 Claude Code、Cursor 中的 @file 类似,Kiro 会在发送 prompt 前把引用内容展开。区别是:这是一次性的 prompt 内容,不等同于持久的 agent resources。

基本用法

输入 @ 加文件或目录路径:

text
@src/index.ts
@src/
@./relative/path
@"path with spaces.txt"

路径有空格时必须使用引号。

引用可以出现在消息中的任意位置:

text
Review @src/auth.ts for security issues
Compare @old.json with @new.json
What's in @src/ that handles authentication?

Tab 补全

@ 后按 Tab 可以补全路径:

text
@src/<Tab>
@package<Tab>
@"Screenshot 2024<Tab>

补全可以出现在输入行的任意位置。路径包含空格时,Kiro 会自动加上引号。

引用解析顺序

@name 既可能是 prompt,也可能是文件时,Kiro 会按下面顺序解析:

  1. 先查 prompt:如果匹配 /prompts list 中的 prompt,就按 prompt 处理。
  2. 再查文件:否则按文件路径检查。
  3. 最后查目录:如果不是文件,再按目录检查。

如果你想强制按文件解析,可以写显式路径:

text
@./myfile

文件支持范围

Kiro 支持文本文件,例如源码、配置、Markdown,单文件上限为 250KB。

不支持二进制文件,例如图片、可执行文件、压缩包。引用二进制文件时会显示错误。

大文件会被截断:

text
⚠ File 'large-file.json' was truncated (exceeds 250KB limit)

如果需要完整分析大文件,建议改用 /context add、knowledge base,或拆成更小的文件。

引用目录树

引用目录时,Kiro 会展开目录结构:

text
@src/

示例展开:

text
src/
├── lib/
│   ├── auth.ts
│   └── utils.ts
├── index.ts
└── config.json

目录树限制:

  • 最大深度:3 层。
  • 每层最多 10 个条目,超出会显示 ... (N more items)
  • 默认忽略常见目录:node_modules.gittargetdistbuild

这适合快速让 agent 理解项目局部结构,但不适合替代完整代码库检索。

典型场景

审查单个文件:

text
Review @src/auth.ts for security issues

比较两个文件:

text
What's different between @v1/handler.py and @v2/handler.py?

探索目录结构:

text
What's the structure of @infra/cdk/?

结合配置和实现:

text
Using the config in @serverless.yml, update @src/lambda/index.ts

当前限制

File references 目前有这些限制:

  • 文本文件最大 250KB,超出会截断。
  • 目录树最多 3 层,每层最多 10 个条目。
  • 只能显式写路径,不支持 @*.ts 这类 glob。
  • 不支持行号范围,例如 @file.ts:10-20
  • 支持相对路径和绝对路径,但不支持 @~/file 这种 home 展开。
  • 不支持图片、可执行文件、压缩包等二进制文件。

常见问题

Q: Kiro CLI 的 @path 和 /context add 有什么区别?

A: @path 是当前 prompt 的一次性内联引用;/context add 会把文件加入当前 session context,后续消息也会持续占用上下文。

Q: @name 被当成 prompt 了怎么办?

A: 如果 prompt 和文件同名,Kiro 会优先解析 prompt。用 @./myfile 这种显式路径即可强制按文件处理。

Q: @path 支持 glob 吗?

A: 不支持。File references 需要显式路径;需要 glob 时用 /context add "src/**/*.ts"