Mirage 统一虚拟文件系统

让 AI 代理用 Bash 跨服务读取、搜索和处理数据。

Star 数
★ 3.6k
最近更新
4 天前
License
Apache-2.0
主语言
TypeScript

30 秒速览

可在哪里用
通用 · 跨平台Codex · Claude Code · OpenAI API
开始前需要
Python 3.11 or laterNode.js 20 or latermacOS or LinuxShell / 命令行网络访问本地文件系统MCP Server
典型场景
构建运维分析代理的团队,可把日志 S3 桶和 Slack 频道挂到同一工作区,用 grep 与 wc 统计告警。
主要局限
远程数据源依赖各自的网络连接、资源配置和凭据;示例中的 Slack 需要 SLACK_BOT_TOKEN

这个 Agent 能做什么,适合哪些场景?

Mirage 是面向 AI 代理的统一虚拟文件系统,将 S3、Google Drive、Slack、Gmail、Redis 等服务挂载到同一工作区路径树中。它提供 Python 与 TypeScript SDK、mirage CLI,以及可选的 FUSE 挂载方式;SDK 可在 FastAPI、Express、浏览器应用或异步运行时进程内运行。代理或应用通过 Workspace.execute 运行 Bash 风格命令,在不同后端之间读取、筛选、复制和管道处理文件。Workspace 还支持快照、加载与缓存,以便移动或复用工作区状态。仓库同时列出 OpenAI Agents SDK、LangChain、Vercel AI SDK、Claude Code、Codex 等集成路径。

开发者以 Workspace 创建挂载表,例如将 RAMResource 挂到 /data、将 S3Resource 挂到 /s3,随后调用 await ws.execute("cp /s3/report.csv /data/report.csv") 或 grep、find、wc 等命令。命令可跨挂载目录组合,并可用 ws.command 注册命令,或按 resource 与 filetype 覆盖如 cat 的行为。mirage CLI 可创建工作区、执行命令、provision 资源、生成快照并从 demo.tar 载入工作区。每个 Workspace 提供索引缓存和文件缓存;可配置 RedisFileCacheStore 与 Redis 索引来在工作进程、进程或机器间共享缓存。

  1. 构建运维分析代理的团队,可把日志 S3 桶和 Slack 频道挂到同一工作区,用 grep 与 wc 统计告警。
  2. 需要在远程对象存储与临时工作区之间处理报表的 Python 服务,可通过 Workspace.execute 将 /s3/report.csv 复制到 /data。
  3. 为 OpenAI Agents SDK、LangChain 或 Pydantic AI 添加统一数据访问层的开发者,可采用仓库列出的 Python 集成路径。
  4. 在 Node.js 服务中整合 Google Drive、Gmail、GitHub、Notion 或 Slack 数据的团队,可使用 TypeScript SDK 将相应后端挂载为目录。
  5. 需要迁移或保存代理运行状态的工程团队,可使用 workspace snapshot 和 load 命令导出、恢复工作区。

如何安装或部署这个 Agent?

Python 环境需 3.11 或更高版本:uv add mirage-ai。Node.js 环境需 20 或更高版本:npm install @struktoai/mirage-node;浏览器或边缘运行时可安装 @struktoai/mirage-browser,代理适配器可安装 @struktoai/mirage-agents。CLI 可用 npm install -g @struktoai/mirage-cliuvx mirage-ainpx @struktoai/mirage-cli,或 README 所示安装脚本。使用远程资源时须提供相应资源配置;示例中的 SlackResource 读取 SLACK_BOT_TOKEN,S3Resource 配置 bucket。

如何使用这个 Agent?

Python 最小示例:from mirage import Workspacefrom mirage.resource.ram import RAMResource,然后创建 ws = Workspace({"/data": RAMResource()}) 并执行 await ws.execute("ls /data")。要访问 S3,可加入 "/s3": S3Resource(S3Config(bucket="my-bucket")),再运行 await ws.execute("cp /s3/report.csv /data/report.csv")。CLI 流程可从 mirage workspace create ws.yaml --id demo 开始,再执行 mirage execute --workspace_id demo --command "cp /s3/report.csv /data/report.csv"

这个 Agent 有哪些优点和局限?

优点
  • 以路径、Bash 命令和管道统一访问多个数据后端,避免为每个服务编写不同的调用方式。
  • Python 和 TypeScript SDK 可进程内嵌入,并提供 CLI、MCP、FUSE 和多种代理框架集成路径。
  • 索引缓存与文件缓存默认在进程内启用,并可用 Redis 在多个 worker、进程和机器间共享。
  • 工作区可 clone、snapshot 和 version,CLI 也支持将快照载入为新的工作区。
