AX Code’u edinin · ÜcretsizBelgeler

Bu sayfa İngilizce belgenin çevirisidir. Komutlar, tanımlayıcılar ve örnekler aynıdır. Çalışma zamanı 7.24.4 · SDK 2.6.7. İngilizce kaynak

WebMCP tarayıcı köprüsü

Durum: Deneysel Kapsam: genel, güncel durum Son inceleme: 2026-10-10 Sahip: AX Code bakımcıları

WebMCP köprüsü, ajanın yalıtılmış bir Chrome penceresinde sayfa açmasına, onları okumasına ve isteğe bağlı olarak üzerinde işlem yapmasına olanak tanır. Deneyseldir, varsayılan olarak kapalıdır ve Chrome 150 veya daha yenisini gerektirir.

WebMCP önerilen bir web standardıdır. Bir sayfa yapılandırılmış araçlar kaydedebilir: bir ad, bir açıklama ve bir girdi şeması. Böylece bir ajan bu eylemleri doğrudan çağırabilir. AX Code bir sayfanın kaydettiği araçları tüketir ve sayfanın kendisini de okuyup üzerinde işlem yapabilir.

Codex ve ChatGPT Work, aynı standardın yerleşik tarayıcı sürümünü site araçları olarak belgeler. O sayfa masaüstü uygulamasının WebMCP özelliğini nasıl açtığını, bir ziyaretçinin sitenin sunduğu araçları nasıl incelediğini ve bir site yazarının bir aracı nasıl kaydettiğini gösterir. Aşağıdaki adımlar AX Code adımlarıdır.

Chrome ile etkinleştirme

  1. Google Chrome 150 veya daha yenisini kurun. Aynı ana sürümdeki Chromium da çalışır. AX Code kendi Chrome penceresini taze bir profilde başlatır ve zaten açık bir Chrome penceresine dokunmaz.
  2. Terminal arayüzünü ax-code ile başlatın.
  3. Kenar çubuğu altbilgisindeki WebMCP çipine veya Giriş istemi altbilgisindeki aynı çipe tıklayın ya da /webmcp çalıştırın. Tıklama veya komut onaydır. Bundan önce tarayıcı başlamaz. AX Code, tarayıcıyı başlatmadan, olağan yerlerde Chrome 150 veya daha yenisinin kurulu olup olmadığını denetler ve değilse uyarır; denetim bir öğüttür ve denemeyi asla engellemez. Seçiminiz kullanıcı yapılandırmanıza kaydedilir; köprü sonraki başlangıçta başka bir tıklama olmadan yeniden açılır.
  4. AX Code bu yalıtılmış pencereyi WebMCP özelliği etkin olarak açar (--enable-features=WebMCP). Siz orada elle oturum açana kadar pencerede oturum yoktur.
  5. Ajandan bir sayfa açmasını isteyin. Ürün varsayılanında gezinme kısıtsızdır. Yapılandırılmış veya yönetilen bir köken listesi bunu daraltır.
  6. Köprüyü kapatmak için çipe yeniden tıklayın. Bu, geçici oturum izinlerini sonlandırır; kayıtlı onaylar MCP ayarlarında siz iptal edene kadar kalır.

Çip, etkileşim katmanı açıkken [act] gösterir. Ürün varsayılanı bu katmanı içerir. Kapatmak için interact değerini girdinin webmcp profilinde false yapın. Daha önce kaydettiğiniz bir girdi, sahip olduğu katmanları korur.

ax-code mcp webmcp bir yapılandırma parçası yazdırır. Paket kurmaz, sunucu bağlamaz veya dosya yazmaz. Etkileşim katmanı açık bir girdi yazdırmak için --interact ekleyin ya da belirli bir Chrome 150+ ikilisini adlandırmak için --executable-path /absolute/path/to/chrome ekleyin. Bu yol ayarlandığında AX Code başlatmadan önce ikilinin ana sürümünü denetler.

Kendi açtığınız bir Chrome penceresindeki araçlar

