Navigate a browser with Jev
jev_navigateDrives a headless browser to complete a task from a start URL, returning the final page, step trace, errors, and token cost. Supports secure password fills and cookie seeding.
Instructions
Give a task and a start URL; a Jev-driven agent navigates a real headless browser until the goal is met, the stuck gate fires, or a budget (steps/seconds) is exhausted. Returns the final page in a chosen format (text, markdown, html, or an aria snapshot), the full step trace with confidences, console/page/network errors captured along the way, token usage with estimated cost, and a final screenshot. The result also reports typing degradation explicitly (degraded, warnings with codes, typing_provider, typing_model), so a failed typing generator is visible instead of silently typing keyword soup. For logins: with JEV_BROWSER_PASSWORD_ORIGIN set in this server's environment, password_file or password_env fills native password fields on that origin only, without the value ever entering model context, traces, or screenshots; never put the password value itself in any argument or in the task. To start already logged in, seed a session cookie instead via cookie_file or cookie_env (same reference-based delivery and redaction).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | What the agent should accomplish, in natural language. | |
| format | No | Final page payload format: text (default, 8k chars), markdown (16k, via turndown), html (1MB, for app-side parsing), aria (16k, Playwright aria snapshot YAML). | |
| max_chars | No | Override the format's default character cap (at most 1,000,000, the html format's default). | |
| max_steps | No | Hard step cap. Default 24. | |
| start_url | Yes | Where to start. | |
| cookie_env | No | Seed cookies with values from JEV_COOKIE_* environment variables; naming a variable with that prefix is the operator's opt-in, any other name is rejected. Redacted like passwords. | |
| screenshot | No | Final viewport JPEG. Default 'final'. Suppressed automatically after a password fill. | |
| cookie_file | No | Seed cookies so the run starts behind a login, e.g. a session cookie captured elsewhere. Values arrive by reference and are redacted like passwords. Never put a cookie value itself in any argument. | |
| max_seconds | No | Wall-clock cap in seconds. Default 180. | |
| allow_typing | No | Whether the agent may type into fields. Uses the configured small model; when it fails, ordinary fields are left empty with a warning and search boxes fall back to a keyword heuristic. Default true. | |
| password_env | No | Password fill: name of a JEV_PASSWORD_* environment variable visible to this server. Naming a variable with that prefix is the operator's opt-in; any other name is rejected. Requires JEV_BROWSER_PASSWORD_ORIGIN in this server's environment. | |
| password_file | No | Password fill: absolute path inside the handoff directory (default ~/.jev-browser/handoff; override with JEV_BROWSER_HANDOFF_DIR) holding the password, written by your secret manager (e.g. op read --no-newline --out-file ...). The file is consumed and deleted at run start. Requires JEV_BROWSER_PASSWORD_ORIGIN in this server's environment. Never put the password value itself here. |