BashToolset 属于未发布能力,PyPI 1.1.13 不包含此工具。体验本页功能可安装以下已核验源码版本;运行智能体示例还需配置模型,直接文件读取不需要模型凭证功能说明
BashToolset 是一组只读文件系统工具集,提供十个常见 Shell 命令的读取能力,但不启动 Shell 进程,也不接受命令行选项。所有工具使用 Python 标准库实现,在配置的权限范围内安全地读取文件和目录。
导入路径:
from veadk.tools.builtin_tools.bash_toolset import BashToolset
BashToolset 仅支持 Linux 和 macOS。所有工具均为只读操作,不执行写入、删除或命令执行。何时使用
当智能体需要读取工作目录中的文件、浏览目录结构、搜索文件内容或比较文件差异时,使用BashToolset。与代码沙箱不同,BashToolset 在本地进程内执行,不依赖远端沙箱,适合需要快速、安全地读取本地文件的场景。
使用示例
bash_toolset_agent.py
参数
构造参数
默认排除项为:
.env、.env.*、.ssh、.aws、*.pem、*.key。传入空列表 [] 可显式清除全部排除项,使所有匹配权限范围的文件可被读取。返回格式
所有工具返回一个字典,包含以下字段:工具说明
cat
读取指定路径的文本文件内容。pwd
返回工具集的工作目录,不接收参数。ls
列出目录下的子项,不跟随符号链接。find
按文件名通配符递归查找文件或目录,不跟随符号链接。grep
按字面文本搜索文件内容,返回匹配行及其路径和行号。不支持正则表达式。head
读取文件开头若干行。tail
读取文件末尾若干行。wc
统计文件的换行符数、空格分隔词数和字节数,返回 JSON 格式结果。stat
返回文件或目录的类型、大小、权限和修改时间,返回 JSON 格式结果。diff
使用统一差异格式比较两个文本文件,每个文件最多读取 2000 行。配置多个允许目录
BashToolset 支持配置多个允许访问的根目录,使智能体能够跨目录读取文件:
bash_toolset_multi_root.py
安全说明
不调用模型的本地验证
此示例在临时目录创建测试文本,读取后输出hello,随后自动删除临时目录。读取工具本身不修改文件,文件准备由示例应用完成
working_directory 为基准;访问其他允许目录时使用绝对路径。自定义 exclude_patterns 会替换默认排除项,不能假定与默认值合并。输出有 error 时,即使 output 非空也可能只是部分结果