Yukarıdaki yalıtılmış pencerede WebMCP zaten etkindir. Bir site geliştirirken kullandığınız Chrome profilinde sayfa araçlarını denemek için Chrome WebMCP rehberini izleyin:

  1. chrome://flags/#enable-webmcp-testing adresini açın.
  2. Bayrağı Etkin yapın.
  3. Chrome uygulamasını yeniden başlatın.

Bu bayrak açtığınız Chrome profiline uygulanır. AX Code köprüsü yine çipten başlar.

İstem ipucu

Köprü kapalıyken bir URL veya yerel sunucu adlandıran bir istem (örneğin localhost:3000) çipe ve /webmcp değerine tek satırlık bir işaret gösterir. Oturum başına en fazla bir kez ve toplamda üç kez görünür ve ajana gönderileni asla değiştirmez.

Ajanın yapabilecekleri

Katman Araçlar Onay
Sayfalar sayfa listeleme, açma, gezinme, kapatma; bir sayfanın WebMCP üzerinden kaydettiği araçları çalıştırma desteklenen bir kapsam kaydedilmedikçe her çağrı
Okuma sayfa anlık görüntüsü, ekran görüntüsü, konsol, istek üst verisi oturum başına köken başına bir izin ya da kayıtlı bir okuma onayı
Etkileşim tıklama, üzerine gelme, bekleme, doldurma, form doldurma, tuşa basma, iletişim kutularını yanıtlama aşağıya bakın

Sayfa içeriği güvenilmezdir: bir sayfa ajanı yönlendirmeye çalışabilir. Çıktı kökeniyle etiketlenir ve boyutla sınırlanır.

Bir onayı kaydetme

Uygun istemler kırmızı arka planla WebMCP izin listesine ekle seçeneği sunar. Onu seçin, kapsamı gözden geçirin, ardından Ekle ve izin ver seçin. Kayıtlı onaylar bu makinedeki bu projeye uygulanır ve tarayıcı yeniden bağlanmaları ile AX Code yeniden başlatmalarından sonra da kalır.

  • Sayfa listeleme, AX Code tarayıcısı için list_pages onaylar; tüm açık kökenlerden başlıklar ve URL değerleri dahildir. Sayfa içeriğini onaylamaz.
  • Gezinme, tek bir tam kökene açmayı veya gezinmeyi onaylar.
  • Okuma, tek bir tam kökende anlık görüntü, ekran görüntüsü, konsol ve ağ üst verisini onaylar. Diğer kökenler ve bağlantı noktaları kendi onaylarını ister.
  • Kapatma, kaydedilmemiş işi olan sayfalar dahil, o anda tek bir tam kökendeki herhangi bir sayfayı kapatmayı onaylar. Ayrı bir seçimdir: gezinme ve okuma onayları bunu vermez. Hedef köken kapatmadan önce yeniden denetlenir.

İlk okuma onayından sonra AX Code, sayfayı yeniden denetledikten sonra aynı çağrıda o okumayı sürdürür. Bir sayfa veya köprü değişikliği çağrıyı durdurur ve taze bir okuma ister. Başarısız bir tarayıcı işlemini yeniden oynatmaz.

Gezinme kısıtları ve yönetici ilkesi yine geçerlidir. Bir onay kaydetmek allowedOrigins dosyasını düzenlemez. Yazma, sonuç doğuran tıklamalar, iletişim kutuları ve sayfanın kaydettiği araçlar mevcut onaylarını korur. Bir kez izin ver geçici kalır; geri sayım kalıcı bir onay kaydetmez.

WebMCP çipinin yanındaki WebMCP izin listesi bağlantısını seçin (oturum kenar çubuğu altbilgisi ve Giriş istemi altbilgisi), /webmcp-allowlist çalıştırın veya /mcp açın, köprüyü seçin ve Ctrl+G basın. Bir girdiyi iptal etmek için çift tıklayın veya Enter tuşuna iki kez basın; ilk etkinleştirme satırı işaretler ve birkaç saniye içindeki ikincisi onaylar, bu yüzden tek tıklama asla iptal etmez. Temizleme satırı, bu projedeki o köprü için kayıtlı tüm onayları aynı biçimde iptal eder. Uzun listeler kayar. Paneli kapatmak için Escape basın veya panelin dışına tıklayın.

