willchen96 adds a third AI vendor and locks down the keys
Mike now speaks to OpenAI alongside Claude and Gemini, with a tighter grip on how API keys and self-hosted data are handled.
Mike's chat engine was built around two AI vendors. willchen96 has now wired in a third, so teams can pick per conversation without any change to how they choose a model. The same change tightens two things behind the scenes:
- OpenAI is now a first-class model choice next to Claude and Gemini, selectable in the model picker whenever it's configured.
- Smarter key handling: the app can tell whether a key was saved by a user or supplied by whoever runs the server, server keys win, and the actual key values never reach the browser - only whether a provider is set up.
- Tighter defaults for self-hosters: the shipped database schema now blocks the app's own client from reaching tables the backend is supposed to mediate.
Spotted something wrong? Or know the PR text has fresher detail than the writeup above?