Describing a visual bug in words is the slow part of UI work; here you click the element or drag a box around it and the selector, geometry and severity travel to the agent intact. Annotate mode deliberately freezes the page so element positions stay stable while you mark up — exit the mode to scroll, then re-enter.
A browser extension for Chrome, Edge and Firefox paired with a local MCP server, for annotation-first UI work. You mark up a live page with comments, an intent and a severity; the agent reads those annotations, with element selectors or region geometry attached, without any change to the application's code.
- Pages that carry annotations, listed for the agent — `onui_list_pages`
- Annotations for a page read back with comment, intent (`fix`, `change`, `question`, `approve`) and severity (`blocking`, `important`, `suggestion`) — `onui_get_annotations`
- A page-level report at the output level you choose — `compact`, `standard`, `detailed` or `forensic` — `onui_get_report`
- Search across comment, selector, path, tag text and region geometry tokens — `onui_search_annotations`
- Annotation metadata updated one at a time or in bulk once work is done — `onui_update_annotation_metadata`, `onui_bulk_update_annotation_metadata`
- Handled annotations removed individually or cleared for a whole page URL — `onui_delete_annotation`, `onui_clear_page_annotations`
- Two capture modes: element targeting with `Shift` multi-select for batches up to 25, and rectangle or ellipse region drawing for layout and spacing issues
No account and no key — everything stays on the machine, with no cloud backend. Node 20+ for the MCP bridge, which the release installer sets up from a prebuilt bundle; the extension comes from the Chrome Web Store, Edge Add-ons, or the installer script, and Chromium browsers need one manual `Load unpacked` step from `~/.onui/extensions/current`. Setup registers `onui-local` for Claude Code and Codex automatically; other clients get the same `node … onui-cli.js mcp` command entry, which must use an absolute path. The package.json names it `onui` at 2.2.3, and the MCP package is workspace-local, so run its setup and doctor commands from the repository. Restricted browser pages such as `chrome://` and `about:` are out of scope.
One command — curl -fsSL https://github.com/onllm-dev/onUI/releases/latest/download/install.sh | bash
