Skip to Content

Chatbot Pilot

Chatbot Pilot er en AI-kundeservice-chatbot til WordPress. Det leveres som en flydende chatwidget på frontend og som et komplet administrationsområde under Indstillinger → Chatbot Pilot. Pluginet tilbyder to driftstilstande:

  • n8n-tilstand — widgetten sender hver besøgendebesked videre til et eksternt n8n -workflow via webhook. Brug den, når du allerede kører automatiseringer, custom logik eller tredjepartsintegrationer uden for WordPress.
  • Native RAG-tilstand — pluginet indekserer dit eget site-indhold (indlæg, sider, custom post types) i chunks gemt i en lokal SQLite-database, henter de mest relevante passager ved hver forespørgsel og genererer et svar med den LLM-provider, du vælger (OpenAI, Anthropic Claude, Google Gemini, DeepSeek eller en selv-hostet Ollama-instans).

Begge tilstande deler den samme widget, den samme samtaleskrivelse og de samme feedback-/eksportværktøjer, så du kan skifte backend når som helst uden at miste den besøgendes oplevelse.

Chatwidget
Chatwidget renderet på frontend.

Højdepunkter

  • Dobbelt backend: n8n-webhook eller fuldt indbygget Retrieval-Augmented Generation.
  • Multi-provider LLM-understøttelse: OpenAI, Anthropic Claude, Google Gemini, DeepSeek, Ollama (lokal).
  • Indbygget RAG-motor med SQLite-lager, justerbar chunk-størrelse og top-K-retrieval.
  • Baggrundsindeksering via WordPress-cron, så reindeksering aldrig blokerer admin-grænsefladen.
  • Tilpasselig widget: position, primær-/baggrunds-/tekstfarver, farver på bruger- og bot-bobler, dimensioner, border-radius, typografi.
  • Redigerbar tekst til velkomstbesked, undertitel, input-placeholder, loading-tilstand og fejlbesked.
  • Samtalelog med feedback pr. besked (tommel op / tommel ned) og CSV-eksport.
  • Indbygget health-check, der verificerer provider-forbindelse, indeksstatus og at webhooken kan nås.
  • Klar til flersprogethed via Polyglot — widgettekst og videnbase kan serveres pr. sprog.

Krav

Pluginet er selvbærende og kræver ingen ekstern tjeneste i Native RAG-tilstand ud over den valgte LLM-API. Den medfølgende vektorlager bruger SQLite, der er tilgængelig i ethvert standard PHP-build.

KomponentAnbefalet
WordPress6.2 eller nyere (testet op til 7.0)
PHP7.4 eller nyere (8.x anbefales)
DatabaseMySQL/MariaDB til WordPress-data, SQLite til vektorindekset
HTTPSKrævet til webhook- og provider-kald
Udgående netværkKrævet for at nå den valgte LLM-provider

