Run bash commands (ls, cat, grep, pipes) across S3, Slack, Redis, RAM and more via a unified virtual filesystem.
Author: ki3nd
Type: Tool
Github Repo: https://github.com/ki3nd/mirage-plugin
Github Issues: https://github.com/ki3nd/mirage-plugin/issues
Run bash commands across S3, Slack, Redis, RAM, and more — as one unified virtual filesystem — from inside Dify.
This plugin embeds Mirage, a unified virtual filesystem for AI agents. It mounts external resources (object storage, chat, databases, local scratch space, …) at filesystem paths, so an agent can , , , and pipe across all of them with plain bash — no per-service SDK or custom vocabulary.
Paste your secrets into the Secrets (.env) field, one per line.
These are stored encrypted by Dify and are the only place actual secret values
should ever live:
Each line becomes a you can reference from the workspace YAML — for the
example above, , , and
. If you set Cache backend to , also fill in the
Redis URL field (e.g. ).
Each tool call takes a that declares the mounts. Secrets are referenced by name () and resolved from the credentials above — never inline the actual secret value.
Use block style (indented), not inline flow style: a placeholder inside is not valid YAML and will fail to parse.
Then, for example, call execute with .
Each mount's and fields follow Mirage's own resource specs.
For the full list of supported backends and how to configure each one (required
credentials, options, mount modes), see the Mirage docs:
Put secret values in the provider credentials and reference them from the YAML
as — don't paste the actual credential into .
A workspace is read-only unless you opt in. Commands that write, modify, or delete fail unless the YAML sets at the top level (whole workspace) or on an individual mount. Enable writes only when the task actually requires creating, editing, or deleting something.
Design docs and the implementation plan live under .