Mirage - ระบบไฟล์เสมือนแบบรวมศูนย์สำหรับ AI เอเจนต์
(github.com/strukto-ai)- เมานต์แบ็กเอนด์หลากหลายอย่าง S3/Google Drive/Slack/Gmail/Redis เป็น โครงสร้างต้นไม้ของระบบไฟล์เดียว ทำให้ AI เอเจนต์เข้าถึงได้ผ่านอินเทอร์เฟซเดียว
- เอเจนต์ไม่จำเป็นต้องเรียนรู้ SDK/MCP ของแต่ละบริการใหม่ โดยสามารถจัดการทุกแบ็กเอนด์ได้ด้วย เครื่องมือ bash ตระกูล Unix เพียงอย่างเดียว และประกอบไปป์ไลน์ข้ามบริการได้อย่างเป็นธรรมชาติเหมือนใช้ดิสก์ภายในเครื่อง
- ทำงานเป็นสภาพแวดล้อมจำลอง ทำให้ในมุมมองของเอเจนต์เห็นเพียง ระบบไฟล์เดียว และหากเป็น LLM ที่เคยเรียนรู้ bash มาแล้ว ก็สามารถใช้งานได้ทันทีโดยไม่ต้องเรียนรู้ชุดคำศัพท์เพิ่มเติม
- การเมานต์หลายรีซอร์ส: วาง 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 สามารถมอบระบบไฟล์เสมือนให้โดยตรงภายใน async runtime ใดก็ได้ เช่น FastAPI, Express, แอปเบราว์เซอร์ โดยไม่ต้องมีโปรเซสแยก
- เข้ากันได้กับเฟรมเวิร์กเอเจนต์: รองรับ OpenAI Agents SDK, Vercel AI SDK (TypeScript), LangChain, Pydantic AI, CAMEL, OpenHands
- CLI + เดมอนแบบน้ำหนักเบา: เชื่อมต่อกับโค้ดดิงเอเจนต์อย่าง Claude Code, Codex เพื่อเข้าถึงรีซอร์สที่เมานต์ไว้ผ่าน bash ที่คุ้นเคย
-
การขยายคำสั่ง
- ลงทะเบียนคำสั่งใหม่ด้วย
ws.command('summarize', ...)แล้วใช้งานได้กับทุกเมานต์ - รองรับ การ override คำสั่งสำหรับรีซอร์สหรือชนิดไฟล์เฉพาะ เช่น
ws.command('cat', { resource: 's3', filetype: 'parquet' }, ...)ตัวอย่างเช่น เมื่อรัน cat กับไฟล์ Parquet บน S3 จะแสดงแถวข้อมูลแบบ JSON แทน raw bytes
- ลงทะเบียนคำสั่งใหม่ด้วย
-
แคช 2 ชั้น
- Index Cache: แคชรายการไดเรกทอรีและเมทาดาทา การสำรวจครั้งแรกจะเรียก API และหลังจากนั้นจะตอบจากดัชนีจนกว่า TTL จะหมดอายุ
- File Cache: แคชไบต์ของอ็อบเจ็กต์ การอ่านครั้งแรกจะสตรีมจากต้นทาง และไปป์ไลน์ถัดไปจะอ่านจากแคช
- Pluggable Backends: เลือกใช้ RAM (ค่าเริ่มต้น, file cache 512MB, index TTL 10 นาที) หรือ Redis (แชร์ข้ามเวิร์กเกอร์/โปรเซส/เครื่อง และคงแคชไว้ได้หลังรีสตาร์ต)
- ไลเซนส์ Apache-2.0
1 ความคิดเห็น
โอ้! น่าสนุกดีนะ