Standard deschis
Agent Busymate AI Gata v1
Poate o inteligență artificială să te găsească, să te înțeleagă, să iti câștige încrederea și să facă lucrări utile cu tine? Aceasta este întrebarea esențială. Acest standard o răspunde cu un singur număr și arată chitanța din spatele fiecărui punct.
Versiunea 1.0 — șase secțiuni, zece cerințe, o sută de puncte.
01Arhitectură
Cinci straturi și o carte care le unește
Un agent întâlnește un site web în straturi, fiecare răspunzând la o întrebare diferită. agents.json este unica carte din vârf care indică toate acestea, deci nimic nu trebuie ghicit.
Conținut
Pagina în sine — scrisă o dată, servită ca HTML pentru un cititor și ca Markdown pentru o mașină.
Descoperire
Indicatoare care spun unde să începi: o hartă de site, un llms.txt, anteturi care indică ambele.
Semantică
Sens ataşat faptelor — JSON-LD în pagină, metadate în Markdown.
Acțiuni
Ceea ce se poate face acum și aici, în browserul pe care vizitatorului îl are deja deschis: instrumente de pagină WebMCP.
Capacități la distanță
Ceea ce serviciul poate fi rugat să facă de oriunde: un endpoint MCP în spatele OAuth.
agents.json
Cartela de capacitate: ceea ce publici, ce interfețe expui, cum te conectezi și pe cine contactezi.
02Notare
Șase secțiuni au o sută de puncte
Fiecare nivel este evaluat ca secțiunea pe care o recunoaște un cititor. În interiorul unei secțiuni, cerința are grosul ponderării iar diagnosticele suport au restul.
| Nivel | Secțiune | Ce cere | Puncte |
|---|---|---|---|
| Descoperire | Descoperire | Poate un agent AI să găsească conținutul tău? | 15 |
| Semantică | Înțelegere | Înțelege un agent corect afacerea ta? | 15 |
| Conținut | Citire | Poate un agent să consume eficient conținutul tău? | 20 |
| Acțiuni | Acțiune | Poate un agent să efectueze acțiuni pe site-ul tău? | 20 |
| Capacități la distanță | Conectare | Pot agenți externi să apeleze sistemele tale? | 20 |
| Siguranță | Încredere | Poate un agent să se autentifice, să confirme acțiuni și să acceseze un om? | 10 |
| Total | 100 | ||
Ultimul rând evaluează o preocupare pe care cifra de mai sus nu o scoate în evidență: cine are permisiunea să acționeze și cum ajunge un vizitator la o persoană când nimeni nu ar trebui.
O verificare care nu se aplică ție lasă numitorul neschimbat în loc să te penalizeze — descoperirea de autentificare nu este datorată unui serviciu unde fiecare unealtă este deja deschisă pentru toți.
8 din 35 verificări sunt convenții pe care nimeni nu a fost de acord încă. Nu merită nimic oricum: raportate când găsite, niciodată o scădere când absente.
03Cerințe
Cele zece cerute unui site
Zece clauze decid dacă un site este gata. Totul altceva pe care scanarea îl raportează este diagnostic — util, probat, și niciodată linia de demarcație între gata și nu.
Conținut
- R1
- Conținutul important este prezent în HTML-ul inițial.
- R2
- Paginile pot expune o reprezentare Markdown a lor.
Descoperire
- R3
- Site-ul publică o hartă a site-ului.
- R4
- Site-ul publică un llms.txt.
- R5
- Site-ul publică un manifest de capabilități citibil de mașini.
Semantică
- R6
- Paginile declară limba și URL-ul canonic al lor.
- R7
- Site-ul publică metadate structurate de afaceri sau produs.
Acțiuni
- R8
- Acțiunile web sunt declarate când pagina oferă vreuna.
- R9
- Uneltele agentului de backend sau o API sunt declarate când serviciul oferă vreuna.
Siguranță
- R10
- Autentificarea, autorizarea și transferul către om sunt explicite.
Clauza nouă acceptă orice răspuns corect — un endpoint MCP activ, un document OpenAPI, o schemă GraphQL, sau o interfață numită pe cardul capabilităților. Avea una este ceea ce contează, nu care anume.
Ultima clauză este probată de două ori: o persoană căreia un agent poate transfera un vizitator, și o poziție declarată asupra cui îi este permis să facă ce.
04O singură adresă
Aceeași legătură, în orice formă o citește apelantul
Un cititor deschide o pagină și primește pagina. O mașină cere text simplu cu un antet și primește text simplu. Nimic nu se desparte într-un al doilea site.
Întreabă, și Markdown se întoarce
O cerere cu Accept: text/markdown răspunde 200 cu Content-Type: text/markdown; charset=utf-8. Orice altă cerere primește HTML-ul, nemodificat.
Vary: Accept, de fiecare dată
Răspunsul numește antetul cererii care l-a format, astfel orice cache din mijloc ține cele două forme separate în loc să servească una ambelor.
Frontmatter care îl însoțește
Markdown-ul se deschide cu adresa sa canonică, data ultimei modificări și limba în care este scris — cunoscute înainte de a citi o singură cuvânt din corp.
Antete de legătură care indică
Un antet descrie site-ul prin llms.txt, altul oferă agents.json ca o alternativă, și altul oferă alternativa Markdown a paginii; head-ul HTML repetă pe aceasta din urmă. Împreună, ele separă un fișier care întâmplător există de la un site care are intenția să fie citit.
GET /pricing HTTP/1.1
Host: yourwebsite.com
Accept: text/markdown
HTTP/1.1 200 OK
Content-Type: text/markdown; charset=utf-8
Vary: Accept
Link: </llms.txt>; rel="describedby"; type="text/plain"
Link: </agents.json>; rel="alternate"; type="application/json"
Link: </pricing/md>; rel="alternate"; type="text/markdown"
---
title: Pricing
description: What each plan includes and what it costs.
canonical: https://yourwebsite.com/pricing
updated: 2026-09-15
language: en
---
# PricingNu există URL-uri AI aici. Un sufix /md poate sta în spate paginii ca o rezervă liniștită pentru un client care nu poate negocia, dar nu este niciodată publicizat și niciodată canonic — ceea ce partajează o persoană este ceea ce aduce un agent.
05Dovezi
Fiecare verdikt poartă chitanța sa
Un scor fără nimic în spate este o opinie. Fiecare verificare păstrează trei linii: apelul pe care l-a făcut, răspunsul pe care îl așteaptă acest document și răspunsul pe care l-a primit de fapt.
check: markdown_representation
request: GET https://yourwebsite.com/pricing
Accept: text/markdown
expected: text/markdown with Vary: Accept
received: 200 text/html; charset=utf-8 — no Vary header
status: fail
weight: 5
earned: 0Doar antetele care schimbă răspunsul sunt înregistrate, și acreditările niciodată.
check: mcp_transport
endpoint: https://yourwebsite.com/mcp
transport: streamable-http
protocol:
offered: 2025-06-18
returned: 2025-03-26
negotiated: 2025-03-26
initialize: true
toolsList: true
auth:
mode: oauth
oauthMetadata: true
metadataUrl: https://yourwebsite.com/.well-known/oauth-authorization-server
pkce: [S256]
dynamicRegistration: true # optional either way
requirementsDocumentedAt: the capability manifest
tools:
listedWithoutToken: 7 # listed, not usable
authenticated: null # we never sign in to your server
withReadOnlyHint: 7
executionTested: false # so the execution check stays UNVERIFIED
status: passO interfață la distanță înregistrează mai mult: unde trăiește, transportul pe care l-a identificat, cum face publicitate la conectare și câte instrumente răspund fără token în raport cu câte au nevoie de unul.
Un count autentificat se citește ca necunoscut, nu zero, când nimeni nu s-a conectat pentru a-l număra.
06Verdicturi
Patru rezultate ale unei verificări
Fiecare reprezintă o propoziție diferită pentru proprietarul unui site, deci niciuna nu se înglobează în alta.
- REUŞIT
S-a întors ceea ce se aștepta din clauză.
- PARȚIAL
O parte din aceasta este în loc; chitanța numește jumătatea care nu este.
- OPȚIONAL
O convenție nesigură, notată ca găsită sau absentă și fără valoare în niciuna dintre direcții.
- EȘEC
A fost cerut, și nu era nimic acolo.
Neverificat nu e niciodată o reușită
Un refuz, o depășire de timp, o redirectare care nu se încheie niciodată: sonda și-a păstrat greutatea și este listată pe cont propriu. Un cititor poate distinge apoi o caracteristică lipsă de la o întrebare nerezolvată, și niciun gol nu este niciodată tăcut notat ca o reușită.
07Ce s-a schimbat
Versiunea 1.2
Un audit extern al unuia dintre propriile noastre rapoarte live a găsit locuri în care scorul era mai sigur decât dovezile, și locuri în care a marcat un site pentru că a făcut lucrul corect. Fiecare constatare de mai jos este o regulă care s-a mutat, deci un raport pe care l-ai citit înainte de această versiune poate obține un scor diferit acum — și ar trebui.
A găsi o capabilitate nu înseamnă a fi autorizat s-o folosești
Un catalog de instrumente care răspunde fără token îți spune că instrumentele sunt LISTATE. Nu îți spune că vreuna dintre ele va rula, pentru tine, azi. Versiunea 1 a colaps acelea într-un singur verdict și a dat note maxime pentru prima. Acum sunt patru constatări separate:
- Descoperire — punctul final răspunde, negociază o reviziune de protocol și listează instrumentele sale.
- Acces documentat — serviciul precizează care capabilități au nevoie de token și care nu.
- Descoperire de autentificare — metadatele OAuth se rezolvă și fac publicitate PKCE atunci când un client trebuie să o verifice.
- Execuție testată — un apel autentificat reușește cu adevărat.
Numai primele trei pot fi măsurate din afară. Cea de-a patra rămâne neverificată în fiecare raport pe care îl scrie acest scaner: nu are niciun acces la serviciul tău și nu apelează niciodată instrumentul unui străin. Acele puncte sunt raportate separat, niciodată nu sunt numite ca o reușită și niciodată nu sunt vina ta.
Un rezultat, trei forme
Pagina, Markdown-ul și JSON-ul redau acum același obiect rezultat — aceeași scanare, aceleași stări, aceleași totaluri. Înainte puteau să nu fie de acord între ele.
Niciun scor perfect de conexiune
Execuția autentificată nu este niciodată testată din exterior, deci punctele sale rămân neverificate pentru fiecare site, inclusiv al nostru. Un raport nu mai poate spune că un serviciu este pe deplin accesibil pe baza dovezilor pe care nu le are.
Sondare conștientă de versiune
Raportul înregistrează ce a oferit, ce a răspuns serverul tău și handshake-ul brut. O caracteristică pe care o versiune ulterioară a introdus nu este niciodată folosită împotriva unei sesiuni fixate la una anterioară.
Indicațiile nu sunt comportament
Câte instrumente declară că o indicație de doar-lectură este raportată pe propria linie și nu obține puncte. Dacă o persoană este într-adevăr întrebată înainte de o acțiune importantă necesită un test de flux de lucru și precizează asta.
Trei tipuri de crawler
Antrenarea modelului, căutarea și citarea AI și o pagină pe care o persoană a cerut unui asistent să o deschidă sunt trei decizii. Doar ultimele două sunt descoperire. Renunțarea la antrenare nu costă nimic.
O implicit este o politică
Nicio intrare de permissions-policy pentru instrumentele de pagină înseamnă că se aplică lista de permisiuni implicită a ciornei — originea ta, nimeni altcineva. Asta trece. O listă de permisiuni explicită este consolidare peste asta.
Câmpurile corecte per tip
O dată de ultima modificare este cerută tipurilor de conținut care o definesc, niciodată nodului care spune cine ești tu. Identitatea și proaspătimea sunt evaluate separat.
Găsirile și-numesc domeniul
Un rezultat citit dintr-o pagină o spune, și rutele pe care scanarea le-a citit efectiv călătoresc cu raportul. Nimic măsurat pe o pagină de start nu este scris de parcă ar descrie fiecare ecran.
Copiile trebuie să coincidă perfect
Un manifest de capabilități publicat atât la well-known cât și la root path este acum verificat pentru a spune același lucru la ambele — nu doar pentru existența unei copii.
O hartă de site trebuie să fie un document real
O hartă de site este acum verificată pentru a fi un urlset sau sitemapindex real ale cărui link-uri indică spre adresa ta proprie, nu doar pentru a răspunde cu 200.
O predare de contact nu necesită crawl
Un link mailto, o pagină de contact, date de contact structurate sau o linie de contact declarată în llms.txt contează acum pentru a ajunge la o persoană — niciunul dintre ele nu trebuie să fi fost crawlat mai întâi.
Un raport este un scor conform acestui standard, versiunea 1.2 — un diagnostic pe care poți acționa, nu o certificare și nu un insigne de conformitate. Regulile sunt publicate aici pentru a putea fi în dezacord cu ele.
Vezi unde se află propriul site
Introdu o adresă pentru raportul graduat și dovezile de sub el — apoi întreabă amicul tău ce să repari mai întâi, în limbaj simplu.