Files
browser-use/browser_use
XiaoHuo888andClaude d8580caf01 Add OrcaRouter as a named LLM provider
Registers ChatOrcaRouter (provider='orcarouter'), an OpenAI-compatible
BaseChatModel mirroring the existing ChatOpenRouter wiring, so the model
gateway is usable as a first-class provider:

- browser_use/llm/orcarouter/chat.py + serializer.py
- Registered in browser_use/llm/__init__.py and browser_use/__init__.py
- Token-cost guard: never attribute upstream prices to the gateway
- .env.example ORCAROUTER_API_KEY entry
- tests/ci/test_orcarouter.py and examples/models/orcarouter.py

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-12 08:05:12 +08:00
..
2025-08-26 14:23:40 -07:00
2025-09-19 19:36:53 -07:00
2026-07-07 10:27:38 -07:00
2026-07-11 11:28:12 -07:00
2025-03-28 18:11:36 -07:00
2025-07-21 12:59:11 +02:00
2024-11-06 18:18:00 +01:00

Codebase Structure

The code structure inspired by https://github.com/Netflix/dispatch.

Very good structure on how to make a scalable codebase is also in this repo.

Just a brief document about how we should structure our backend codebase.

Code Structure

src/
/<service name>/
models.py
services.py
prompts.py
views.py
utils.py
routers.py

    	/_<subservice name>/

Service.py

Always a single file, except if it becomes too long - more than ~500 lines, split it into _subservices

Views.py

Always split the views into two parts

# All
...

# Requests
...

# Responses
...

If too long → split into multiple files

Prompts.py

Single file; if too long → split into multiple files (one prompt per file or so)

Routers.py

Never split into more than one file