SIGN IN SIGN UP

docs: point bu-30b-a3b-preview at self-hosting instead of Cloud (#5774)

**Option B of two. Do not merge both.** Sibling: #5773, which deletes
the mentions instead.

## What is broken

`browser-use/bu-30b-a3b-preview` is still a live route in the Cloud
gateway
(`backend/llm_use/gateway/pricing.py` `MODAL_MODELS`, `service.py`
`_call_modal`), but
nothing is serving it. The Modal app behind that route,
`browser-use-llm-prod` in
`browser-use/deploy-llm` (`deploy.py:18`, 2x H200 `min_containers`), was
last deployed on
2025-12-16 and has not been deployed since.

Production, service `browser-use-production-llm-use`, last 90 days: 5
Modal client
initializations and 5 `Modal LLM call failed: Error code: 503`, paired
within 14 seconds.
Every observed call failed. The gateway turns that upstream 503 into a
generic HTTP 500 for
the caller, which is why it reads as "the model does not exist".

## Why not just delete it

The weights are public and people are using them.
https://huggingface.co/browser-use/bu-30b-a3b-preview is a public repo:
31B, 2.34k downloads
in the last month, 265 likes. The model exists. Only our hosting of it
does not.

## What this PR does

Says what the model actually is - open weights you run yourself.

- `examples/models/bu_oss.py` now starts from `vllm serve` and connects
with `ChatOpenAI`
against `http://localhost:8000/v1`. No `BROWSER_USE_API_KEY`, no
dependency on the dead
Cloud route. `BU_OSS_BASE_URL` / `BU_OSS_API_KEY` override the endpoint.
- `browser_use/llm/browser_use/chat.py` - the docstring now says Cloud
does not serve it.
- `skills/open-source/references/models.md` - drops the priceless OSS
pricing row and adds a
short self-hosting section with the vLLM command from the model card and
the weights URL.

Not touched: the gateway route, and
`tests/ci/models/test_llm_browseruse.py:85`.

## Checks

`ruff check`, `ruff format --check` and `git diff --check` clean.
The rewritten example was imported and constructed in this worktree:
`ChatOpenAI(model='browser-use/bu-30b-a3b-preview',
base_url='http://localhost:8000/v1', ...)`
resolves to provider `openai` with that base URL. No agent was run, and
no GPU was started,
so the end-to-end self-hosted run is not claimed here.

<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Updates docs and the example for `browser-use/bu-30b-a3b-preview` so the
model is presented as open weights users host themselves instead of a
Browser Use Cloud model.

- `examples/models/bu_oss.py` now uses a vLLM server and connects via
`ChatOpenAI`, with optional `BU_OSS_BASE_URL`/`BU_OSS_API_KEY`
overrides.
- The `ChatBrowserUse` docstring states the model is self-hosted only
and points to the example.
- The skills model table drops the Cloud pricing row and adds the vLLM
command and weights URL.

<sup>Written for commit 09dbfcbca919d547b09e7f90c580b4e696ed011c.
Summary will update on new commits.</sup>

<a
href="https://cubic.dev/pr/browser-use/browser-use/pull/5774?utm_source=github"
target="_blank" rel="noopener noreferrer"
data-no-image-dialog="true"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img
alt="Review in cubic"
src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a>

<!-- End of auto-generated description by cubic. -->
M
Magnus Müller committed
843819cb8131e1370948d381ede9be7f8366ddc4
Committed by GitHub <noreply@github.com> on 9/13/2026, 7:45:27 PM