mirage:一个统一的虚拟文件系统,让 AI 代理使用 bash 命令与多种数据源交互

mirage:一个统一的虚拟文件系统,让 AI 代理使用 bash 命令与多种数据源交互

它解决了什么问题

Mirage 为 AI 代理提供了一种统一的方式来访问多样的数据源和服务。它不再要求代理为每个不同的服务(如 S3、Google Drive 或 Slack)学习多个 SDK 或 API,而是将这些服务挂载为单一的虚拟文件系统(VFS)。这使得已经熟练掌握 bash 命令的 LLM 能够使用标准的类 POSIX 操作读取、搜索和移动跨后端的数据,而无需学习新的词汇。

工作原理

Mirage 创建一个 “Workspace”,将远程服务和数据源映射到目录路径。它使用调度器和缓存系统将类似 bash 的命令(例如 grepcpfind)翻译为相应后端的 API 调用。

关键技术组件包括:

  • 统一接口: 超过 50 种内置后端(包括 Redis、S3、Gmail、GitHub 和 MongoDB)都以文件系统的形式呈现。
  • 缓存机制: 两层缓存(元数据的索引缓存和对象字节的文件缓存)降低网络延迟和 API 调用次数。
  • 可扩展性: 用户可以根据资源类型或文件格式注册新命令或覆盖已有命令(例如让 cat 将 Parquet 文件渲染为 JSON)。
  • 可嵌入 SDK: 提供 Python 和 TypeScript 库,可在应用内部进程中运行。

适用人群

构建需要访问大量外部数据源的 AI 代理的开发者,以及希望提供类似编码代理环境的用户——即让代理能够使用标准 shell 命令在各服务之间操作数据。

亮点

  • 统一 VFS: 将 S3、Slack、Gmail 等挂载为单一文件系统。
  • Bash 原生: 代理可以直接使用 greppipewc 等命令跨后端操作。
  • 广泛集成: 支持 50 多种内置后端,并可与 LangChain、Vercel AI SDK、OpenAI Agents SDK 等主流代理框架集成。
  • 可移植工作区: 工作区可克隆、快照和版本化。
  • 细粒度缓存: 内置索引和文件缓存,并可选使用 Redis 实现共享状态。

Sources