OpenAI added as a third provider alongside Claude and Gemini

willchen96 landed OpenAI support in the main Mike repo, wiring the Responses API into the existing provider abstraction and adding `OPENAI_API_KEY` as a recognised server-side variable. The same PR reworked API key management UI and tightened Supabase table permissions.

chat-uisecurity

The backend now handles OpenAI streaming and one-shot completions through the Responses API. Model selection in the chat UI exposes the new provider where Claude and Gemini already appear. OPENAI_API_KEY is read from the server environment alongside the existing keys.

The API key status payload got more nuanced. It now distinguishes between a user-saved key and a key the server is supplying from its own .env. The settings UI uses that distinction to disable in-browser edits when a provider is configured at the environment level - server keys take precedence and are not overridable from the browser.

Two other changes landed in the same PR. First, direct anon and authenticated grants on backend-owned Supabase tables were revoked, so the client SDK can no longer reach those tables outside the backend's own access path. Second, the DOCX generation layer picked up formatting adjustments for legal numbering and signatures. The settings/account screens were also restructured - separate header row, sticky side tabs, refreshed key management panels for all three providers.

So what Worth tracking if you want OpenAI model coverage in your own Mike fork - the provider abstraction is already in place and the diff is contained. The Supabase permission tightening is a correctness fix worth pulling regardless of provider choice. The key-precedence logic (server `.env` overrides user-stored keys) is a meaningful behavior change if you run a multi-tenant deployment.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?

Commits in this thread

2 commits from willchen96/mike, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
bef75b08 feat: add OpenAI model support and harden OSS security defaults willchen96 2026-05-09 ↗ GitHub
f40c25d0 Merge pull request #48 from willchen96/sync/openai-model-support cosimoastrada 2026-05-09 ↗ GitHub
feat: add OpenAI model support and harden OSS security defaults

Capture this thread into my fork

Download a single Markdown prompt that tells Claude how to port every commit above into your working tree — adapting paths and structure to match your repo. Run it via claude -p < capture-thread-256.md from inside the repo you want the changes in.

⬇ Download capture-thread-256.md