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álglobalThis.WpSuite.plugins.aiKit.features— funkciómetódusok és felületi segédek
Minden funkciómetódus aszinkron, és Promise értéket ad vissza.
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álisWpSuiteobjektumot vagyundefinedértéketgetPlugin("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álvainitializing— indulás folyamatbanavailable— használatra készerror— 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:readywpsuite:ai-kit:error
window.addEventListener("wpsuite:ai-kit:ready", () => console.log("ready"));
window.addEventListener("wpsuite:ai-kit:error", () => console.log("error"));
wp.eventsEgyes ö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átsignal,headers,query: továbbítás a háttérrendszeri diszpécsernekonStatus(event): olyan folyamatlépések fogadása, mintdecide,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.maxCandidatesis 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; ametadata.maxTokensmutatja 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
sessionIdelhagyá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
resultmező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)→ egyAiWorkerHandleé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érelemclose()— a felület bezárása, ha alkalmazhatóunmount()— leválasztás és takarítás
Felület beillesztése (Doc Search)
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)→ egyAiWorkerHandleé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.store→Promise<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;
