Twig

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.

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
  • Google

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.