Installation
Install Mirage:Create a Workspace
Start with the RAM resource so you can try Mirage without credentials.Run Commands
Once a resource is mounted, you can use Mirage like a shell over your virtual filesystem:Estimate Before You Run
execute(..., provision=True) returns a ProvisionResult instead of
running the command: network/cache bytes, read ops, and a precision
telling you how much to trust the numbers (exact, range,
unknown — totals under unknown are floors). Pipelines, &&/||,
if/case, loops, and subshells aggregate automatically.
provision= to the @command
decorator (reuse a helper like make_file_read_provision(my_stat) or
default_provision(name, my_stat) from
mirage.commands.builtin.generic_bind), or omit it and the planner
reports unknown. Full semantics live in the
CLI provision docs.
Output Safeguards
To keep huge reads from flooding an agent,cat, grep, rg, head,
and tail cap their final output at 2000 lines by default. When a
cap fires, the agent sees the truncated bytes plus a stderr notice
(output truncated at safeguard limit (2000 lines); ...); exit code
stays 0.
Caps fire only on the terminal command of a pipeline, so
cat big.txt | head -n 30 still shows 30 lines.
Configure per mount
Limits are per-command and per-mount. Attach them when you mount a resource by passing a(resource, mode, {command: CommandSafeguard})
tuple. Each guard sets max_lines / max_bytes (output cap) and/or
timeout_seconds (deadline); on_exceed is TRUNCATE (default, exit 0
plus notice) or ERROR (exit 1 plus notice):
command_safeguards
block in the workspace YAML.
Next Steps
- See Python Installation for resource extras and the
uvworkflow. - Browse Python Agents to wire Mirage into the OpenAI Agents SDK, LangChain, Pydantic AI, CAMEL, and OpenHands.
- Pick a real backend from Resource Docs, such as S3, Slack, or GitHub.