กลับไปที่บล็อก

เอเจนต์และระบบอัตโนมัติคู่มือ

Browser Use บนโมเดลราคาถูก: การตั้งค่า base_url และค่าใช้จ่ายต่อรอบ

เชื่อมต่อ Browser Use กับ API ที่เข้ากันได้กับ OpenAI รันงานตรวจสอบราคาในบราวเซอร์จริง และประมาณการค่าใช้จ่ายต่อหนึ่งรอบ

โดย CheapTokens Teamเผยแพร่เมื่อ ใช้เวลาอ่าน 4 นาที

การกำหนดค่า Browser Use: ChatOpenAI พร้อม base_url และ model id แบบกำหนดเอง
ในหน้านี้
  1. ติดตั้งและชี้ไปที่ API
  2. agent ทำอะไรจริงบนหน้าราคา
  3. หนึ่งรอบมีค่าใช้จ่ายเท่าไร
  4. หากใช้งานไม่ได้

Browser Use รองรับ endpoint ที่เข้ากันได้กับ OpenAI ทุกตัว ดังนั้นการเชื่อมต่อกับ CheapTokens ใช้ค่าสามอย่าง: base_url, คีย์ของคุณ และ model id แบบเต็ม ด้านล่างคือ agent.py ที่เปิดหน้าสินค้า อ่านราคาและรายงานผล พร้อมประมาณการค่าใช้จ่ายต่อหนึ่งรอบจากราคาจริง

browser agent จะส่งข้อความจากหน้าเว็บไปยังโมเดลใหม่ทุกขั้นตอน ดังนั้นการประมาณการจึงมาก่อนตารางเวลา

ติดตั้งและชี้ไปที่ API#

README ของ Browser Use (ตรวจสอบเมื่อ 8 พฤศจิกายน 2026) ติดตั้งด้วย uv; ไลบรารีต้องใช้ Python 3.11+ และมีสัญญาอนุญาต MIT หน้า supported-models ในเอกสารแสดงรูปแบบสำหรับ custom endpoint: ChatOpenAI พร้อม base_url จากนั้น Agent(task=..., llm=llm)

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

ใส่คีย์ในไฟล์ .env ข้างสคริปต์ ห้ามใส่ในโค้ด:

bash
CHEAPTOKENS_API_KEY=your-key-here

จากนั้น 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())

รันด้วย uv run agent.py หากการรันครั้งแรกแจ้งว่าไม่พบบราวเซอร์ ให้ติดตั้งตามที่ Browser Use quickstart แสดงไว้ (uvx browser-use install, ตรวจสอบเมื่อ 8 พฤศจิกายน 2026)

บล็อก ChatOpenAI ที่มี base_url และ model id ของ CheapTokens
ส่วนเดียวที่เปลี่ยนไปเมื่อเทียบกับการตั้งค่าเริ่มต้น: model, base_url, key

ทำไมต้องโมเดลนี้: การรันในบราวเซอร์คือการเรียกหลายครั้งพร้อมบริบทหน้าเว็บที่ยาว DeepSeek-V4-Flash มีหน้าต่างบริบท 380K, เอาต์พุตสูงสุด 32,768 โทเคนต่อคำตอบ และราคาเดียวตลอดทุกช่วงเวลาของวัน id ต้องเป็น deepseek-ai/DeepSeek-V4-Flash-0731 แบบเต็ม — ชื่อย่อจากตารางราคาจะไม่ถูกยอมรับโดย API id อื่นๆ และพื้นฐานการเชื่อมต่ออยู่ใน เอกสาร CheapTokens

agent ทำอะไรจริงบนหน้าราคา#

สมมติงานของคุณคือ "แล็ปท็อปเครื่องนี้ราคาเท่าไรวันนี้" agent จะวนลูป: รับข้อความจากหน้าเว็บ ถามโมเดลว่าต้องทำอะไรต่อไป ดำเนินการในบราวเซอร์ (เปิด, เลื่อน, คลิก) และรับข้อความหน้าเว็บใหม่กลับมา ทำซ้ำจนกว่าโมเดลจะตัดสินใจว่ามีคำตอบแล้ว

ลูป: งาน, การเรียกโมเดล, การกระทำในบราวเซอร์, ข้อความหน้าเว็บใหม่
ทุกครั้งที่ผ่านลูปคือการเรียกโมเดลหนึ่งครั้ง และข้อความหน้าเว็บจะถูกส่งเข้าไปใหม่ทุกครั้ง

ลูกศรสุดท้ายนั่นคือตัวขับเคลื่อนค่าใช้จ่าย หน้าสินค้าอาจมีข้อความหลายพันโทเคน และมันเดินทางไปกับการเรียกทุกครั้ง โพสต์ในช่องเมื่อ 6 พฤศจิกายนระบุ Browser Use เป็นชั้นบราวเซอร์ของ shopping agent ที่เปรียบเทียบข้อเสนอและติดตามราคาที่ลดลง; แนวคิดเดียวกันนี้เหมาะกับการตรวจสอบหน้าเว็บหนึ่งหรือสองหน้าทุกวัน ดังในงานข้างต้น

เลือกกรณีของคุณ

browser agent เป็นเครื่องมือที่เหมาะสมกับการตรวจสอบของคุณหรือไม่?

ราคาจะปรากฏหลังการคลิกเท่านั้น

browser agent เหมาะสม มันเปิดหน้าเว็บในบราวเซอร์จริง เลือกขนาดหรือสี เลื่อนและอ่านสิ่งที่ปรากฏ การเขียนสิ่งนั้นเป็นสคริปต์หมายถึงการดูแล selector สำหรับทุกร้านค้า