Til n8n-tilstand kræves yderligere en tilgængelig n8n-instans med en Webhook-node konfigureret til at modtage POST-kald. Til Ollama kræves en kørende Ollama-server, der kan nås fra WordPress-hosten (typisk http://localhost:11434).

Installation

  1. Åbn Plugins → Tilføj nyt → Upload plugin i WordPress-administrationen, og upload Chatbot Pilot-ZIP’en.
  2. Aktiver Chatbot Pilot.
  3. Åbn Indstillinger → Chatbot Pilot. Pluginet opretter sine databasetabeller og standardvalg ved første indlæsning.
  4. Vælg backend-tilstand (n8n eller Native RAG), og gennemfør provider-konfigurationen nedenfor.
  5. I Native RAG-tilstand: klik på Reindekser mindst én gang for at fylde videnbasen, før widgetten udstilles for besøgende.
  6. Besøg en hvilken som helst offentlig side for at bekræfte, at widgetten dukker op på den valgte position.

Widgetten enqueues automatisk på hver side, så snart pluginet er konfigureret; ingen shortcode eller theme-ændring er nødvendig.

Konfiguration

Indstillingsskærmen ligger under Indstillinger → Chatbot Pilot og er opdelt i seks faner — Generelt, AI / RAG, Udseende, Ikoner, Tekster og Feedback. Alle værdier gemmes pr. site (eller pr. netværkssite på multisite) og kan ændres uden at reindeksere, bortset fra selve indekseringsparametrene.

Generelt

Chatbot Pilot — Indstillinger, Generelt-fanen
Generelt-fanen — Licens, hoved-kontakten Aktivér chatbot, Visibility-listen pr. URL og Balloon Notification-kortet med dets forsinkelse.

Generelt-fanen rummer tre kort:

  • Licens — indsæt din PILOT-XXXX-XXXX-XXXX-XXXX-nøgle, og tryk på Verificer og gem for at slå automatiske plugin-opdateringer til.
  • Generelt → Aktivér chatbot — hovedkontakt til at vise widgetten på sitet.
  • Visibility → Skjult på disse URL’er — komma- eller linjeskift-adskilt liste over stier, hvor widgetten skal forblive skjult (præfiks-match: /login skjuler også /login/).
  • Balloon Notification — viser et balloon-formet hint ved siden af chatboblen efter en konfigurerbar forsinkelse (Show After i sekunder, 0 = med det samme) for at fange opmærksomhed.

Backend-tilstand

Vælg præcis én backend. Valget bestemmer, hvilke felter du ser bagefter.

  • n8n-webhook — widgetten POST’er besøgendebesked, samtale-ID og aktuel side-URL til den webhook, du angiver. Det forventede svar er en JSON-payload med en reply-streng, der rendres tilbage til brugeren.
  • Native RAG — kaldet håndteres in-process. Pluginet henter top-K mest relevante chunks fra det lokale indeks, bygger en prompt og kalder den konfigurerede LLM-provider.

n8n-indstillinger

Synlige kun, når backend-tilstanden er n8n-webhook.

  • Webhook-URL — fuld HTTPS-URL til din n8n Webhook-node.
  • Autentificeringsheader (valgfri) — navn og værdi på en header, der skal sendes med hvert kald, nyttig til shared-secret-beskyttede webhooks.
  • Timeout — maks. ventetid, i sekunder, før fejlbeskeden vises til brugeren.

AI-provider (Native RAG)

Synlige kun, når backend-tilstanden er Native RAG.

AI-provider-indstillinger
AI-provider-indstillinger

Vælg én provider, og udfyld de tilsvarende felter:

ProviderBemærkninger
OpenAIBedste samlede kvalitet med GPT-4-familien. Kræver en API-nøgle fra platform.openai.com.
Anthropic ClaudeStærk reasoning og tonekontrol. Kræver en API-nøgle fra console.anthropic.com.
Google GeminiHurtige svar til konkurrencedygtige priser. Kræver en nøgle fra Google AI Studio.
DeepSeekBudgetvenligt valg med stærk performance på teknisk indhold.
OllamaKører lokalt. Konfigurer base-URL (standard http://localhost:11434) og modelnavnet. Ingen API-nøgle nødvendig.

Hver provider viser de samme tre felter:

  • API-nøgle (eller base-URL til Ollama) — gemmes i WordPress’ options-tabel; eksponeres aldrig til frontend.
  • Model — den specifikke model-identifier, der kaldes (f.eks. gpt-4o-mini, claude-3-5-sonnet, gemini-1.5-flash, deepseek-chat, llama3.1:8b).
  • Test forbindelse — sender et minimalt ping til providere og rapporterer succes eller den ordrette fejl, API’en returnerer. Kør altid testen, når du har ændret nøglen eller modellen.

Videnbase

Styrer, hvordan Native RAG-indekset bygges og forespørges. Ændringer i chunking-parametrene træder i kraft ved næste reindeksering.

  • Kildesti — komma-adskilt liste over posttyper (eller en rod-URL), der skal indtages. Lad standarden post,page stå for at indeksere hele sitet, eller begræns til en specifik videnbase-CPT.
  • Chunk-størrelse — antal tokens i hver chunk i indekset. Standard 500. Mindre chunks giver bedre retrieval-præcision; større chunks bevarer mere omgivende kontekst.
  • Top-K — antal chunks, der hentes pr. besøgendespørgsmål og sendes videre til LLM’en som kontekst. Standard 5.
  • Reindekser — sætter en fuld genopbygning i kø via WP-Cron. Progressbaren viser antal dokumenter i kø, behandlede og sprunget over. Mens jobbet kører, fortsætter det eksisterende indeks med at besvare forespørgsler.
  • Ryd indeks — fjerner alle rækker fra vektor-tabellen. Brug det, før du skifter embedding-model.

Udseende

Hvert visuelt aspekt af widgetten kan redigeres på denne fane. Live-previewen til højre opdateres straks, når du ændrer værdier.

Udseende-indstillinger
Udseende-indstillinger

Position

  • Nederst til højre (standard)
  • Nederst til venstre

Farver

  • Primærfarve — header-baggrund, send-knap, fokus-ringe.
  • Baggrundsfarve — chatvinduets baggrund.
  • Tekstfarve — grundlæggende tekstfarve i vinduet.
  • Bruger-beskedfarve — boblebaggrund for den besøgende.
  • Bot-beskedfarve — boblebaggrund for assistenten.

Dimensioner

  • Vinduesbredde og vindueshøjde — i pixels.
  • Launcher-knapstørrelse — diameter på den flydende knap.
  • Border-radius — anvendes på vinduet, boblerne og launcheren.

Typografi

  • Skrifttype — arver fra theme’et som standard; kan overstyres med en hvilken som helst CSS-skriftstack.
  • Grund-skriftstørrelse — anvendes på chat-kroppen.

Ikoner

Chatbot Pilot — Ikoner-fanen
Ikoner-fanen — vælg launcher-ikonet (chatboble, besked, robot, support, gnist), luk-ikonet og send-ikonet, eller upload din egen SVG/PNG.

Fanen Ikoner kobler branding fri af Udseende-fanen, så du kan udskifte launcher-, luk- og send-ikoner uden at røre farver eller størrelser. Det medfølgende sæt dækker de mest almindelige chat-mønstre; feltet Custom URL accepterer enhver offentligt tilgængelig SVG eller PNG.

Tekster

Chatbot Pilot — Tekster-fanen
Tekster-fanen — hver besøgendevendt streng samlet ét sted: header-titel og undertitel, velkomstbesked, input-placeholder, loading- og fejltekst, feedback-prompt og balloon-notifikationens tekst.

Hver besøgendevendt streng bor på fanen Tekster, så du kan oversætte eller omformulere widgetten uden at røre det visuelle theme:

  • Velkomstbesked — den første besked, der vises, når en besøgende åbner widgetten.
  • Undertitel — lille tekst under titlen i headeren.
  • Input-placeholder — teksten i det tomme inputfelt.
  • Loading-tekst — vises, mens der ventes på assistentens svar.
  • Fejlbesked — vises, når backend-kaldet fejler eller timer ud.
  • Feedback-prompt — tekst over tommel op-/tommel ned-knapperne (når feedback er slået til).
  • Balloon Notification-tekst — teksten i balloon-hintet.

Visibility-regler

  • Vis på — vælg mellem Alle sider, Kun på valgte sider eller Overalt undtagen valgte sider. Side-ID’er angives som en komma-adskilt liste.
  • Skjul for indloggede brugere — slår widgetten fra for autentificerede sessioner.
  • Mobil-breakpoint — viewport-bredde, hvorunder widgetten falder sammen til et kompakt layout.

Feedback og analytics

  • Aktivér feedback-knapper — tilføjer tommel op-/tommel ned-knapper under hver assistent-besked.
  • Gem samtaler — beholder hele transkriptet i tabellen wp_chatbotpilot_conversations til gennemgang og eksport.
  • Opbevaringsperiode — antal dage, hvorefter gemte samtaler ryddes af det daglige cron-job. Sæt til 0 for at gemme uden tidsbegrænsning.

Health-check

Health-check-panelet er altid synligt øverst på indstillingsskærmen. Det kører tre probes og viser en farvet status-pille for hver:

  • Provider-tilgængelighed — kalder LLM-API’en med et 1-token-ping.
  • Indeksstatus — tæller chunks i SQLite-lageret og rapporterer tidsstemplet for sidste vellykkede reindeksering.
  • Webhook-tilgængelighed (n8n-tilstand) — sender et OPTIONS-kald til den konfigurerede webhook-URL.

Enhver ikke-grøn status kan klikkes og folder sig ud til den ordrette fejl, det underliggende kald returnerede, hvilket normalt er nok til at stille diagnose.

Brug

For besøgende

Widgetten dukker op på hver side, hvor visibility-reglerne giver mulighed for det. Den besøgende klikker på launcher-knappen for at åbne vinduet, læser velkomstbeskeden og skriver et spørgsmål i inputfeltet. Et tryk på Enter eller send-knappen sender beskeden; widgetten viser loading-teksten, og derefter rendres assistentens svar med markdown-formatering (fed, links, opstillinger med tal og punkttegn, kode-blokke).

Hvis feedback-knapperne er slået til, kan den besøgende give hver assistent-besked en vurdering. Vurderingen gemmes på besked-ID’et, så samme svar senere kan gennemgås i admin-panelet.

For administratorer

Den daglige administration foregår to steder:

  • Indstillinger → Chatbot Pilot til konfiguration og health-check-panelet.
  • Chatbot Pilot → Samtaler til samtaleloggen og feedback-eksporten.
Feedback- og samtalelog
Feedback- og samtalelog

Samtaleloggen viser hver session med dato, hvilken side den startede fra, antal beskeder og samlet feedback. Hver række kan foldes ud og vise hele transkriptet, herunder de hentede kontekst-passager i Native RAG-tilstand. Knappen Eksporter CSV øverst på listen producerer en UTF-8-CSV med én række pr. besked; den respekterer ethvert aktivt dato- eller vurderingsfilter.

Reindeksér efter indholdsændringer

Det indbyggede indeks opdaterer ikke sig selv i realtid. Udløs en reindeksering, når:

  • Du udgiver eller laver væsentlige ændringer i en gruppe indlæg.
  • Du ændrer chunk-størrelse, kildesti eller embedding-model.
  • Health-check-panelet rapporterer forældet eller tomt indeks.

Til inkrementelle opdateringer reindekserer pluginet også et enkelt indlæg ved gem, hvis valget Auto-reindekser ved gem er slået til på fanen Videnbase. Det giver lidt ekstra arbejde ved hver gem, men holder videnbasen i sync uden manuel indgriben.

Skift backend

Du kan skifte mellem n8n og Native RAG når som helst. Widgetten, samtaleloggen og feedback-lageret deles på tværs af tilstandene. Skifter du til Native RAG første gang, så husk at køre Reindekser, før widgetten kan svare på spørgsmål.

Skærmbilleder

Skærmbillederne nedenfor svarer til de fire hovedområder i admin-grænsefladen og frontend-widgetten.

Chatwidget på frontend

Chatwidget renderet på en side
Chatwidget renderet på en side

AI-provider-konfiguration

Provider-valg, API-nøgle, model og forbindelsestest
Provider-valg, API-nøgle, model og forbindelsestest

Udseende-editor til widgetten

Live-preview med position, farver, dimensioner og tekst
Live-preview med position, farver, dimensioner og tekst

Samtalelog og feedback-eksport

Samtaleliste med feedback-indikatorer
Samtaleliste med feedback-indikatorer

FAQ

Hvilken backend skal jeg vælge?

Brug Native RAG, hvis dit mål er at besvare spørgsmål om dit eget site-indhold, og du vil have en selvbærende løsning, der kun kræver en LLM-API-nøgle. Brug n8n, hvis du vil kombinere chatbotten med eksterne værktøjer (CRM-opslag, ticketing, custom routing), eller hvis samtalen skal udløse handlinger uden for WordPress.

Skal jeg installere n8n for at bruge pluginet?

Nej. n8n kræves kun, hvis du vælger n8n som backend-tilstand. Native RAG-tilstand er fuldt selvbærende.

Sendes mine data til en tredjepart?

I Native RAG-tilstand sendes hver prompt og den hentede kontekst til den valgte LLM-provider. Hvis det ikke er acceptabelt, så kør pluginet mod en lokal Ollama-instans — så forlader ingen data serveren. I n8n-tilstand sendes hver besked til dit eget n8n-endpoint; hvad der sker bagefter, afhænger af det workflow, du bygger.

Hvor gemmes indekset?

Vektor-indekset er en SQLite-fil i wp-content/uploads/chatbot-pilot/. WordPress’ options-tabel rummer chatbot-konfigurationen, og tabellen wp_chatbotpilot_conversations rummer samtaleloggen.

Kan jeg bruge det på et flersproget site?

Ja. Med Polyglot installeret indtager indekseringen de oversatte versioner af hvert indlæg, og widget-teksten serveres pr. sprog. Uden Polyglot kan du stadig drive én widget pr. sprog ved at begrænse kildestien til sprogspecifikke kategorier.

Understøtter det custom post types?

Ja. Føj CPT-slug’erne til feltet Kildesti, komma-adskilt, og reindekser.

Kan jeg eksportere samtaler?

Ja. Knappen Eksporter CSV på Samtaler-skærmen producerer en UTF-8-CSV-fil med én række pr. besked, herunder vurdering, tidsstempel, sidens URL og hele besked-teksten.

Hvordan sletter jeg en besøgendes data?

Åbn Chatbot Pilot → Samtaler, filtrer efter session-ID eller IP, og brug Slet-handlingen på de matchende rækker. Samtalen og dens feedback-poster fjernes med det samme.

Virker widgetten uden JavaScript?

Nej. Widgetten er en JavaScript-single-page-komponent; den degraderer ikke til en noscript-fallback.

Fejlfinding

Widgetten dukker ikke op på frontend

  • Bekræft, at backend-tilstand er valgt, og at de relevante credentials (API-nøgle eller webhook-URL) er gemt.
  • Tjek visibility-reglerne — siden kan være ekskluderet.
  • Kig i browserens konsol: et 4xx-svar fra admin-ajax.php peger som regel på en rettighed- eller nonce-fejl forårsaget af et aggressivt cache-plugin.

Assistenten svarer med fejlbeskeden

Åbn health-check-panelet, og klik på den røde status-pille for at læse provider-fejlen ordret. Almindelige årsager:

  • Udløbet eller tilbagekaldt API-nøgle.
  • Den valgte model er ikke tilgængelig for din konto eller region.
  • Rate limit overskredet — vent, eller opgrader provider-planen.
  • Webhook-URL’en svarer med ikke-2xx-status.

Reindeksering ser ud til at sidde fast

WordPress-cron fyrer kun, når sitet får trafik. Udløs enten et manuelt sidehit, eller kør wp cron event run --due-now fra WP-CLI. Progressbaren opdateres med få sekunders mellemrum, mens jobbet kører.

Svarene er ude af emnet eller hallucineret

  • Reindekser efter nylige indholdsændringer.
  • Øg Top-K, så modellen får mere kontekst.
  • Reducer Chunk-størrelse for mere finkornet retrieval, og reindekser.
  • Prøv en stærkere model (f.eks. skift fra GPT-4o-mini til GPT-4o eller fra Gemini Flash til Gemini Pro).

Ollama-svar er meget langsomme

Hastigheden ved lokal inferens afhænger helt af værten. Brug en kvantiseret model (:q4_K_M eller lignende), sørg for, at GPU-acceleration er slået til, og hold chunk-størrelse og top-K beskedne.

Samtaler bliver ikke gemt

Bekræft, at Gem samtaler er slået til på fanen Feedback og analytics, og at tabellen wp_chatbotpilot_conversations findes. Deaktivering og genaktivering af pluginet genskaber manglende tabeller.

Last updated on