React i Next.js
Zainstaluj aktualny widżet Agentkit z dwoma skryptami w React, Vite lub Next.js i sprawdź go na opublikowanej stronie.
Widżet czatu Agentkit wymaga pełnego wygenerowanego kodu z dwoma skryptami: najpierw skryptu inicjującego kolejkę poleceń, a potem programu ładującego z identyfikatorem agenta i adresem widżetu. Sam program ładujący nie wystarczy.
Otwórz Kanały → Wtyczka na stronę → Widżet czatu agenta, włącz kanał i skopiuj oba wygenerowane znaczniki. Zachowaj wygenerowany identyfikator i adres URL.
React z Vite lub Create React App
Wklej oba znaczniki bez zmian i w tej kolejności przed </body> w index.html (Vite) lub public/index.html (Create React App). Zbuduj i opublikuj stronę. Nie umieszczaj ich w komponencie montowanym ponownie przy zmianie trasy.
Next.js App Router
Aby wyświetlać widżet w całej witrynie, przenieś oba wygenerowane znaczniki do app/layout.tsx przy użyciu next/script. Zastąp YOUR_WIDGET_URL i YOUR_CHATBOT_ID wartościami z wygenerowanego programu ładującego. Zachowaj pokazany kod inicjujący. Skrypt wbudowany wymaga id; beforeInteractive uruchamia go przed programem ładującym.
// app/layout.tsx
import Script from 'next/script';
const bootstrap = `(function (w) {
if (w.agentkit) return;
var q = [];
var agentkit = function () { q.push(arguments); };
agentkit.q = q;
w.agentkit = agentkit;
})(window);`;
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="en">
<body>
{children}
<Script id="agentkit-bootstrap" strategy="beforeInteractive">
{bootstrap}
</Script>
<Script
id="agentkit-widget"
src="YOUR_WIDGET_URL"
data-chatbot="YOUR_CHATBOT_ID"
strategy="afterInteractive"
/>
</body>
</html>
);
}
Next.js Pages Router
Dla całej witryny umieść inicjalizację w pages/_document.tsx, a program ładujący w pages/_app.tsx. Zastąp oba symbole wartościami z wygenerowanego kodu. beforeInteractive należy do _document, a nie do _app.
// pages/_document.tsx
import { Html, Head, Main, NextScript } from 'next/document';
import Script from 'next/script';
export default function Document() {
return (
<Html lang="en">
<Head />
<body>
<Main />
<NextScript />
<Script id="agentkit-bootstrap" strategy="beforeInteractive">
{`(function (w) {
if (w.agentkit) return;
var q = [];
var agentkit = function () { q.push(arguments); };
agentkit.q = q;
w.agentkit = agentkit;
})(window);`}
</Script>
</body>
</Html>
);
}
// pages/_app.tsx
import Script from 'next/script';
import type { AppProps } from 'next/app';
export default function App({ Component, pageProps }: AppProps) {
return (
<>
<Component {...pageProps} />
<Script
id="agentkit-widget"
src="YOUR_WIDGET_URL"
data-chatbot="YOUR_CHATBOT_ID"
strategy="afterInteractive"
/>
</>
);
}
Sprawdź opublikowaną stronę
- Otwórz opublikowany adres i sprawdź, czy widać przycisk czatu. W Vite lub Create React App sprawdź źródło strony; w Next.js sprawdź panel Elementy po załadowaniu. Inicjalizacja i program ładujący z identyfikatorem agenta muszą być obecne.
- Otwórz czat i zadaj pytanie, którego odpowiedź sprawdzono już w Playground. Porównaj ją z zatwierdzonym źródłem.
- Jeśli widżetu nie ma, sprawdź kanał, URL skryptu i oba znaczniki. Jeśli otwiera się bez odpowiedzi, sprawdź błędy sieci, limit wiadomości, źródła i ograniczenia domen. Zezwalaj na domenę deweloperską lub podglądu tylko na czas testu.
Instrukcja widżetu JavaScript zawiera listę kontrolną wygenerowanego kodu. Next.js opisuje umieszczanie i ładowanie skryptów oraz wymagany identyfikator skryptu wbudowanego. Przykłady dotyczą pływającego widżetu w całej witrynie; konfigurację zależną od trasy lub dzierżawcy sprawdź osobno.