LLM Access (llm)
Потрібно: LLM
Надсилає текстові або діалогові запити через профілі LLM користувача (Ollama, Gemini, Groq, Cerebras, Puter тощо). API-ключі залишаються в основному процесі і ніколи не передаються аддонам.
Налаштування
- Додайте
"LLM"доpermissionsуmanifest.json(користувач підтверджує під час встановлення). - Перевірте в рантаймі через
permissions.has(AddonsPermission.LLM). - За потреби викличте
llm.getSettings()/llm.listProfiles()передllm.chat.
{
"id": "my-addon",
"permissions": ["LLM"]
}
Як це працює
- Використовуються ті самі профілі та маршрутизація, що в Налаштування → LLM Access.
defaultProfileможе бутиautoабо конкретним id профілю.options.profileвраховується лише якщо увімкнено дозвіл аддонам обирати профіль.freeOnlyпропускає платні профілі / схожі на платні моделі.- При rate limit (HTTP 429 / Retry-After) профіль йде в cooldown, можливий fallback.
llm.listProfiles()
const { success, profiles, message } = await llm.listProfiles();
llm.getSettings()
const {
success,
enabled,
defaultProfile,
allowAddonProfileSelect,
freeOnly,
message,
} = await llm.getSettings();
llm.chat(input, options?)
input — рядок або масив { role, content }. Опції: profile, temperature, topP, maxTokens, freeOnly, timeoutMs тощо.
await llm.chat('Hello');
await llm.chat(
[
{ role: 'system', content: 'Reply briefly.' },
{ role: 'user', content: 'Hi' },
],
{ profile: 'auto', temperature: 0.4 }
);
Див. також Permissions та API overview.