Arama kutusu da onay ekler. Tam bir https:// kökeni yazın (veya http://localhost), ardından kaydetmek için gezinme, okuma veya kapatma satırını seçin; sayfa listeleme satırı kaydedilene kadar sunulur. Köprü bağlı olmalıdır: açık bir onay çalışan köprü kimliğine bağlanır ve bir istemden kaydedilmiş onay gibi her çağrıda denetlenir; yönetilen köken listeleri, okuma katmanı anahtarı ve yönetici ilkesi yine geçerlidir. WebMCP çipini kapatmak tarayıcının bağlantısını keser ve kayıtlı seçimleri saklar.

Yerel depo varsayılan olarak ~/.local/share/ax-code/webmcp-approvals.json yoludur (XDG veri dizini geçersiz kılmaları uygulanır). Onaylar köprü kimliğine bağlıdır; başlatma veya tarayıcı profili değişirse taze onay gerekir.

Bir sayfa açıldıktan veya değiştikten sonra gezinme hatası oluşabilir. Hata, varsa tanınan bir zaman aşımı, ağ veya eksik sayfa kategorisini bildirir ve ham köprü hata metnini yinelemez. Yeniden gezinip gezinmemeye karar vermeden önce list_pages inceleyin. Gezinme hataları kayıtlı onayları kaldırmaz.

Etkileşim katmanı

Üzerine gelme ve olağan tıklamalar, köken başına bir izin altında çalışır; 20 eylem için geçerlidir, ardından aynı istem geri döner.

  • Yazma, tuş basmaları, iletişim kutuları, bağlantılar, çift tıklamalar ve adı sonuç doğuran tıklamalar (gönder, öde, sil, yetkilendir, …) her seferinde sorar ve hedefi ile tam değeri gösterir.
  • Adı kimlik bilgisine benzeyen alanlar etiketlenir ve maskelenir. API anahtarı veya özel anahtar biçimindeki değerler reddedilir: kimlik bilgilerini kendiniz yazın.
  • Eylemler aynı sayfanın taze bir anlık görüntüsünü ister; taşınmış bir sayfa veya bilinmeyen öğe reddedilir. Bir turda üç ret, sonraki eylemleri durdurur.

Ada dayalı denetimler sezgiseldir, güvence değildir. Denetim istemdedir; onu okuyun.

Mevcut bir sayfayla çalışma

AX Code uygulamasından sayfanın yeteneklerini incelemesini, yerel araçlarını geliştirmesini veya belirli bir davranışı tanılamasını isteyin. browser_workflow aracı bu görevleri olağan gözlemler için bir sınama sunucusu başlatmanızı gerektirmeden gruplar. Önce köprüyü etkinleştirin ve amaçlanan sayfayı belirleyin; bu eylemlerin hiçbiri bir sayfa açmaz, oturum açmaz, tarayıcı profilini değiştirmez veya gelecek iş zamanlamaz.

Örneğin: «Yerel uygulamamdaki araçları incele ve hangi uygulama işlevlerine karşılık geldiklerini göster» veya «Boş sonuçları yeniden üretmeden önce bu sayfayı yakala, ardından hataları karşılaştır ve aday kaynak dosyalarına işaret et.»

Yerel araçları ve kaynaklarını inceleme

Kabul edilen gerçek araçları ve yerel ile anlık görüntü kullanılabilirliğini görmek için status çağrısını server, pageId ve tam origin ile yapın. Boş bir liste, erişilemeyen çerçevelerde araç olmadığını kanıtlamaz. Sayfa bağlamı gerektirmeyen görevler için mevcut bağlayıcılar daha uygun olabilir.

{
  "action": "inventory",
  "server": "webmcp",
  "pageId": 1,
  "origin": "http://localhost:3000",
  "sourceFiles": ["src/tools.ts", "public/search.html"]
}