URL คงที่หนึ่งรายการและองค์ประกอบราคาคงที่หนึ่งรายการ

สคริปต์ธรรมดาที่มี selector ถูกกว่า: ไม่มีการเรียกโมเดลเลย ใส่ขั้นตอนคงที่ในโค้ดและเก็บโมเดลไว้สำหรับส่วนที่เปลี่ยนแปลง อ่านเพิ่มเติมได้ที่ do agents need the model at every step

สองหรือสามร้านค้าที่มีเลย์เอาต์ต่างกัน

browser agent เหมาะสม ข้อความงานเดียวครอบคลุมเลย์เอาต์หน้าเว็บหลายแบบ และคุณเปรียบเทียบคำตอบบรรทัดเดียวในภายหลัง

ข้อควรระวังก่อนตั้งตารางเวลา: agent อ่านทุกอย่างที่หน้าเว็บบอก และหน้าเว็บอาจมีคำสั่งที่มุ่งเป้าไปที่ agent prompt injection checklist ครอบคลุมสิ่งที่ต้องทำ และงานข้างต้นห้ามซื้อด้วยเหตุผลเดียวกัน

หนึ่งรอบมีค่าใช้จ่ายเท่าไร#

อย่าเดา; ให้สมมติ สมมติว่าหนึ่งรอบใช้ 15 ขั้นตอน แต่ละขั้นตอนส่งงาน ประวัติ และหน้าเว็บปัจจุบัน: ประมาณ 12,000 input tokens และโมเดลตอบด้วยการกระทำสั้นๆ ประมาณ 600 tokens

15 × 12,000 = 180,000 input tokens และ 15 × 600 = 9,000 output tokens ต่อรอบ บน DeepSeek-V4-Flash รอบนั้นมีค่าใช้จ่าย $0.0036 โดย input อยู่ที่ $0.015 ต่อ 1M tokens input เป็น 20 เท่าของ output ในที่นี้ ซึ่งเป็นเรื่องปกติสำหรับงานบราวเซอร์ และเมื่อนับรวมกันทั้งหมด ราคาต่ำกว่าค่าอ้างอิงของ OpenRouter สำหรับโมเดลนี้

ตารางด้านล่างใช้ตัวเลขต่อขั้นตอนเดียวกันสำหรับ 15 ขั้นตอน เพื่อให้คุณเห็นแต่ละโมเดลเทียบกัน:

โมเดล ต่อคำขอ 15 คำขอ OpenRouter, 15 คำขอ
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 โทเค็นอินพุตและ 600 โทเค็นเอาต์พุตต่อคำขอ ราคาต่อ 1M โทเค็นเป็นราคาปัจจุบันและเปลี่ยนแปลงไปพร้อมกับอัตราค่าบริการของเรา คอลัมน์ OpenRouter แสดงราคาอ้างอิงสำหรับปริมาณงานเดียวกัน

จากนั้นขยายตามตารางเวลาของคุณ สามหน้าตรวจสอบวันละครั้งคือ 45 ขั้นตอน; ลากสไลเดอร์เป็นตัวเลขของคุณเอง

เครื่องคำนวณค่าใช้จ่าย

หนึ่งวันของการตรวจสอบราคา: 3 หน้า, 15 ขั้นตอนต่อหน้า

โทเค็นอินพุตต่อคำขอ: 12,000 · โทเค็นเอาต์พุตต่อคำขอ: 600 · คำขอต่อวัน: 45

โมเดลต่อวันต่อเดือน
GLM-5.3-Flash$0.0119$0.356
DeepSeek-V4-Flash$0.0108$0.324
MiniMax-M2.7$0.0311$0.932

เวอร์ชัน 50 ขั้นตอนของการคำนวณนี้บนสามโมเดลอยู่ใน agent session cost หากคุณชอบ GLM-5.3-Flash (บริบท 390K, เอาต์พุตสูงสุด 8,192 tokens) แถวของมันอยู่ในตารางด้านบน; คำตอบการกระทำสั้นๆ ในที่นี้พอดีกับขีดจำกัดนั้นมาก ราคาปัจจุบันของทุกโมเดลอยู่ในหน้าราคา

หากใช้งานไม่ได้#

เริ่มจากข้อความแสดงข้อผิดพลาด สามข้อนี้คือตัวการปกติ:

จับคู่

จับคู่อาการกับสาเหตุ

  • 401 Unauthorizedคีย์หายไปจาก .env หรือพิมพ์ผิด
  • 404 model not foundใช้ model id แบบสั้นแทน deepseek-ai/DeepSeek-V4-Flash-0731
  • {"navigate": "google.com"} แทน {"navigate": {"url": ...}}โมเดลส่งคืน schema การกระทำที่ผิด

ข้อสุดท้ายอธิบายไว้ในหน้า supported-models ของ Browser Use (ตรวจสอบเมื่อ 8 พฤศจิกายน 2026) สำหรับโมเดล Qwen ขนาดเล็ก: พวกมันอาจส่งคืน schema การกระทำที่ผิด วิธีแก้ที่เอกสารแนะนำคือใส่ตัวอย่างรูปแบบการกระทำที่ถูกต้องลงใน prompt เพิ่มลงในข้อความงาน ตัวอย่างเช่น:

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

หากการรันวนซ้ำไปมา ให้แคบงานลง: หนึ่งหน้า หนึ่งคำถาม คำตอบบรรทัดเดียว งานสั้นจบในขั้นตอนน้อยลง และขั้นตอนน้อยลงคือวิธีแก้ที่ถูกที่สุดที่มี

ต่อไป: LangChain with a custom base_url ใช้แนวคิด base_url เดียวกันหากคุณสร้าง chain ของคุณเองรอบ browser agent