多文件读取工具 (read_many_files
)
使用 read_many_files
从由路径或 glob 模式指定的多个文件中读取内容。
描述
此工具的行为取决于提供的文件:
- 对于文本文件,此工具将其内容连接成单个字符串。
- 对于图像和 PDF 文件,它会将它们读取并返回为 base64 编码的数据,前提是它们是通过名称或扩展名明确请求的。
可用于获取代码库的概览、查找特定功能的实现位置、审阅文档或从多个配置文件中收集上下文。
参数
paths
(list[string], 必需): glob 模式或路径的数组。exclude
(list[string], 可选): 用于排除文件/目录的 glob 模式。include
(list[string], 可选): 要包含的其他 glob 模式。recursive
(boolean, 可选): 是否递归搜索。默认为true
。useDefaultExcludes
(boolean, 可选): 是否应用默认排除模式列表。默认为true
。respect_git_ignore
(boolean, 可选): 是否在查找文件时遵循 .gitignore 模式。默认为 true。
如何使用
该工具搜索与提供的 paths
和 include
模式匹配的文件,同时遵守 exclude
模式和默认排除项。文本文件内容会用分隔符 --- {filePath} ---
连接起来。
示例
读取 src
目录中的所有 TypeScript 文件:
read_many_files(paths=["src/**/*.ts"])
读取主 README、docs
目录中的所有 Markdown 文件以及一个特定的徽标图像,同时排除一个特定文件:
read_many_files(paths=["README.md", "docs/**/*.md", "assets/logo.png"], exclude=["docs/OLD_README.md"])
重要说明
二进制文件处理:
- 图像/PDF 文件: 必须通过
paths
或include
模式明确指定(例如,文件名image.png
或模式*.jpeg
)才能被读取。 - 其他二进制文件: 工具会尝试检测并跳过其他类型的二进制文件。
注意默认的排除模式(如 node_modules
, .git
),如果需要覆盖它们,请谨慎使用 useDefaultExcludes=False
。