Dönen inventoryId değerini saklayın. Eklenen veya kaldırılan araçları ve değişen şema alanlarını görmek için sonraki bir envanter çağrısında onu baselineId olarak geçirin. Dosyalar açıkça izin denetiminden geçer, depo içinde kalır ve sınırlıdır. Statik buyruk kayıtları ve tırnaklı HTML form öznitelikleri kaynak adayları üretir; hesaplanan adlar, yinelenen tanımlar ve desteklenmeyen şablonlar çözülmemiş veya belirsiz kalır. Eşleşen bir ad ve şema adayı destekler ancak tarayıcının o kaynak revizyonunu yüklediğini kanıtlamaz.

Bir uygulama entegrasyonu üretme

Gözden geçirilebilir entegrasyon kodu döndürmek için author kullanın:

{
  "action": "author",
  "name": "find_products",
  "description": "Find products matching a query in the current catalog.",
  "module": "./src/catalog.js",
  "exportName": "findProducts",
  "schema": {
    "type": "object",
    "properties": { "query": { "type": "string" } },
    "required": ["query"]
  },
  "format": "imperative",
  "effect": "read"
}

Adlandırılan işlev doğrudan bir dışa aktarım olmalıdır. Üretilen kayıt, bileşen veya rota temizliği için bir AbortSignal alır. acceptsSignal: true değerini yalnızca uygulama işlevi ikinci bir {signal} bağımsız değişkenini kabul edip ona uyduğunda ayarlayın. format: "declarative" insan gönderimi için bir form ve bir modül bağlaması döndürür; webmcp-result olayını uygulamanın arayüzüne bağlayın. İlkel alanlar desteklenir; desteklenmeyen şema kısıtları sessizce atılmak yerine reddedilir. Her iki şablonu uygulamadan önce uygulama doğrulamasını, yetkilendirmeyi ve gerçek etkileri gözden geçirin. Alan düzenlemeleri, form insan gönderimi istese bile otomatik kaydı tetikleyebilir.

Yürütme ile model seçimini ayrı denetleme

Mevcut contract adımları sabit girdileri ve beklenen sonuçları doğrular. Bir rota veya rol değişiminden sonra kullanılamayan bir işlemin kaydının kaldırıldığını denetlemek için {"action":"tool_presence","name":"admin_reset","present":false} ekleyin. present: true ayrıca descriptorHash sabitleyebilir. Bunlar yaşam döngüsü denetim noktalarıdır, olay izi değildir. Dışa aktarılan regresyonlar aynı denetimleri içerir.

Bir modelin doğru aracı ve bağımsız değişkenleri seçip seçmediğini keşfetmek için ayrı bir seçim değerlendirmesi kullanın:

{
  "action": "selection_eval",
  "inventoryId": "<returned inventory UUID>",
  "cases": [
    { "task": "Find AX products", "expected": { "name": "find_products", "arguments": { "query": "AX" } } },
    { "task": "Delete every product", "expected": { "name": null, "arguments": {} } }
  ],
  "repeats": 2
}

Seçilen API modeli yalnızca görevi ve yakalanan kataloğu alır; yürütme araçları veya beklenen yanıtlar yoktur. Çağrılar onaylanır ve 12 vaka, üç yineleme ve iki dakikalık değerlendirme süresiyle sınırlanır. Rapor model kimliğini, bir paket karmasını, ayrı kesin seçim ve bağımsız değişken sayılarını, ortak doğruluğu ve bilinmeyen sonuçları kaydeder. Başarısızlıklar paydada kalır. CLI modelleri kendi araçlarını çalıştırabildiği için bu değerlendirmede kullanılamaz. Seçim puanları araç doğruluğunu kanıtlamaz ve Arena için nitelik vermez.

Bir eylemden önce ve sonra tanı koyma

Aynı sayfa hedefiyle observe çağırın; isteğe bağlı sourceFiles ve açık assertions kullanın. Mevcut rol ve ad ile sayı, değer, işaretli ve devre dışı şemasını uygulayın. İstenen eylemi onaylı bir araçla veya elle bir kez gerçekleştirin. Ardından {"action":"diagnose","observationId":"<returned UUID>"} çağırın. Sonuç, doğrulama sonuçlarını, anlık görüntü karmalarını, sınırlı konsol ve istek üst verisi farklarını, anlamsal envanter değişikliklerini ve kaynak adaylarını karşılaştırır. Bağıntı, araştırılacak kanıttır; kanıtlanmış bir kök neden değildir. Doğrulamalar yoksa durum observed olur, pass değil.

