Vercel 开源了 bash-tool,这个工具为 AI 智能体提供了一个 Bash 执行引擎,让它们可以直接运行基于文件系统的命令,帮模型获取上下文信息。这个工具的设计初衷,就是让 AI 智能体在处理大量本地上下文时,不用把整个文件塞进模型提示词里,可以直接通过像 find、grep、jq 这样的 shell 命令,直接在文件夹里操作。
bash-tool 给智能体提供了三大核心操作:bash(解释并执行 Bash 脚本)、readFile(从预加载的文件系统读取文件)、writeFile(更新文件)。这个引擎基于 just-bash(一个用 TypeScript 写的解释器),不会新开 shell 进程,也不会随便执行二进制文件。它既能用内存文件系统,也能跑在隔离的虚拟机里。
实际用起来时,开发者可以在创建工具时先把一批文件加载进去,智能体就能随时对这些文件运行命令。比如,你可以把一个 JavaScript 源码文件交给 bash-tool,智能体就能查找或操作文件系统,而不用把整个文件内容塞进提示词里。如果需要真正的 shell 和文件系统,也可以在 Vercel 的沙盒环境下用这个工具,支持完整的虚拟机隔离。
这个工具的诞生,是因为大家都想让大模型的上下文窗口别太臃肿,同时又希望智能体能精准获取文件里的关键信息。只拿 shell 命令的结果,不嵌入整个文件,智能体就能省下不少 token,把注意力集中在真正有用的小片段上。
开发者可以把 bash-tool 和 Vercel 的 AI SDK 一起安装,就能开始开发用文件系统操作做检索的智能体了。它既能用内存文件系统,也能跑在沙盒环境里,部署起来很灵活,而且还不会暴露不安全的执行路径。
开发者们在早期讨论时就发现,用 Bash 风格的接口让智能体检索上下文,其实是很贴合大多工具和模型已经熟悉的 Unix 工作流。Vercel 让智能体能用 find、grep 这些经典命令,等于直接用上了 shell 的语义,让模型能高效地查找和提取结构化信息,而不是只靠向量检索或者把整个文件塞进提示词。
开发者 Asim Gilani 说:
能不用复杂的上下文管理,真的太爽了。让模型自己查文件,比每次都喂它一堆碎片强多了。
Benjamin Shafii 也表示:
Unix 50 年前就把抽象做对了。只要你能把设备、进程、数据都当成文件看,你就只需要一种抽象和一个 API。
bash-tool 的出现,可能会影响未来 AI 驱动的开发系统如何处理本地上下文,更加注重精准检索和与软件工程常见文件系统语义的深度结合。
原文链接:





