oh-dsh
hust-open-atom-club
Community distribution: TUI, desktop, and Web UI as one bundle with layered installation.
strukto-ai/mirage#dsh
Swaps the filesystem and bash providers for a mirage virtual workspace: file tools and shell commands run over mounted resources (RAM, S3, Redis, Slack, Gmail, Notion, Postgres) instead of the host disk, with per-mount read/write/exec modes, per-command sandbox routing (monty, pyodide, quickjs in process; docker, e2b, daytona remote), and installed CLIs (git, gh, slack, linear, ntn, gws, or one you register) as head words in the virtual terminal.
Install
via GitHub · GitHub source
This repository ships several plugins; the suffix selects this one.
Due diligence

mirage is a DeepSeek Harness plugin that replaces the filesystem and bash providers with a virtual workspace spanning mounted services and data sources. It presents resources such as RAM, S3, Redis, Slack, Gmail, Notion and Postgres as paths, so file tools and shell commands operate on those mounts rather than the host disk. Mounts can be assigned read, write or execute modes, and commands can be routed to runtimes such as in-process monty, pyodide and quickjs, or remote docker, e2b and daytona sandboxes.
The plugin exposes a virtual terminal with standard commands such as grep, cp, cat and pipelines, and can register typed CLIs as head words. The README names git, gh, slack, linear, ntn and gws, while custom programs can also be registered. A workspace can be created from a mapping such as "/s3": S3Resource(...), executed with ws.execute(...), and saved with ws.snapshot(...).
mirage is intended for agents that need one shell-like interface across cloud services, messaging systems, databases and files. It reaches every resource mounted into the workspace and may execute commands or scripts through the selected runtime, so its terminal surface should be treated as an access path to those resources. It is a poor fit when ordinary host filesystem and bash providers are sufficient, or where the required platform support is unavailable: the documented environment is macOS or Linux, and FUSE-based mounts require platform support.
A workspace is constructed with mount paths mapped to resources. The README shows RAMResource() and S3Resource(S3Config(bucket="my-bucket")); a mount can also include a mode such as MountMode.EXEC or MountMode.WRITE.
| Configuration | Purpose |
|---|---|
Workspace({...}) |
Creates the virtual workspace from mount paths and resources |
S3Config(bucket=...) |
Selects the S3 bucket for S3Resource |
MountMode.EXEC |
Mount mode used in the examples for executable access |
MountMode.WRITE |
Mount mode used in the examples for writable access |
runtimes=[...] |
Selects command runtimes; MontyRuntime(captures=["python", "python3"]) captures those command names |
ws.register_cli(name, implementation, config) |
Registers a CLI under a virtual-terminal head word |
The README also shows credentials supplied through resource or CLI configuration, including S3Config(...) and a Slack configuration containing token.
ws.execute("...") runs a shell command in the workspace. Documented examples use cp, grep, wc, pipes and redirected output. A script stored in a mounted resource can be invoked with python3, for example python3 /slack/...py > /redis/report.txt.
The command-line interface provides mirage workspace create, mirage execute, mirage provision, mirage workspace snapshot and mirage workspace load. The examples use --workspace_id, --command and --id, and save snapshots as .tar files. ws.snapshot("demo.tar") provides the SDK equivalent.
The README lists mounts for RAM, disk, Redis, S3-compatible services, Gmail and Google Drive services, GitHub, Linear, Notion, Trello, Slack, Discord, email, MongoDB, Postgres, LanceDB, Qdrant and SSH. The upstream summary additionally identifies S3, Redis, Slack, Gmail, Notion and Postgres as DSH-mounted resources. Runtime choices include in-process monty, pyodide and quickjs, plus remote docker, e2b and daytona.
The documented SDK requirements are Python >=3.11 for mirage-ai, Node.js >=20 for the TypeScript SDK, and macOS or Linux. FUSE-based mounts require platform support. The TypeScript packages include @struktoai/mirage-node, @struktoai/mirage-browser and @struktoai/mirage-agents.
Written from the project's own documentation and kept in sync with it. Where the two disagree, the source is authoritative — read the README on GitHub
Same category
hust-open-atom-club
Community distribution: TUI, desktop, and Web UI as one bundle with layered installation.
Jayden-X-L
Compare multiple skills on the same task and pick the winner.
vlln
Ecosystem infrastructure: a thin browser console for managing official repository plugins (zero patches) plus a make-dsh-plugin skill for guided plugin development.
forrestchang
Run the dsh runtime on Multica.
omdsh-dev
Plugin health checks: manifest protocol / patch format / build traps, zero-dependency and read-only.
DietCokewithSugar
Finds potential UX issues in your project: automatically reviews React/TypeScript code, pinpoints each problem, and gives concrete suggestions.