Taban çizgileri yalnızca geçerli çalışma zamanı oturumunda tutulur, 30 dakika sonra sona erer ve oturum başına 16 ile sınırlıdır. Bağlantı veya sayfa konumu değişiklikleri yeniden kullanımı geçersiz kılar. Sabitlenmiş köprü aynı URL yeniden yüklemesini ayırt edemez; bu karşılaştırmalar öğüt niteliğindedir. Yalnızca sayfa konumlarının ve anlık görüntülerin karmaları saklanır; sınırlı tanı metni ve araç tanımlayıcıları güvenilmez kanıttır.

Yeniden üretilebilir bir localhost sorunu için promote gözlem kimliğini ve yerel sınama sunucusu komutu ile adımları içeren açık bir normal manifest alır. Yeni bir denetimli senaryoyu dondurur. Gözlem sonuçları kabul ölçütüne asla kopyalanmaz: düzenlemeden önce başarısız bir denetim çalıştırın ve düzeltilmiş çalıştırmaları mevcut iş akışı üzerinden nitelendirin.

Günlük bir gözlem görevini yineleme

İsteğe bağlı bir tarif, gezinme veya zamanlama olmadan mevcut bir sayfayı denetler:

{
  "action": "recipe",
  "server": "webmcp",
  "pageId": 1,
  "definition": {
    "version": 1,
    "name": "Preview health",
    "origin": "http://localhost:3000",
    "assertions": [{ "locator": { "role": "status", "name": "Ready" }, "property": "count", "equals": 1 }]
  }
}

Varsayılan yalnızca anlık görüntüdür. İsteğe bağlı queries tam bir araç name, descriptorHash, nesne input, resultPath ve equals içerir. Mevcut çağrı başına onay altında gerçek uygulama araçlarını çağırırlar; salt okunur ipuçları etkileri onaylamaz. Sonuç, anlık görüntü gözlemini doğrulanmamış etkili uygulama çağrılarından açıkça ayırır ve sorgulardan sonra anlık görüntüleri yeniden denetler. Yakalanan içerikleri veya kimlik bilgilerini değil, gözden geçmiş tanımları kaydedin. Tanımlar izin taşımaz ve asla Arena makbuzuna dönüşmez. Geçiş yalnızca bildirilen gözlemlerin eşleştiği anlamına gelir; eksik veri bir denetimi karşılayamaz.

Bir aracı elle kaydetme

Ajandan sayfanızda zaten bulunan mantığı yeniden kullanan bir araç eklemesini isteyin veya sayfanın JavaScript kodundan bir araç kaydedin. Chrome rehberi buyruk API yüzeyini ve bildirimsel form API yüzeyini kapsar. En küçük salt okunur araç şöyle görünür:

if (typeof document.modelContext?.registerTool === "function") {
  await document.modelContext.registerTool({
    name: "read_heading",
    description: "Read the main heading of the current page.",
    inputSchema: {
      type: "object",
      properties: {},
      additionalProperties: false,
    },
    annotations: { readOnlyHint: true },
    execute: async () => ({
      heading: document.querySelector("h1")?.textContent ?? "",
    }),
  })
}

Uyumlu bir ajan ardından o sayfada read_heading keşfedebilir. OpenAI site araçları sayfası aynı fikri Codex ve ChatGPT Work tarafından anlatır; yerleşik tarayıcılarının bir sitenin sunduğu araçları nasıl listelediği dahildir.

Sınırlar

Betik, yükleme, indirme, çerez, istek gövdesi, koordinat veya sürükleme yoktur. Yöneticiler köprüyü veya katmanlardan birini yönetilen webmcp gereksinimiyle kapatabilir (allow, allowRead, allowInteract, allowedOrigins); proje ve kullanıcı yapılandırması bunu gevşetemez.

ax-code mcp add ile eklediğiniz sunucular farklı bir güven yoludur. Bkz. MCP entegrasyonları.

Bir localhost sayfasını beş adımda hata ayıklama

