Open Source · Local-First · No Accounts

Automate the web pages you open every day

Describe the routine to your AI assistant. It verifies the steps on the real page, hands over a constrained flow through a channel that never leaves your machine, and you press Enable once. From then on the steps run by themselves every time you open a matching page.

terminal
$node skills/oncewise-message/client.mjs ping
{"ok":true,"schemaVersion":1}
$node client.mjs flow.validate --file report-flow.json
{"ok":true,"errors":[]}
$node client.mjs flow.save --file report-flow.json
✓ Flow saved (disabled) — flowId flow_a1b2c3
→ Review it in the side panel, then press Enable.

What the extension does for you

OnceWise Flow turns a routine you can describe into steps the browser repeats for you, and keeps every safety decision in your hands.

AI builds the flow

Your AI tool (Claude Code, Cursor, ZCode, or any agent that can drive Chrome) inspects the target page, verifies each step, and hands over the flow as JSON.

  • Locators verified on the real page
  • Explicit approval before anything is saved
  • Runs through the OnceWise agent skills

Constrained step trees

A flow is a tree of fill, click, read, wait, assert and loop nodes with time budgets, not an arbitrary script.

  • No executable code in flows
  • Bounded waits, typed predicates
  • Duplicate-submit guard per business instance

Runs when you open the page

Content scripts load only on the origins that actually carry your flows. When you open a matching page, the enabled flow runs.

  • Disabled until you enable it
  • 10-version history with rollback
  • Per-flow on/off switch

Pre-run input forms

Flows can declare inputs (order number, date, remarks). You fill the form once in the side panel; the next run consumes the saved values.

  • Typed inputs with options
  • Referenced in steps, not hardcoded
  • Your values never leave the browser

Same-site cross-page wizards

A flow can continue across sequential pages of one site, form to confirmation to result, including a next page opened in a new tab.

  • Per-page fingerprints from the real DOM
  • Inputs and loop progress carry over
  • Business invariants rechecked on arrival

Share without accounts

An optional self-hosted sync server shares selected flows as versioned scripts across devices and teammates via space codes.

  • Fully optional, works standalone
  • Space addressed by client-generated ID + key
  • Open-source Rust backend you can host

From description to automation in three steps

Install once. Describe the routine. Press Enable.

01

Install

Install the extension, then add the OnceWise skills to your AI tool and run the native host installer once (Node 22+). The setup skill checks both channels end to end.

02

Describe the routine

Tell your assistant what you do on the page. It inspects the page through browser tools, tries each step on data you authorize, and hands over a validated flow through the local channel.

03

Review and enable

Read every step in the side panel, fill the pre-run form if there is one, and press Enable yourself. The flow stays disabled until you do, and you can roll back or delete it at any time.

How OnceWise Flow compares

Recorders capture what you clicked; enterprise RPA moves the work to a cloud studio; a free-running agent improvises on every request. OnceWise Flow lands the flow in between: AI-authored, constrained, reviewed by you.

OnceWise FlowRecorder extensionsEnterprise RPAFree-running agent
Who writes the automation
Your AI, verified on the page
You, by clickingYou, in a desktop studioThe AI, every request
Constrained steps, no arbitrary code
Yes
Recorded macrosYes, project-sizedNo
Runs by itself on page open
Yes
Manual triggerScheduled / attendedPer request
Data stays on your device
Local-first
Local-firstCloud consolesVaries
Share with teammates
Space codes, self-hosted
Export filesVendor platform—

Frequently asked questions

Everything you need to know about OnceWise Flow.

What is OnceWise Flow?
A Chrome extension that turns web page routines into automation flows. Your AI assistant inspects the target page, verifies the steps, and hands the flow over through a local native-messaging channel. The extension is the only validator and store: it checks the flow, saves it disabled, and runs it on matching pages once you enable it.
Which AI tools work with it?
Any tool that can run the OnceWise agent skills and drive Chrome through Chrome DevTools MCP, such as Claude Code, Cursor or ZCode. The skills are installed with the Skills CLI (npx skills add). The extension itself is independent of the AI tool.
Where does my data go?
Nowhere by default. Flows, settings and version history live in the extension's local storage. The only network destination is a sync server you explicitly configure, and the AI handover channel is a local native-messaging host that stays on your device. There is no analytics, telemetry or tracking.
What can't flows do?
Flows cannot contain executable code, cross sites, run in parallel tabs, or recover an interrupted run. Delete, remove, payment, purchase and publish actions are excluded by the format, and flows are not created for platforms the usage instructions exclude, such as Taobao and Amazon. Cross-site orchestration ideas can go to the GitHub issue tracker.
Do I need the sync server?
No. The extension works fully standalone. The oncewise-ai-sync server is for sharing selected flows as versioned scripts with teammates via space codes; it is open source and you host it yourself (a container image is published to ghcr.io).
Why is there a native host to install?
The native-messaging host (ai.oncewise.native) is the local channel your AI tool uses to validate, save and verify flows in the extension. It is a small Node.js script registered at the user level (Node 22+). It relays data in memory, writes no flow data to disk, and carries nothing over the network.
How is this different from a recorder?
A recorder captures your clicks and hopes the page stays the same. Here your AI verifies locators on the live page, the flow is a constrained step tree with time budgets that anyone can read in plain JSON, sensitive values are redacted in the side panel, and every flow has a switch, a 10-version history and a delete button.
Is it free and open source?
Yes, Apache-2.0. The extension, the sync backend and the agent skills are all in the same repository. There is no account system and no paid tier.
Can I get help?
Email zsy.evan@gmail.com, or open an issue at github.com/timzaak/OnceWise/issues. Please don't paste flow JSON, input values or business data into issues.

Stop clicking through the same form

Install the extension, hand the routine to your assistant, and press Enable once. The next hundred times, the browser does them.

Questions, or automating something interesting? Email us: zsy.evan@gmail.com