Browser Use ajanınız, dizüstü bilgisayarınızdan çalışırken test mağazanızda sorunsuzca deneme siparişi veriyor. Aynı görevi bulut sunucusuna taşıdığınızda site, başka bir ülkedeki bir veri merkezi adresinden açılıyor: mağaza farklı bir para birimi gösteriyor, yalnızca tanıdığı IP'leri içeri alan test ortamı güvenlik duvarınız da ajanı geri çeviriyor. Proxy'yi http://user:pass@pr.proxynet.io:8000 diye ekliyorsunuz ve bu kez hiçbir sayfa açılmıyor, hepsi net::ERR_NO_SUPPORTED_PROXIES hatası veriyor.
Bu yazıda Browser Use'un nasıl çalıştığını, kurulumu, kullanıcı adı ve parolayla çalışan proxy'yi, çıkış IP'si kontrolünü, sticky ve rotating oturumları, alan adı sınırını, gizli bilgileri ve insan onayı adımını anlatıyoruz. Tüm betikleri browser-use 0.13.10 ve Python 3.13 ile, parola isteyen yerel bir test proxy'si üzerinden çalıştırdık. Test makinesinde bir LLM API anahtarı olmadığı için modelin cevaplarını önceden yazılmış bir test betiği verdi; tarayıcı, proxy, alan adı filtresi ve gizli bilgilerin maskelenmesi ise gerçekten çalıştı.
Browser Use nedir?
Browser Use, bir dil modelini tarayıcı ajanına dönüştüren bir Python kütüphanesidir. Görevi sade bir dille yazarsınız; hangi bağlantıya tıklanacağına, nereye ne yazılacağına ve ne zaman kaydırılacağına model karar verir. GitHub deposu projeyi "Agents that use the browser" (tarayıcıyı kullanan ajanlar) diye tanımlar. Kütüphane MIT lisanslıdır; PyPI üzerindeki son sürüm bugün itibarıyla 4 Eylül 2026'da yayımlanan 0.13.10'dur ve Python 3.11 ya da daha yenisini ister.
0.13.10 sürümü Chromium ile doğrudan Chrome DevTools Protocol (CDP) üzerinden iletişim kurar; Playwright bağımlılıkları arasında yer almaz. Model olarak OpenAI, Anthropic ve Google modellerini, yerel bir Ollama sunucusunu ya da Browser Use'un kendi barındırdığı modelleri kullanabilirsiniz. Browser Use Cloud ise barındırılan tarayıcılar sunan ayrı ve ücretli bir hizmettir; bu yazının konusu değildir.
Bir ajanın genel olarak nasıl plan yaptığı ve araç kullandığı AI Ajanları Nasıl Çalışır? yazımızda, ajanı tarayıcının içine yerleştiren ürünler ise Yapay Zekâ Tarayıcısı (AI Browser) Nedir, Güvenli mi? yazımızda anlatılıyor.
Browser Use ajanı nasıl çalışır?
Tek bir agent.run() çağrısı şu adımlardan geçer:
- Tarayıcı açılır. Her seferinde yeni ve geçici bir profil kullanılır; proxy, Chromium'a açılış parametresi olarak verilir.
- Görevdeki adres doğrudan açılır. Bunun için model çağrılmaz.
- Sayfa metne dönüştürülür. Ajanın kullanabileceği her öğeye bir numara verilir, görünen metin de yanına yazılır.
use_vision=True(varsayılan) olduğunda bir ekran görüntüsü de eklenir. - Model JSON ile cevap verir: son adımın değerlendirmesi, kısa bir not, sıradaki hedef ve en fazla beş eylem; örneğin
navigate,click,input,scroll,extractya dadone. - Kütüphane eylemleri uygular. Her yeni adresi alan adı kurallarınızla karşılaştırır ve modelin yer tutucu yazdığı yere gerçek gizli değeri koyar.
- Döngü sürer. Model
donediyene ya damax_stepsdolana kadar devam eder.
Alıştırma için yapılmış bir kitap mağazası sitesinde, test modelimize giden tarayıcı durumu (browser state) şu satırları içeriyordu:
[587]<a title=It's Only the Himalayas />
It's Only the Himalayas
£45.17
[597]<i />
In stock
[604]<button type=submit />
Add to basketBu kitabı sepete eklemek için model {"click": {"index": 604}} diye cevap verirdi. Sayfa metin olarak geldiği için ajan use_vision=False ayarıyla da çalışır; bu ayar hassas sayfaların ekran görüntülerini model sağlayıcısından uzak tutar.
Browser Use nasıl kurulur?
Resmî hızlı başlangıç rehberi uv kullanır:
pip install uv
uv venv --python 3.12
source .venv/bin/activate # Windows: .venv\Scripts\activate
uv pip install browser-use
uvx browser-use install # Chromium'u indirirBiz uv kullanmadan, Python 3.13 sanal ortamına pip install browser-use==0.13.10 ile kurduk; bu da sorunsuz çalıştı. Ardından anahtarları betiğinizin yanındaki bir .env dosyasına yazın:
OPENAI_API_KEY=...
PROXY_SERVER=http://pr.proxynet.io:8000
PROXY_USERNAME=user
PROXY_PASSWORD=pass
ANONYMIZED_TELEMETRY=falseSon satır önemlidir. Browser Use varsayılan olarak kullanım verisi (telemetri) gönderir; telemetri sayfasına göre bu veri görev talimatlarını, ziyaret edilen adresleri, eylem kayıtlarını ve sonuçları içerebilir. Görevleriniz müşterilerden ya da iç sistemlerden söz ediyorsa telemetriyi kapatın.
Windows test makinesinde iki şey bizi şaşırttı. executable_path verilmediğinde Browser Use bilgisayarda kurulu Google Chrome'u seçti; ama günlük profilinizi değil, yeni ve geçici bir profili kullandı. İlk açılışta da biri reklam engelleyici olmak üzere üç eklentiyi doğrudan Chrome Web Mağazası'ndan, proxy'nin dışından indirdi. enable_default_extensions=False bu eklentileri kapatır.
Ajan proxy üzerinden nasıl çalıştırılır?
Proxy, Browser nesnesinin bir ayarıdır; ajana da bu tarayıcı verilir. Aşağıdaki betik bir kategori sayfasını açıp üç kitabı okur; trafik yalnızca proxy'den çıkar ve yalnızca tek bir alan adına gider:
"""Bir Browser Use ajanını parolalı proxy üzerinden, tek bir siteyle sınırlı çalıştır."""
import asyncio
import os
from dotenv import load_dotenv
load_dotenv() # OPENAI_API_KEY, PROXY_* ve ANONYMIZED_TELEMETRY değerlerini .env dosyasından okur
from browser_use import Agent, Browser, ChatOpenAI
from browser_use.browser import ProxySettings
browser = Browser(
headless=True,
proxy=ProxySettings(
server=os.environ["PROXY_SERVER"], # http://pr.proxynet.io:8000
username=os.environ["PROXY_USERNAME"],
password=os.environ["PROXY_PASSWORD"],
),
allowed_domains=["books.toscrape.com"],
enable_default_extensions=False,
)
agent = Agent(
task=(
"https://books.toscrape.com/catalogue/category/books/travel_2/index.html adresini aç "
"ve ilk üç kitabın adını ve fiyatını listele."
),
llm=ChatOpenAI(model="gpt-4.1-mini"),
browser=browser,
use_vision=False,
)
async def main():
history = await agent.run(max_steps=10)
print("result:", history.final_result())
print("pages: ", [u for u in history.urls() if u])
print("steps: ", history.number_of_steps())
asyncio.run(main())ProxySettings paketin üst düzeyinden değil, browser_use.browser modülünden içe aktarılır. Tarayıcı parametreleri sayfası dört alan sayar:
| Alan | Ne alır |
|---|---|
server | http://sunucu:port ya da socks5://sunucu:port, kimlik bilgisi olmadan |
username | Proxy kullanıcı adı (örneğin Endpoint Oluşturucu'nun ürettiği) |
password | Proxy parolası |
bypass | Proxy'ye uğramayacak sunucular, virgülle ayrılır |
Perde arkasında Browser Use, Chromium'u --proxy-server parametresiyle başlatır ve proxy'nin 407 kimlik doğrulama isteğine CDP üzerinden kendisi cevap verir. Test proxy'miz kitap sayfası için tam olarak bunu kaydetti (kısaltılmış, zaman damgaları çıkarılmış):
407 CONNECT books.toscrape.com:443 (no credentials)
200 CONNECT books.toscrape.com:443 user=userProxy kullanıcı adı ve parolası, modele giden hiçbir metinde görünmedi.
Proxy adresine user:pass yazılınca neden çalışmaz?
Çünkü Chromium, proxy ayarlarına gömülü kimlik bilgilerini kullanmaz; Chromium'un proxy belgesi bunu açıkça yazar. Testimizde server="http://user:pass@…" yazıp ayrı alanları boş bıraktığımızda her gezinme net::ERR_NO_SUPPORTED_PROXIES ile bitti. Kimlik bilgilerini username ve password alanlarına yazın.
SOCKS5'te sınır başkadır: Chromium, SOCKS5 için hiçbir kimlik doğrulama yöntemini desteklemez. SOCKS5 test sunucumuz, tarayıcının yalnızca "kimlik doğrulamasız" yöntemi önerdiğini gördü; sayfa da ERR_SOCKS_CONNECTION_FAILED hatası verdi. SOCKS5 kullanacaksanız sunucunuzun IP'sini paneldeki IP whitelist'e ekleyin (en fazla 10 adres) ve Endpoint Oluşturucu'nun gösterdiği SOCKS5 portunu kullanıcı adı olmadan kullanın. Bu durumda DNS çözümlemesi proxy tarafında yapılır. İki giriş yöntemi Proxy Kimlik Doğrulama: User:Pass ve IP Whitelist yazımızda, iki protokol ise SOCKS ve HTTP Proxy Farkı yazımızda karşılaştırılıyor.
Ajanın çıkış IP'si nasıl kontrol edilir?
İlk gerçek görevden önce, işin içine model katmadan kontrol edin. Aşağıdaki betik aynı ProxySettings ayarıyla ziyaretçinin IP'sini gösteren bir sayfa açar ve sitenin gördüğünü yazdırır:
"""Herhangi bir ajan çalışmadan önce proxy üzerinden bir IP gösterme sayfası aç."""
import asyncio
import os
from browser_use import Browser
from browser_use.browser import ProxySettings
async def main():
browser = Browser(
headless=True,
proxy=ProxySettings(
server=os.environ["PROXY_SERVER"],
username=os.environ["PROXY_USERNAME"],
password=os.environ["PROXY_PASSWORD"],
),
)
await browser.start()
try:
page = await browser.new_page("https://httpbin.org/ip")
await asyncio.sleep(2) # sayfanın yüklenmesini bekle
print(await page.evaluate("() => document.body.innerText"))
finally:
await browser.kill()
asyncio.run(main())Betik, httpbin'in origin alanı taşıyan JSON cevabını yazdırır. Bir Proxynet uç noktası kullanıyorsanız bu değer sizin IP'niz değil, çıkış IP'sidir. Betiği iki kez çalıştırın: rotating bir kullanıcı adı iki farklı adres gösterebilir, sticky bir kullanıcı adı ise iki seferde de aynı adresi gösterir.
Proxy kaydımızda Chrome'un Google hizmetlerine giden kendi istekleri ve Browser Use'un boş açılış sayfasındaki logonun isteği de göründü. Proxy trafiğini GB başına ödüyorsanız bunlar da sayaca yazılır.
Rotating mi sticky mi: ajana hangi oturum gerekir?
Proxy tarayıcıya ait olduğu için bir görevin bütün adımları aynı proxy adresinden çıkar. Değişen, o adresin arkasındaki çıkış IP'sidir.
| Görev | Oturum | Neden |
|---|---|---|
| Giriş yapıp birkaç sayfada işlem yapmak | Sticky, 10-30 dakika | Birçok site oturumu IP'ye bağlar; görevin ortasında adres değişirse yeniden giriş istenebilir |
| Her çalıştırmada tek ve bağımsız bir sayfa okumak | Rotating | Her çalıştırma yeni bir çıkış alabilir; taşınacak bir şey yoktur |
| Aynı anda birkaç ajan | Her ajana bir Browser | Her tarayıcının kendi proxy ayarı ve oturumu olur |
| Kendi sistemlerinizin izin listesindeki sabit bir adres | Static ISP | IP günlerce aynı kalır |
Proxynet'te rotating ya da sticky oturumu, ülkeyi ve şehri Endpoint Oluşturucu'da seçersiniz; sticky süresi 1 ile 60 dakika arasındadır. Oluşturucunun ürettiği kullanıcı adı bu seçimleri zaten taşır; onu PROXY_USERNAME değerine olduğu gibi yapıştırın. Sticky süresini en uzun görevinizden biraz uzun tutun. İlgili ürünler: Sticky Proxy, Rotating Proxy, ISP Proxy ve bir ülkedeki ev bağlantısı görünümü gereken kontroller için Residential Proxy. Rotasyonun işleyişi IP Rotasyonu Nedir ve Nasıl Çalışır? yazımızda anlatılıyor.
Ajanın gidebileceği yerler nasıl sınırlanır?
allowed_domains bir kalıp listesi alır: example.com, alt alan adları için *.example.com, iki şema için http*://example.com. Üst düzey alan adında joker karakter kabul edilmez. prohibited_domains ters yönde çalışır; ikisi birlikte verilirse izin listesi geçerli olur.
Yalnızca yerel test mağazamıza izin verdik ve test modelimizle listenin dışına iki yoldan çıkmayı denedik. Başka bir sunucuya doğrudan navigate denemesinde model şu cevabı aldı, açık sayfa da about:blank oldu:
Navigation failed: Navigation to http://partner.test:28140/ blocked by security policyMağazadaki bir bağlantının ziyaretçiyi aynı sunucuya yönlendirmesi de about:blank ile sonuçlandı ve model o sayfanın metnini hiç görmedi. Ancak test sitesinin kendi kaydı, kontrol devreye girip sayfaları değiştirmeden önce tarayıcının liste dışındaki iki sayfayı da istediğini gösterdi; izinli bir sayfadaki, liste dışı sunucudan gelen bir görsel de normal biçimde yüklendi. Kısacası 0.13.10'da bu filtre, tarayıcının ne gönderdiğini değil, ajanın neyi okuyup neyin üzerinde işlem yaptığını denetler.
Gerçek bir sınır için giden trafiği ajanın dışında kısıtlayın: bir güvenlik duvarı ya da proxy tarafında izin listesi, ayrı bir konteyner ya da kullanıcı hesabı, iç adreslere erişimin kapalı olması. Playwright MCP'nin origin bayrakları için de aynı uyarı geçerlidir; ayrıntısı Playwright MCP Nedir? Kurulum ve Proxy Ayarları yazımızda. Genel yaklaşımı LLM'e Güvenli Web Erişimi: Hız Sınırı ve İzinler yazımızda anlattık.
Kimlik bilgileri modelden nasıl uzak tutulur?
Görev metnine asla parola yazmayın. Görev metni her adımda model sağlayıcısına gider ve kapatmadıysanız telemetriye de düşer. Browser Use'ta bunun için bir yer tutucu düzeneği var: sensitive_data. Gerçek değerleri kodda verirsiniz, model yalnızca x_user ve x_pass gibi adları görür; kütüphane gerçek değeri, model cevap verdikten sonra alana kendisi yazar.
Testimizde modelin eylemi <secret>x_pass</secret> biçimindeydi, kayıtta "Typed <sensitive>" satırı çıktı; sayfa kullanıcı adını geri yazdığında da modele giden metin Signed in as <secret>x_user</secret> oldu. Gerçek değerler modele giden hiçbir metinde görünmedi. Üç alışkanlık bu düzeneği tamamlar:
- Gizli bilgileri bir alan adına bağlayın, yer tutucu yalnızca ait olduğu sitede doldurulsun.
- Ekran görüntüsünün değeri gösterebileceği sayfalarda
use_vision=Falsekullanın. - Dış sayfaları okuyan görevlerde ajana günlük Chrome profilinizi vermeyin (
Browser.from_system_chrome()): o profildeki her açık oturum ajanın erişimine girer.
İnsan onayı adımı nasıl eklenir?
Dolaylı prompt injection, sayfadaki bir metnin model tarafından talimat sanılmasıdır. OWASP'ın LLM01 maddesi yüksek riskli eylemler için insan onayını savunma yolları arasında sayar. Browser Use, register_new_step_callback işlevini model eylemlerini seçtikten sonra ve bu eylemler uygulanmadan önce çağırır; bu yüzden işlev ajanı durdurabilir:
"""İzin listesi, gizli bilgi yer tutucuları ve insan onayı adımı olan bir Browser Use ajanı."""
import asyncio
import os
from dotenv import load_dotenv
load_dotenv()
from browser_use import Agent, Browser, ChatOpenAI
from browser_use.browser import ProxySettings
SITE = "https://shop.example.com"
READ_ONLY = {"navigate", "scroll", "find_text", "extract", "screenshot", "go_back", "wait", "done"}
browser = Browser(
headless=True,
proxy=ProxySettings(
server=os.environ["PROXY_SERVER"],
username=os.environ["PROXY_USERNAME"],
password=os.environ["PROXY_PASSWORD"],
),
allowed_domains=["shop.example.com"],
enable_default_extensions=False,
)
def approve(browser_state, model_output, step):
"""Model eylemlerini seçtikten sonra, eylemler uygulanmadan önce çalışır."""
planned = [action.model_dump(exclude_none=True) for action in model_output.action]
if all(next(iter(a)) in READ_ONLY for a in planned):
return
print(f"Step {step} wants to run: {planned}")
if input("Allow? [y/N] ").strip().lower() != "y":
agent.stop()
agent = Agent(
task=f"{SITE}/login adresinde x_user kullanıcı adı ve x_pass parolasıyla giriş yap, sonra iş ortağı teklifini aç.",
llm=ChatOpenAI(model="gpt-4.1-mini"),
browser=browser,
sensitive_data={"http*://shop.example.com": {"x_user": os.environ["SHOP_USER"], "x_pass": os.environ["SHOP_PASS"]}},
use_vision=False,
register_new_step_callback=approve,
)
async def main():
history = await agent.run(max_steps=8)
print("done: ", history.is_done())
print("errors:", [e for e in history.errors() if e])
asyncio.run(main())Betiği alan adını değiştirerek yerel test mağazamızda çalıştırdık. Önce giriş adımı onay istedi; "y" yazınca ajan iki değeri de yazıp düğmeye tıkladı. Sonraki bir tıklama yeniden onay istedi; "n" yazınca kayıtta "Agent stopping" satırı çıktı, tıklama hiç uygulanmadı ve is_done() False döndü. Salt okuma kümesinin dışındaki her eylem, metin yazmak da dahil, artık bir insanın onayını bekler.
Browser Use mu, Playwright MCP mi?
İkisi de modele tarayıcı kullandırır; fark, döngüyü kimin yürüttüğündedir.
| Browser Use | Playwright MCP | |
|---|---|---|
| Ajan döngüsünü kim yürütür | Kütüphane, sizin Python kodunuzda | Zaten kullandığınız asistan (Claude Code, Cursor) |
| Parolalı proxy | ProxySettings alanları | Yapılandırma dosyasında launchOptions.proxy |
| Alan adı sınırı | allowed_domains | --allowed-origins |
| Uygun olduğu iş | Kendi servisinizin içindeki ajanlar | Kodlama asistanıyla yapılan anlık işler |
Playwright MCP'nin kurulumunu ve bayraklarını Playwright MCP Nedir? Kurulum ve Proxy Ayarları yazımızda anlattık.
Kullanım alanları
- Kendi sitenizde yerelleştirme kontrolü: bir ülkeden gelen ziyaretçinin hangi dili, para birimini ve çerez bildirimini gördüğünü denetlemek (yerelleştirme).
- Kendi uygulamanızda keşif amaçlı test: test ortamındaki kayıt ya da ödeme akışını farklı konumlardan yürütmek (uygulama testi).
- JavaScript ile yüklenen bir sayfadan tek seferlik okuma: tarayıcıda oluşan herkese açık bir sayfadan birkaç değer almak (statik ve dinamik sayfalar). Düzenli işlerde sade bir betik daha ucuzdur (Playwright ile proxy kullanımı).
- Model için tarayıcı yerine temiz metin: ajanın yalnızca okuması gerekiyorsa Crawl4AI Nedir? Kurulum ve Proxy Ayarları yazımıza bakın.
Sizin adınıza gezinen bir ajanın trafiği de otomatik trafiktir. Browser Use 0.13.10 robots.txt dosyasını okumaz (pakette buna dair kod bulamadık); bu yüzden sitenin robots.txt dosyasını ve kullanım şartlarını kendiniz okuyun, varsa resmî API'yi kullanın, az sayıda sayfayla ve insan hızında ilerleyin, site hayır dediğinde durun. Sitelerin otomatik ziyaretçiyi neden ayırt etmeye çalıştığını AI Alışveriş Ajanları Neden Sitelerde Engelleniyor? yazımızda anlattık. Browser Use Cloud için duyurulan gizlenme (stealth) ve CAPTCHA özellikleri bu yazının kapsamı dışındadır ve bunları önermiyoruz.
Sık yapılan hatalar
| Gördüğünüz | Neden | Yapılacak |
|---|---|---|
net::ERR_NO_SUPPORTED_PROXIES | Kimlik bilgileri server adresine yazılmış | Bilgileri username ve password alanlarına taşıyın |
net::ERR_TOO_MANY_RETRIES | Proxy kullanıcı adı ya da parolası yanlış; proxy 407 döndürmeyi sürdürüyor | Kimlik bilgilerini panelden yeniden kopyalayın |
net::ERR_PROXY_CONNECTION_FAILED | Sunucu ya da port yanlış ya da giden trafik engelleniyor | Aynı adresi cURL ile deneyin |
ERR_SOCKS_CONNECTION_FAILED | socks5:// parolayla kullanılmış | HTTP uç noktasını ya da IP whitelist ile SOCKS5'i kullanın |
blocked by security policy | Adres allowed_domains dışında | Alan adını listeye ekleyin ya da engelli bırakın |
| Ajan görevin ortasında yeniden giriş yapıyor | Rotating çıkış, görev sürerken IP'yi değiştirdi | Sticky oturum kullanın |
İki alışkanlık hiçbir hata vermeden sorun çıkarır: allowed_domains listesini güvenlik duvarı saymak ve sürümü sabitlememek. API sürümler arasında değişti; test ettiğiniz sürümü sabitleyin (browser-use==0.13.10) ve yükseltmeden önce sürüm notlarını okuyun.
Karar rehberi
| İhtiyaç | Öneri |
|---|---|
| Proxy üzerinden ilk ajan çalıştırması | HTTP uç noktası, kullanıcı adı ve parolayla ProxySettings; ardından IP kontrol betiği |
| Giriş içeren çok adımlı görev | Görevden uzun bir sticky oturum |
| Birbirinden bağımsız tek sayfalık çalıştırmalar | Rotating oturum |
| Ajanı tek bir sitede tutmak | allowed_domains, ek olarak ajanın dışında giden trafik için izin listesi |
| Bir şeyi değiştiren eylemler | agent.stop() çağırabilen bir onay işlevi |
Sıkça sorulan sorular
Browser Use ücretsiz mi?
Kütüphane MIT lisansıyla ücretsizdir. Model çağrılarını (adım başına en az bir tane) ve proxy trafiğini ödersiniz. Browser Use Cloud ve barındırılan modelleri ayrıca ücretlendirilir.
Browser Use hâlâ Playwright kullanıyor mu?
Tarayıcıyı yönetmek için kullanmıyor. 0.13.10 sürümü Chromium'u Chrome DevTools Protocol üzerinden yönetir; kurulum komutu Chromium'u Playwright'ın indirme aracıyla indirir, kaydedilen oturum durumu da Playwright'ın dosya biçimini kullanır.
API yerine yerel bir model kullanabilir miyim?
Browser Use'un desteklenen modeller sayfası, yerel bir Ollama sunucusu için ChatOllama(model="llama3.1:8b") örneğini veriyor. Yerel modeli biz test etmedik.
İki ajan aynı anda farklı ülkelerden çıkabilir mi?
Evet; her biri kendi ProxySettings ayarına sahip iki ayrı Browser nesnesiyle. Bir tarayıcının bütün sekmeleri tek bir proxy kullanır.
Browser Use robots.txt dosyasına uyar mı?
Kendiliğinden uymaz; 0.13.10'da robots.txt kontrolü yok. Ajana bir site vermeden önce dosyayı kendiniz okuyun.
Proxy, sitelerin ajanımı engellemesini önler mi?
Hayır. Proxy yalnızca isteğin hangi adresten çıktığını değiştirir; tarayıcının davranışı ve istek hızı aynı kalır. Kalıcı çözüm yavaş bir tempo, izin verilen sayfalar ve varsa resmî API'dir.
Özet
Browser Use, bir dil modeline gerçek bir Chromium tarayıcısı verir ve ajan döngüsünü sizin Python kodunuzda yürütür. Proxy'yi tarayıcıya ProxySettings ile ve ayrı username, password alanlarıyla tanımlayın; adrese gömülü kimlik bilgileri de parolalı SOCKS5 de Chromium'da çalışmaz. İlk görevden önce çıkış IP'sini kontrol edin, giriş içeren her iş için sticky oturum kullanın ve allowed_domains listesini ağ sınırı değil, ajan için bir filtre olarak görün. Gizli bilgileri sensitive_data ile verin, telemetriyi kapatın ve bir şeyi değiştiren eylemlerin önüne insan onayı koyun. Ajanınıza uygun çıkış noktalarını proxy hizmetlerimizde bulabilirsiniz.




