Busymate AI

Standard aperto

Busymate AI pronto per gli agenti v1

Un'IA può trovarti, comprenderti, fidarsi di te e svolgere lavoro utile con te? Questa è la domanda fondamentale. Questo standard la risponde con un numero e mostra la ricevuta dietro ogni punto.

Versione 1.0 — sei sezioni, dieci requisiti, cento punti.

01Architettura

Cinque strati e una carta che li unisce

Un agente incontra un sito web in strati, ognuno rispondendo a una domanda diversa. agents.json è la singola carta in cima che punta a tutti loro, così non c'è nulla da indovinare.

Il tuo sito web1Contenuto2Discovery3Semantica4Azioni5Capacità remoteagents.json
  • Contenuto

    La pagina stessa — scritta una volta, servita come HTML a un lettore e come Markdown a una macchina.

  • Discovery

    Cartelli che indicano da dove iniziare: una sitemap, un llms.txt, intestazioni che puntano a entrambi.

  • Semantica

    Significato associato ai dati — JSON-LD nella pagina, frontmatter nel Markdown.

  • Azioni

    Ciò che può essere fatto qui e ora, nel browser che il visitatore ha già aperto: strumenti pagina WebMCP.

  • Capacità remote

    Ciò che il servizio può essere chiamato a fare da qualsiasi luogo: un endpoint MCP dietro OAuth.

  • agents.json

    La scheda di capacità: cosa pubblichi, quali interfacce esponi, come accedere e chi contattare.

02Valutazione

Sei sezioni condividono cento punti

Ogni livello è valutato come la sezione che il lettore riconosce. All'interno di una sezione il requisito costituisce la maggior parte del peso e i diagnostici di supporto costituiscono il resto.

LivelloSezioneCosa chiedePunti
DiscoveryScopriUn agente IA può trovare i tuoi contenuti?15
SemanticaComprendiUn agente comprende correttamente la tua attività?15
ContenutoLeggiUn agente può consumare i tuoi contenuti in modo efficiente?20
AzioniAgireUn amico può intraprendere azioni sul tuo sito web?20
Capacità remoteConnettiGli amici esterni possono chiamare i tuoi sistemi?20
SicurezzaAffidabilitàUn agente può autenticarsi, confermare azioni e raggiungere un operatore?10
Totale100

L'ultima riga valuta una preoccupazione che la figura sopra non evidenzia: chi è autorizzato ad agire e come un visitatore raggiunge una persona quando nessuno dovrebbe.

Un controllo che non si applica a te lascia il denominatore intatto anziché contare contro di te — la scoperta dell'accesso non è dovuta da un servizio in cui ogni tool è già aperto a tutti.

8 dei 35 controlli sono convenzioni su cui nessuno ha ancora concordato. Non valgono nulla in entrambi i casi: segnalati quando rilevati, mai una deduzione quando assenti.

03Requisiti

I dieci che un sito deve rispettare

Dieci clausole decidono se un sito è pronto. Tutto il resto che la scansione riporta è una diagnostica — utile, provata, e mai la linea tra pronto e non pronto.

Contenuto

R1
I contenuti importanti sono presenti nell'HTML iniziale.
R2
Le pagine possono esporre una rappresentazione Markdown di se stesse.

Discovery

R3
Il sito pubblica una sitemap.
R4
Il sito pubblica un llms.txt.
R5
Il sito pubblica un manifesto di capacità leggibile da macchina.

Semantica

R6
Le pagine dichiarano la loro lingua e il loro URL canonico.
R7
Il sito pubblica metadati strutturati su attività commerciali o prodotti.

Azioni

R8
Le azioni web vengono dichiarate quando la pagina ne offre.
R9
I tool dell'amico backend o un'API vengono dichiarati quando il servizio ne offre.

Sicurezza

R10
Autenticazione, autorizzazione e passaggio a un operatore sono espliciti.

La clausola nove accetta qualsiasi risposta onesta — un endpoint MCP live, un documento OpenAPI, uno schema GraphQL, oppure un'interfaccia nominata nella capability card. Averne uno è quello che conta, non quale.

