Οδηγός εγκατάστασης

Δύο πράγματα πρέπει να είναι ενεργά στον ιστότοπό σας: η ειδοποίηση που βλέπουν οι επισκέπτες σας, και ένα μικρό δημόσιο αρχείο που δηλώνει τη χρήση ΤΝ (yoursite.com/.well-known/ai-disclosure.json). Το tag του snippet επικολλάται μία φορά, είναι πανομοιότυπο σε κάθε σελίδα, και η δήλωσή σας καθορίζει ποιες ειδοποιήσεις εμφανίζονται πού. Επιλέξτε την πλατφόρμα σας παρακάτω· οι περισσότερες χρειάζονται περίπου δέκα λεπτά.

1 · Εμφανίστε τις ειδοποιήσεις

Μπάνερ και ετικέτες ΤΝ που βλέπουν οι επισκέπτες σας στη σελίδα.

2 · Δημοσιεύστε τη δήλωσή σας

ai-disclosure.json, ένα δημόσιο αρχείο αναγνώσιμο από τον δικό σας τομέα.

Ολοκληρώσατε όταν

το εργαλείο ελέγχου δείχνει Επίπεδο 2 · Εμφανιζόμενο.

Επιλέξτε την πλατφόρμα σας

WordPress

  1. Εγκαταστήστε το πρόσθετο

    Στη διαχείριση του WordPress: Plugins → Add New → Upload Plugin, επιλέξτε το αρχείο που κατεβάσατε παρακάτω, και μετά κάντε κλικ στο Activate.

    Κατεβάστε το πρόσθετο AIDisclose (.zip)

  2. Αφήστε το να κάνει και τις δύο δουλειές

    Το πρόσθετο εμφανίζει τις ειδοποιήσεις και δημοσιεύει το αρχείο δήλωσής σας αυτόματα. Σημάνετε περιεχόμενο ΤΝ σε οποιαδήποτε ανάρτηση ή εικόνα με τον διακόπτη «AI content». Χωρίς επεξεργασία κώδικα.

  3. Επαλήθευση

    Ολοκληρώθηκε όταν το εργαλείο ελέγχου δείχνει Επίπεδο 2 · Εμφανιζόμενο.

    Εκτελέστε το εργαλείο ελέγχου

Επαλήθευση

Εκτελέστε το εργαλείο ελέγχου. Επιβεβαιώνει τρία πράγματα: ότι το αρχείο δήλωσής σας είναι έγκυρο, ότι το snippet εκτελείται, και ότι οι ειδοποιήσεις όντως εμφανίζονται στη σελίδα. (Για μηχανικούς: έλεγχοι C1, C3, και C4 έως C6.)

Εκτελέστε το εργαλείο ελέγχου

Αν ο ιστότοπός σας αποκλείει το εργαλείο ελέγχου μας (AIDiscloseBot)

Οι σαρώσεις και οι λήψεις τεκμηρίων προέρχονται από το AIDiscloseBot/1.0. Διαβάζει μόνο δημόσιες σελίδες: δεν συνδέεται ποτέ, δεν υποβάλλει ποτέ φόρμες, και υπακούει στο robots.txt. Αν το robots.txt σας ή η προστασία από bots αποκλείει άγνωστους σαρωτές, επιτρέψτε το ρητά:

robots.txt
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 από το ακριβές αρχείο που αναπτύσσετε:

shell
curl -sO https://cdn.aidisclose.io/v1/aidisclose.js
openssl dgst -sha384 -binary aidisclose.js | openssl base64 -A
Παρέχετε το αρχείο μόνοι σας (nginx / Apache)

Για διακομιστές που ελέγχετε, παρέχετε απευθείας το ai-disclosure.json που κατεβάσατε:

nginx
location = /.well-known/ai-disclosure.json {
  alias /var/www/site/ai-disclosure.json;
  default_type application/json;
  add_header Cache-Control "max-age=3600";
}
Apache
Alias "/.well-known/ai-disclosure.json" "/var/www/site/ai-disclosure.json"
<Files "ai-disclosure.json">
  ForceType application/json
</Files>
Παρέχετε από τον δικό σας τομέα το αρχείο που φιλοξενείται στον πίνακα ελέγχου

Ο διακομιστής σας προωθεί σε εμάς τα αιτήματα για τη συγκεκριμένη διεύθυνση: επεξεργάζεστε το αρχείο στον πίνακα ελέγχου, και εξακολουθεί να παρέχεται από τον τομέα σας. Ο πίνακας ελέγχου τα εμφανίζει προσυμπληρωμένα με το κλειδί ιστότοπού σας.

nginx
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;
}
Cloudflare Worker
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 / vercel.json
# 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" }
] }