Appearance
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 会按下面顺序解析:
- 先查 prompt:如果匹配
/prompts list中的 prompt,就按 prompt 处理。 - 再查文件:否则按文件路径检查。
- 最后查目录:如果不是文件,再按目录检查。
如果你想强制按文件解析,可以写显式路径:
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、.git、target、dist、build。
这适合快速让 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"。