Multi-provider LLM picker for Crema apps. Sits on top of @crema/llm-ui
and adds:
- A named provider catalog (OpenAI, Anthropic, DeepSeek, Qwen, LM Studio)
with default base URLs and suggested models.
- buildAdapter(): async factory that resolves the API key from a
caller-injected resolveSecret() (direct mode) or assembles an
ArcadiaProxyAdapter pointing at /api/v1/ai/llm/chat (proxy mode).
- LLMProvidersSettingsCard: provider/model picker, vault-key reference
field with "looks like an API key" warning, direct/proxy toggle,
context/response budgets, system prompt, optional Test connection.
- Persisted settings store at crema.llm-providers.settings, reactive
via useSyncExternalStore.
The lib is provider-agnostic about how keys are stored; the consuming
app injects a resolveSecret() that hits whatever vault it owns.
arcadia-admin and vibespace both wire this to /api/v1/secrets/:name.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>