L'ultima clausola è provata due volte: una persona a cui un agente può passare un visitatore, e una posizione dichiarata su chi può fare cosa.

04Un solo indirizzo

Lo stesso link, in qualunque forma il chiamante legge

Un lettore apre una pagina e ottiene la pagina. Una macchina chiede testo semplice con un intestazione di richiesta e ottiene testo semplice. Nulla si divide in un secondo sito.

  • Chiedi, e torna Markdown

    Una richiesta con Accept: text/markdown risponde 200 con Content-Type: text/markdown; charset=utf-8. Ogni altra richiesta viene servita come HTML, invariato.

  • Vary: Accept, ogni volta

    La risposta nomina l'intestazione di richiesta che l'ha formata, così tutto quello che cachea nel mezzo mantiene le due forme separate invece di servire una a entrambe.

  • Frontmatter che lo accompagna

    Il Markdown si apre con il suo indirizzo canonico, la data dell'ultima modifica e la lingua in cui è scritto — noti prima che una parola del corpo sia letta.

  • Intestazioni Link che puntano

    Un intestazione descrive il sito per llms.txt, uno offre agents.json come alternativa, e uno offre l'alternativa Markdown della pagina stessa; l'head HTML ripete quest'ultimo. Insieme separano un file che accade di esistere da un sito che intende essere letto.

Negoziazionehttp
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
---

# Pricing

Non ci sono URL IA qui. Un suffisso /md può stare dietro la pagina come fallback silenzioso per un client che non può negoziare, ma non è mai pubblicizzato né canonico — quello che una persona condivide è quello che un agente recupera.

05Prove

Ogni verdetto porta la sua ricevuta

Un punteggio senza nulla dietro è un'opinione. Ogni controllo mantiene tre righe: la chiamata che ha fatto, la risposta che questo documento si aspetta, e la risposta che ha effettivamente ricevuto.

Un controllo di contenutoyaml
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:    0

Solo gli intestazioni che cambiano la risposta vengono registrati, e le credenziali non lo sono mai.

Un controllo di connessioneyaml
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:    pass

Un'interfaccia remota registra di più: dove vive, il trasporto che ha identificato, come pubblicizza l'accesso, e quanti strumenti rispondono senza token rispetto a quanti ne hanno bisogno.

Un conteggio autenticato si legge come sconosciuto, non zero, quando nessuno ha fatto l'accesso per contarlo.

06Verdetti

Quattro esiti di un controllo

Ognuno è una frase diversa per il proprietario del sito, quindi nessuno viene arrotondato in un altro.

  • SUPERATO

    Ciò che la clausola si aspetta è tornato indietro.

  • PARZIALE

    Parte di essa è in place; la ricevuta nomina la metà che non lo è.

  • FACOLTATIVO

    Una convenzione non consolidata, annotata come trovata o assente e non valuta punti in nessuna direzione.

  • FAIL

    Richiesto, e non c'era nulla.

Non verificato non è mai superato

Un rifiuto, un timeout, un redirect che non arriva mai: la sonda ha mantenuto il suo peso ed è elencata da sola. Un lettore può quindi distinguere una funzione mancante da una domanda senza risposta, e nessun divario viene mai silenziosamente valutato come un successo.

07Cosa è cambiato

Versione 1.2

Un audit esterno di uno dei nostri rapporti live ha trovato luoghi in cui il punteggio era più sicuro rispetto alle prove, e luoghi in cui ha penalizzato un sito per aver fatto la cosa giusta. Ogni risultato di seguito è una regola che si è mossa, quindi un rapporto che hai letto prima di questa versione può ottenere un punteggio diverso ora — e dovrebbe.

La distinzione v1.2 si basa su

Trovare una capacità non significa essere autorizzato a usarla

