Mirage:AI Agent 的统一虚拟文件系统,把 S3、Google Drive 当本地目录用

AI Agent 在处理文件时有个痛点:它们需要访问各种不同的存储系统——本地文件、S3、Google Drive、Azure Blob——但每个系统的 API 都不一样,Agent 需要为每种存储写不同的代码。

Mirage 是一个新开源项目,它为 AI Agent 提供了一个统一的虚拟文件系统接口。不管底层是 S3、Google Drive 还是本地磁盘,Agent 看到的都是一个普通的目录树,用标准的文件操作 API 就能读写。

项目简介

Mirage(项目地址:https://github.com/strukto-ai/mirage)由 Strukto AI 团队开发,是一个面向 AI Agent 的虚拟文件系统层。它的核心思想是:给 AI Agent 一个”看起来像本地文件系统”的统一接口,底层连接各种实际存储后端。GitHub 上已经获得超过 700 Star。

解决什么问题

AI Agent 在执行任务时经常需要读写文件。传统的做法是为每种存储系统写专门的集成代码:

  • 读 S3 → 用 boto3 的 API
  • 读 Google Drive → 用 Google Drive API
  • 读本地文件 → 用 open() 或 os 模块
  • 读 Azure Blob → 用 Azure SDK

这意味着 Agent 的代码里充斥着各种存储 SDK 的调用,代码复杂、难以维护,而且每新增一种存储后端都要改代码。

Mirage 的做法是抽象出一层”虚拟文件系统”,Agent 只需要用标准的文件操作(读、写、列目录、移动、删除),Mirage 负责把这些操作转发到对应的存储后端。

支持的存储后端

  • 本地文件系统:标准的本地磁盘读写
  • Amazon S3:包括 S3 兼容的 MinIO、阿里云 OSS、腾讯云 COS
  • Google Drive:读写 Google Drive 中的文件和文件夹
  • Azure Blob Storage:微软云存储
  • 内存存储:临时文件存储,适合测试和缓存场景

安装

pip install mirage-fs

或者从源码安装:

git clone https://github.com/strukto-ai/mirage.git
cd mirage
pip install -e .

使用方法

基础用法:挂载本地目录

from mirage import VirtualFS

# 创建虚拟文件系统,挂载本地目录
fs = VirtualFS()
fs.mount("local", "local:///home/user/projects")

# 像操作普通文件系统一样使用
files = fs.listdir("local")
content = fs.read("local/myfile.txt")
fs.write("local/output.txt", "Hello, Mirage!")

挂载 S3

from mirage import VirtualFS

fs = VirtualFS()

# 配置 S3 后端
fs.mount("data", "s3://my-bucket/data", config={
    "aws_access_key_id": "YOUR_KEY",
    "aws_secret_access_key": "YOUR_SECRET",
    "region_name": "us-east-1"
})

# 列出 S3 中的文件
files = fs.listdir("data")

# 读取 S3 中的文件
content = fs.read("data/report.csv")

# 写入 S3
fs.write("data/results.json", json.dumps(results))

多后端组合

from mirage import VirtualFS

fs = VirtualFS()

# 同时挂载多个后端
fs.mount("local", "local:///home/user/work")
fs.mount("cloud", "s3://my-bucket/shared")
fs.mount("drive", "gdrive:///My Documents")

# 在不同后端之间复制文件
content = fs.read("drive/report.docx")
fs.write("local/report.docx", content)
fs.write("cloud/backup/report.docx", content)

在 AI Agent 中使用

Mirage 特别适合与 AI Agent 框架集成。以下是一个与 LangChain 集成的示例:

from mirage import VirtualFS
from mirage.tools import create_file_tool

fs = VirtualFS()
fs.mount("workspace", "s3://agent-bucket/workspace")

# 创建 Agent 可用的文件工具
read_tool = create_file_tool(fs, action="read")
write_tool = create_file_tool(fs, action="write")
list_tool = create_file_tool(fs, action="list")

# 将工具传给 Agent
agent = initialize_agent(
    tools=[read_tool, write_tool, list_tool],
    llm=your_llm
)

核心特性

  • 统一接口:所有存储后端使用相同的 read/write/listdir/mkdir/delete API
  • 路径透明:Agent 不需要知道文件在哪个后端,用统一的路径访问
  • 懒加载:只在实际访问时才连接存储后端,减少不必要的连接开销
  • 缓存支持:可配置本地缓存,减少重复的远程读取
  • 权限控制:可以为不同挂载点设置读写权限
  • 错误处理:统一的错误处理机制,不同后端的错误都会被标准化

适合场景

  • AI Agent 开发:为 Agent 提供统一的文件访问能力,不用为每种存储写集成代码
  • 数据管道:从多个数据源读取数据,处理后写入多个目标
  • 文件同步工具:在不同存储系统之间同步文件
  • 开发测试:用内存存储做测试,生产环境切换到 S3,代码不用改
  • 多云架构:应用需要同时访问多个云服务商的存储

注意事项

  • 项目比较新,某些边缘场景可能还不完善
  • Google Drive 需要配置 OAuth 认证,设置相对复杂
  • 大文件操作时注意内存使用,某些后端可能不支持流式读写
  • 建议在生产环境使用前先做充分测试

简评

Mirage 解决的是 AI Agent 生态中的一个实际问题:存储抽象。随着 AI Agent 越来越需要处理各种文件和数据,一个统一的文件系统接口确实很有价值。虽然项目还比较年轻,但设计理念很清晰,API 也很简洁。如果你在开发 AI Agent 应用,Mirage 值得关注。

来源:https://github.com/strukto-ai/mirage

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
相关推荐
<p>GitHub本周最火的项目之一,TradingAgents在短短时间内获得了超过7万星标,成为多Agent AI应用领域的标杆项目。这个基于大语言模型的多Agent金融交易框架,让”AI炒股”从概念走向了可实验的开源工具。</p>

<h2>项目简介</h2>

<p>TradingAgents是一个开源的多Agent金融交易分析框架,核心思路是让多个AI Agent各司其职,协同完成金融市场的分析和交易决策。项目地址:<a href=GitHub – TauricResearch/TradingAgents

架构设计

TradingAgents的设计借鉴了真实金融交易团队的分工模式,将不同职责分配给不同的Agent:

  • 分析师Agent:负责分析市场数据、财报、新闻等信息,产出分析报告。
  • 研究员Agent:深入研究特定行业或公司,提供基本面分析。
  • 交易员Agent:根据分析结果制定交易策略和执行计划。
  • 风控Agent:评估交易风险,设置止损和仓位控制。
  • 决策Agent:综合各方意见,做出最终交易决策。

这种多Agent协作的模式,模拟了真实对冲基金的决策流程。每个Agent可以使用不同的LLM模型,甚至可以使用同一模型的不同温度参数来产生多样化的观点。

使用场景

学术研究

TradingAgents是研究多Agent系统在金融领域应用的优秀平台。研究人员可以修改Agent的提示词、调整协作机制、测试不同的决策算法。

策略回测

框架支持接入历史市场数据,可以用来回测AI交易策略的表现。这对于量化交易团队评估AI辅助决策的价值很有帮助。

学习和教育

对于想了解AI在金融领域应用的开发者,TradingAgents是一个很好的学习项目。代码结构清晰,文档完善,适合上手研究。

安装和运行

# 克隆项目
git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents

# 安装依赖
pip install -r requirements.txt

# 配置API密钥
cp .env.example .env
# 编辑 .env 文件,填入 OpenAI API key

重要风险提示

⚠️ 以下几点需要特别注意:

  • 不要用真金白银:TradingAgents是一个研究和实验框架,不是成熟的交易系统。绝对不要用它来做实盘交易。
  • AI不是万能的:金融市场受到无数因素影响,AI模型无法预测黑天鹅事件、政策变化、市场情绪等非理性因素。
  • 回测不等于实盘:在历史数据上表现好的策略,在真实交易中可能完全失败(过拟合问题)。
  • 合规风险:在某些司法管辖区,使用AI进行自动化交易可能受到监管限制。

同类项目参考

如果你对AI+金融感兴趣,还可以关注以下项目:

  • FinRL:深度强化学习金融交易框架
  • Qlib:微软开源的量化投资平台
  • GPT-Financial-Analyst:基于GPT的财务分析工具

来源:

-枫选">

GitHub本周最火的项目之一,TradingAgents在短短时间内获得了超过7万星标,成为多Agent AI应用领域的标杆项目。这个基于大语言模型的多Agent金融交易框架,让”AI炒股”从概念走向了可实验的开源工具。

项目简介

TradingAgents是一个开源的多Agent金融交易分析框架,核心思路是让多个AI Agent各司其职,协同完成金融市场的分析和交易决策。项目地址:GitHub – TauricResearch/TradingAgents

架构设计

TradingAgents的设计借鉴了真实金融交易团队的分工模式,将不同职责分配给不同的Agent:

  • 分析师Agent:负责分析市场数据、财报、新闻等信息,产出分析报告。
  • 研究员Agent:深入研究特定行业或公司,提供基本面分析。
  • 交易员Agent:根据分析结果制定交易策略和执行计划。
  • 风控Agent:评估交易风险,设置止损和仓位控制。
  • 决策Agent:综合各方意见,做出最终交易决策。

这种多Agent协作的模式,模拟了真实对冲基金的决策流程。每个Agent可以使用不同的LLM模型,甚至可以使用同一模型的不同温度参数来产生多样化的观点。

使用场景

学术研究

TradingAgents是研究多Agent系统在金融领域应用的优秀平台。研究人员可以修改Agent的提示词、调整协作机制、测试不同的决策算法。

策略回测

框架支持接入历史市场数据,可以用来回测AI交易策略的表现。这对于量化交易团队评估AI辅助决策的价值很有帮助。

学习和教育

对于想了解AI在金融领域应用的开发者,TradingAgents是一个很好的学习项目。代码结构清晰,文档完善,适合上手研究。

安装和运行

# 克隆项目
git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents

# 安装依赖
pip install -r requirements.txt

# 配置API密钥
cp .env.example .env
# 编辑 .env 文件,填入 OpenAI API key

重要风险提示

⚠️ 以下几点需要特别注意:

  • 不要用真金白银:TradingAgents是一个研究和实验框架,不是成熟的交易系统。绝对不要用它来做实盘交易。
  • AI不是万能的:金融市场受到无数因素影响,AI模型无法预测黑天鹅事件、政策变化、市场情绪等非理性因素。
  • 回测不等于实盘:在历史数据上表现好的策略,在真实交易中可能完全失败(过拟合问题)。
  • 合规风险:在某些司法管辖区,使用AI进行自动化交易可能受到监管限制。

同类项目参考

如果你对AI+金融感兴趣,还可以关注以下项目:

  • FinRL:深度强化学习金融交易框架
  • Qlib:微软开源的量化投资平台
  • GPT-Financial-Analyst:基于GPT的财务分析工具

来源:

GitHub本周最火的项目之一,TradingAgents在短短时间内获得了超过7万星标,成为多Agent AI应...

3天前 50
<p>DocuSign是全球最知名的电子签名服务,但其定价对中小站长和创业团队来说并不友好。DocuSeal是一个开源免费的电子签名平台,GitHub上已获得16000+星标,支持自部署,可以作为DocuSign的替代方案。</p>

<h2>项目简介</h2>

<p>DocuSeal是一个功能完整的电子签名解决方案,支持创建、发送和签署PDF文档。项目使用Ruby on Rails开发,提供直观的Web界面,适合需要在自己的服务器上部署电子签名服务的团队。</p>

<p>项目地址:<a href=GitHub – docusealco/docuseal

核心功能

  • 文档模板:上传PDF文档,通过拖拽方式添加签名框、日期框、文本框等表单字段。
  • 多方签署:支持多个签署人按顺序或并行签署同一文档。
  • 邮件通知:自动发送签署邀请和完成通知邮件。
  • API接口:提供REST API,可以集成到现有应用中。
  • Webhook:签署完成后通过Webhook通知你的系统。
  • 审计日志:记录完整的签署过程,包括IP地址、时间戳等。
  • 多语言:支持中文在内的多种语言界面。

Docker部署教程

DocuSeal推荐使用Docker部署,步骤如下:

1. 创建docker-compose.yml

version: "3"
services:
  docuseal:
    image: docuseal/docuseal:latest
    ports:
      - "3000:3000"
    volumes:
      - docuseal-data:/data
    environment:
      - DATABASE_URL=sqlite3:/data/docuseal.sqlite3
      - RAILS_ENV=production
      - SECRET_KEY_BASE=your-random-secret-key-here

volumes:
  docuseal-data:

2. 启动服务

docker-compose up -d

3. 访问初始化

打开浏览器访问 http://your-server:3000,按照向导创建管理员账户。

4. 配置邮件(可选)

在环境变量中添加SMTP配置:

SMTP_ADDRESS=smtp.example.com
SMTP_PORT=587
SMTP_USERNAME=your-email@example.com
SMTP_PASSWORD=your-password
SMTP_DOMAIN=example.com

与DocuSign对比

特性DocuSeal(自部署)DocuSign(SaaS)
价格免费开源$10-60/月/用户
数据控制完全在自己服务器存储在DocuSign云端
自定义可完全自定义受限于平台功能
法律效力取决于当地法律全球认可
合规认证需要自行确保SOC 2、ISO 27001等
维护成本需要自行运维平台托管

适合谁使用

  • 中小团队:需要内部合同签署,但不想为每个用户付费。
  • 数据敏感行业:不想将签署文档存储在第三方云端。
  • 定制化需求:需要将签署功能集成到自己的业务系统中。
  • 学习和研究:想了解电子签名系统的技术实现。

注意事项

  • 电子签名的法律效力因国家和地区而异,重要合同建议咨询法律专业人士。
  • 自部署需要自行负责服务器安全、数据备份和SSL证书配置。
  • 对于需要全球法律认可的签署场景,DocuSign等成熟SaaS仍然是更稳妥的选择。

来源:

-枫选">

DocuSign是全球最知名的电子签名服务,但其定价对中小站长和创业团队来说并不友好。DocuSeal是一个开源免费的电子签名平台,GitHub上已获得16000+星标,支持自部署,可以作为DocuSign的替代方案。

项目简介

DocuSeal是一个功能完整的电子签名解决方案,支持创建、发送和签署PDF文档。项目使用Ruby on Rails开发,提供直观的Web界面,适合需要在自己的服务器上部署电子签名服务的团队。

项目地址:GitHub – docusealco/docuseal

核心功能

  • 文档模板:上传PDF文档,通过拖拽方式添加签名框、日期框、文本框等表单字段。
  • 多方签署:支持多个签署人按顺序或并行签署同一文档。
  • 邮件通知:自动发送签署邀请和完成通知邮件。
  • API接口:提供REST API,可以集成到现有应用中。
  • Webhook:签署完成后通过Webhook通知你的系统。
  • 审计日志:记录完整的签署过程,包括IP地址、时间戳等。
  • 多语言:支持中文在内的多种语言界面。

Docker部署教程

DocuSeal推荐使用Docker部署,步骤如下:

1. 创建docker-compose.yml

version: "3"
services:
  docuseal:
    image: docuseal/docuseal:latest
    ports:
      - "3000:3000"
    volumes:
      - docuseal-data:/data
    environment:
      - DATABASE_URL=sqlite3:/data/docuseal.sqlite3
      - RAILS_ENV=production
      - SECRET_KEY_BASE=your-random-secret-key-here

volumes:
  docuseal-data:

2. 启动服务

docker-compose up -d

3. 访问初始化

打开浏览器访问 http://your-server:3000,按照向导创建管理员账户。

4. 配置邮件(可选)

在环境变量中添加SMTP配置:

SMTP_ADDRESS=smtp.example.com
SMTP_PORT=587
SMTP_USERNAME=your-email@example.com
SMTP_PASSWORD=your-password
SMTP_DOMAIN=example.com

与DocuSign对比

特性DocuSeal(自部署)DocuSign(SaaS)
价格免费开源$10-60/月/用户
数据控制完全在自己服务器存储在DocuSign云端
自定义可完全自定义受限于平台功能
法律效力取决于当地法律全球认可
合规认证需要自行确保SOC 2、ISO 27001等
维护成本需要自行运维平台托管

适合谁使用

  • 中小团队:需要内部合同签署,但不想为每个用户付费。
  • 数据敏感行业:不想将签署文档存储在第三方云端。
  • 定制化需求:需要将签署功能集成到自己的业务系统中。
  • 学习和研究:想了解电子签名系统的技术实现。

注意事项

  • 电子签名的法律效力因国家和地区而异,重要合同建议咨询法律专业人士。
  • 自部署需要自行负责服务器安全、数据备份和SSL证书配置。
  • 对于需要全球法律认可的签署场景,DocuSign等成熟SaaS仍然是更稳妥的选择。

来源:

DocuSign是全球最知名的电子签名服务,但其定价对中小站长和创业团队来说并不友好。DocuSeal...

3天前 49
评论 抢沙发

请登录后发表评论

    暂无评论内容