You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
🧹 Shadowing Base-Model Cleanup: Introduced OpenWebuiProvisioner._delete_shadowing_base_models(), which runs on every provisioner sync (at API startup) and deletes any OpenWebUI base-model row whose id shadows a provisioned model's base_model_id. It is scoped strictly to those ids, so workspace models, agents, and unrelated base models are left untouched.
📡 Base-Model Listing Client Method: Added OpenWebuiClient.list_base_models() to read base-model overrides via GET /api/v1/models/base — rows that are invisible to list_models() and the Workspace UI, which filter on base_model_id != None.
🧪 Robust Provisioner Testing: Included three new unit tests in test_openwebui_provisioner_llm_models.py validating the fix: it repairs a shadowing entry, leaves the healthy (unregistered) state alone, and ignores unrelated base models.
Changed
🐛 Fixed "Model not found" for granted models: Role-granted models (Kimi-K2.6, Qwen, Ministral, gemma) now chat correctly in OpenWebUI for non-admin users. Previously, an admin saving a raw text-generation/* model in the Workspace created a private base-model row with empty access_grants, which denied every non-admin at the base_model_id access hop — before the request ever reached AI-Hub's API (Apertus, the one model nobody had edited, was the only one that worked).
🔒 Enforced Provisioning Invariant Automatically: The rule that raw base models must stay unregistered in OpenWebUI — previously only documented in _build_llm_model_data — is now enforced on every sync. The stray rows are cleaned automatically at API startup, requiring no manual action on deploy.
🔕 Disabled Message Actions by Default: Updated the OpenWebUI initialization routine (init-openwebui.sh) to seed the Sources, Tracing, and Memory action plugins with is_active = false, so their message action buttons are hidden from the chat UI by default on both fresh and existing deployments. They remain re-enableable per deployment via Admin Panel → Functions.
⚙️ Parameterized Function Registration: Enhanced the register_function step to accept an optional is_active argument (defaulting to true), with the registration loop passing false for the three AI-Hub action plugins while leaving all pipes and the title filter enabled.