Yanlış görünen bir sayfa, hiçbir şey yapmayan bir denetim veya başarısız olan bir istek için:

  1. Sayfaya gidin ve bir anlık görüntü alın; erişilebilirlik ağacı yapısal taban çizgisidir. Gezinme ve okumalar mevcut onayları kullanır.
  2. Başarısız eylemi mevcut etkileşim onayları altında bir kez gerçekleştirin.
  3. Farkı okuyun: eylem çevresindeki konsol hataları ve ağ üst verisi (yöntem, URL, durum, tür; istek ve yanıt gövdeleri kapsam dışıdır). Eşzamansız durum için bekleyin; tetikleyen eylemi asla yinelemeyin.
  4. Karar: PASS (geçti), FAIL (kaldı) veya BLOCKED (engellendi); eksik yetenek adlandırılır. Bir araç onayı, uygulama başarısının kanıtı değildir.
  5. Localhost başarısızlığı yapılandırılmış bir doğrulama olarak ifade edilebiliyorsa onu bir browser_workflow senaryosu olarak dondurun (aşağıda), başarısız denetimi kaydedin ve düzeltmeden sonra aynı karmayı iki kez çalıştırın.

Kanıtı bir hata raporuna ekleme

Dondurulmuş bir senaryo üzerinden araştırılan bir localhost başarısızlığı için bir kanıt demeti raporu gözden geçirilebilir kılar: senaryo adı ve karması, başarısız doğrulama sonucu (yakalanan sayfa içeriği olmadan), browser_workflow inspect kaynaklı makbuz kimlikleri, anlık görüntü karmaları, sınırlı konsol hatası ve ağ üst verisi farkları, explicit/local_map/unresolved etiketli kaynak bağlantıları ve köken. Yalnızca çalışma zamanınca sınırlanmış, çalışma zamanınca karartılmış çıktıyı ekleyin; istek veya yanıt gövdelerini, üstbilgileri, çerezleri, depolamayı, sayfa içeriğini veya kimlik bilgisi biçimli değerleri asla eklemeyin. Makbuz kimlikleri ve kopyalanan makbuz verileri yalnızca başvurulardır; yetkili makbuz durumu çalışma zamanının mülkiyetinde kalır.

Bir geliştirme değişikliğini yeniden üretme ve doğrulama

browser_workflow aracı, bir web uygulamasını düzenlemeden önce kabul adımlarını dondurur, onları bağlı WebMCP köprüsü üzerinden çalıştırır ve yapılandırılmış doğrulamalar kaydeder. Önce köprüyü etkinleştirin. Desteklenen ilk ortam 127.0.0.1 üzerinde tek kullanımlık bir HTTP sunucusudur; her çalıştırma farklı bir bağlantı noktası ve geçici veri dizini ile taze yalıtılmış bir tarayıcı bağlamı ayırır. Kalıcı tarayıcı profilleri reddedilir. Boş bağlamlar, bağlantı kesilene kadar yukarı akış köprüsü tarafından saklanır; bir bağlantıda 32 çalıştırmadan sonra devam etmeden önce köprüyü yeniden bağlayın. İş akışı onların çerezlerini veya depolamasını asla yeniden kullanmaz.

Ajandan action: "freeze" ile bir senaryo dondurmasını isteyin. Örneğin bağlantı noktası bağımsız değişkeni kabul eden projeye ait bir test/browser-server.mjs şunu kullanabilir:

{
  "action": "freeze",
  "manifest": {
    "version": 1,
    "name": "Search returns a matching result",
    "server": "node test/browser-server.mjs {port}",
    "path": "/",
    "setup": [],
    "reset": [],
    "cleanup": [],
    "steps": [
      { "action": "fill", "locator": { "role": "textbox", "name": "Search" }, "value": "example" },
      {
        "action": "assert",
        "assertion": {
          "locator": { "role": "status", "name": "One result" },
          "property": "count",
          "equals": 1
        }
      }
    ]
  }
}

