Οδηγός εγκατάστασης
Δύο πράγματα πρέπει να είναι ενεργά στον ιστότοπό σας: η ειδοποίηση που βλέπουν οι επισκέπτες σας, και ένα μικρό δημόσιο αρχείο που δηλώνει τη χρήση ΤΝ (yoursite.com/.well-known/ai-disclosure.json). Το tag του snippet επικολλάται μία φορά, είναι πανομοιότυπο σε κάθε σελίδα, και η δήλωσή σας καθορίζει ποιες ειδοποιήσεις εμφανίζονται πού. Επιλέξτε την πλατφόρμα σας παρακάτω· οι περισσότερες χρειάζονται περίπου δέκα λεπτά.
Μπάνερ και ετικέτες ΤΝ που βλέπουν οι επισκέπτες σας στη σελίδα.
ai-disclosure.json, ένα δημόσιο αρχείο αναγνώσιμο από τον δικό σας τομέα.
το εργαλείο ελέγχου δείχνει Επίπεδο 2 · Εμφανιζόμενο.
Επιλέξτε την πλατφόρμα σας
WordPress
Εγκαταστήστε το πρόσθετο
Στη διαχείριση του WordPress: Plugins → Add New → Upload Plugin, επιλέξτε το αρχείο που κατεβάσατε παρακάτω, και μετά κάντε κλικ στο Activate.
Αφήστε το να κάνει και τις δύο δουλειές
Το πρόσθετο εμφανίζει τις ειδοποιήσεις και δημοσιεύει το αρχείο δήλωσής σας αυτόματα. Σημάνετε περιεχόμενο ΤΝ σε οποιαδήποτε ανάρτηση ή εικόνα με τον διακόπτη «AI content». Χωρίς επεξεργασία κώδικα.
-
Επαλήθευση
Ολοκληρώθηκε όταν το εργαλείο ελέγχου δείχνει Επίπεδο 2 · Εμφανιζόμενο.
Εκτελέστε το εργαλείο ελέγχου
Shopify
Προσθέστε το snippet
Online Store → Themes → ⋯ → Edit code → theme.liquid: επικολλήστε αυτό το tag ακριβώς πριν από το </body>. Το theme.liquid είναι η διάταξη μέσα από την οποία αποδίδεται κάθε σελίδα, οπότε μία επικόλληση καλύπτει όλο το κατάστημα. Το Shopify δεν μπορεί να φιλοξενήσει αρχεία στη ρίζα του τομέα σας, οπότε το tag φέρει το κλειδί ιστότοπου AIDisclose (data-aidisclose) και φορτώνει το μανιφέστο που φιλοξενούμε για εσάς.
theme.liquid <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Συνδέστε τη δήλωσή σας
Επικολλήστε αυτόν τον σύνδεσμο μέσα στο <head> στο ίδιο αρχείο. Ο πίνακας ελέγχου σας εμφανίζει και τις δύο γραμμές προσυμπληρωμένες με το κλειδί ιστότοπού σας.
<head> <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">Αυτή είναι μια επιτρεπόμενη μέθοδος σύμφωνα με την προδιαγραφή.
-
Επαλήθευση
Ολοκληρώθηκε όταν το εργαλείο ελέγχου δείχνει Επίπεδο 1 · Δηλωμένο με μια σημείωση. Αυτό είναι το αναμενόμενο αποτέλεσμα σε αυτήν την πλατφόρμα, και είναι συμμορφωμένο.
Εκτελέστε το εργαλείο ελέγχου
Webflow
Προσθέστε το snippet
Site settings → Custom code → Footer code: επικολλήστε το μπλοκ του snippet παρακάτω, και μετά Publish. Ο προσαρμοσμένος κώδικας σε επίπεδο ιστότοπου φορτώνεται σε κάθε σελίδα.
Footer code <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Συνδέστε τη δήλωσή σας
Στο Head code, προσθέστε τη γραμμή συνδέσμου δήλωσης (δεύτερο μπλοκ παρακάτω). Προτιμάτε να παρέχετε το αρχείο από τον δικό σας τομέα; Χρησιμοποιήστε τον proxy στην ενότητα Για προχωρημένους αν το DNS σας περνά μέσω Cloudflare.
Head code <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">Αυτή είναι μια επιτρεπόμενη μέθοδος σύμφωνα με την προδιαγραφή.
-
Επαλήθευση
Ολοκληρώθηκε όταν το εργαλείο ελέγχου δείχνει Επίπεδο 1 · Δηλωμένο με μια σημείωση. Αυτό είναι το αναμενόμενο αποτέλεσμα σε αυτήν την πλατφόρμα, και είναι συμμορφωμένο.
Εκτελέστε το εργαλείο ελέγχου
Squarespace
Προσθέστε το snippet
Settings → Advanced → Code Injection → Footer: επικολλήστε το μπλοκ του snippet παρακάτω. Η εισαγωγή κώδικα ισχύει για κάθε σελίδα. Χρειάζεται το πρόγραμμα Business.
Footer <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Συνδέστε τη δήλωσή σας
Στο Header injection, προσθέστε τη γραμμή συνδέσμου δήλωσης (δεύτερο μπλοκ παρακάτω).
Header <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">Αυτή είναι μια επιτρεπόμενη μέθοδος σύμφωνα με την προδιαγραφή.
-
Επαλήθευση
Ολοκληρώθηκε όταν το εργαλείο ελέγχου δείχνει Επίπεδο 1 · Δηλωμένο με μια σημείωση. Αυτό είναι το αναμενόμενο αποτέλεσμα σε αυτήν την πλατφόρμα, και είναι συμμορφωμένο.
Εκτελέστε το εργαλείο ελέγχου
Google Tag Manager
Δημιουργήστε το tag
New tag → Tag configuration → Custom HTML → επικολλήστε το snippet. Triggering: All Pages (Page View). Μην χρησιμοποιείτε ενεργοποιητή με καθυστέρηση ή κύλιση: οι κανόνες γνωστοποίησης απαιτούν την ειδοποίηση από την πρώτη έκθεση. Δημοσιεύστε τον χώρο εργασίας.
Custom HTML <script src="https://cdn.aidisclose.io/v1/aidisclose.js" defer></script>Δημοσιεύστε και τη δήλωσή σας
Το Tag Manager χειρίζεται μόνο τις ειδοποιήσεις. Το αρχείο δήλωσής σας πρέπει ακόμη να τεθεί σε λειτουργία: ακολουθήστε το βήμα για την πλατφόρμα σας στις άλλες καρτέλες, ή την καρτέλα Custom code αν διαχειρίζεστε τον δικό σας ιστότοπο.
-
Επαλήθευση
Ολοκληρώθηκε όταν το εργαλείο ελέγχου δείχνει Επίπεδο 2 · Εμφανιζόμενο.
Εκτελέστε το εργαλείο ελέγχου
Προσαρμοσμένος κώδικας
Προσθέστε το snippet
Μία φορά στο πρότυπο ή τη διάταξη του ιστότοπού σας, πριν από το </body>, ώστε να συνοδεύει κάθε σελίδα. Η θωράκιση για παραγωγή (καρφίτσωμα έκδοσης, SRI) βρίσκεται στην ενότητα Για προχωρημένους.
HTML <script src="https://cdn.aidisclose.io/v1/aidisclose.js" defer></script>Παρέχετε το αρχείο δήλωσης
Το ai-disclosure.json πρέπει να είναι αναγνώσιμο στο /.well-known/ στον τομέα σας. Σε Vercel ή Netlify, κάντε commit το αρχείο. Αν το πλαίσιό σας επανεγγράφει κάθε διαδρομή στο index.html, αυτό το αρχείο χρειάζεται εξαίρεση: δείτε το Εφαρμογές μίας σελίδας στην ενότητα Για προχωρημένους. Οι ρυθμίσεις nginx και Apache βρίσκονται επίσης στην ενότητα Για προχωρημένους.
Vercel / Netlify # Vercel / Netlify: commit the file public/.well-known/ai-disclosure.json # SPA that rewrites every route to index.html? # Exclude /.well-known/ from the rewrite (see Advanced).-
Επαλήθευση
Ολοκληρώθηκε όταν το εργαλείο ελέγχου δείχνει Επίπεδο 2 · Εμφανιζόμενο.
Εκτελέστε το εργαλείο ελέγχου
Επαλήθευση
Εκτελέστε το εργαλείο ελέγχου. Επιβεβαιώνει τρία πράγματα: ότι το αρχείο δήλωσής σας είναι έγκυρο, ότι το snippet εκτελείται, και ότι οι ειδοποιήσεις όντως εμφανίζονται στη σελίδα. (Για μηχανικούς: έλεγχοι C1, C3, και C4 έως C6.)
Αν ο ιστότοπός σας αποκλείει το εργαλείο ελέγχου μας (AIDiscloseBot)
Οι σαρώσεις και οι λήψεις τεκμηρίων προέρχονται από το AIDiscloseBot/1.0. Διαβάζει μόνο δημόσιες σελίδες: δεν συνδέεται ποτέ, δεν υποβάλλει ποτέ φόρμες, και υπακούει στο robots.txt. Αν το robots.txt σας ή η προστασία από bots αποκλείει άγνωστους σαρωτές, επιτρέψτε το ρητά:
User-agent: AIDiscloseBot
Allow: /
Είναι ρίσκο να το επιτρέψετε; Όχι. Μια άδεια στο robots.txt δεν παρέχει καμία πρόσβαση. Απλώς λέει στα ευγενικά bots ότι μπορούν να διαβάσουν σελίδες που είναι ήδη δημόσιες. Οποιοσδήποτε μπορεί να πλαστογραφήσει ένα string User-Agent, αλλά ένας πλαστογράφος δεν κερδίζει τίποτα που δεν του δίνουν ήδη οι δημόσιες σελίδες σας.
Αν φιλτράρετε την κίνηση με WAF ή διαχειριστή bots, μην προσθέτετε ποτέ στη λίστα επιτρεπόμενων με βάση μόνο το User-Agent. Συνδυάστε το με επαλήθευση πηγής. Δημοσιεύουμε την ταυτότητα του σαρωτή μας, και τα εύρη IP εξόδου καθώς παρέχονται, στο aidisclose.io/bot.json.
Για προχωρημένους
Theming with CSS variables, custom copy, single-page-app setup, and the full option reference are in the snippet reference.
Κλειδώστε το script σε ακριβή έκδοση (SRI)
Ένα hash ακεραιότητας στο script tag κάνει το πρόγραμμα περιήγησης να αρνηθεί να εκτελέσει ένα τροποποιημένο αρχείο. Καρφιτσώστε το URL με την έκδοση και δημιουργήστε το hash από το ακριβές αρχείο που αναπτύσσετε:
curl -sO https://cdn.aidisclose.io/v1/aidisclose.js
openssl dgst -sha384 -binary aidisclose.js | openssl base64 -A
Παρέχετε το αρχείο μόνοι σας (nginx / Apache)
Για διακομιστές που ελέγχετε, παρέχετε απευθείας το ai-disclosure.json που κατεβάσατε:
location = /.well-known/ai-disclosure.json {
alias /var/www/site/ai-disclosure.json;
default_type application/json;
add_header Cache-Control "max-age=3600";
}
Alias "/.well-known/ai-disclosure.json" "/var/www/site/ai-disclosure.json"
<Files "ai-disclosure.json">
ForceType application/json
</Files>
Παρέχετε από τον δικό σας τομέα το αρχείο που φιλοξενείται στον πίνακα ελέγχου
Ο διακομιστής σας προωθεί σε εμάς τα αιτήματα για τη συγκεκριμένη διεύθυνση: επεξεργάζεστε το αρχείο στον πίνακα ελέγχου, και εξακολουθεί να παρέχεται από τον τομέα σας. Ο πίνακας ελέγχου τα εμφανίζει προσυμπληρωμένα με το κλειδί ιστότοπού σας.
location = /.well-known/ai-disclosure.json {
proxy_pass https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY;
proxy_set_header Host cdn.aidisclose.io;
proxy_ssl_server_name on;
}
export default {
async fetch(request) {
const url = new URL(request.url);
if (url.pathname === "/.well-known/ai-disclosure.json") {
return fetch("https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY");
}
return fetch(request);
}
};
Εφαρμογές μίας σελίδας και στατικοί διακομιστές
Τα πλαίσια που επανεγγράφουν κάθε διαδρομή στο index.html, καθώς και ορισμένοι στατικοί διακομιστές, υποκλέπτουν το /.well-known/ai-disclosure.json και επιστρέφουν το HTML της εφαρμογής σας με κατάσταση 200. Το αρχείο φαίνεται ότι έχει γίνει commit, αλλά το εργαλείο ελέγχου διαβάζει HTML αντί για το manifest. Δύο λύσεις: εξαιρέστε το /.well-known/ από την καθολική επανεγγραφή ώστε το στατικό αρχείο να παρέχεται με τον τύπο application/json, ή προσθέστε το data-aidisclose="YOUR_SITE_KEY" στην ετικέτα script για να φορτωθεί το manifest που φιλοξενείται από το AIDisclose και να παραλειφθεί εντελώς η παροχή του αρχείου.
# netlify.toml: serve the real file before the SPA fallback
[[redirects]]
from = "/*"
to = "/index.html"
status = 200
force = false # a real file at the path wins over this fallback
# vercel.json: rewrite everything EXCEPT /.well-known to the app
{ "rewrites": [
{ "source": "/((?!\.well-known/).*)", "destination": "/index.html" }
] }