FAQ
Answers before you npm install.
Grounded in what Anouk actually ships — no aspirational features.
Getting started
+ What is Anouk in one sentence?
Anouk is a lightweight, MIT-licensed framework for building AI-powered browser extensions: a runtime library (AIService, configManager, settingsPanel) plus a CLI that scaffolds a working Manifest V3 extension with the runtime pre-wired.
+ How do I install it?
For a new project, npm install -g anouk and run anouk init <name>. To add the runtime to an existing extension, npm install anouk and import { AIService }.
+ Do I need an API key at build time?
No. AIService accepts config in code, but the bundled settings panel lets the end user supply providerUrl, apiKey, model, and a system prompt at runtime. You can ship without baking a key into the extension.
+ What does anouk init generate?
A Manifest V3 project with src/aiService.js, configManager.js, settingsPanel.js, and a starter entry point. anouk generate extension|service|config drops the same kind of file into an existing project.
Providers & configuration
+ Which AI providers can I plug in?
Anything that speaks the OpenAI chat-completions request shape. The README documents OpenAI, Anthropic, Together.xyz, Ollama (localhost:11434), and Hugging Face Inference, and lets you point providerUrl at anything else compatible.
+ Can I use a local model?
Yes. Point providerUrl at a local Ollama endpoint (http://localhost:11434/v1/chat/completions). Because the extension calls the provider directly, the content stays on the user's machine.
+ Where is configuration stored?
The settings panel persists providerUrl, apiKey, model, and systemPrompt in chrome.storage.local. You can also hardcode a default export in aiConfig.js for development.
+ Can Anouk point at my own backend instead of a provider?
Yes. Set providerUrl to your backend endpoint and AIService forwards there. That is the path to take when you need centralized guardrails, billing, or multi-user coordination.
Runtime behaviour
+ How does caching work?
AIService caches responses keyed by ${requestId}_${cacheKey}. If a cached response exists for that key, it is returned immediately with no network call and no token spend.
+ How does rate limiting work?
Calls are queued per provider, so a burst of user actions does not stampede the API or earn a 429 in the middle of a render.
+ What does AIService.call return?
A plain string — the model's completion text, already decoded from the provider response.
Scope & platform
+ Which browsers does Anouk target?
Chrome / Chromium-style Manifest V3 extensions. The template wires up host_permissions, storage, and unlimitedStorage, and the README walks through loading via chrome://extensions. Firefox and Safari WebExtensions are not currently demonstrated by the repo.
+ Is Anouk a build tool?
No. It does not bundle, hot-reload, or generate a manifest from convention. Use Plasmo, WXT, or esbuild for the build layer and import Anouk for the AI layer.
+ What license and where is the source?
MIT. Source is at github.com/skelf-research/anouk; the package is published to npm as anouk. Full docs live at docs.skelfresearch.com/anouk.
Still stuck? Get in touch or read the full docs.