Some browsers and insecure contexts (plain HTTP) throw on crypto.randomUUID(), which silently breaks the chat UI. Fall back to a plain UUID v4 generator when the native call fails - same behaviour on modern browsers, works everywhere else.
colibrì web
React/Vite interface for an OpenAI-compatible colibrì server.
npm install
npm run dev
The default endpoint is http://127.0.0.1:8000/v1. Start the API server from
PR #21 (or any compatible backend), then use Probe server to load its models.
Local validation:
npm test
npm run build
The test suite stays browser-light: API requests use a mocked fetch, while
runtime capability and storage behavior are covered through pure helpers. It
checks that /health is resolved next to (not below) the OpenAI /v1 prefix,
supports both boolean and numeric scheduler.active responses, and sends the
colibrì-specific cache_slot field only when KV-slot support was advertised.
The endpoint and selected model are persisted locally. API keys are intentionally
memory-only; startup/persistence also removes the legacy colibri.apiKey value.