Mirage - AIエージェント向け統合仮想ファイルシステム
(github.com/strukto-ai)- S3/Google Drive/Slack/Gmail/Redis など多様なバックエンドを単一のファイルシステムツリーとしてマウントし、AIエージェントが同一インターフェースでアクセス可能
- エージェントはサービスごとのSDK/MCPを新たに習得する必要がなく、Unix系のbashツールだけで全バックエンドを扱え、サービス間パイプラインもローカルディスクのように自然に構成可能
- シミュレーション環境として動作するため、エージェントからは1つのファイルシステムだけが見える構造で、bashをすでに学習したLLMなら追加の語彙学習なしですぐに利用可能
- マルチリソースマウント: RAM, Disk, Redis, S3 / R2 / OCI / Supabase / GCS, Gmail / GDrive / GDocs / GSheets / GSlides, GitHub / Linear / Notion / Trello, Slack / Discord / Telegram / Email, MongoDB, SSH などを単一ルート配下に並列配置
- ポータブルなワークスペース: 環境の clone、snapshot、version が可能で、エージェント実行を別のマシンへ移す際も再起動や再構成が不要
- アプリ埋め込み: Python・TypeScript SDK により、FastAPI、Express、ブラウザアプリなどあらゆる async ランタイム内部へ仮想ファイルシステムを直接付与でき、別プロセスが不要
- エージェントフレームワーク互換: OpenAI Agents SDK、Vercel AI SDK (TypeScript)、LangChain、Pydantic AI、CAMEL、OpenHands をサポート
- 軽量CLI + デーモン: Claude Code、Codex のようなコーディングエージェントに接続し、使い慣れた bash でマウント済みリソースへアクセス
-
コマンド拡張
ws.command('summarize', ...)で新規コマンドを登録すると、すべてのマウントで使用可能ws.command('cat', { resource: 's3', filetype: 'parquet' }, ...)のように特定リソース・ファイルタイプ向けのコマンドオーバーライドをサポート。例: S3 の Parquet ファイルに cat を実行すると、生バイト列の代わりに JSON 行を出力
-
2層キャッシュ
- Index Cache: ディレクトリ一覧・メタデータをキャッシュし、初回探索は API 呼び出し、以後は TTL の有効期限が切れるまでインデックスから応答
- File Cache: オブジェクトのバイト列をキャッシュし、初回読み取りは元データをストリーミング、以後のパイプラインはキャッシュから読み込み
- Pluggable Backends: RAM(デフォルト、ファイルキャッシュ 512MB、インデックス TTL 10分)または Redis(ワーカー・プロセス・マシン間で共有、再起動後もキャッシュ維持)を選択可能
- Apache-2.0 ライセンス
1件のコメント
おお!面白いですね