Description
When the AI agent is enabled in the OpenCom web UI, the model selector is hardcoded to only show gpt-5.1-mini as an option. This causes two problems: the displayed model does not match the one actually being used by the backend, and users have no way to switch models through the UI.
Bug 1 — Model selector is hardcoded
The model dropdown only shows gpt-5.1-mini regardless of what model is configured in Convex environment variables.
- Steps to reproduce: Enable AI agent → open the model selector dropdown
- Expected: Dropdown shows all available models fetched from the OpenAI API, with the currently configured one selected
- Actual: Dropdown only shows
gpt-5.1-mini
Bug 2 — Selected model does not match what's used
Even though the selector shows gpt-5.1-mini, the actual API calls are being made with a different model (gpt-5-nano, as confirmed via the OpenAI API usage dashboard).
- The UI state is misleading and the Convex env var (
OPENAI_MODEL or equivalent) is either being ignored or overridden by a hardcoded default
- Any model selection made in the UI should be persisted and honoured by the backend
Proposed fixes
- On agent enable / settings open, fetch the model list dynamically from
GET https://api.openai.com/v1/models and populate the selector with the results (optionally filtered to chat-capable models)
- Read the currently configured model from the Convex env var and pre-select it in the dropdown
- Persist the user-selected model back to the Convex env (or equivalent settings store) so the backend uses the correct one
// Example: fetch models and filter to chat-capable ones
const res = await fetch('https://api.openai.com/v1/models', {
headers: { Authorization: `Bearer ${apiKey}` }
});
const { data } = await res.json();
const chatModels = data
.filter(m => m.id.startsWith('gpt-'))
.sort((a, b) => b.created - a.created);
Improvement — Support additional / custom OpenAI-compatible providers
Many users bring their own keys from third-party providers that expose an OpenAI-compatible API (e.g. Azure OpenAI, Groq, Together AI, local Ollama). The agent settings should support configuring a custom base URL alongside the API key, so these providers work out of the box without code changes.
Suggested settings fields:
- Provider — dropdown:
OpenAI, Custom (OpenAI-compatible)
- Base URL — shown when "Custom" is selected; defaults to
https://api.openai.com/v1
- API key — existing field, unchanged
- Model — dynamically fetched from whichever base URL is set
This would make the model selector reuse the same dynamic-fetch logic from Bug 1 fix — just pointed at the custom base URL instead of OpenAI's.
Environment
- Interface: OpenCom web
- Model shown in UI:
gpt-5.1-mini
- Model used in practice (per OpenAI dashboard):
gpt-5-nano
- API key configured via: Convex environment variables
Description
When the AI agent is enabled in the OpenCom web UI, the model selector is hardcoded to only show
gpt-5.1-minias an option. This causes two problems: the displayed model does not match the one actually being used by the backend, and users have no way to switch models through the UI.Bug 1 — Model selector is hardcoded
The model dropdown only shows
gpt-5.1-miniregardless of what model is configured in Convex environment variables.gpt-5.1-miniBug 2 — Selected model does not match what's used
Even though the selector shows
gpt-5.1-mini, the actual API calls are being made with a different model (gpt-5-nano, as confirmed via the OpenAI API usage dashboard).OPENAI_MODELor equivalent) is either being ignored or overridden by a hardcoded defaultProposed fixes
GET https://api.openai.com/v1/modelsand populate the selector with the results (optionally filtered to chat-capable models)Improvement — Support additional / custom OpenAI-compatible providers
Many users bring their own keys from third-party providers that expose an OpenAI-compatible API (e.g. Azure OpenAI, Groq, Together AI, local Ollama). The agent settings should support configuring a custom base URL alongside the API key, so these providers work out of the box without code changes.
Suggested settings fields:
OpenAI,Custom (OpenAI-compatible)https://api.openai.com/v1Environment
gpt-5.1-minigpt-5-nano