[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"readme:jev-ultrafast":3},"\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fbrowser-use\u002Fjev-ultrafast\u002FHEAD\u002Fdocs\u002Fbanner.svg\" alt=\"Jev Ultrafast · Browser Use × TypeSafe\" width=\"100%\" \u002F>\u003Ch1>Jev Ultrafast ⚡\u003C\u002Fh1>\n\u003Cblockquote>\n\u003Cp>[!IMPORTANT]\n\u003Cstrong>The Browser Use Cloud waitlist is open.\u003C\u002Fstrong> Get early access to ultrafast browser agents in the cloud.\n\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fbrowser-use.com\u002Fultrafast?utm_source=github&amp;utm_medium=readme&amp;utm_campaign=jev-ultrafast\" rel=\"nofollow ugc noopener\">Join the waitlist →\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Cstrong>A browser agent with a dynamic, indexed action space.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Give it one goal. \u003Ca href=\"https:\u002F\u002Fdocs.typesafe.ai\u002Fintroduction\" rel=\"nofollow ugc noopener\">TypeSafe's Jev\u003C\u002Fa> picks an operation and an element. A small LLM writes text only when the operation is \u003Ccode>TYPE_TEXT\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Zürich → London on Google Flights in 7.1 seconds.\u003C\u002Fstrong> One natural-language goal, actual text generation, and loading waits included.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbrowser-use\u002Fjev-ultrafast\u002Fblob\u002FHEAD\u002Fdocs\u002Fdemo.mp4\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fbrowser-use\u002Fjev-ultrafast\u002FHEAD\u002Fdocs\u002Fdemo.gif\" alt=\"A real Google Flights search at 1× speed, with generated city names and dynamic operation\u002Ftarget decisions\" width=\"100%\" \u002F>\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbrowser-use\u002Fjev-ultrafast\u002Fblob\u002FHEAD\u002Fdocs\u002Fdemo.mp4\" rel=\"nofollow ugc noopener\">Watch the MP4\u003C\u002Fa> · \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbrowser-use\u002Fjev-ultrafast\u002Fblob\u002FHEAD\u002Fdocs\u002Fperformance.md\" rel=\"nofollow ugc noopener\">Measurements\u003C\u002Fa> · \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbrowser-use\u002Fjev-ultrafast\u002Fblob\u002FHEAD\u002Fjev_ultrafast\u002Fagent.py\" rel=\"nofollow ugc noopener\">Read the loop\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch2>The action space\u003C\u002Fh2>\n\u003Cp>Every observation produces a new element table:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-text\">[1] button    Change ticket type · Round trip\n[2] combobox  Where from?        · San Francisco\n[3] combobox  Where to?          · empty\n[4] textbox   Departure          · empty\n...\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The operations are \u003Ccode>CLICK\u003C\u002Fcode>, \u003Ccode>TYPE_TEXT\u003C\u002Fcode>, \u003Ccode>SELECT\u003C\u002Fcode>, \u003Ccode>SCROLL_UP\u003C\u002Fcode>, \u003Ccode>SCROLL_DOWN\u003C\u002Fcode>, \u003Ccode>WAIT\u003C\u002Fcode>, \u003Ccode>DONE\u003C\u002Fcode>, and \u003Ccode>BLOCKED\u003C\u002Fcode>. Only supported operations and targets are offered.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-text\">                      one TypeSafe request\n                     ┌───────────────────────────┐\npage → element table → operation                 │\n                     │ click_target              │\n                     │ type_text_target          │\n                     │ select_target, if present │\n                     └─────────────┬─────────────┘\n                         use the matching target\n                                   │\n                    CLICK [7] ─────┤──→ browser\n                TYPE_TEXT [3] ─────┘\n                          ↓\n                   small LLM → text → browser\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Target questions are speculative. If the operation is \u003Ccode>CLICK\u003C\u002Fcode>, only \u003Ccode>click_target\u003C\u002Fcode> can execute. Two decisions, \u003Cstrong>one network round trip\u003C\u002Fstrong>. Each target head contains only compatible elements. Native dropdown choices carry an observed element\u002Foption index.\u003C\u002Fp>\n\u003Cp>There are no site-specific action scripts or prepared field strings in the policy. The Flights example supplies a goal and independently verifies the outcome. The screenshot renderer adds labels afterward; it does not drive the browser.\u003C\u002Fp>\n\u003Ch2>Try it\u003C\u002Fh2>\n\u003Cpre>\u003Ccode class=\"language-bash\">git clone https:\u002F\u002Fgithub.com\u002Fbrowser-use\u002Fjev-ultrafast.git\ncd jev-ultrafast\nuv sync\ncp .env.example .env\n# Add TYPESAFE_API_KEY and TEXT_MODEL_API_KEY.\nuv run jev\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Open \u003Cstrong>\u003Ca href=\"http:\u002F\u002F127.0.0.1:8766\" rel=\"nofollow ugc noopener\">http:\u002F\u002F127.0.0.1:8766\u003C\u002Fa>\u003C\u002Fstrong> and click \u003Cstrong>Start demo → Run automatically\u003C\u002Fstrong>. The inspector shows numbered elements, operation probabilities, target probabilities, and executed actions. \u003Cstrong>Choose next\u003C\u002Fstrong> pauses before execution.\u003C\u002Fp>\n\u003Cp>Chrome connects through \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbrowser-use\u002Fbrowser-harness\" rel=\"nofollow ugc noopener\">Browser Harness\u003C\u002Fa>, installed by \u003Ccode>uv sync\u003C\u002Fcode>. Run \u003Ccode>uv run browser-harness --doctor\u003C\u002Fcode> if it needs connecting. Allow remote debugging in Chrome when prompted.\u003C\u002Fp>\n\u003Cp>\u003Ccode>TEXT_MODEL_API_KEY\u003C\u002Fcode> is an OpenRouter key in the example configuration. The current demo uses \u003Ccode>inception\u002Fmercury-2.5\u003C\u002Fcode> with reasoning disabled. Gemini, GLM, and DeepSeek can also use the OpenAI-compatible text helper; configure the appropriate model, endpoint, and reasoning setting.\u003C\u002Fp>\n\u003Ch2>Use the library\u003C\u002Fh2>\n\u003Cpre>\u003Ccode class=\"language-python\">from jev_ultrafast import Agent\n\nwith Agent(\n    \"https:\u002F\u002Fwww.google.com\u002Ftravel\u002Fflights?hl=en\",\n    \"Find one-way flights from Zurich to London on September 20, 2026, \"\n    \"for one adult in economy. Stop when matching flight options are visible.\",\n) as agent:\n    for state in agent.run():\n        print(state[\"elapsed_ms\"], state[\"status\"])\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Run with \u003Ccode>uv run --env-file .env python your_script.py\u003C\u002Fcode>. The same policy can run a different task:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">uv run --env-file .env python examples\u002Frun.py \n\u003C\u002Fcode>\u003C\u002Fpre>\n",1789861589619]