Panduan Memulai
Copy prompt setup berisi langkah install dan panduan markdown lengkap untuk plugin ini.
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.
Anda bisa menggunakan AI-Assisted Setup untuk menginstal plugin ini. Tambahkan skill Capgo ke tool AI Anda menggunakan perintah berikut:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLalu gunakan prompt berikut:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-llm` plugin in my project.Jika Anda lebih suka Manual Setup, instal plugin dengan menjalankan perintah berikut dan ikuti instruksi khusus platform di bawah ini:
bun add @capgo/capacitor-llmbunx cap syncimport { CapgoLLM } from '@capgo/capacitor-llm';Mulai cepat
Bagian berjudul “Mulai cepat”import { CapgoLLM } from '@capgo/capacitor-llm';
const { id: chatId } = await CapgoLLM.createChat();await CapgoLLM.sendMessage({ chatId, message: 'Summarize this error log.' });Dengarkan event textFromAi, aiFinished, dan generationError pada sesi chat seperti yang dijelaskan di README plugin.
Contoh: kesiapan sebelum UI
Bagian berjudul “Contoh: kesiapan sebelum UI”const { readiness } = await CapgoLLM.getReadiness();if (readiness !== 'ready') { showModelDownloadScreen();}Contoh: download model kustom
Bagian berjudul “Contoh: download model kustom”await CapgoLLM.downloadModel({ url: 'https://cdn.example.com/model.litertlm' });Masalah umum
Bagian berjudul “Kesalahan umum”- Web offline: MediaPipe GenAI dimuat dari CDN, cache runtime dan model untuk demo offline.
- Android Gemini Nano: tidak tersedia di semua perangkat, siapkan fallback model.
- Streaming: pasang listener sebelumnya
sendMessageagar tidak ada token yang terlewat.
Ikhtisar API
Bagian berjudul “Ikhtisar API”createChat
Bagian berjudul “createChat”Membuat sesi chat baru
import { CapgoLLM } from '@capgo/capacitor-llm';
const result = await CapgoLLM.createChat();console.log(result);sendMessage
Bagian berjudul “sendMessage”Mengirim pesan ke AI dalam sesi chat tertentu
import { CapgoLLM } from '@capgo/capacitor-llm';
await CapgoLLM.sendMessage({ chatId: 'chat-id-123', message: 'Hello from Capacitor',});getReadiness
Bagian berjudul “getReadiness”Mendapatkan status readiness dari LLM
import { CapgoLLM } from '@capgo/capacitor-llm';
const result = await CapgoLLM.getReadiness();console.log(result);setModel
Bagian berjudul “setModel”Mengatur konfigurasi model
- iOS: Gunakan “Apple Intelligence” sebagai path model sistem, atau berikan path ke model MediaPipe
- Android: Path ke file model MediaPipe (di direktori assets atau files)
import { CapgoLLM } from '@capgo/capacitor-llm';
await CapgoLLM.setModel({ path: 'path/to/file', modelType: 'task',});downloadModel
Bagian berjudul “downloadModel”Mengunduh model dari URL dan menyimpannya ke lokasi yang sesuai
- iOS: Mengunduh ke direktori documents aplikasi
- Android: Mengunduh ke direktori files aplikasi
import { CapgoLLM } from '@capgo/capacitor-llm';
const result = await CapgoLLM.downloadModel({ url: 'https://example.com' });console.log(result);Referensi Tipe
Bagian berjudul “Type Reference”ModelOptions
Bagian berjudul “ModelOptions”Opsi konfigurasi model.
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
Bagian berjudul “DownloadModelOptions”Opsi untuk mengunduh model.
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
Bagian berjudul “DownloadModelResult”Hasil dari pengunduhan model.
export interface DownloadModelResult { /** Path where the model was saved */ path: string; /** Path where the companion file was saved (if applicable) */ companionPath?: string;}TextFromAiEvent
Bagian berjudul “TextFromAiEvent”Data event untuk teks yang diterima dari AI.
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
Bagian berjudul “AiFinishedEvent”Data event untuk penyelesaian AI.
export interface AiFinishedEvent { /** The chat session ID that finished */ chatId: string;}DownloadProgressEvent
Bagian berjudul “DownloadProgressEvent”Data event untuk progres download.
export interface DownloadProgressEvent { /** Percentage of download completed (0-100) */ progress: number; /** Total bytes to download */ totalBytes?: number; /** Bytes downloaded so far */ downloadedBytes?: number;}ReadinessChangeEvent
Bagian berjudul “ReadinessChangeEvent”Data event untuk perubahan status readiness.
export interface ReadinessChangeEvent { /** The readiness status */ readiness: string;}Sumber Kebenaran
Bagian berjudul “Sumber Kebenaran”Halaman ini dibuat dari plugin src/definitions.ts. Jalankan ulang sync saat API publik berubah di upstream.
Lanjutkan dari Getting Started
Bagian berjudul “Lanjutkan dari Getting Started”Jika Anda menggunakan Panduan Memulai untuk merencanakan operasi dashboard dan API, hubungkan dengan Menggunakan @capgo/capacitor-llm untuk kapabilitas native saat menggunakan @capgo/capacitor-llm, Ikhtisar API untuk detail implementasi di Ringkasan API, Pendahuluan untuk detail implementasi di Pendahuluan, Kunci API untuk detail implementasi di API Keys, dan Perangkat untuk detail implementasi di Perangkat.