局限
  • 远程数据源依赖各自的网络连接、资源配置和凭据;示例中的 Slack 需要 SLACK_BOT_TOKEN
  • Python、Node.js 与 FUSE 的运行条件不同;FUSE 挂载还受 macOS 或 Linux 的平台支持限制。
  • 仓库宣称约 50 个后端,但给出的内容未逐一说明每个后端的权限模型、操作覆盖范围或故障处理行为。
  • 缓存具有默认 10 分钟索引 TTL 和 512 MB 文件缓存上限,实时性或大文件工作负载可能需要调整配置。

这个 Agent 与同类方案有什么区别?

Mirage 的定位是用一个文件系统接口替代分别学习多个服务 SDK 与多个 MCP 接口;它保留 Bash 风格的 read、grep、pipe 等工作方式,而不是为每个后端引入独立命令语义。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 Star 最近更新 主语言 完整支持的平台
Mirage 统一虚拟文件系统 当前 54 · 缺口较多 ★ 3.6k 4 天前 TypeScript Codex · Claude Code · OpenAI API
AnyAgent 41 · 缺口较多 ★ 1.2k 4 个月前 Python
Agentic AI 工程课程 39 · 缺口较多 ★ 6.2k 4 天前 Jupyter Notebook OpenAI API
OpenGAP 51 · 缺口较多 ★ 2.9k 2 个月前 TypeScript Codex · Claude Code · OpenAI API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
54/ 100 五分制 2.7 / 5
信任安全 13/29
可靠稳定 9/14
适用触发 12/18
规范维护 10/18
有效结果 7/13
证据核验 3/8
查看各维度的扣分理由
信任安全13 / 29 · 2.2/5

证据显示:CLI测试验证了认证模式(local/token/jwt),token文件权限为600,健康检查绕过认证,但未发现用户确认机制或数据流透明度的文档。扣分原因:用户确认缺失,数据流透明度仅部分提及(缓存),敏感数据处理有认证但未明确加密。

可靠稳定9 / 14 · 3.2/5

证据显示:CLI测试覆盖了退出码传播、管道行为、命令限制等,表明错误处理有测试。扣分原因:依赖可用性未明确,失败消息未在文档中详细说明。

适用触发12 / 18 · 3.3/5

证据显示:README列出了多种后端和集成,支持Python和TypeScript,有CLI和SDK。扣分原因:能力边界未明确,触发精度(命令)有示例但未全面,环境适配有说明但未深入。

规范维护10 / 18 · 2.8/5

证据显示:README结构清晰,安装说明详细,有示例,许可证为Apache-2.0。扣分原因:命名稳定性未明确,已知限制未列出,版本变更日志未提供,维护责任未明确。

有效结果7 / 13 · 2.7/5

证据显示:输出可用性有示例,边际价值高(统一文件系统),成本效益未量化。扣分原因:成本效益未提供数据。

证据核验3 / 8 · 1.9/5

证据显示:README中的声明有部分文档链接,但未提供具体证据。扣分原因:声明可追溯性不足,跨来源验证有限,事实与推断未明确分离。

风险与缓解建议
  • 未发现用户确认机制,执行命令可能无提示。
  • 数据流透明度有限,缓存机制可能隐藏数据访问。
  • 依赖安全未明确,需检查依赖漏洞。
  • 已知限制未列出,可能影响生产使用。
证据充分度: 评估于 2026年8月9日 审查版本 3b18a436dfe1 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

常见问题

它是否只适用于某一种模型或代理框架?
不是。仓库提供 Bash 风格接口,并列出 OpenAI Agents SDK、LangChain、Pydantic AI、CAMEL、OpenHands、Vercel AI SDK、Mastra、Claude Code、Codex 等集成。
远程服务的数据会每次都重新请求吗?
不会总是如此。Workspace 有索引缓存和文件缓存;默认索引 TTL 为 10 分钟,默认文件缓存上限为 512 MB,也可改用 Redis 共享缓存。
能否把工作区迁移到另一台机器?
可以。README 说明工作区可 clone、snapshot 和 version;CLI 包含 mirage workspace snapshotmirage workspace load
是否必须使用 FUSE?
不必。Python 与 TypeScript SDK 可以在应用进程内运行;FUSE 只是仓库列出的挂载接入方式,且需要平台支持。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents