Powrót do bloga

Agenci i automatyzacjaPrzewodnik

Browser Use na tanim modelu: konfiguracja base_url i koszt uruchomienia

Podłącz Browser Use do API zgodnego z OpenAI, uruchom zadanie sprawdzania ceny w prawdziwej przeglądarce i oszacuj koszt jednego uruchomienia.

Autor: CheapTokens TeamOpublikowano 4 min czytania

Konfiguracja Browser Use: ChatOpenAI z niestandardowym base_url i identyfikatorem modelu
Na tej stronie
  1. Instalacja i wskazanie API
  2. Co agent faktycznie robi na stronie z ceną
  3. Ile kosztuje jedno uruchomienie
  4. Jeśli nie działa

Browser Use akceptuje dowolny endpoint zgodny z OpenAI, więc podłączenie go do CheapTokens wymaga trzech wartości: base_url, twojego klucza i pełnego identyfikatora modelu. Poniżej znajduje się agent.py, który otwiera stronę produktu, odczytuje cenę i raportuje ją, a także szacunek kosztu jednego uruchomienia na podstawie aktualnych cen.

Agent przeglądarki przy każdym kroku ponownie wysyła tekst strony do modelu, więc szacunek pojawia się przed harmonogramem.

Instalacja i wskazanie API#

README Browser Use (sprawdzone 8 listopada 2026) instaluje go poleceniem uv; biblioteka wymaga Pythona 3.11+ i jest na licencji MIT. Strona obsługiwanych modeli w dokumentacji pokazuje wzorzec dla niestandardowych endpointów: ChatOpenAI z base_url, a następnie Agent(task=..., llm=llm).

bash
uv init --python 3.12
uv add browser-use

Klucz umieść w pliku .env obok skryptu, nigdy w kodzie:

bash
CHEAPTOKENS_API_KEY=your-key-here

Następnie agent.py:

python
import asyncio
import os

from dotenv import load_dotenv
from browser_use import Agent, ChatOpenAI

load_dotenv()

llm = ChatOpenAI(
    model='deepseek-ai/DeepSeek-V4-Flash-0731',
    base_url='https://api.cheaptokens.dev/v1',
    api_key=os.getenv('CHEAPTOKENS_API_KEY'),
)

task = (
    'Open https://shop.example/laptop-x (replace with your product page). '
    'Find the current price and whether it is in stock. '
    'Reply with one line: price, currency, in stock yes/no. '
    'Do not click Buy or add anything to the cart.'
)

agent = Agent(task=task, llm=llm)
asyncio.run(agent.run())

Uruchom go poleceniem uv run agent.py. Jeśli pierwsze uruchomienie zgłosi brak przeglądarki, zainstaluj ją zgodnie z Browser Use quickstart (uvx browser-use install, sprawdzone 8 listopada 2026).

Blok ChatOpenAI z base_url i identyfikatorem modelu CheapTokens
Jedyna część, która różni się od domyślnej konfiguracji: model, base_url, klucz.

Dlaczego ten model: uruchomienie przeglądarki to wiele wywołań z długim kontekstem strony. DeepSeek-V4-Flash ma okno kontekstu 380K, do 32 768 tokenów wyjściowych na odpowiedź i jedną cenę o każdej porze dnia. Identyfikator musi być pełnym deepseek-ai/DeepSeek-V4-Flash-0731 — krótkie nazwy z tabel cen nie są akceptowane przez API. Inne identyfikatory i podstawy połączenia są w dokumentacji CheapTokens.

Co agent faktycznie robi na stronie z ceną#

Załóżmy, że twoje zadanie to „ile dziś kosztuje ten laptop”. Agent wykonuje pętlę: pobiera tekst strony, pyta model, co zrobić dalej, wykonuje akcję w przeglądarce (otwórz, przewiń, kliknij) i otrzymuje nowy tekst strony. Powtarza to, aż model uzna, że ma odpowiedź.

Pętla: zadanie, wywołanie modelu, akcja w przeglądarce, nowy tekst strony
Każde przejście przez pętlę to jedno wywołanie modelu, a tekst strony jest za każdym razem wysyłany ponownie.

Ta ostatnia strzałka to główny czynnik kosztu. Strona produktu może mieć tysiące tokenów tekstu i jest wysyłana przy każdym wywołaniu. Wpis na kanale z 6 listopada wymieniał Browser Use jako warstwę przeglądarki agenta zakupowego, który porównuje oferty i śledzi spadki cen; ten sam pomysł pasuje do codziennego sprawdzania jednej lub dwóch stron, jak w zadaniu powyżej.

Wybierz swój przypadek

Czy agent przeglądarki to właściwe narzędzie do twojego sprawdzenia?

Cena pojawia się dopiero po kliknięciach

Agent przeglądarki pasuje. Otwiera stronę w prawdziwej przeglądarce, wybiera rozmiar lub kolor, przewija i odczytuje to, co się pojawi. Zapisanie tego jako skryptu oznacza utrzymywanie selektorów dla każdego sklepu.

