Liten klientgräns
Markera endast den interaktiva chattmodulen med `use client` i stället för att flytta en hel sida eller layout till webbläsaren.
Använd @openstaticfish/chattybox inom en fokuserad klientgräns medan resten av din App Router-applikation förblir serverrenderad. ChattyBox hanterar hämtning, citat, konversationer och skalning.
ChattyBox genomsöker din befintliga webbplats, dokumentation, hjälpcenter, CMS eller kunskapsbas och bäddar sedan in en chatbot som svarar utifrån ditt eget publicerade innehåll i stället för modellens generiska minne.
Installera @openstaticfish/chattybox i Next.js-applikationen.
Lägg till den offentliga widgetens API-nyckel och API-URL som NEXT_PUBLIC miljövariabler.
Skapa en klientkomponent för chattstatus och webbläsarinteraktion.
Importera den klientkomponenten från en serverkomponentsida eller layout.
Lansering i tre steg
Håll SDK vid klientkanten där chattinteraktion sker och bevara serverkomponenter för resten av programmet.
Använd dessa kontrollpunkter för att bestämma om ChattyBox ska sitta bredvid din dokumentplattform, ersätta en separat assistent eller hålla sig isolerad för testning.
Markera endast den interaktiva chattmodulen med `use client` i stället för att flytta en hel sida eller layout till webbläsaren.
Använd en webbläsarsäker projektnyckel med tillåtna ursprung; exponera aldrig hanteringsuppgifter via NEXT_PUBLIC-variabler.
Återge meddelanden och citat i din egen navigering, kontoområde, dokumentskal eller supportarbetsflöde.
Undvik att lägga till rutthanterare enbart för att proxyservera ett hanterat webbläsar-API om inte din produkt har ett konkret krav på serversidan.
SDK:n använder hämtning och webbläsarsynliga projektuppgifter, så initiera det i en klientmodul. Håll hemligheter och hanterings-API:er borta från NEXT_PUBLIC-variabler.
'use client';
import { useState } from 'react';
import { Chattybox } from '@openstaticfish/chattybox';
const chattybox = new Chattybox({
apiKey: process.env.NEXT_PUBLIC_CHATTYBOX_API_KEY!,
baseUrl: process.env.NEXT_PUBLIC_CHATTYBOX_API_URL!,
});
export function Chat() {
const [answer, setAnswer] = useState('');
async function ask(message: string) {
const response = await chattybox.sendMessage({ message });
setAnswer(response.message);
}
return <div aria-live="polite">{answer}</div>;
}Ja. Använd den i en klientkomponent för interaktivt chattläge och rendera den komponenten från en App Router-sida eller layout.
Inte för normal webbläsarintegration. Offentliga widgetnycklar är designade för klientanvändning och kan begränsas till godkända ursprung.
Den offentliga widgetnyckeln identifierar ett projekt men är inte en hanteringsuppgifter. Begränsa det till din produktion och förhandsgranskning, och avslöja aldrig administrativa hemligheter.
Ja. Den värdbaserade installationsguiden visar nästa/skriptsökväg när du föredrar ett underhållet gränssnitt istället för ett anpassat SDK-gränssnitt.
Inget kreditkort krävs. Ditt innehåll används inte för modellträning.
Free-nivå. Inget kort behövs.
We use optional analytics and tag-management tools to understand site use. Choose whether to allow PostHog and Google Tag Manager. Turning analytics off reloads this page so the change takes effect cleanly. Essential site functionality and error monitoring are not controlled by this choice. Read our privacy policy.