Un catalogo di strumenti che risponde senza un token ti dice che gli strumenti sono ELENCATI. Non ti dice che uno di loro funzionerà, per te, oggi. La versione 1 ha collassato questi in un verdetto e ha dato pieni voti per il primo. Ora sono quattro risultati separati:

  • Scoperta — l'endpoint risponde, negozia una revisione del protocollo ed elenca i suoi strumenti.
  • Accesso documentato — il servizio dichiara quali capacità richiedono un token e quali no.
  • Scoperta dell'accesso — i metadati OAuth si risolvono e pubblicizzano PKCE dove un client deve verificarlo.
  • Esecuzione testata — una chiamata autenticata ha effettivamente successo.

Solo i primi tre possono essere misurati dall'esterno. Il quarto rimane non verificato in ogni rapporto che questo scanner scrive: non detiene alcuna credenziale per il tuo servizio e non chiama mai lo strumento di uno sconosciuto. Questi punti vengono segnalati a parte, mai contati come superato e mai imputati a te.

  • Un risultato, tre forme

    La pagina, il Markdown e il JSON ora renderizzano lo stesso oggetto risultato — stessa scansione, stessi stati, stessi totali. Prima potevano non essere d'accordo tra loro.

  • Punteggio di connessione non garantito

    L'esecuzione autenticata non viene mai testata dall'esterno, quindi i suoi punti rimangono non verificati per ogni sito, incluso il nostro. Un rapporto non può più dire che un servizio è completamente richiamabile in base a evidenze che non possiede.

  • Test basato sulla versione

    Il rapporto registra ciò che ha offerto, ciò che il tuo server ha risposto, e l'handshake grezzo. Una funzionalità introdotta da una revisione successiva non viene mai penalizzata in una sessione fissata a una precedente.

  • Suggerimento, non comportamento

    Quanti strumenti dichiarano che un suggerimento di sola lettura viene segnalato su una propria riga e non punteggia nulla. Se una persona viene effettivamente chiesta prima di un'azione consequenziale necessita un test del flusso di lavoro, e lo dice.

  • Tre tipi di crawler

    L'addestramento del modello, la ricerca e la citazione con IA, e una pagina che una persona ha chiesto a un assistente di aprire sono tre decisioni. Solo le ultime due sono scoperta. Rinunciare all'addestramento non costa nulla.

  • Un predefinito è una politica

    Nessuna voce permissions-policy per gli strumenti di pagina significa che si applica l'elenco di consentiti predefinito della bozza — la tua origine, nessun altro. Questo passa. Un elenco di consentiti esplicito è un rafforzamento sopra di esso.

  • I campi giusti per tipo

    Una data di ultima modifica è richiesta ai tipi di contenuto che ne definiscono una, mai al nodo che dice chi sei. L'identità e la freschezza sono valutate separatamente.

  • I risultati nominano il loro ambito

    Un risultato letto da una pagina lo dice, e i percorsi che la scansione ha effettivamente letto viaggiano con il rapporto. Nulla misurato su una home page è scritto come se descrivesse ogni schermata.

  • Un gemello deve accordarsi con se stesso

    Un manifesto di capacità pubblicato sia nel suo percorso ben noto che nel suo percorso root è ora verificato per dire la stessa cosa in entrambi — non semplicemente per l'esistenza di una copia.

  • Una sitemap deve essere un documento reale

    Una sitemap è ora verificata per essere un vero urlset o sitemapindex i cui link puntano al tuo indirizzo, non semplicemente per rispondere con un 200.

  • Un contatto di passaggio evita la scansione

    Un link mailto, una pagina di contatti, dati strutturati di contatti o una linea di contatto dichiarata in llms.txt ora contano tutti per raggiungere una persona — nessuno di essi ha bisogno che qualcosa sia stato acquisito per primo.

Un rapporto è un punteggio secondo questo standard, versione 1.2 — una diagnosi su cui puoi agire, non una certificazione e non un badge di conformità. Le regole sono pubblicate qui affinché tu possa non essere d'accordo con loro.

Vedi dove si trova il tuo sito

Inserisci un indirizzo per il report valutativo e le prove sottostanti — poi chiedi al tuo amico cosa correggere per primo, in linguaggio naturale.