Show HN: Fastbrowse, Browser agent that picks clicks with a System One model
Score
49Why selected
进入全量动态池,后续可由人工或模型复核精选价值。
AI commentary
「来自 Hacker News 热门(Algolia · 中文化) 的这条信息指向模型能力或模型生态变化,适合用于判断近期 AI 圈的真实动向。」
Quick overview
Show HN: Fastbrowse, Browser agent that picks clicks with a System One model · HN points: 3 · comments: 2 · https://news.ycombinator.com/item?id=50311029
- Browser automation that returns cited answers or schema-validated data.
- Jev chooses from indexed page controls, and code controls credentials, spending and authorization.
Full text
Browser automation with results you can verify.
Give your agenta browser.
Complete a workflow and get a result backed by quoted page text, with credentials kept out of model prompts. Run locally or in a cloud browser.
Get startedRun it hostedUse it from Codex or Claude CodeMIT licensed.
Interactive replayRecorded task, recreated interfaceTask
Sign in as standard_user, add the Sauce Labs Backpack and Bike Light, check out as Ada Lovelace, finish the order and read the total.
Recorded time41.3sModel cost$0.0501Steps19Sign inChooseCartCheckoutVerifyhttps://www.saucedemo.comSauce Demo
Usernamestandard_userPassword••••••••••LoginCredentials stay out of prompts
The password is passed by name. --secret password=SAUCE_PASSWORD resolves on the allowed origin only, and the value never enters a prompt.
Products
Sauce Labs Backpack
$29.99
AddedSauce Labs Bike Light
$9.99
AddedTwo items are in the cart.
Choose from real controls
The controls a page offers are indexed into a list. Jev selects the operation and target from that list.
https://www.saucedemo.comYour cart
Sauce Labs Backpack
$29.99
Qty 1Sauce Labs Bike Light
$9.99
Qty 1CheckoutRead the page after acting
Both products appear in the cart. The page is observed again before the next action is selected.
https://www.saucedemo.comCheckout
First nameAdaLast nameLovelacePostcodeEC1A 1BBFinishKeep control over the order
The caller authorized the order with --authorize. Without authorization, actions classified as irreversible pause for approval.
https://www.saucedemo.comOrder complete
$43.18
The total for the completed order.
"Total: $43.18"Quoted from the checkout overview
An answer you can check
The answer cites the total captured from the checkout overview. Completion also requires evidence that the order was placed.
PlayReplayRecorded in local Chrome. Cost covers all model calls in this run; there was no cloud-browser charge. This interface is recreated and playback speed is illustrative.
Original recordingThe recording runs fastbrowse 0.7.2 in local Chrome against Sauce Demo, a public practice store. The caller authorized the order before the run. The card at the end carries the run's own time, step count and model cost, unrounded.
Replicate this runThe same task and flags, on any machine with uv and a Chrome install. The recording was made on fastbrowse 0.7.2, which is not on PyPI yet, so this installs that build from its commit. Once 0.7.2 is published the long form collapses to uvx fastbrowse==0.7.2.
# Install uv first: https://docs.astral.sh/uv/
export OPENROUTER_API_KEY=... # or AI_GATEWAY_API_KEY, which also serves the LLM
export SAUCE_PASSWORD=secret_sauce # public practice credential
uvx --from "git+https://github.com/agent-labs-dev/fastbrowse@6dd7256" fastbrowse \
"Log in as standard_user, add the Sauce Labs Backpack and the Sauce Labs Bike Light to the cart, and check out as Ada Lovelace, postcode EC1A 1BB. Finish the order and tell me the total." \
--start https://www.saucedemo.com/ \
--secret password=SAUCE_PASSWORD \
--local --authorize \
--record demo.mp4--record writes the video, ending on the card with the run's own time, steps and cost. Drop it for a text answer only.
Why fastbrowse.
Compare browser actions, answers and credentials using each project's documentation. See benchmarks for measured speed and cost.
Dimension
fastbrowse
Browser Use agents
Action selection
fastbrowse: Action selectionJev chooses an action and its target from a list of controls on the page.Browser Use agents: Action selectionThe hosted agent generates actions. Ultrafast chooses actions with Jev.Answers you can check
fastbrowse: Answers you can checkFactual claims in a complete answer cite verbatim quotes from the page. Structured output is schema-validated before your code reads it.Browser Use agents: Answers you can checkThe agent reports the outcome. Browser Use's docs advise checking important actions independently. Ultrafast navigation tests check the final page.Credentials and control
fastbrowse: Credentials and controlScoped secrets and an authorization gate, built-in Bitwarden, and vault logins through Nebula.Browser Use agents: Credentials and controlProfiles and scoped secret bindings are supported.Where it runs
fastbrowse: Where it runsThe fastbrowse hosted browser pool, local Chrome, a Browser Use Cloud browser, or a browser you already have open.Browser Use agents: Where it runsAgents and browser infrastructure, including a cloud browser.Sources: fastbrowse's README comparison, Browser Use's completion guidance and secret bindings.
How fastbrowse works.
fastbrowse lists the page controls, chooses an action, then checks the result.
Choose from indexed controls
Jev chooses the operation and target in one request from a list of controls on the page. Short factual reads can use Jev as well; the LLM plans the task and reads longer passages.
Check the result before finishing
Factual answers cite quotes copied from the page. fastbrowse checks those quotes and the task requirements before reporting the task as complete.
Inspect steps and cost
Each result includes steps, model calls and cost. Compare agents on task success, speed and cost on the benchmarks page.
Logins and control.
Credentials stay out of prompts
Reuse a saved local or cloud browser profile, or attach to an existing browser. When a credential is needed, fastbrowse resolves the named secret for its permitted website without putting the value in a prompt.
Built-in Bitwarden
Resolve logins from the unlocked Bitwarden CLI by their saved website address, including one-time codes when configured.
Authorization before irreversible actions
fastbrowse asks for approval before actions classified as irreversible. The classifier can miss an irreversible action.
Run fastbrowse through Nebula.
Nebula uses fastbrowse for browser tasks and shows its steps and results. Connect Bitwarden or 1Password through Nebula to use saved logins on websites you authorize.
Choose a browser.
Run hosted, run locally, use a cloud browser, or attach to an existing session.
Hosted
Once a live-key run starts on fastbrowse hosted, it executes in a sandboxed Chrome on a managed browser pool, with nothing to install. Run it hosted
Local Chrome
Pass --local to run Chrome on this machine. --headed shows the window, and --profile keeps a signed-in profile on disk.
Cloud browser
The default is a Browser Use Cloud browser, which passes bot checks a fresh local Chrome can fail. It prints a URL to watch the run live.
Attach to a browser
Drive a browser that is already running over --cdp-url or --cdp-port, and leave the browser running after the task. --attach takes over an open window, such as an Electron app.
Cloud extensions
Load up to three ready Browser Use Cloud extensions by ID with cloud_extensions. They are available on a cloud browser only.
MCP and embedding
fastbrowse-mcp serves one browse tool to Claude Code, Claude Desktop, Cursor and other MCP clients. The embedding API exposes browser steps, quotes and model spend.
Use it from your agent.
Install the fastbrowse skill in Codex or Claude Code, then hand your agent a website task. The skill installs instructions only: set the model key and choose a browser as for the CLI. A run is finished only when its status is complete.
Install the skill
npx skills add agent-labs-dev/fastbrowse --skill fastbrowseChoose your agent when the installer prompts, then start a new agent session.
Ask from Codex
Use $fastbrowse to find the top story on https://news.ycombinator.com/ and return its title with a citation.Ask from Claude Code
/fastbrowse Find the top story on https://news.ycombinator.com/ and return its title with a citation.Without a skill
Agents without skill support can run the CLI or connect the MCP server directly. The skill does not authorize writes on its own: say whether the agent may submit a form.
Run a task.
Install the CLI, the Python SDK or the JavaScript SDK, then give fastbrowse a task and a starting page. The JavaScript SDK needs Node.js 20 or newer, and no Python.
CLI usagePython SDKJavaScript SDKEvals & testingcopy# Install uv first; replace ... with your provider keys
export OPENROUTER_API_KEY=... # for Jev and the LLM that plans and reads
# export TYPESAFE_API_KEY=... # optional: use direct TypeSafe for Jev instead
# export AI_GATEWAY_API_KEY=... # Jev backup; also serves the LLM when OPENROUTER_API_KEY is unset
export BROWSER_USE_API_KEY=... # the cloud browser; or pass --local to use Chrome
uvx fastbrowse "What is the title of the top story right now?" \
--start https://news.ycombinator.com/
# Without a starting page, fastbrowse proposes the first address from the task
uvx fastbrowse "Find the httpx package on PyPI and report its latest released version."
# Authorization gates and a secret the model only ever sees by name
export SAUCE_PASSWORD=secret_sauce # public practice credential
uvx fastbrowse "Log in as standard_user and add the backpack to the cart." \
--start https://www.saucedemo.com/ \
--secret password=SAUCE_PASSWORD \
--authorize
# uv tool install fastbrowse # keep fastbrowse on PATH
# uv add fastbrowse # or put it in a project# uv add fastbrowse
# Set the OpenRouter key shown in CLI usage; with no browser given, this runs local Chrome.
import asyncio
from pydantic import BaseModel
from fastbrowse import run_task
from fastbrowse.models import Limits
class Release(BaseModel):
package: str
version: str
async def main() -> None:
result = await run_task(
"Find the httpx package and report its name and latest released version.",
start="https://pypi.org/",
output_schema=Release,
limits=Limits(max_dollars=0.10),
)
if not result.succeeded:
print(result.status, result.error)
return
release = Release.model_validate(result.data)
print(release.package, release.version)
for citation in result.citations:
print(citation.quote, citation.deep_link)
asyncio.run(main())// npm install fastbrowse zod
// Node.js 20 or newer. No Python and no uv on the machine.
// The npm package installs the native binary for your platform.
// Set OPENROUTER_API_KEY in the environment for Jev and the planning LLM.
import { Fastbrowse } from 'fastbrowse';
import { z } from 'zod';
const Release = z.object({ package: z.string(), version: z.string() });
const fb = await Fastbrowse.start({ local: true });
try {
const result = await fb.run('Find the httpx package and report its name and latest released version.', {
start: 'https://pypi.org/',
output: Release,
limits: { maxDollars: 0.1 },
onEvent: event => {
if (event.type === 'step') console.error(event.step.operation, event.step.target);
},
signal: AbortSignal.timeout(120_000),
});
console.log(result.status, result.answer);
if (result.status === 'complete') console.log(result.output.package, result.output.version);
for (const evidence of result.evidence) console.log(` "${evidence.quote}" from ${evidence.url}`);
} finally {
await fb.close();
}
# Working on fastbrowse itself
git clone https://github.com/agent-labs-dev/fastbrowse.git && cd fastbrowse
uv sync --all-extras && cp .env.example .env
# Fill in .env with an OpenRouter key; live runs also need BROWSER_USE_API_KEY.
# Run the fixture evaluation suite
uv run python -m fastbrowse.evals.runner
# Compare task success, time and cost using the published benchmark methods.
# Open Benchmarks on this site for the comparison methods.
# Lint, types, tests
uv run ruff check . && uv run ty check && uv run pytestRun it hosted.
fastbrowse hosted runs the same agent in managed browsers behind an API. Send a task over HTTPS, follow its steps, and pay per run. Keys, secrets, billing and run history live in the console.
Create an accountAPI docsSandboxed browser pool
Once a live-key run starts, it executes in a sandboxed Chrome on a browser pool that fastbrowse runs on Google Kubernetes Engine. There is no browser to install, update or keep alive.
Console and API
Sign in at console.fastbrowse.ai to submit runs, follow their steps and see your balance. Your code sends the same runs to api.fastbrowse.ai.
One request per task
Send a task, and optionally a starting page, to POST /v1/runs at api.fastbrowse.ai. The service runs the browser fleet, model connections, queue and secret store. A test key runs a simulator that returns the same response shapes at no cost.
Pay per run
A run is priced as a per-run fee plus usage, never below $0.005. Runs are paid from a balance that your plan's monthly allowance and any top-ups fill. Top up prepaid credits in the console, and the dashboard shows the balance. An allowance does not roll over; a top-up does not expire.
What a run is charged for
A run is charged when the agent did the work, whatever it proved, including a run that stopped at a sign-in wall or a bot check. A provider outage, an error inside the agent, a cancelled run, a run that expired in the queue and any run made with a test key are not charged.
Plan
Price
Includes
Free
Build an integration and see it work, without a card.
$0
- $2.00 of runs a month
- 1 run at a time
- 7 day history
- Cited answers and step traces
Starter
For a product with browser work in it.
$29 a month
- $35.00 of runs included
- 5 runs at a time
- 30 day history
- Secrets, profiles and schedules
- Webhooks
Pro
For browser work that is part of how the product runs.
$199 a month
- $250.00 of runs included
- 25 runs at a time
- 90 day history
- Session recordings
- Audit log and SSO-ready roles
Scale
Fleet-sized volume with reserved capacity.
$999 a month
- $1,400.00 of runs included
- 100 runs at a time
- 180 day history
- Queue priority
- Shared Slack channel
Enterprise
Dedicated browsers, a contract and a number to call.
By agreement
- Dedicated browser fleet
- Custom retention and residency
- Invoiced billing
- Uptime commitment
Start freeSign in to the consoleFull plan comparisonAPI reference
Related items
FeaturedDeepSeek V4 Doubles Token Share on OpenRouter, Driven by Agentic Workloads
DeepSeek V4 在 OpenRouter 上的代币份额翻倍,智能体工作负载成主要驱动力
The rapid adoption of DeepSeek V4 signals a strong market preference for high-performance, low-cost inference models, especially as agentic use cases reshape AI deployment.
91
FeaturedEnabling Two Settings Triples ARC-AGI-3 Benchmark Scores
启用两项设置使ARC-AGI-3基准测试分数提升三倍
This finding is crucial! It shows that model performance depends not only on training but also on inference-time configuration. For AI engineers and researchers, this is a must-know optimization direction. Teams deploying models on resource-constrained devices in particular could find a low-cost way to boost capabilities.
91
FeaturedGPT-5.6: Fusing Frontier Intelligence with Frontier Efficiency
GPT-5.6:前沿智能与前沿效率的融合
This news is worth watching as it marks a shift from pure parameter scaling to efficiency competition. For AI developers and business decision-makers, GPT-5.6 means higher performance at lower cost, especially for long-context or agentic tasks previously hindered by inference expenses. OpenAI's move may redefine what 'frontier' means.
91
FeaturedLFM2.5-Encoders: New Models for Fast Long-Context Inference on CPU
LFM2.5-Encoder:面向CPU快速长上下文推理的新模型
This blog post catches my eye because it directly solves the pain point of running long-context LLMs on CPU. For teams or individual developers without high-end GPUs, the LFM2.5-Encoder series offers a ready-to-use open-source solution. Highly recommended for those working on RAG, document search, or code analysis—now a standard server can handle million-token documents.
91
FeaturedGPT-Red: OpenAI Automates Red Teaming via Self-Play to Boost Model Robustness
GPT-Red:OpenAI通过自我对弈实现AI红队自动化,提升模型鲁棒性
GPT-Red marks a milestone from human to automated red-teaming—essential for safety engineers and alignment researchers. While reducing cost, it also raises ethical questions about automated attacks, worth pondering for everyone in AI governance.
91
FeaturedOpenAI Launches GPT-5.5 Bio Bug Bounty Program
OpenAI推出GPT-5.5生物漏洞赏金计划
This program deserves attention as it pioneers the extension of AI bug bounty to biosecurity, offering a new research direction for the security community and a practical training ground for AI risk governance. It is particularly important for model safety researchers, biosecurity experts, and practitioners concerned about dual-use AI risks.
91
FeaturedvLLM Introduces Native-Speed Transformers Modeling Backend for Enhanced Inference Performance
vLLM推出原生速度Transformers建模后端,大幅提升推理性能
This update is critical for AI engineering teams: eliminating format conversion speeds up model iteration, and 2-5x speedup directly reduces GPU costs. If you're building LLM online services or batch inference, this is practically a must-read technical update.
90
FeaturedGoogle DeepMind Introduces SL2T, a Sign Language-to-Text Model for Deaf Users
Google DeepMind 发布手语转文本模型 SL2T,助力聋人用户
This news matters not only as a technical breakthrough but also as a sign that AI is beginning to address the needs of marginalized groups. For developers, the architecture and technical approach of SL2T merit deep study; for accessibility advocates, it's a key case for advancing industry standards.
nebula.gg