# OPM Flow Playground > OPM Flow, the open-source reservoir simulator, compiled to WebAssembly and running in this page. It has an Eclipse deck editor with checks, a file explorer whose workspace (decks, include files, saved runs) is stored in the browser, a 3D grid view and summary vector plots. Agents should drive it through the in-page JavaScript API `window.opmflow` (via Playwright `page.evaluate`) rather than by clicking. Nothing is sent to a server: the simulator runs in a Web Worker, and files live in the browser's Origin Private File System. Each browser profile has its own workspace; one tab writes it at a time (a second tab is read-only). ## Use it ```js // Playwright await page.goto('https://www.reservoirsimulators.com/'); const result = await page.evaluate(async () => { await opmflow.ready(); // engine, workspace, deck checks const { main } = await opmflow.examples.add('SPE1CASE1');// or files.write('MY/MY.DATA', text) const problems = await opmflow.check(main); // [{ file, line, column, severity, message }] const run = await opmflow.run(main); // { ok, run, steps, seconds, error, errors } const s = await opmflow.summary(run.run, ['FOPR', 'WBHP:PROD']); // { days, vectors: { FOPR: { unit, values } } } return { problems, run, s }; }); ``` ## Docs - WebMCP: where the browser has it (Chrome's experimental `document.modelContext`), the same calls are registered as tools (`check_deck`, `run_deck`, `get_summary`, …); see the reference. - [Agent API reference](agent-api.md): every `window.opmflow` call, the page state attributes to wait on, and the `data-testid` hooks for clicking through the UI. - [Playground README](https://github.com/AntonBaluev/opm-flow-windows/blob/main/playground/README.md): how the page, the deck checks and the workspace work. - [OPM Flow Reference Manual](https://github.com/OPM/opm-reference-manual): the Eclipse keywords flow reads (CC BY 4.0). ## Optional - [Source](https://github.com/AntonBaluev/opm-flow-windows): the WebAssembly build (`tools/wasm`), the C API (`capi`) and this page (`playground`).