LowCode Studio
Design · Indicate Element · dry-run · sync UiPath Studio Web — in VS Code or Cursor
Build UiPath Studio Web workflows on Mac, Windows, and Linux. Selector Builder with UiPath-style Indicate Element, Sequence & Diagram views, local dry-run, two-way Studio Web sync — without Studio Desktop.
Not an official UiPath product. Complements Studio Web and the Maestro extension (Maestro Flows / .flow are a different surface). See KNOWN_LIMITATIONS.md for current gaps.
At a glance
|
|
| 🎯 Selector Builder / Browser Helper |
Click the element in your already-open Chrome/Edge/Firefox tab — no remote-debugging relaunch, no blank automation window. |
| 🗺️ View as Diagram |
Toggle any Sequence into an auto-arranged process map — Then/Else and Try/Catch swimlanes, shared join arrows, collapse deep trees. Never touches the saved workflow. |
| 🔗 Easy Studio Web connectivity |
One shortcut (Cmd+Shift+U) links a Local Workspace; every Save syncs .lcs.json ↔ .xaml both ways — no manual export/import step. |
✨ New in 1.0.4 — Fixed a Click/TypeInto corruption bug, unblock "unavailable strict dependencies"
Click / Type Into / Get Text / Hover / Check / Select Item no longer export an
unconfirmed TimeoutMS attribute that real user reports showed Studio Web
treating as corrupted — no real sample ever confirmed this shape existed.
Manage Packages now has a Loosen strict pins to floating minimums action.
If Studio Web refuses to save with "Cannot save project which contains
unavailable strict dependencies," one of your exact [x.y.z] package pins is no
longer resolvable on your tenant's feed — a real, valid pin from an earlier
resolve that the feed later stopped serving. This converts every strict pin to a
floating minimum in one step (only the bracket syntax changes, never a version
number), so Studio Web's own resolver can substitute a compatible version it
actually has available.
New in 1.0.3 — Fixed a real Studio Web corruption bug
A multi-tag selector (browser <html> + <webctrl> chain) could export with a raw
line break baked into the FullSelectorArgument/Selector XAML attribute instead
of the single space every real Studio Web export uses — Studio Web then failed to
load that step correctly. Every place a selector gets written into exported XAML
now normalizes embedded whitespace first.
New in 1.0.2 — Readable selector step cards
Sequence canvas cards for Click / Type Into / Get Text now show a short human
sentence instead of raw selector XML — Click 'Buy' (Shop*) instead of a selector
string that could cut off mid-attribute. Falls back to naming the element type
(Click DIV [#3](https://github.com/nikosrokos/lowcode-studio/issues/3) element) when there's no name to quote, and to a cleanly
ellipsis-truncated raw selector for anything the parser can't make sense of.
New in 1.0.1 — Home & Diagram view polish
UI polish pass: Home's capability strip now calls out View as Diagram and the
Selector Helper directly, and the Selector Builder quick action on Home gets a
highlighted card so it stands out as the primary entry point. The Diagram-view toggle
and its "Process map · auto-arranged" badge now pick up brand accents so it's obvious
at a glance when you're in the auto-arranged process map instead of the editable list.
Also carried over from 1.0.0 — two Selector Builder papercuts fixed: the
Verify against live page check no longer misreports "no match" for elements whose
accessibility role has no direct HTML-tag mapping (headings, tabs, menu items, generic
containers, …) — a role the verifier doesn't map to a tag is no longer treated as a
mismatch when the accessible name matches. And clicking Confirm now closes the
Selector Builder panel, the same as Cancel/✕, instead of leaving it open after the
selector is applied.
Selector Builder: Indicate Element on any open tab
The highlight: build classic UiPath selectors by clicking the element in Chrome, Edge, or Firefox — the tab you already have open. No remote-debugging relaunch, no blank automation window.
| Step |
What you do |
| 1. Activate Helper |
Home → Indicate Element Helper or Connections → Live selector capture → Download for Chrome/Edge (or Firefox) → Load unpacked → pin the icon |
| 2. Open Selector Builder |
Any UI activity → Open Selector Builder… → tab Inspect on browser |
| 3. Start Live Picking |
Click Start Live Picking (Browser Helper) → paste the pairing code once → Pair |
| 4. Click the element |
Hover + click on any http(s) tab — selector lands in the builder (Helper v0.3.1+ allows all sites after install) |
Also in Selector Builder:
| Tab |
What it does |
| 1. Inspect on browser (default) |
Live Indicate (Browser Helper) · list/pick elements · Ask by name |
| 2. Create with AI |
Describe the element — LLM Assist proposes a selector (optional) |
| 3. Copy-paste & find |
Paste outerHTML / snapshot — works fully offline |
Full release notes: CHANGELOG.md · Command Palette → What's New
Install in 60 seconds
- Install LowCode Studio from the VS Code Marketplace (or Cursor Extensions).
- Command Palette → LowCode Studio: New Robot Blueprint (or New REFramework Project).
- Activate Browser Helper once (Connections → Download → Load unpacked) for Indicate Element.
- ⌘K / Ctrl+K insert activities · F5 dry-run · Shift+F5 scenarios.
- Connect to Studio Web (Cmd+Shift+U) → Save → publish from Studio Web.
Fastest wow: New Robot Blueprint → scrape → Excel → F5.
Fastest selector: UI Click → Open Selector Builder → Start Live Picking → click the control.
Why install it
| You want… |
You get… |
| UiPath-style Indicate for browser selectors |
Selector Builder + Browser Helper on any open tab (0.13) |
| RPA design on a Mac (or Linux) |
Sequence + Diagram process map inside your editor |
| Proof before Orchestrator |
F5 dry-run, breakpoints, Shift+F5 scenarios |
| Ship through Studio Web |
Bidirectional Local Workspace sync — .lcs.json ↔ .xaml |
| Work offline |
Design, test, disk sync, Copy-paste & find, local Ollama Assist |
| Stop hand-editing XAML |
Round-trip against real Studio Web samples (140+ activities) |
Built for Studio Web RPA
Create new workflows or update existing ones, then keep them in lockstep with Studio Web.
- Author
.lcs.json (Sequence, Flowchart, Diagram) that round-trips 1:1 to Studio Web Portable .xaml
- Two-way Local Workspace sync on every Save — not a one-time import
- Dry-run and validate locally before every publish
- Ship through Orchestrator (queues, assets, buckets, process args) — no Studio Desktop required
Diagram view — auto-arranged process map of the same Sequence: Then/Else and Try/Catch swimlanes, shared join into the next step, collapse deep trees. Layout is never saved and does not affect Studio Web export.
Selector Builder (detail)
Open any UI activity’s selector property → Open Selector Builder…
- Indicate Element via Browser Helper (Connections → activate once)
- Ranked candidates, specificity score, live Confirm
- Advanced: Kind / App / Title / webctrl fields + templates
- Optional: DevTools Recorder JSON import and LLM Assist for full-process / AI paths
See docs/FEATURES.md and docs/STUDIO_WEB.md.
Requirements
- VS Code 1.90+ or Cursor
- Node.js for packaging/dev; robot runtimes via Studio Web / Orchestrator
- Browser Helper: Chrome, Edge, or Firefox (unpacked load until store listing)
License
MIT — see repository license file.