Skip to content
FunCoding

Search

Search docs, Skills and MCP

在自定义命令中嵌入文件

使用 @{...} 加载固定文件、目录和多模态内容,核对工作区与处理顺序。

This page has not been translated into English yet. The original Chinese version is shown below.

@{...} 在自定义命令模板中直接嵌入内容,适合固定的审阅规范、需求说明或输入材料。它与交互输入中的 @path 是不同的使用形式。

固定规范加任务参数

description = "Review code using the project guide."
prompt = """
Review {{args}} using this project guide:
@{docs/best-practices.md}
Explain concrete issues and proposed fixes.
"""

保存为 .gemini/commands/review.toml 并重新加载后,调用 /review src/parser.ts。规范文件内容被嵌入;参数部分仍是任务文本,不应误以为参数路径也已经被模板展开成文件内容。

文件与目录

路径指向处理方式
文本文件内容直接进入提示
支持的图片、PDF、音频或视频编码为多模态输入;官方列举 PNG、JPEG
其他二进制文件跳过
目录递归遍历并嵌入各文件内容,不只是输出文件名清单

目录处理会遵循已启用的 .gitignore 与 .geminiignore。引用大目录前,应先缩小材料范围;被忽略或跳过的文件不能视为已经提供给模型。过滤配置见忽略文件。

路径范围

CLI 在当前目录和其他工作区目录中寻找路径。绝对路径也可以使用,但必须在工作区范围内;跨目录任务先配置多目录工作区。路径内容中的花括号同样需要平衡。

模板处理顺序

文件注入早于 Shell 注入和参数替换。应采用固定 @{path} 与独立 {{args}} 的组合,不把 @{ {{args}} } 当成官方保证的动态路径语法,也不要依赖同一个模板里的 Shell 先生成文件、再由 @{...} 读取它。