快速入门
复制包含安装步骤和该插件完整 Markdown 指南的配置 prompt。
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.
安装
“安装”章节你可以使用我们的 AI 辅助设置来安装插件。使用以下命令将 Capgo skills 添加到你的 AI 工具中:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins然后使用以下 prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-llm` plugin in my project.如果你更想手动设置,请运行以下命令安装插件,并按照下方各平台的说明操作:
bun add @capgo/capacitor-llmbunx cap sync导入
“导入”章节import { CapgoLLM } from '@capgo/capacitor-llm';快速入门
章节标题为“快速入门”import { CapgoLLM } from '@capgo/capacitor-llm';
const { id: chatId } = await CapgoLLM.createChat();await CapgoLLM.sendMessage({ chatId, message: 'Summarize this error log.' });监听 textFromAi, aiFinished,以及 generationError 如插件 README 中所述,作用于聊天会话。
示例:UI 前检查就绪状态
标题为“示例:UI 准备就绪前”的部分const { readiness } = await CapgoLLM.getReadiness();if (readiness !== 'ready') { showModelDownloadScreen();}示例:下载自定义模型
示例:下载自定义模型await CapgoLLM.downloadModel({ url: 'https://cdn.example.com/model.litertlm' });常见坑点
章节标题为“常见陷阱”- Web 离线模式:MediaPipe GenAI 从 CDN 加载,请缓存 runtime 和模型以进行离线演示。
- Android Gemini Nano:并非所有设备都支持,请处理 fallback 模型。
- 流式传输:请提前绑定监听器
sendMessage以免错过 token。
API 概览
章节标题:“API 概览”createChat
“createChat” 章节创建一个新的聊天会话
import { CapgoLLM } from '@capgo/capacitor-llm';
const result = await CapgoLLM.createChat();console.log(result);sendMessage
“sendMessage” 章节向特定聊天会话中的 AI 发送消息
import { CapgoLLM } from '@capgo/capacitor-llm';
await CapgoLLM.sendMessage({ chatId: 'chat-id-123', message: 'Hello from Capacitor',});getReadiness
“getReadiness” 章节获取 LLM 的就绪状态
import { CapgoLLM } from '@capgo/capacitor-llm';
const result = await CapgoLLM.getReadiness();console.log(result);setModel
“setModel” 章节设置模型配置
- iOS:使用 “Apple Intelligence” 作为系统模型路径,或提供 MediaPipe 模型的路径
- Android:MediaPipe 模型文件的路径(位于 assets 或 files 目录)
import { CapgoLLM } from '@capgo/capacitor-llm';
await CapgoLLM.setModel({ path: 'path/to/file', modelType: 'task',});downloadModel
标题为 “downloadModel” 的章节从 URL 下载模型并将其保存到相应位置
- iOS:下载到应用的 documents 目录
- Android:下载到应用的 files 目录
import { CapgoLLM } from '@capgo/capacitor-llm';
const result = await CapgoLLM.downloadModel({ url: 'https://example.com' });console.log(result);类型参考
“类型参考” 章节ModelOptions
标题为 “ModelOptions” 的章节模型配置选项。
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
“DownloadModelOptions” 章节下载模型的配置选项。
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
“DownloadModelResult” 章节模型下载结果。
export interface DownloadModelResult { /** Path where the model was saved */ path: string; /** Path where the companion file was saved (if applicable) */ companionPath?: string;}TextFromAiEvent
“TextFromAiEvent” 章节接收到 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
“AiFinishedEvent” 章节AI 生成完成时的事件数据。
export interface AiFinishedEvent { /** The chat session ID that finished */ chatId: string;}DownloadProgressEvent
“DownloadProgressEvent” 章节下载进度的事件数据。
export interface DownloadProgressEvent { /** Percentage of download completed (0-100) */ progress: number; /** Total bytes to download */ totalBytes?: number; /** Bytes downloaded so far */ downloadedBytes?: number;}ReadinessChangeEvent
“ReadinessChangeEvent” 章节就绪状态变更的事件数据。
export interface ReadinessChangeEvent { /** The readiness status */ readiness: string;}单一事实来源
标题为“单一事实来源”的部分本页面由插件的 src/definitions.ts生成。当上游的公共 API 发生变化时,请重新运行 sync。
从入门指南继续
“从入门指南继续”章节如果你正在使用 快速入门 要规划 dashboard 和 API 操作,请将其连接到 使用 @capgo/capacitor-llm 在“使用 @capgo/capacitor-llm”中实现原生能力, API 概览 关于 API Overview 中的实现细节, 简介 关于 Introduction 中的实现细节, API 密钥 有关 API Keys 的实现细节,以及 设备 有关 Devices 的实现细节。