apache / apache/maka

feat(browser): record and deterministically replay reusable workflows

Open
#1,557 3 comments 0 reactions 1 assignee Claimed by @Nyvo-io View on GitHub
enhancement
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.