feat(browser): record and deterministically replay reusable workflows
- Dominant language
- TypeScript
- Stars
- 5.4k
- Forks
- 502
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 706
Description
## Problem
Maka Desktop already has an embedded browser and OpenCLI-backed primitives for navigation, clicks, text input, waits, and extraction. Multi-step browser tasks are still chosen by the model, and only an agent action can open the browser.
Users cannot record a known-good manual procedure and run the same steps again without model judgment. This matters for internal workflows that need repeatable execution and a clear failure point when a page changes.
## Desired outcome
Add a browser-only recorder and one-click replay path.
- Let users open the embedded browser, record navigation, clicks, text input, and observable wait conditions, then review and save the workflow.
- Persist saved workflows across restarts.
- Replay through the existing BrowserSession/OpenCLI path without calling an LLM.
- Store stable locator evidence rather than temporary `[N]` snapshot refs. A missing or ambiguous target must stop the run at that step.
- Keep replay visible and cancellable, with step progress and a specific failure reason.
- Do not persist passwords, tokens, cookies, or detected sensitive values. Ask for sensitive inputs at run time and redact them from logs.
- Cover record, save, replay, cancellation, locator mismatch, persistence, and redaction with deterministic tests and one loopback Electron E2E journey.
The first version is a linear workflow for the visible embedded browser. Cross-app recording, branches, loops, model-based recovery, background execution, scheduling, uploads, and multi-tab flows are out of scope.
Use the existing browser ownership and execution seams. Do not turn prompt-based `AutomationDefinition` into a browser workflow runner.
## Alternatives or workarounds
A saved prompt or Computer Use run still leaves action selection to the model. An OpenCLI adapter can be more stable, but it is developer-authored and is too expensive for recording a private internal procedure.
Contributor guide
Assessment
This issue has not been assessed yet.