Prise en main
Copiez un prompt de configuration incluant les étapes d'installation et le guide markdown complet pour ce plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-llm`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/llm/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Installer
Section intitulée « Installation »Vous pouvez utiliser notre configuration assistée par IA pour installer le plugin. Ajoutez les skills Capgo à votre outil d'IA avec la commande suivante :
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsUtilisez ensuite le prompt suivant :
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-llm` plugin in my project.Si vous préférez une installation manuelle, installez le plugin en exécutant les commandes suivantes et suivez les instructions spécifiques à chaque plateforme ci-dessous :
bun add @capgo/capacitor-llmbunx cap syncImporter
Section intitulée « Import »import { CapgoLLM } from '@capgo/capacitor-llm';Démarrage rapide
Section intitulée « Démarrage rapide »import { CapgoLLM } from '@capgo/capacitor-llm';
const { id: chatId } = await CapgoLLM.createChat();await CapgoLLM.sendMessage({ chatId, message: 'Summarize this error log.' });Écouter textFromAi, aiFinished, et generationError sur la session de chat comme documenté dans le README du plugin.
Exemple : état de préparation avant l'UI
Section intitulée « Exemple : état de préparation avant l'UI »const { readiness } = await CapgoLLM.getReadiness();if (readiness !== 'ready') { showModelDownloadScreen();}Exemple : télécharger un modèle personnalisé
Section intitulée « Exemple : télécharger un modèle personnalisé »await CapgoLLM.downloadModel({ url: 'https://cdn.example.com/model.litertlm' });Erreurs courantes
Section intitulée « Erreurs courantes »- Web hors ligne: MediaPipe GenAI se charge via un CDN, mettez le runtime et le modèl’en cache pour les démos hors ligne.
- Android Gemini Nano: pas sur tous les appareils, gérez les modèles de secours.
- Streaming : attachez les listeners au préalable
sendMessagepour ne pas manquer de tokens.
Aperçu de API
Section intitulée « Aperçu API »createChat
Section intitulée « createChat »Crée une nouvelle session de chat
import { CapgoLLM } from '@capgo/capacitor-llm';
const result = await CapgoLLM.createChat();console.log(result);sendMessage
Section intitulée « sendMessage »Envoie un message à l'IA dans une session de chat spécifique
import { CapgoLLM } from '@capgo/capacitor-llm';
await CapgoLLM.sendMessage({ chatId: 'chat-id-123', message: 'Hello from Capacitor',});getReadiness
Section intitulée « getReadiness »Récupère le statut de disponibilité du LLM
import { CapgoLLM } from '@capgo/capacitor-llm';
const result = await CapgoLLM.getReadiness();console.log(result);setModel
Section intitulée « setModel »Configure la configuration du modèle
- iOS : utilisez « Apple Intelligence » comme chemin pour le modèle système, ou indiquez le chemin vers un modèle MediaPipe
- Android : chemin vers un fichier de modèle MediaPipe (dans le répertoire assets ou files)
import { CapgoLLM } from '@capgo/capacitor-llm';
await CapgoLLM.setModel({ path: 'path/to/file', modelType: 'task',});downloadModel
Section intitulée « downloadModel »Télécharge un modèle depuis une URL et l'enregistre au bon emplacement
- iOS : téléchargement dans le répertoire documents de l'application
- Android : téléchargement dans le répertoire files de l'application
import { CapgoLLM } from '@capgo/capacitor-llm';
const result = await CapgoLLM.downloadModel({ url: 'https://example.com' });console.log(result);Référence de type
Section intitulée « Référence de type »ModelOptions
Section intitulée « ModelOptions »Options de configuration du modèle.
export interface ModelOptions { /** Model path or "Apple Intelligence" for iOS system model */ path: string; /** Model file type/extension (e.g., "task", "bin", "litertlm"). If not provided, will be extracted from path. */ modelType?: string; /** Maximum number of tokens the model handles */ maxTokens?: number; /** Number of tokens the model considers at each step */ topk?: number; /** Amount of randomness in generation (0.0-1.0) */ temperature?: number; /** Random seed for generation */ randomSeed?: number;}DownloadModelOptions
Section intitulée « DownloadModelOptions »Options pour le téléchargement d'un modèle.
export interface DownloadModelOptions { /** URL of the model file to download */ url: string; /** Optional: URL of companion file (e.g., .litertlm for Android) */ companionUrl?: string; /** Optional: Custom filename (defaults to filename from URL) */ filename?: string;}DownloadModelResult
Section intitulée « DownloadModelResult »Résultat du téléchargement du modèle.
export interface DownloadModelResult { /** Path where the model was saved */ path: string; /** Path where the companion file was saved (if applicable) */ companionPath?: string;}TextFromAiEvent
Section intitulée « TextFromAiEvent »Données de l'événement pour le texte reçu de l'IA.
export interface TextFromAiEvent { /** The text content from AI - this is an incremental chunk, not the full text */ text: string; /** The chat session ID */ chatId: string; /** Whether this is a complete chunk (true) or partial streaming data (false) */ isChunk?: boolean;}AiFinishedEvent
Section intitulée « AiFinishedEvent »Données de l'événement pour la fin de l'IA.
export interface AiFinishedEvent { /** The chat session ID that finished */ chatId: string;}DownloadProgressEvent
Section intitulée « DownloadProgressEvent »Event data for download progress.
export interface DownloadProgressEvent { /** Percentage of download completed (0-100) */ progress: number; /** Total bytes to download */ totalBytes?: number; /** Bytes downloaded so far */ downloadedBytes?: number;}ReadinessChangeEvent
Section intitulée « ReadinessChangeEvent »Event data for readiness status changes.
export interface ReadinessChangeEvent { /** The readiness status */ readiness: string;}Source de vérité
Section intitulée « Source de vérité »Cette page est générée à partir de src/definitions.ts. Relancez la synchronisation lorsque l’API public change en amont.
Continuer depuis Getting Started
Section intitulée « Continuer après Prise en main »Si vous utilisez Prise en main pour planifier les opérations du dashboard et de API, connectez-l’avec Utiliser @capgo/capacitor-llm pour la fonctionnalité native de la page Utiliser @capgo/capacitor-llm, Aperçu de API pour les détails d'implémentation dans « Vue d'ensemble de API », Introduction pour les détails d'implémentation dans l'introduction, Clés API pour les détails d'implémentation dans « Clés API », et Appareils pour les détails d'implémentation dans Devices.