# OpenMayhem Studio

OpenMayhem Studio is the browser workspace for conversation, research, coding,
and media creation with live OpenMayhem models. It opens in Chat; switch to
Media for generation and workflows.

## Browser-local projects

- Project metadata, conversations and checkpoints are stored in IndexedDB,
  namespaced to the signed-in account.
- Project files are stored in the browser's Origin Private File System (OPFS).
- They do not sync between devices. Clearing site data, changing browser
  profiles or losing the device can remove them, so export important work.

## Chat and project work

Chat can read and edit project files, research the public web, and use browser
tools with a compatible model. Type / to browse commands such as /build, /fix,
/test and /gsd:research. Selecting a command fills the composer before you send
it. Keep the Studio tab open while the model and browser tools work.

Choose a compatible live model and optional routing constraints. Availability,
provider count, context, prices and tool support come from the live catalog.
Set the task budget, model-turn limit, maximum output tokens and any supported
reasoning level. Studio stops scheduling new turns when a task limit is reached.
Before each model turn, website credit is reserved; actual cost settles from
the provider's signed receipt and unused reservation is released. During a Chat
turn, up to five more prompts can wait in order; remove one before it runs if
you change your mind.

The context indicator estimates the percentage used and remaining. Auto-compact
is on by default: old tool output is trimmed near 60% and summarized near 80%.
Studio checks the live route before every turn. If you turn Auto-compact off,
a turn that exceeds the model's context limit pauses until you compact with
/compact or shorten the context. Older messages remain available in the
conversation. Scroll back without losing your place as new output arrives,
and use Jump to latest to return to the newest message.

The model can start up to two background subtasks at once. They share the parent
task's budget and model. Expand their cards to inspect progress and results, or
stop them individually. Questions appear inline in Chat with choices and a text
field. Send an answer to continue; answered questions remain after reload.

## Commands and background tasks

Type / and use Up/Down to choose a command; Enter or Tab fills it in and Escape
closes the menu. Outside the menu, Up/Down at the start or end of the composer
recalls previous prompts and restores the unsent draft.

/build [instructions] inspects the project, saves .planning/PLAN.md, changes
actual files and verifies the result after the last change. It records the
checks in .planning/VERIFICATION.md. Missing evidence sends the model
back to work within your task limits. /gsd:go uses the same build flow.

/research [topic] searches from different angles, reads sources and produces a
cited synthesis. Search snippets alone are insufficient. The answer should
separate supported findings, conclusions and gaps. Completion checks do not
guarantee that every claim is correct.

/parallel [instructions] asks the model to divide independent work between two
background subtasks. Example: /parallel inspect accessibility and review the
project tests. Each task has its own progress and result, shares the parent
budget, and can be stopped separately. A third concurrent subtask is rejected.
/tasks shows task status without another model request. Cards appear when the
model creates tasks; provider capacity may make them wait. Keep Studio open.
Model quality, task limits and available tools still affect success.

## Chat reference files

When a compatible live provider is available, attach up to three PNG, JPEG or
WebP images or MP4 or WebM videos per message. Reorder or remove files before
sending. Each file may be up to 16 MiB, with a 48 MiB total; the selected provider
may impose smaller limits. Studio can resize images to fit supported limits
while keeping the original locally.

Files are processed one at a time in the chosen order. Later turns retain the
processed answers without resending earlier file bytes. If processing fails,
completed answers are saved so you can retry the unfinished file.

## Files, terminal and preview

Preview, Files & code, and Terminal are optional panels opened from Chat. Hiding
a panel keeps its state. The file tree and editor use the selected local project.
The terminal runs inside a browser WebContainer, not on your computer or an
OpenMayhem server. Chat opens alone by default. Open Preview to automatically run
generated index.html projects and refresh after edits. Closing the panel keeps it closed. Use Start
preview for other saved HTML projects; projects with dev/start scripts use their
development server. You can also open the preview in a new tab.

Model-proposed shell commands, process input and HTTP API requests require your
review and explicit approval in Chat before execution. Review the exact command
or request: commands and packages can execute third-party code and send project
data over the network.

## ZIP boundaries

ZIP imports are limited to 2,000 files, 64 MiB compressed, and 64 MiB expanded.
Each text file is limited to 2 MiB and each binary file to 16 MiB. Absolute or
traversing paths, rewritten unsafe paths, symbolic links, duplicate paths and
size changes during extraction are rejected.

## Media

Media covers live image, video, speech, transcription, music and supported Comfy
workflows. Chat can also present media choices inline or open the full Media
form. Studio starts with the model's published sample request and signed request
contract. Common controls are shown directly; less common admitted controls are
under More options. Generated request JSON is collapsed by default.
Raw workflow JSON is not the default, and protected graph
topology, model, VAE, LoRA and part fields are not exposed as arbitrary controls.

Reference image, audio or video inputs appear only when the route contract
allows them. Count, MIME type, per-file size and total size are checked before
bytes are read or encoded. The final request is revalidated through the same
contract-aware builder as the paid Playground. A workflow without an approved
sample-backed Studio configuration is reported as unavailable instead of
opening an unrestricted JSON editor.

## Disconnects

Asynchronous media and workflow jobs continue on the platform after submission.
Their job IDs, status, receipts and retained artifacts can be retrieved after
reconnecting. Generated outputs are private delivery-cache artifacts retained
for at most 12 hours from job creation and are never included in backups; save
anything you need before it expires. The browser coding loop, WebContainer
terminal processes and preview do not continue after the Studio tab or browser
runtime closes. Reopen the project and start those processes again.

## Browser and privacy requirements

Use a current desktop browser with a secure context, cross-origin isolation,
SharedArrayBuffer, IndexedDB and OPFS. The Studio route sends dedicated
cross-origin isolation headers required by WebContainer. If an extension,
embedded browser, policy or reverse proxy removes them, terminal execution stays
unavailable rather than weakening isolation.

Project data remains local unless exported or explicitly sent. Prompts, selected
context, tool results and permitted references sent for inference are processed
by the chosen provider at its advertised trust tier. Standard providers should
not be assumed to offer confidential compute. Do not put secrets in prompts,
files, commands, previews or archives, and review generated changes before use.

Open Studio: https://openmayhem.ai/studio