Dönen karmayı saklayın. {"action":"run","hash":"<hash>","server":"webmcp"} ile çalıştırın (bağlı köprünüzün adını kullanın). Başarısızlığı yeniden üretin, değişikliği yapın ve aynı karmayı iki kez çalıştırın. Her çalıştırma bildirilen sunucuyu başlatır, kendi sayfasını açar, adımları denetler, sayfayı kapatır ve sunucusunu durdurur. Yaşam döngüsü komutları normal kabuk izinleri üzerinden depo kökünde çalışır. {port} ayrılan bağlantı noktasına genişler; {data} tırnaklı geçici dizine genişler. Kurulum, sıfırlama ve temizleme komutları 15 saniye içinde sonlanmalıdır; hazırlığın 15 saniyelik süresi ve tarayıcı çalıştırmasının 120 saniyelik süresi vardır. Tarayıcı eylemleri mevcut izinlerini ve etkileşim bütçelerini korur.

Desteklenen adımlar tıklama, üzerine gelme, doldurma, yapılandırılmış doğrulama ve sayfa aracı sözleşme denetimleridir. Konumlayıcılar tam bir rol ve erişilebilir ad kullanır. Sıfır veya birden fazla eşleşmesi olan eylemler unknown olarak durur; tahmin edilen UID veya CSS ya da betik geri dönüşü yoktur. Doğrulamalar sayı, değer, işaretli veya devre dışı durumunu karşılaştırır. Eksik bir durum özelliği bilinmezdir. Eşzamansız görüntüleme için timeoutMs ekleyin (0-10000, varsayılan 0); hedef bir assert adımıdır. Çalıştırıcı, doğrulama eşleşene veya süre dolana kadar taze yapılandırılmış anlık görüntüleri yoklar; önceki tıklamayı veya doldurmayı asla yinelemez. Zaman aşımı senaryoyla dondurulur ve dışa aktarılan testinde saklanır. Senaryolar 32 adım ve 32 KiB ile sınırlıdır.

inspect dondurulmuş bildirimi ve çalışma zamanı makbuzlarını döndürür. Makbuzlar senaryoyu depo revizyonuna ve içeriğine, işlem sonuçlarına, anlık görüntü karmalarına ve sınırlı konsol ile ağ üst verisine bağlar. Değişen kaynak, reddedilen işlemler, eksik kanıt, zaman aşımları ve tamamlanmamış temizleme geçemez. Bu sonuçlar bildirilen doğrulamaları geçerli kılar; uygulamanın her davranışını kanıtlamaz. Dondurulmuş durum ve yetkili makbuzlar geçerli çalışma zamanı oturumunda yaşar. Yeniden başlattıktan sonra yeniden dondurun ve nitelendirin; kopyalanan JSON makbuzları çalışma zamanı yetkisi olarak kabul edilmez.

Bir regresyon testi dışa aktarma

{"action":"export","hash":"<hash>"}, playwright-core kullanan bağımsız bir Node modülü döndürür. Dönen kodu bir proje testi olarak kaydedin ve Chrome gösteren AX_TEST_WEBMCP_CHROME ile çalıştırın. Aynı düzeneği başlatır ve taze tarayıcı bağlamları, kararlı rol ve ad konumlayıcıları ile dondurulmuş doğrulamaları kullanır. Doğrulanmış demeden önce dışa aktarılan testi gerçekten çalıştırın. Dışa aktarılan testler bağımsız bir regresyon yapıtıdır; çıktıları Arena makbuzu değildir. Sayfa aracı sözleşme adımları, keyfi sayfa betiklerini değerlendirmeden, tam tanımlayıcı karmaları ve beklenen çıktıyla Chrome yerel WebMCP protokolünü kullanır. Chrome sözleşme dışa aktarımları için o deneysel protokolü desteklemelidir.

Bir sayfa-aracı sözleşmesi geliştirme ve hataları araştırma

Bir sayfa açıkken {"action":"contracts","server":"webmcp","pageId":1} kayıtlı tanımlayıcılarını ve tam tanımlayıcı karmalarını döndürür. contract adımı dondurun; içinde name, descriptorHash, input, resultPath ve equals bulunur. Karma değişiklikleri denetimi başarısız kılar. Olumsuz girdiler için expectError: true ayarlayın: yalnızca onaylanmış bir sayfa aracı yürütme hatası bunu karşılar; iptal edilmiş çağrılar, izin reddi ve eksik tamamlanma bilinmezdir. Değişikliklerden sonra hem dönüş değerini hem de ortaya çıkan sayfa durumunu denetlemek için doğrulamalar ekleyin.

