# Mirage ## Docs - [Architecture](https://docs.mirage.strukto.ai/home/architecture.md): Four layers, one filesystem. How Mirage turns mounted services into one bash-driven environment. - [CLI](https://docs.mirage.strukto.ai/home/cli.md): Drive Mirage from the shell. Spin up a workspace from YAML, run commands against your mounts, snapshot and restore. - [Installation](https://docs.mirage.strukto.ai/home/install.md): Install Mirage with the Python package mirage-ai or the TypeScript packages @struktoai/mirage-node and @struktoai/mirage-browser. - [Introduction](https://docs.mirage.strukto.ai/home/introduction.md): Unified Virtual Filesystem for AI Agents. - [Resource Matrix](https://docs.mirage.strukto.ai/home/resource-matrix.md): Compare Mirage resources by mount mode and setup path, organized by category. - [Box](https://docs.mirage.strukto.ai/home/setup/box.md): Set up Box OAuth2 credentials and obtain a refresh token (Node and browser). - [Discord](https://docs.mirage.strukto.ai/home/setup/discord.md): Set up a Discord Bot Token for the Discord resource. - [Dropbox](https://docs.mirage.strukto.ai/home/setup/dropbox.md): Set up Dropbox OAuth2 credentials and obtain a long-lived refresh token. - [Email](https://docs.mirage.strukto.ai/home/setup/email.md): Set up IMAP/SMTP credentials for the Email resource. - [Google Cloud Storage](https://docs.mirage.strukto.ai/home/setup/gcs.md): Set up Google Cloud Storage credentials for the GCS resource. - [GitHub](https://docs.mirage.strukto.ai/home/setup/github.md): Set up a GitHub Personal Access Token for the GitHub resource. - [GitHub CI](https://docs.mirage.strukto.ai/home/setup/github_ci.md): Set up a GitHub Personal Access Token for the GitHub CI resource. - [Google Workspace](https://docs.mirage.strukto.ai/home/setup/google.md): Set up Google OAuth2 credentials for Docs, Sheets, Slides, Drive, and Gmail resources. - [Langfuse](https://docs.mirage.strukto.ai/home/setup/langfuse.md): Set up Langfuse API keys for the Langfuse resource. - [Linear](https://docs.mirage.strukto.ai/home/setup/linear.md): Set up a Linear personal API key for the Linear resource. - [Linux](https://docs.mirage.strukto.ai/home/setup/linux.md): Set up FUSE on Linux for MIRAGE. - [macOS](https://docs.mirage.strukto.ai/home/setup/macos.md): Set up FUSE on macOS for MIRAGE. - [MongoDB](https://docs.mirage.strukto.ai/home/setup/mongodb.md): Set up a MongoDB connection for the MongoDB resource. - [Notion](https://docs.mirage.strukto.ai/home/setup/notion.md): Set up a Notion internal integration for the Notion resource. - [OCI Object Storage](https://docs.mirage.strukto.ai/home/setup/oci.md): Set up Oracle Cloud Infrastructure Object Storage credentials for the OCI resource. - [Paperclip](https://docs.mirage.strukto.ai/home/setup/paperclip.md): Set up Paperclip credentials for the Paperclip resource. - [Postgres](https://docs.mirage.strukto.ai/home/setup/postgres.md): Set up a Postgres connection for the Postgres resource. - [Cloudflare R2](https://docs.mirage.strukto.ai/home/setup/r2.md): Set up Cloudflare R2 credentials for the R2 resource. - [S3](https://docs.mirage.strukto.ai/home/setup/s3.md): Set up AWS S3 credentials for the S3 resource. - [Slack](https://docs.mirage.strukto.ai/home/setup/slack.md): Set up a Slack Bot Token for the Slack resource. - [Semantic Scholar](https://docs.mirage.strukto.ai/home/setup/sscholar.md): Set up a Semantic Scholar API key for the sscholar resource. - [Supabase Storage](https://docs.mirage.strukto.ai/home/setup/supabase.md): Set up Supabase Storage credentials for the Supabase resource. - [Telegram](https://docs.mirage.strukto.ai/home/setup/telegram.md): Set up a Telegram Bot Token for the Telegram resource. - [Trello](https://docs.mirage.strukto.ai/home/setup/trello.md): Set up Trello API credentials for the Trello resource. - [Troubleshooting](https://docs.mirage.strukto.ai/home/troubleshooting.md): Common Mirage setup failures and the fastest path to getting unblocked. - [CAMEL-AI](https://docs.mirage.strukto.ai/python/agents/camel.md): Run CAMEL-AI ChatAgents against a Mirage workspace using MirageTerminalToolkit and MirageFileToolkit. - [Claude Code](https://docs.mirage.strukto.ai/python/agents/claude-code.md): Run Anthropic's Claude Code CLI against any Mirage workspace by mounting it as a real filesystem via FUSE. - [OpenAI Codex](https://docs.mirage.strukto.ai/python/agents/codex.md): Run OpenAI's Codex CLI against any Mirage workspace by mounting it as a real filesystem via FUSE. - [Agents](https://docs.mirage.strukto.ai/python/agents/index.md): Drop a Mirage workspace into the Python agent framework you already use. - [LangChain (deepagents)](https://docs.mirage.strukto.ai/python/agents/langchain.md): Back deepagents and other LangGraph-style agents with a Mirage workspace via LangchainWorkspace. - [OpenAI Agents SDK](https://docs.mirage.strukto.ai/python/agents/openai-agents.md): Run openai-agents against a Mirage workspace using MirageShellExecutor, MirageEditor, and MirageSandboxClient. - [OpenHands](https://docs.mirage.strukto.ai/python/agents/openhands.md): Run the All-Hands OpenHands SDK against a Mirage workspace using MirageWorkspace and the Mirage terminal tool. - [pydantic-deepagents](https://docs.mirage.strukto.ai/python/agents/pydantic-ai.md): Implements pydantic-ai-backend's SandboxProtocol so pydantic-deepagents and any pydantic-ai agent can run inside a Mirage workspace. - [Installation](https://docs.mirage.strukto.ai/python/install.md): Install Mirage for Python with mirage-ai from PyPI or uv, then add extras for S3, Redis, FUSE, Google Workspace, and other resources. - [Python Quickstart](https://docs.mirage.strukto.ai/python/quickstart.md): Create a Mirage Python workspace, mount RAM as a virtual filesystem, and run shell commands that read, write, search, and transform files. - [Discord](https://docs.mirage.strukto.ai/python/resource/discord.md) - [Disk](https://docs.mirage.strukto.ai/python/resource/disk.md) - [Email](https://docs.mirage.strukto.ai/python/resource/email.md) - [GCS](https://docs.mirage.strukto.ai/python/resource/gcs.md) - [Google Docs](https://docs.mirage.strukto.ai/python/resource/gdocs.md) - [Google Drive](https://docs.mirage.strukto.ai/python/resource/gdrive.md) - [GitHub](https://docs.mirage.strukto.ai/python/resource/github.md) - [GitHub CI](https://docs.mirage.strukto.ai/python/resource/github_ci.md) - [Gmail](https://docs.mirage.strukto.ai/python/resource/gmail.md) - [Google Sheets](https://docs.mirage.strukto.ai/python/resource/gsheets.md) - [Google Slides](https://docs.mirage.strukto.ai/python/resource/gslides.md) - [Resources](https://docs.mirage.strukto.ai/python/resource/index.md): Python resources you can mount in a Mirage workspace. - [Langfuse](https://docs.mirage.strukto.ai/python/resource/langfuse.md) - [Linear](https://docs.mirage.strukto.ai/python/resource/linear.md) - [MongoDB](https://docs.mirage.strukto.ai/python/resource/mongodb.md) - [Adding a New Resource](https://docs.mirage.strukto.ai/python/resource/new.md): Step-by-step guide for implementing a new MIRAGE resource. - [Notion](https://docs.mirage.strukto.ai/python/resource/notion.md): Mount Notion pages as a virtual filesystem. - [OCI Object Storage](https://docs.mirage.strukto.ai/python/resource/oci.md): Mount Oracle Cloud Infrastructure Object Storage as a virtual filesystem. - [Paperclip](https://docs.mirage.strukto.ai/python/resource/paperclip.md) - [Postgres](https://docs.mirage.strukto.ai/python/resource/postgres.md): Mount a Postgres database as a read-only filesystem of schemas, tables, and rows. - [Cloudflare R2](https://docs.mirage.strukto.ai/python/resource/r2.md): Mount Cloudflare R2 storage as a virtual filesystem. - [RAM](https://docs.mirage.strukto.ai/python/resource/ram.md) - [Redis](https://docs.mirage.strukto.ai/python/resource/redis.md): Mount a Redis-backed virtual filesystem. - [S3](https://docs.mirage.strukto.ai/python/resource/s3.md) - [Slack](https://docs.mirage.strukto.ai/python/resource/slack.md) - [SSH](https://docs.mirage.strukto.ai/python/resource/ssh.md): Mount a remote filesystem over SSH/SFTP. - [Supabase Storage](https://docs.mirage.strukto.ai/python/resource/supabase.md): Mount Supabase Storage as a virtual filesystem. - [Telegram](https://docs.mirage.strukto.ai/python/resource/telegram.md) - [Trello](https://docs.mirage.strukto.ai/python/resource/trello.md) - [FUSE](https://docs.mirage.strukto.ai/python/setup/fuse.md): Set up FUSE support for MIRAGE in Python. - [Claude Code](https://docs.mirage.strukto.ai/typescript/agents/claude-code.md): Run Anthropic's Claude Code CLI against any Mirage workspace by mounting it as a real filesystem via FUSE. - [OpenAI Codex](https://docs.mirage.strukto.ai/typescript/agents/codex.md): Run OpenAI's Codex CLI against any Mirage workspace by mounting it as a real filesystem via FUSE. - [Agents](https://docs.mirage.strukto.ai/typescript/agents/index.md): Drop a Mirage workspace into the TypeScript agent framework you already use. - [LangChain (deepagents)](https://docs.mirage.strukto.ai/typescript/agents/langchain.md): Back deepagents and other LangGraph-style agents with a Mirage workspace via LangchainWorkspace. - [Mastra](https://docs.mirage.strukto.ai/typescript/agents/mastra.md): Wire mirage tools into a Mastra Agent via the @struktoai/mirage-agents/mastra adapter. - [OpenAI Agents SDK](https://docs.mirage.strukto.ai/typescript/agents/openai.md): Run @openai/agents against a Mirage workspace using MirageShell and MirageEditor. - [Pi Coding Agent](https://docs.mirage.strukto.ai/typescript/agents/pi.md): Run @mariozechner/pi-coding-agent with all 7 built-in tools wired to a Mirage workspace. - [Vercel AI SDK](https://docs.mirage.strukto.ai/typescript/agents/vercel.md): Wire mirage tools into the Vercel AI SDK via the @struktoai/mirage-agents/vercel adapter. - [Discord](https://docs.mirage.strukto.ai/typescript/discord.md): Mount Discord guilds, channels, and members as a virtual filesystem from Node or the browser. - [Installation](https://docs.mirage.strukto.ai/typescript/install.md): Install the Mirage TypeScript SDK and add the optional native peers only if you need them. - [Limitations](https://docs.mirage.strukto.ai/typescript/limitations.md): Runtime-specific constraints in the TypeScript SDK (Node and Browser) and how to work around them. - [Python](https://docs.mirage.strukto.ai/typescript/python.md): Run python3 code inside Mirage via Pyodide. Supports -c, script files, and stdin-piped code, in Node and the browser. - [Python FS shim](https://docs.mirage.strukto.ai/typescript/python-fs.md): Use Python's open(), os.listdir, pathlib, PIL, pandas, directly against any Mirage mount. - [TypeScript Quickstart](https://docs.mirage.strukto.ai/typescript/quickstart.md): Create a Mirage TypeScript workspace, mount RAM as a virtual filesystem, and run shell commands with @struktoai/mirage-node. - [Server & CLI](https://docs.mirage.strukto.ai/typescript/server-and-cli.md): Daemon + CLI for managing workspaces from the shell. - [Box](https://docs.mirage.strukto.ai/typescript/setup/box.md): Mount Box as a MIRAGE resource from Node or the browser via OAuth2. - [Disk](https://docs.mirage.strukto.ai/typescript/setup/disk.md): Mount a directory on the host filesystem as a Mirage resource (Node only). - [Dropbox](https://docs.mirage.strukto.ai/typescript/setup/dropbox.md): Mount Dropbox as a MIRAGE resource from Node or the browser via OAuth2. - [Email](https://docs.mirage.strukto.ai/typescript/setup/email.md): Mount an IMAP/SMTP mailbox as a Mirage filesystem (Node only). - [FUSE](https://docs.mirage.strukto.ai/typescript/setup/fuse.md): Set up FUSE support for MIRAGE with the TypeScript SDK. - [Google Cloud Storage](https://docs.mirage.strukto.ai/typescript/setup/gcs.md): Set up Google Cloud Storage as a MIRAGE resource from Node or the browser. - [Google Docs](https://docs.mirage.strukto.ai/typescript/setup/gdocs.md): Mount Google Docs as JSON-backed files from Node or the browser. - [Google Drive](https://docs.mirage.strukto.ai/typescript/setup/gdrive.md): Mount Google Drive as a Mirage filesystem from Node or the browser. - [GitHub](https://docs.mirage.strukto.ai/typescript/setup/github.md): Mount a GitHub repository as a Mirage filesystem from Node or the browser. - [GitHub CI](https://docs.mirage.strukto.ai/typescript/setup/github_ci.md): Mount GitHub Actions runs, jobs, logs, and artifacts as a Mirage filesystem. - [Gmail](https://docs.mirage.strukto.ai/typescript/setup/gmail.md): Mount a Gmail mailbox as a Mirage filesystem from Node or the browser. - [Google Sheets](https://docs.mirage.strukto.ai/typescript/setup/gsheets.md): Mount Google Sheets spreadsheets as Mirage files from Node or the browser. - [Google Slides](https://docs.mirage.strukto.ai/typescript/setup/gslides.md): Mount Google Slides decks as Mirage files from Node or the browser. - [Langfuse](https://docs.mirage.strukto.ai/typescript/setup/langfuse.md): Mount Langfuse traces and observations as a Mirage filesystem. - [Linear](https://docs.mirage.strukto.ai/typescript/setup/linear.md): Mount Linear teams, projects, and issues as a Mirage filesystem. - [MongoDB](https://docs.mirage.strukto.ai/typescript/setup/mongodb.md): Mount a MongoDB cluster as a Mirage filesystem of databases, collections, and documents. - [Notion](https://docs.mirage.strukto.ai/typescript/setup/notion.md): Mount Notion pages and databases as a Mirage filesystem (Browser only). - [OCI Object Storage](https://docs.mirage.strukto.ai/typescript/setup/oci.md): Set up Oracle Cloud Object Storage as a MIRAGE resource from Node or the browser. - [OPFS](https://docs.mirage.strukto.ai/typescript/setup/opfs.md): Persistent in-browser filesystem backed by the Origin Private File System. - [Postgres](https://docs.mirage.strukto.ai/typescript/setup/postgres.md): Mount a Postgres database as a read-only filesystem of schemas, tables, and rows. - [PostHog](https://docs.mirage.strukto.ai/typescript/setup/posthog.md): Mount PostHog projects, insights, and events as a Mirage filesystem. - [Cloudflare R2](https://docs.mirage.strukto.ai/typescript/setup/r2.md): Set up Cloudflare R2 as a MIRAGE resource from Node or the browser. - [Redis](https://docs.mirage.strukto.ai/typescript/setup/redis.md): Mount Redis keys as a Mirage filesystem (Node only). - [S3](https://docs.mirage.strukto.ai/typescript/setup/s3.md): Set up AWS S3 as a MIRAGE resource from Node or the browser. - [Semantic Scholar](https://docs.mirage.strukto.ai/typescript/setup/sscholar.md): Mount Semantic Scholar papers and authors as a Mirage filesystem. - [SSH](https://docs.mirage.strukto.ai/typescript/setup/ssh.md): Mount a remote SSH host as a Mirage filesystem (Node only). - [Supabase Storage](https://docs.mirage.strukto.ai/typescript/setup/supabase.md): Set up Supabase Storage as a MIRAGE resource from Node or the browser. - [Trello](https://docs.mirage.strukto.ai/typescript/setup/trello.md): Mount Trello boards, lists, and cards as a Mirage filesystem. - [Vercel](https://docs.mirage.strukto.ai/typescript/setup/vercel.md): Mount Vercel projects, deployments, and logs as a Mirage filesystem. - [Slack](https://docs.mirage.strukto.ai/typescript/slack.md): Mount a Slack workspace as a virtual filesystem from Node or the browser. ## OpenAPI Specs - [openapi](https://docs.mirage.strukto.ai/api-reference/openapi.json)