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