AI-Kit JavaScript API WordPresshez

Az AI‑Kit nyilvános futásidejű felületet biztosít a globális WP Suite-objektum alatt:

  • globalThis.WpSuite.plugins.aiKit — a bővítményobjektum, amelyet az AI‑Kit bővítmény regisztrál
  • globalThis.WpSuite.plugins.aiKit.features — funkciómetódusok és felületi segédek

Minden funkciómetódus aszinkron, és Promise értéket ad vissza.

Védekező hozzáférés

Mindig használjon opcionális láncolást (?.), mert előfordulhat, hogy az AI‑Kit nincs telepítve az aktuális webhelyen vagy oldalon.


Futásidejű segédek (megosztott WP Suite-szerződés)

A WP Suite-bővítmények egy kisméretű közös futásidejű szerződésen osztoznak az @smart-cloud/wpsuite-core csomagból, többek között:

Segéd hozzáférési függvények

Ha az @smart-cloud/wpsuite-core csomagot is beépíti, ezeket is használhatja:

  • getWpSuite() → visszaadja a globális WpSuite objektumot vagy undefined értéket
  • getPlugin("gatey" | "aiKit" | "...") → visszaad egy bővítményobjektumot a nyilvántartásból

Ezek a globalThis.WpSuite vékony burkolói.

Bővítményállapot

A WpSuite.plugins.aiKit.status lehetséges értékei:

  • unavailable — a bővítmény nincs jelen, vagy még nincs inicializálva
  • initializing — indulás folyamatban
  • available — használatra kész
  • error — az inicializálás sikertelen

Várakozás az AI‑Kit készenlétére

Három gyakori várakozási mód van:

1) onReady(cb)

globalThis.WpSuite?.plugins?.aiKit?.onReady?.(() => {
console.log("AI‑Kit is ready");
});

2) availability() (várakozás készenlétre időkorláttal)

Feloldása available, unavailable vagy error értéket ad; initializing értéket soha.

const res = await globalThis.WpSuite?.plugins?.aiKit?.availability?.();
if (res !== "available") {
console.warn("AI‑Kit not available:", res);
}

3) Az AI‑Kit mag burkolói (waitForAiKitReady)

Ha összeállítása tartalmazza az AI‑Kit alapcsomagját, használhatja annak kényelmi burkolóit:

  • getAiKitPlugin()
  • waitForAiKitReady(timeoutMs = 8000)
  • getStore(timeoutMs = 10000) (megvárja a készenlétet, majd visszaadja a tár promise-át)

Ezek vékony segédek az alábbi események fölött.

Készenléti és hibaesemények

Az AI‑Kit figyelhető DOM-eseményeket bocsát ki:

  • wpsuite:ai-kit:ready
  • wpsuite:ai-kit:error
window.addEventListener("wpsuite:ai-kit:ready", () => console.log("ready"));
window.addEventListener("wpsuite:ai-kit:error", () => console.log("error"));
WordPress wp.events

Egyes összeállítások a WpSuite.events / wp.events útvonalon is újra kibocsátják ezeket. A fenti DOM-események a legbiztonságosabb, környezeteken átívelő lehetőség.


Funkció-API-k (programozott hívások)

A WpSuite.plugins.aiKit.features aszinkron segédei az @smart-cloud/ai-kit-core csomagból exportált függvényeket tükrözik.

Megosztott beállítások (FeatureOptions)

  • context: "admin" | "frontend" (alapértéke "admin"; a látogatói burkolók automatikusan "frontend" értéket adnak át)
  • modeOverride: egyszeri képességmód kikényszerítése — "local-only" | "backend-fallback" | "backend-only"
  • onDeviceTimeoutOverride: a Chrome API-k használatakor felülírja az eszközön futás alapértelmezett 45 másodperces, gyors funkcióknál 5 másodperces időkorlátját
  • signal, headers, query: továbbítás a háttérrendszeri diszpécsernek
  • onStatus(event): olyan folyamatlépések fogadása, mint decide, on-device:download, backend:request, done
  • ugyanebből az objektumból funkcióspecifikus kiegészítések is olvashatók, például a háttérrendszeri nyelvfelismerés maxCandidates értéke

Metódusok

write(args, options?){ result: string }

  • args: { prompt, context?, sharedContext?, tone?, format?, length?, outputLanguage? }
  • A háttérrendszer-hívások a knowledgeBaseId / disableKB értéket is figyelembe veszik

rewrite(args, options?){ result: string }

  • args: { text, context?, sharedContext?, tone?, format?, length?, outputLanguage? }

summarize(args, options?){ result: string }

  • args: { text, context?, sharedContext?, type?, format?, length?, outputLanguage? }

translate(args, options?){ result: string }

  • args: { text, sourceLanguage, targetLanguage }

detectLanguage(args, options?){ result: { candidates: LanguageDetectionResult[] } }

  • args: { text }
  • Kizárólag háttérrendszerben futó folyamatokhoz options.maxCandidates is megadható

