Skip to content
anouk

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.