Features
What the extension can fill, how runs are triggered, and how wizards stay coherent.
Capabilities
| Area | Behavior |
|---|---|
| Fill modes | Hybrid (heuristics then AI), AI only, or Heuristics only (no API key) |
| Triggers | Side panel, context menu (“Fill this form with AI”), keyboard (Alt+Shift+F) |
| Native controls | Text inputs, textareas, selects, radio groups, checkboxes |
| ARIA widgets |
checkbox, switch, radiogroup,
combobox / listbox, contenteditable
|
| Multi-step forms | Automatic advancing with content-fingerprint step detection, up to 50 steps |
| Conditional fields |
MutationObserver settling picks up fields revealed by a checkbox or
select
|
| Cross-step identity | Email, name, phone, and other slots stay coherent across the whole run |
| Error recovery | Reads page validation messages and re-asks the model with them quoted |
| Custom requests | One free-text box for user rules, injected at highest prompt priority |
| Multilingual |
Follows the page language, or an explicit BCP-47 override, with per-field
lang
|
| Providers | OpenAI, Anthropic, Google AI Studio, xAI, Groq, OpenRouter, Cerebras |
| Live progress | Streamed to the side panel while the run is in flight |
Multi-step navigation
Step change is detected by a content fingerprint of the visible field set (labels, kinds, option counts) plus URL and active step-indicator text. Synthetic field ids are deliberately not part of it.
Forward controls are ranked by multilingual label markers, position, and membership of the active form; back, cancel, and reset controls are scored out. Final-submit controls (pay, place order, checkout) are not clicked by default — the run stops with the form filled.
When a click does not change the fingerprint, the page is inspected for
aria-invalid, aria-errormessage, and
role="alert" text. Those messages are quoted back to the model for a repair
round, then the click is retried once.
Custom requests and language
The side panel has a single free-text box, empty by default. Anything entered is injected into the prompt as a clearly delimited block:
USER RULES (highest priority, override anything above that conflicts):
Phone as 090-XXXX-XXXX. User names in Japanese.
It applies uniformly across every chunk and navigation call on a long form.
Language resolution, most specific first:
- A field’s own
langattribute - An explicit BCP-47 override when Value language is Always use…
- The page’s
<html lang>, otherwise the browser locale
Ready to try it? Install, then follow the tutorial, or set options in configuration.