template eylemi name, göreli bir uygulama module, açık bir exportName ve schema alır. Yerel dışa aktarımın var olduğunu doğrular ve bir kayıt iskeleti döndürür. Etkinleştirmeden önce uygulamanın girdi doğrulaması, yetkilendirmesi ve iş mantığına karşı gözden geçirin; araç bu güvenceleri dışa aktarılan bir işlev adından kuramaz.

İsteğe bağlı bir sources listesi, bir tabanlı line ve sıfır tabanlı column ile depoya yerel dosyaları adlandırır ve isteğe bağlı olarak yerel bir map dosyası ekler. Başarısız çalıştırmalar sınırlı tanılar ve explicit, local_map veya unresolved etiketli kaynak bağlantıları döndürür. Eşleme öğüttür; kök nedenin veya geçen bir doğrulamanın kanıtı değildir. Uzak haritalar, depo dışındaki yollar ve 1 MiB üzerindeki dosyalar okunmaz. Tarayıcı ağ kanıtı yalnızca üst veri olarak kalır.

implement Arena içinde tarayıcı kanıtı zorunlu kılma

browserScenario: "<hash>" değerini mode: "implement" ile verin. Senaryoyu dondurun ve Arena başlamadan önce güncel temiz tabanda gerçek bir başarısız doğrulama kaydedin. Her aday, yalıtılmış çalışma ağacında bu dondurulmuş sözleşmeyi alır ve bağlı yalıtılmış köprüsü üzerinden iki kez başarıyla çalıştırmalıdır. Tarayıcı etkinleştirmesi ve izinler gözetim altında kalır. Eksik köprü erişimi, eski içerik, bilinmeyen sonuçlar veya eksik makbuzlar yükseltmeyi engeller; depo denetimleri geçse bile. Olağan kod doğrulaması ve mutasyon denetimleri yine çalışır ve hiçbir aday otomatik birleşmez.

Kanıtı verimli seçme

Yerel WebMCP araçları uygulama işlemlerini betimler; Chrome DevTools MCP tarayıcı incelemesi ve otomasyonu sağlar. Açık bir uygulama işlemi için sayfanın kayıtlı aracını yeğleyin, ardından sonucunu ve ortaya çıkan sayfa durumunu doğrulayın. Metin ve kararlı öğe konumlayıcıları için erişilebilirlik anlık görüntülerini kullanın. Yerleşim, tuval veya yalnızca görüntü içeriği için ekran görüntüsü alın: taze bir anlık görüntü uid alanına kırpın veya satır içi sınırlar içinde kalmak için düşürülmüş kaliteli JPEG kullanın. Pikselleri yorumlamak görü yeteneği olan bir model ister. Ne WebMCP ne de belgelenen DevTools MCP araç listesi ayrı bir OCR aracı sunar; çıkarılan görüntü metni öğüttür ve yapılandırılmış bir kabul doğrulamasını karşılayamaz.

Konsol okumalarını types ve pageSize ile daraltın; ağ üst verisini resourceTypes ve pageSize ile daraltın. İş akışı makbuzları, yeniden üretimin getirdiği hataların bulunmasını kolaylaştırmak için eylem öncesi taban çizgilerini ve sınırlı farkları saklar. Ağ gövdeleri ve keyfi değerlendirme köprünün verilen yüzeyinin dışında kalır. Yukarı akış DevTools MCP içindeki performans izleri, öykünme, Lighthouse, ekran kayıtları, bellek ve uzantı araçları ayrı yeteneklerdir ve bu profil tarafından sunulmaz.

Chrome WebMCP hata ayıklama rehberine ve yukarı akış DevTools MCP araç başvurusuna bakın. Yukarı akış ana dalı, AX Code sabitlenmiş köprüsünden farklı olabilir; desteklenen bağımsız değişkenleri yalnızca yerel araç şemaları betimler.