Jeden stały URL i jeden stały element ceny

Zwykły skrypt z selektorem jest tańszy: żadnego wywołania modelu. Stałe kroki umieść w kodzie, a model zachowaj do części, które się zmieniają. Więcej na ten temat w czy agenci potrzebują modelu na każdym kroku.

Dwa lub trzy sklepy o różnych układach

Agent przeglądarki pasuje. Jeden tekst zadania obejmuje kilka układów stron, a odpowiedzi w jednej linii porównujesz później.

Jedno ostrzeżenie, zanim cokolwiek zaplanujesz: agent czyta wszystko, co mówi strona, a strona może zawierać instrukcje skierowane do agenta. Lista kontrolna prompt injection opisuje, co z tym zrobić, a powyższe zadanie z tego samego powodu zabrania kupowania.

Ile kosztuje jedno uruchomienie#

Nie zgaduj; przyjmij założenie. Powiedzmy, że uruchomienie zajmuje 15 kroków. Każdy krok wysyła zadanie, historię i bieżącą stronę: około 12 000 tokenów wejściowych, a model odpowiada krótką akcją o długości około 600 tokenów.

15 × 12 000 = 180 000 tokenów wejściowych i 15 × 600 = 9 000 tokenów wyjściowych na uruchomienie. Na DeepSeek-V4-Flash to uruchomienie kosztuje $0.0036, przy wejściu po $0.015 za 1M tokenów. Wejście to tutaj 20 razy więcej niż wyjście, co jest typowe dla pracy w przeglądarce, a licząc razem w sumie, cena jest poniżej referencji OpenRouter dla tego modelu.

Poniższa tabela używa tych samych liczb na krok dla 15 kroków, więc możesz zobaczyć każdy model obok siebie:

Model Za żądanie 15 żądań OpenRouter, 15 żądań
GLM-5.3-Flash $0.00026 $0.004 $0.0068
DeepSeek-V4-Flash $0.00024 $0.0036 $0.0139
MiniMax-M2.7 $0.00069 $0.0104 $0.124

12 000 tokenów wejściowych i 600 tokenów wyjściowych na żądanie. Ceny za 1 mln tokenów są aktualne i zmieniają się wraz z naszymi taryfami; kolumna OpenRouter pokazuje ceny referencyjne dla tego samego obciążenia.

Następnie przeskaluj to do swojego harmonogramu. Trzy strony sprawdzane raz dziennie to 45 kroków; przeciągnij suwaki do własnych liczb.

Kalkulator kosztów

Jeden dzień sprawdzania cen: 3 strony, po 15 kroków

Tokeny wejściowe na żądanie: 12 000 · Tokeny wyjściowe na żądanie: 600 · Żądania dziennie: 45

ModelDziennieMiesięcznie
GLM-5.3-Flash$0.0119$0.356
DeepSeek-V4-Flash$0.0108$0.324
MiniMax-M2.7$0.0311$0.932

Wersja tej arytmetyki dla 50 kroków na trzech modelach jest w koszt sesji agenta. Jeśli wolisz GLM-5.3-Flash (kontekst 390K, do 8 192 tokenów wyjściowych), jego wiersz jest w tabeli powyżej; krótkie odpowiedzi z akcjami mieszczą się tutaj dobrze poniżej tego limitu. Aktualne ceny każdego modelu są na stronie cen.

Jeśli nie działa#

Zacznij od tekstu błędu. Te trzy to zwykli podejrzani:

Dopasuj pary

Dopasuj objaw do przyczyny

  • 401 UnauthorizedBrak klucza w .env lub literówka
  • 404 model not foundUżyto krótkiego identyfikatora modelu zamiast deepseek-ai/DeepSeek-V4-Flash-0731
  • {"navigate": "google.com"} zamiast {"navigate": {"url": ...}}Model zwrócił niewłaściwy schemat akcji

Ostatni przypadek jest opisany na stronie obsługiwanych modeli Browser Use (sprawdzone 8 listopada 2026) dla mniejszych modeli Qwen: mogą zwracać niewłaściwy schemat akcji. Poprawka sugerowana w dokumentacji to umieszczenie w prompcie przykładów poprawnego formatu akcji. Dodaj je do tekstu zadania, na przykład:

text
Actions are JSON objects like {"navigate": {"url": "https://..."}}.
Always put the url inside the object.

Jeśli uruchomienie kręci się w kółko, zawęź zadanie: jedna strona, jedno pytanie, odpowiedź w jednej linii. Krótkie zadania kończą się w mniejszej liczbie kroków, a mniej kroków to najtańsza poprawka, jaka istnieje.

Dalej: LangChain z niestandardowym base_url używa tego samego pomysłu base_url, jeśli budujesz własne łańcuchy wokół agenta przeglądarki.