Model providers and keys
Bring your own key. OpenRouter is the default. Nothing is hosted by Twig.
Twig has no backend. The phone talks to model providers directly with keys you paste in.
Recommended: OpenRouter
One signup, one key, hundreds of models including free tiers. That is the default path in onboarding. OpenRouter does not host embeddings, so deep (vector) memory search stays off until you also add an OpenAI or Google key. Lexical search (FTS5) still works offline either way.
Also supported
- OpenAI
- Anthropic
These sit under Advanced. Each key is stored in expo-secure-store under its own entry.
Biometric locks are never used for keys: they would freeze background dreams waiting for a tap.
Embeddings
Deep recall uses text-embedding-3-small at 768 dimensions over an OpenAI-compatible embeddings
endpoint. Fast recall is FTS5 only and needs no network.
Errors you will actually see
Provider refusals are mapped to short, translated codes (no-key, bad-key, no-credit,
rate-limited, offline, …) instead of raw English JSON. The chat surface never dumps a stack
trace into a conversation.