feat(providers): add OpenAI API provider option - #31898
Merged
Merged
Conversation
….5-pro Follow-up on top of @jacevys' PR #21437 cherry-pick: - _provider_model_ids() now also matches normalized == 'openai-api' for the live /v1/models fetch path, so users see the full catalog instead of just the curated list. - Add gpt-5.5-pro and gpt-5.3-codex to the curated list for parity with the existing 'openai' table (used as fallback when /v1/models fails). - Add scripts/release.py AUTHOR_MAP entry for jacevys so CI doesn't block the salvage PR.
Contributor
🔎 Lint report:
|
19 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Salvage of #21437 by @jacevys onto current main + small follow-ups.
Summary
Adds
openai-apias a first-class provider so users can configure directapi.openai.comaccess withOPENAI_API_KEYfrom the model picker — no more custom-provider workaround. Also unlocks OpenAI's data-sharing free daily tokens on smaller models for users who opt in.Changes
hermes_cli/auth.py:openai-apiProviderConfig (api.openai.com, OPENAI_API_KEY, OPENAI_BASE_URL).hermes_cli/providers.py: HermesOverlay withtransport=codex_responses(matches existingapi.openai.comauto-detection).hermes_cli/models.py: curated model list + picker entry directly after OpenAI Codex.hermes_cli/main.py: routes through the generic API-key model setup flow.provider_model_ids()now also matchesnormalized == 'openai-api'so users get the live/v1/modelscatalog (jacevys' original only covered the legacy'openai'branch).gpt-5.5-proandgpt-5.3-codexto the curated list for parity with the legacy'openai'table that backs the fallback path.Validation
openai-apiregistered in PROVIDER_REGISTRYhermes modelpicker after OpenAI Codexresolve_runtime_providerfor openai-api/v1/modelsfetch for openai-apiCherry-picked from contributor branch onto current
origin/main; original PR #21437 will be closed pointing here for credit.Closes #21437
Infographic