Modos y funcionalidades de IA de AI-Kit para WordPress

AI‑Kit puede ejecutar cada función desde uno de estos dos orígenes:

  • en el dispositivo — las API de IA integradas en Chrome (Gemini Nano) en el navegador del usuario
  • backend — su propio backend de AI‑Kit alojado en AWS (plantilla de SAR)

Preferencia de modo

La preferencia global puede ser una de estas:

  • local-only — solo en el dispositivo, nunca en el backend
  • backend-fallback — da prioridad al dispositivo y recurre al backend como alternativa
  • backend-only — solo el backend; omite el dispositivo

Estos valores están representados por AiModePreference.

Funciones compatibles

AI‑Kit registra la capacidad de cada función de IA integrada:

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

Comprobaciones programáticas de capacidades

Use estas funciones auxiliares cuando necesite tomar una decisión antes de representar una interfaz:

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?) reproduce la lógica de tiempo de ejecución que AI‑Kit usa internamente.

availabilityOptions debe coincidir con las opciones create() de la API de Chrome para la función solicitada (por ejemplo, Translator requiere sourceLanguage y targetLanguage). modeOverride permite forzar temporalmente "local-only", "backend-fallback" o "backend-only" sin modificar la configuración global.

Configuración del backend (cuando está activado)

Cuando se permite el uso del backend, AI‑Kit necesita:

  • backendTransport: "fetch" o "gatey"
    (gatey significa «usar el transporte firmado de Gatey» cuando Gatey está presente)
  • backendBaseUrl: URL base completa de la API del backend (opción habitual)
  • backendApiName: nombre de la API si el transporte lo necesita

En la mayoría de las instalaciones solo tendrás que configurar backendBaseUrl.

Frontend y administración

AI‑Kit distingue context: "admin" | "frontend" en las llamadas al backend. Algunas implementaciones pueden exponer prefijos de ruta separados (por ejemplo, /admin/* y /frontend/*) con políticas de seguridad diferentes.