[PR #21259] [CLOSED] fix: GitHub Models model-list endpoint mapping (/catalog/models) #41627

Closed
opened 2026-04-25 13:47:41 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/open-webui/open-webui/pull/21259
Author: @tall27
Created: 2/8/2026
Status: Closed

Base: devHead: codex/github-models-catalog-endpoint


📝 Commits (10+)

📊 Changes

1 file changed (+14 additions, -4 deletions)

View changed files

📝 backend/open_webui/routers/openai.py (+14 -4)

📄 Description

Summary

fix: model listing for GitHub Models in OpenAI-compatible connections.

Open WebUI currently requests <base_url>/models for provider model refresh. For GitHub Models, this fails when base URL is https://models.github.ai/inference, because model catalog is exposed at https://models.github.ai/catalog/models.

This PR adds provider-aware endpoint resolution for model listing while preserving existing behavior for other providers.

Changes

  • Added get_models_endpoint(url: str) helper in backend/open_webui/routers/openai.py
  • If URL contains models.github.ai, model list endpoint is mapped to https://models.github.ai/catalog/models
  • Replaced hardcoded f"{url}/models" calls with get_models_endpoint(url) in:
    • get_all_models_responses
    • get_models
    • verify_connection

Why

Without this mapping, model refresh fails with 404/content-type parsing errors against .../inference/models.

Validation

  • Syntax check:
    • python3 -m py_compile backend/open_webui/routers/openai.py
  • Manual validation:
    • Reproduced network error in Open WebUI with GitHub Models base URL
    • Confirmed requests were sent to /inference/models before fix
    • Verified model listing works when mapped to /catalog/models

contributor license agreement

Closes #21257


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/open-webui/open-webui/pull/21259 **Author:** [@tall27](https://github.com/tall27) **Created:** 2/8/2026 **Status:** ❌ Closed **Base:** `dev` ← **Head:** `codex/github-models-catalog-endpoint` --- ### 📝 Commits (10+) - [`fe6783c`](https://github.com/open-webui/open-webui/commit/fe6783c16699911c7be17392596d579333fb110c) Merge pull request #19030 from open-webui/dev - [`fc05e0a`](https://github.com/open-webui/open-webui/commit/fc05e0a6c5d39da60b603b4d520f800d6e36f748) Merge pull request #19405 from open-webui/dev - [`e3faec6`](https://github.com/open-webui/open-webui/commit/e3faec62c58e3a83d89aa3df539feacefa125e0c) Merge pull request #19416 from open-webui/dev - [`9899293`](https://github.com/open-webui/open-webui/commit/9899293f050ad50ae12024cbebee7e018acd851e) Merge pull request #19448 from open-webui/dev - [`140605e`](https://github.com/open-webui/open-webui/commit/140605e660b8186a7d5c79fb3be6ffb147a2f498) Merge pull request #19462 from open-webui/dev - [`6f1486f`](https://github.com/open-webui/open-webui/commit/6f1486ffd0cb288d0e21f41845361924e0d742b3) Merge pull request #19466 from open-webui/dev - [`d95f533`](https://github.com/open-webui/open-webui/commit/d95f533214e3fe5beb5e41ec1f349940bc4c7043) Merge pull request #19729 from open-webui/dev - [`a727153`](https://github.com/open-webui/open-webui/commit/a7271532f8a38da46785afcaa7e65f9a45e7d753) 0.6.43 (#20093) - [`6adde20`](https://github.com/open-webui/open-webui/commit/6adde203cd292a9e3af9c64a2ae36b603fed096a) Merge pull request #20394 from open-webui/dev - [`f9b0534`](https://github.com/open-webui/open-webui/commit/f9b0534e0c442631d1cb7205169588b9b6204179) Merge pull request #20522 from open-webui/dev ### 📊 Changes **1 file changed** (+14 additions, -4 deletions) <details> <summary>View changed files</summary> 📝 `backend/open_webui/routers/openai.py` (+14 -4) </details> ### 📄 Description ## Summary fix: model listing for GitHub Models in OpenAI-compatible connections. Open WebUI currently requests <base_url>/models for provider model refresh. For GitHub Models, this fails when base URL is https://models.github.ai/inference, because model catalog is exposed at https://models.github.ai/catalog/models. This PR adds provider-aware endpoint resolution for model listing while preserving existing behavior for other providers. ## Changes - Added get_models_endpoint(url: str) helper in backend/open_webui/routers/openai.py - If URL contains models.github.ai, model list endpoint is mapped to https://models.github.ai/catalog/models - Replaced hardcoded f"{url}/models" calls with get_models_endpoint(url) in: - get_all_models_responses - get_models - verify_connection ## Why Without this mapping, model refresh fails with 404/content-type parsing errors against .../inference/models. ## Validation - Syntax check: - python3 -m py_compile backend/open_webui/routers/openai.py - Manual validation: - Reproduced network error in Open WebUI with GitHub Models base URL - Confirmed requests were sent to /inference/models before fix - Verified model listing works when mapped to /catalog/models contributor license agreement Closes #21257 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-25 13:47:41 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#41627