Guide · Open source
How to use jev-ultrafast: install, run and use the library
Updated · written with AI from the project's own documentation and checked against our catalogue data
Jev Ultrafast is an open-source Python browser agent from the browser-use organisation. You give it a goal in plain language, and it reads the visible controls on a web page, chooses an operation such as clicking or typing, and carries it out in Chrome. This guide shows you how to install it, run the built-in demo, and call it from your own Python script.
Quick start
- 1Clone the repository. Run git clone on the browser-use/jev-ultrafast repository and enter the jev-ultrafast folder.
- 2Install dependencies. Run uv sync in the project folder to install dependencies, including Browser Harness.
- 3Create the environment file. Copy .env.example to .env with cp .env.example .env.
- 4Add your API keys. Open .env and set TYPESAFE_API_KEY and TEXT_MODEL_API_KEY.
- 5Start the inspector. Run uv run jev, open http://127.0.0.1:8766, and click Start demo.
- 6Run your own goal. Write a short script that imports Agent, then run it with uv run --env-file .env python your_script.py.
What you need before you install
Jev Ultrafast is set up by cloning the repository and building it locally, not by a one-click installer. The README lists four prerequisites: Python, uv (a Python package manager), Google Chrome, and API keys for the required model services.
You need a TypeSafe API key and a text model API key. In the example configuration the text model key is an OpenRouter key.
- Python
- uv (Python package manager)
- Google Chrome
- TypeSafe API key (TYPESAFE_API_KEY)
- Text model API key (TEXT_MODEL_API_KEY, an OpenRouter key in the example configuration)
Install jev-ultrafast from source
Clone the repository, enter the folder, install the dependencies with uv, and create your environment file from the example. Then add your keys to .env.
Dependencies are installed by uv sync, which also installs Browser Harness, the component that connects to Chrome.
- Open the .env file and add TYPESAFE_API_KEY and TEXT_MODEL_API_KEY.
- If Chrome does not connect, run uv run browser-harness --doctor, and allow remote debugging in Chrome when prompted.
git clone https://github.com/browser-use/jev-ultrafast.git
cd jev-ultrafast
uv sync
cp .env.example .env
# Add TYPESAFE_API_KEY and TEXT_MODEL_API_KEY.
uv run jevRun the local inspector demo
The command uv run jev starts a local inspector. Open http://127.0.0.1:8766 in your browser, then click Start demo and choose Run automatically.
The inspector shows numbered elements, operation probabilities, target probabilities, and executed actions. If you choose Choose next, the agent pauses before it executes each action.
- Start demo, then Run automatically to watch the full run.
- Choose next pauses before each execution so you can inspect the decision.
Use jev-ultrafast as a Python library
Import Agent from jev_ultrafast and pass it a start URL and a goal. Iterate over agent.run() to receive a state for each step. Each state includes elapsed_ms and status.
Run your script with uv run --env-file .env so the API keys are loaded. You can also point the same policy at a different task with examples/run.py, which takes --url and --goal arguments.
- Run your script: uv run --env-file .env python your_script.py
- Run another task: uv run --env-file .env python examples/run.py --url <url> --goal '<goal>'
from jev_ultrafast import Agent
with Agent(
"https://www.google.com/travel/flights?hl=en",
"Find one-way flights from Zurich to London on September 20, 2026, "
"for one adult in economy. Stop when matching flight options are visible.",
) as agent:
for state in agent.run():
print(state["elapsed_ms"], state["status"])Understand how the agent makes decisions
On each step the agent reads the visible page and builds a numbered table of elements. The available operations are CLICK, TYPE_TEXT, SELECT, SCROLL_UP, SCROLL_DOWN, WAIT, DONE, and BLOCKED. A TypeSafe request chooses an operation and a target element. A small language model writes text only when the operation is TYPE_TEXT.
The policy does not contain site-specific scripts. Model output never becomes selectors, coordinates, shell commands, or executable JavaScript. The executor checks that the page is still fresh and that a click is not covered before it acts.
- Read the code: agent.py holds the complete loop.
- Model instructions are in questions.py; the local inspector is demo.py.
Check the limits before relying on it
The README says shadow roots, frames, canvas, file uploads, pop-up tabs, nested scrolling, and arbitrary keyboard widgets are outside this MVP. Owned tabs share the existing Chrome profile.
The published timing (7,073 ms for one Google Flights run) and the 25% median reduction come from three repeats of one task on one browser profile. The README says this is not a general reliability benchmark, so test it on your own tasks before depending on it.
- Do not assume support for iframes, canvas or file uploads.
- A DONE decision still needs independent verification of the outcome.
- The flights example checks the result but does not select or book a flight.
What people use it for
- Experimenting with fast, low-cost browser automation driven by plain-language goals.
- Studying structured action spaces for web agents.
- Reading a compact codebase to understand how a browser agent loop works.
- Running a Google Flights search with a single natural-language goal, as in the README example.
- Running a Wikipedia lookup task using examples/run.py.
Frequently asked questions
Is jev-ultrafast free to use?
The project is released under the MIT licence, as stated in the repository. You still need your own TypeSafe API key and a text model API key, and the README does not give pricing for those services.
What are the requirements for jev-ultrafast?
The README lists Python, uv (Python package manager), Google Chrome, a TypeSafe API key, and a text model API key. The example configuration uses OpenRouter for the text model.
How do I install jev-ultrafast?
Clone the repository from GitHub, run uv sync in the project folder, and copy .env.example to .env. Then add your API keys and run uv run jev. There is no packaged installer in the README.
Why does Chrome not connect to jev-ultrafast?
Run uv run browser-harness --doctor to check the connection, as the README suggests. When Chrome asks, allow remote debugging.
How does jev-ultrafast compare to browser-use, Stagehand, Skyvern or Playwright?
The README does not compare it with those projects. It describes itself as a browser agent with a dynamic, indexed action space and a compact codebase. Playwright is a browser automation library, so check each project's own documentation for a direct comparison.
Can jev-ultrafast handle iframes, file uploads or pop-up tabs?
No, according to the README. Shadow roots, frames, canvas, uploads, pop-up tabs, and nested scrolling are outside this MVP.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Jev Ultrafast suits developers and researchers who can run Python, manage API keys and read a compact codebase to learn how a browser agent works. It is not a finished no-code tool, and the README is explicit that its benchmark covers one task on one browser profile, so production teams should look for tools with broader proof of reliability.
Install options & downloads