AI-Kit Modi und Fähigkeiten für WordPress

AI‑Kit kann jedes Feature über zwei Quellen ausführen:

  • on-device — Chrome Built-in AI APIs (Gemini Nano) im Browser des Nutzers,
  • backend — Ihr eigenes AWS-gehostetes AI-Kit Backend (SAR Vorlage).

Modi Präferenz

Die globale Präferenz ist eine der Optionen:

  • local-only — nur On-Device, nie Backend
  • backend-fallback — On-Device bevorzugt, fallback auf Backend
  • backend-only — nur Backend, On-Device ignoriert

Diese Werte werden durch AiModePreference repräsentiert.

Unterstützte Features

AI‑Kit prüft die Fähigkeit pro eingebauten KI-Feature:

  • prompt
  • summarizer
  • writer
  • rewriter
  • proofreader
  • language-detector
  • translator

Programmatic Capability Checks

Nutzen Sie diese Helfer, wenn Sie vor dem Rendern der UI entscheiden müssen:

import { decideCapability, checkOnDeviceAvailability, getMinChromeVersions } from "@smart-cloud/ai-kit-core";

const min = await getMinChromeVersions(); // { prompt: "...", summarizer: "...", ... }

const onDevice = await checkOnDeviceAvailability("writer");
if (onDevice.available) {
// Chrome API is available / downloadable / downloading
}

// For translator you must pass source/target languages to availability()
const translator = await checkOnDeviceAvailability("translator", {
sourceLanguage: "en",
targetLanguage: "de",
});

const decision = await decideCapability("writer");

// Optional overrides:
// - availability options (same shape as Chrome create() options)
// - modeOverride to force local/backend behaviour for this call
const forcedBackend = await decideCapability(
"writer",
undefined,
"backend-only",
);

console.log(decision.source); // "on-device" | "backend" | "none"
console.log(forcedBackend.reason); // detailed string explaining the decision

decideCapability(feature, availabilityOptions?, modeOverride?) spiegelt die Runtime-Logik von AI-Kit intern.

availabilityOptions sollten mit den Chrome API create()-Optionen der jeweiligen Funktion übereinstimmen (Translator benötigt z. B. sourceLanguage und targetLanguage). modeOverride erlaubt temporäres Erzwingen von "local-only", "backend-fallback" oder "backend-only" ohne Änderung der globalen Einstellung.

Backend Konfiguration (falls aktiv)

Für Backend-Nutzung braucht AI-Kit:

  • backendTransport: "fetch" oder "gatey" (gatey nutzt die signierte Transportebene bei aktiviertem Gatey)
  • backendBaseUrl: vollständige Basis-URL der Backend API (typisch)
  • backendApiName: API-Name, falls der Transport ihn braucht

Meist genügt die Konfiguration von backendBaseUrl.

Frontend vs. Admin

AI-Kit unterscheidet context: "admin" | "frontend" für Backend-Calls. Einige Deployments nutzen getrennte Präfixe (z. B. /admin/* und /frontend/*) mit unterschiedlichen Sicherheitsregeln.