proofread(args, options?){ result: ProofreadResult }

  • args: { text, expectedInputLanguages?, includeCorrectionTypes?, includeCorrectionExplanations?, correctionExplanationLanguage? }

prompt(args, options?){ result: string, sessionId?, metadata? }

  • args: { messages, sharedContext?, outputLanguage?, images?, responseConstraint?, topK?, temperature?, maxTokens?, knowledgeBaseId?, disableKB? }
  • A metadata.stopReason === "max_tokens" azt jelenti, hogy a modell elérte a kimeneti korlátot; a metadata.maxTokens mutatja az alkalmazott háttérrendszeri határt.

sendChatMessage(args, options?){ result: string, sessionId?, metadata? }

  • args: { sessionId?, message, sharedContext?, images?, topK?, temperature?, maxTokens?, knowledgeBaseId?, disableKB? }
  • A sessionId elhagyásakor automatikusan menti a csevegési előzményeket

sendFeedbackMessage(args, options?){ result: string, sessionId?, metadata? }

  • args: { feedbackType: "accepted" | "rejected", feedbackMessageId, sessionId }

sendSearchMessage(args, options?){ result: string, sessionId?, citations?, metadata? }

  • args: { query, sessionId?, sharedContext?, knowledgeBaseId?, topK?, temperature?, maxTokens? }
  • Rövid választ/összefoglalót ad a result mezőben, valamint elérhetőség esetén választható citations értéket (docs + chunks).

Funkcióbeállítás-segédek

Ha a Chrome API nyers create() beállításaira van szüksége, például modellek előzetes gyorsítótárazásához, használja:

  • getWriteOptions(partialArgs) / getRewriteOptions(partialArgs)
  • getSummarizeOptions(partialArgs) / getTranslateOptions(partialArgs)
  • getProofreadOptions() / getPromptOptions(partialArgs)

Minden segéd a Chrome beépített AI API-jainak megfelelő *CreateCoreOptions szerkezetet adja vissza.

Példa: karakterlánc fordítása

const f = globalThis.WpSuite?.plugins?.aiKit?.features;
if (!f) return;

const { result } = await f.translate({
text: "Hello world",
sourceLanguage: "en",
targetLanguage: "de",
});

console.log(result);

Példa: aktuális tartalom összefoglalása folyamatjelzővel

const aiKit = globalThis.WpSuite?.plugins?.aiKit;
const f = aiKit?.features;
if (!aiKit || !f) return;

const ok = (await aiKit.availability?.()) === "available";
if (!ok) return;

const { result } = await f.summarize(
{ text: "Long article text...", type: "tldr", length: "short" },
{
onStatus: (ev) => {
// ev.step: "decide" | "on-device:download" | "backend:request" | ...
console.log(ev.step, ev.progress);
},
},
);

console.log(result);

Felület beillesztése (renderFeature)

Egyéni témákban és bővítményekben az AI‑Kit egy célelembe jelenítheti meg interaktív felületét:

  • WpSuite.plugins.aiKit.features.renderFeature(args) → egy AiWorkerHandle értéket ad vissza

Így hoz létre felületet a látogatói oldalon az AI‑Kit Feature blokk/rövidkód.

Minimális példa: modális fordítófelület megjelenítése

const f = globalThis.WpSuite?.plugins?.aiKit?.features;
if (!f) return;

let handle;
handle = await f.renderFeature({
mode: "translate",
title: "Translate",
variation: "modal",
onClose: () => handle?.close?.(),
autoRun: false,
default: {
text: "Hello world",
inputLanguage: "en",
outputLanguage: "de",
},
});

Takarítás

A visszaadott fogantyú jellemzően tartalmazza:

  • container — a gyökérelem
  • close() — a felület bezárása, ha alkalmazható
  • unmount() — leválasztás és takarítás

Egyéni témákban és bővítményekben az AI‑Kit a Doc Search felületet is célelembe jelenítheti:

  • WpSuite.plugins.aiKit.features.renderSearchComponent(args) → egy AiWorkerHandle értéket ad vissza

Ezt használja a látogatói oldalon az AI‑Kit Doc Search blokk/rövidkód.

Minimális példa: Doc Search megjelenítése egy tárolóban

const f = globalThis.WpSuite?.plugins?.aiKit?.features;
if (!f) return;

let handle;
handle = await f.renderSearchComponent({
target: "#doc-search",
title: "Search docs",
autoRun: false,
topK: 10,
snippetMaxChars: 160,
});

Hozzáférés a tárhoz (haladó)

Az AI‑Kit késleltetve létrehozott tárat tesz elérhetővé:

  • WpSuite.plugins.aiKit.features.storePromise<Store>

Ez akkor hasznos, ha egyéni felületet készít, és figyelni szeretné a beállításokat vagy diagnosztikát.

const storePromise = globalThis.WpSuite?.plugins?.aiKit?.features?.store;
const store = storePromise ? await storePromise : null;