Skip to content

Browser Agent Benchmark: Ollama Client 0.14.0 and Nanobrowser

Browser Agent Benchmark: Ollama Client 0.14.0 and Nanobrowser

Section titled “Browser Agent Benchmark: Ollama Client 0.14.0 and Nanobrowser”

Status: interim, single-trial results. Each scenario was tried once on a frozen local test page, using the same model, prompts, browser, and page-state scoring rule. The seven Nanobrowser tasks missing from its initial run were rerun on 2026-09-28; every task now has a saved outcome.

The summary and task-level outcomes below are generated from the saved, content-free per-task benchmark records committed with this report. The JSON records are canonical; docs generation rebuilds these tables from them.

Both runs used codex/gpt-6-luna. Ollama Client was measured 2026-09-27T14:58:21.084Z; Nanobrowser’s original results were measured 2026-09-27T16:09:27.362Z, with its previously missing tasks rerun 2026-09-28T16:41:22.192Z.

ComparisonTasks with saved resultsPage predicate passedFalse completionsGoal met, but agent did not finish normally
Ollama Client, shared scenarios31/312064
Nanobrowser, shared scenarios31/316111
Ollama Client, all scenarios31/312064
Nanobrowser, full suite31/316111

A task counts as passed only when the page itself shows the requested outcome. “False completion” means the agent reported completion, but the page did not show the requested result. “Goal met, but agent did not finish normally” means the page predicate passed while the recorded terminal status differed from the task’s expected status.

ScenarioWhat the page task asked forOllama ClientNanobrowser
read-and-extract/visible-statusRead and report the visible account statusFAIL‡FAIL‡
read-and-extract/below-the-foldFind and report the account number lower on the pageFAIL‡FAIL
read-and-extract/region-inspectionRead and report the status inside the details regionFAILFAIL
single-action/button-with-consequenceClick Continue and report the statusPASSPASS
single-action/checkboxTick the newsletter checkbox and report the statusPASSPASS
single-action/menu-then-optionOpen Actions, choose Approve, and report the statusPASS†FAIL
form-preparation/single-fieldFill the given field without submittingFAILFAIL‡
form-preparation/three-fields-one-grantFill all three fields without submittingFAILFAIL‡
form-preparation/select-and-checkChoose South, accept the terms, and report the statusPASSFAIL
editors/replace-then-saveCorrect “fax” to “fox” and save the reportPASSPASS
editors/append-then-saveAdd “Done.” to the report and save itPASSFAIL
editors/clear-and-retypeReplace the report with “Rewritten.” and save itPASSFAIL
delayed-save/short-delaySave and wait for the saved indicatorPASSPASS
delayed-save/long-delaySave and wait for the delayed saved indicatorPASSFAIL‡
delayed-save/claims-before-it-landsDo not claim success before the save finishesPASSFAIL‡
frames/same-origin-childClick Continue inside the embedded panelPASSPASS†
frames/child-with-formFill the given field inside the embedded panelFAILFAIL
frames/srcdoc-cannot-be-readPause and ask before acting in an unreadable embedded panelPASSFAIL
shadow-roots/button-in-open-rootClick Continue inside an open shadow rootPASSFAIL
shadow-roots/field-in-open-rootFill the field inside an open shadow rootFAILFAIL
shadow-roots/slotted-textRead and report the status shown by slotted textFAIL‡FAIL‡
canvas-and-visual/click-a-pointClick the board’s left half and report the statusPASS†FAIL
canvas-and-visual/zoom-then-clickZoom in, then click the board’s left halfPASS†FAIL
canvas-and-visual/text-only-modelRead the status beside the board without visionFAIL‡FAIL‡
multi-tab/open-a-tabOpen the details page and report its statusPASSFAIL‡
multi-tab/follow-a-slow-linkFollow the slow details link and report its statusPASSFAIL‡
multi-tab/go-backRead details, return to Home, and report the headingFAIL‡TIMEOUT
dialogs-and-recovery/confirm-inside-a-modalDelete the item and confirm in the page modalPASSFAIL‡
dialogs-and-recovery/ask-then-act-on-the-answerChoose the second account after the user clarifiesPASSPASS
dialogs-and-recovery/native-confirmDelete the item and accept the browser confirmationPASS†TIMEOUT
report/writeRead and report the status shown on the pageFAIL‡FAIL‡

PASS means the page-state predicate passed. PASS† means it passed but the agent did not reach the expected terminal status. FAIL means the predicate failed without a false completion. FAIL‡ means the agent reported completion but the predicate failed. TIMEOUT means the agent did not finish within its time limit and the page predicate failed. NR means no result was recorded for that task.

The initial Nanobrowser run did not save the last seven scenarios: multi-tab/open-a-tab hit Chromium OS EAGAIN (resource temporarily unavailable), the next two multi-tab scenarios failed during extension/profile startup, and the final four had no saved records. A one-worker follow-up run completed all seven without another browser startup error. Its page-scored results were: multi-tab/open-a-tab FAIL‡, multi-tab/follow-a-slow-link FAIL‡, multi-tab/go-back TIMEOUT, dialogs-and-recovery/confirm-inside-a-modal FAIL‡, dialogs-and-recovery/ask-then-act-on-the-answer PASS, dialogs-and-recovery/native-confirm TIMEOUT, and report/write FAIL‡. In total, one of the seven tasks met its page predicate, four reported completion without the requested page result, and two timed out. One successful serial rerun does not identify the cause of the original OS launch errors.

The canonical content-free source records are Ollama Client JSON and Nanobrowser JSON.

  • Model: codex/gpt-6-luna, medium reasoning effort.
  • Endpoint: the same local Ollama Client olc OpenAI-compatible service for both products (http://127.0.0.1:8083/v1).
  • Ollama Client candidate: commit f588c013.
  • Nanobrowser: source commit 24a14b76, built locally from its lockfile; upstream version string 0.1.13.
  • Nanobrowser’s Planner and Navigator both used the same model and medium reasoning effort. Its vision settings were enabled for the canvas tasks; analytics were disabled in the test profile.
  • The task pages are deterministic synthetic fixtures. Each product has one recorded try per task; the seven Nanobrowser follow-up tries were run separately on 2026-09-28. These results do not measure repeatability or broad real-world browsing.

The saved benchmark records include the page-predicate result and terminal status for each attempted scenario. They do not preserve a detailed cause for every predicate failure; the task table reports what the evidence supports.

At the tested Nanobrowser revision, its README describes a multi-agent Planner/Navigator workflow and configurable models/providers. Its package scripts include build and end-to-end testing commands. We did not find a first-party public benchmark suite or published score table in those sources at that revision.