AI-chatbot lähdeviitteillä Docusaurus 3:een
Docusaurus toimii ensimmäisen sivulatauksen jälkeen yksisivuisen sovelluksen tavoin. Widget-integraatio, joka toimii vain ensimmäisessä dokumentissa tai lisää toisen lataajan jokaisella reittimuutoksella, ei ole tuotantovalmis. Tässä oppaassa käytetään vakaata skripti-identiteettiä ja teeman juurikomponenttia, joka pysyy liitettynä dokumentaatioreittien välillä.
Tekninen kirjoittaja ja tarkastaja: Michael Fisher, ChattyBoxin ylläpitäjä. Julkaistu ja teknisesti tarkistettu 10. heinäkuuta 2026. Alla olevat toistettavat tarkistukset ovat toteutusopas, eivät suorituskyky- tai tarkkuusvertailu.
1. Lisää Root-teemakomponentti
Luo Docusaurus-sivustoosi src/theme/Root.tsx:
import React, { useEffect, type ReactNode } from 'react';
const WIDGET_ID = 'chattybox-widget';
export default function Root({ children }: { children: ReactNode }) {
useEffect(() => {
if (document.getElementById(WIDGET_ID)) return;
const script = document.createElement('script');
script.id = WIDGET_ID;
script.src = 'https://chattybox.ai/widget.js';
script.async = true;
script.dataset.apiKey = 'YOUR_API_KEY';
script.dataset.apiUrl = 'YOUR_CHAT_API_URL';
script.dataset.chattyboxWidget = 'true';
document.body.appendChild(script);
}, []);
return <>{children}</>;
}
Vakaa chattybox-widget-tunniste suojaa juuri tämän lisäyksen Reactin kehitysaikaisten uudelleenliitosten ja asiakaspuolen reittimuutosten yhteydessä. Se ei tunnista erillistä lataajaa, jolla on toinen tunniste tai ei tunnistetta lainkaan; käytä sivulla vain yhtä integraatiota.
Käytä ChattyBox-projektisi näyttämää API-URL-osoitetta sen sijaan, että kopioisit esimerkkikäyttöönoton. Katso nykyiset attribuutit widgetin asennusviitteestä sekä lähteiden valintaa ja arviointia koskevat ohjeet Docusaurus-tuoteoppaasta.
2. Pidä lataaja liitettynä
Älä sijoita tätä skriptiä yksittäiselle docs-sivulle tai asetteluun, jonka Docusaurus korvaa navigoinnin aikana. Swizzlattu Root-komponentti ympäröi sovellusta koko sen elinkaaren ajan, joten widget pysyy käytettävissä, kun kävijät siirtyvät oppaiden ja viitteiden välillä.
Jos sivustollasi on jo src/theme/Root.tsx, yhdistä efekti nykyiseen komponenttiin sen sijaan, että korvaisit todennuksen, analytiikan tai muut providerit.
3. Huomioi Content Security Policy
Rajoittavan käytännön on sallittava seuraavat:
https://chattybox.aiscript-src-direktiivissä widgetin lataamista varten.- Määrittämäsi chat-API:n alkuperä
connect-src-direktiivissä. - Nykyisen lähdekoodin lataajalle
https://fonts.googleapis.comstyle-src-direktiivissä jahttps://fonts.gstatic.comfont-src-direktiivissä, kun se lisää Inter-tyylitiedoston. Vastaava Google Fonts -tyylitiedoston linkki estää lisäämisen; pelkkä fontin muu saatavuus ei estä sitä. Tarkista käyttöönotetun lataajan toiminta. - Mahdollisen määritetyn mukautetun kuvakekuvan alkuperä
img-src-direktiivissä. - Inline-komponenttityylit
style-src-direktiivissä nykyistä widget-koontia varten.
Lähde nykyisestä käytännöstäsi ja lisää vain ne alkuperät, joita todella käytät. Älä korvaa rajoittavaa käytäntöä laajalla jokerimerkillä.
4. Toista integraatiotarkistukset
Lisää yllä oleva Root-kääre Docusaurus-projektiisi ja suorita:
bun install
bun run start
Varmista sitten seuraavat:
- Avaa kaksi eri docs-reittiä ilman selaimen täyttä päivitystä.
- Suorita
document.querySelectorAll('#chattybox-widget').lengthjokaisen navigoinnin jälkeen. Arvon on pysyttävä1:ssä. - Esitä kysymys, johon indeksoitu sivu vastaa, ja varmista, että vastaus sisältää linkin kyseiselle sivulle.
- Esitä kysymyksiä, joihin ei ole tukea, ja arvioi, käyttääkö avustaja varavastausta lähteen keksimisen sijaan; toista testi edustavilla tapauksilla olettamatta, että se pidättäytyy vastaamasta joka kerta.
- Testaa widgetin käynnistintä kapeassa mobiilinäkymässä ja tarkista, ettei se peitä navigointi- tai sivutusohjaimia.
Skriptimäärän tarkistus laskee vain kyseisen tunnisteen; erillinen lataaja ilman tunnistetta tai toisella tunnisteella voi silti olla olemassa. Tarkista myös kaikki integraatiot ja renderöity widget. Määrä ei osoita tiedonhaun laatua. Käytä edustavaa kysymysjoukkoa ja scraping-opasta lähteiden kattavuuden validoimiseen ennen julkaisua.
Mitä seurata julkaisun jälkeen
Kirjaa ratkaisematta jääneet kysymykset, virheelliset lähdeviittaukset, vanhentuneet lähdesivut ja reitit, joilla widgetin käynnistin peittää sivuston ohjaimia. Testaa uudelleen Docusaurus-teeman päivitysten jälkeen, sillä navigoinnin ja sisällön asettelun muutokset voivat vaikuttaa sijoitteluun, vaikka lataaja toimisi edelleen oikein.
Laajempaa käyttöönottojärjestystä varten käytä dokumentaation chatbotin toteutuksen tarkistuslistaa ja julkaisun tarkistuslistaa.
