From 19b0cf6ce945de699aad0daefac7fee3fe59e90f Mon Sep 17 00:00:00 2001 From: openhands Date: Thu, 28 May 2026 18:40:52 +0000 Subject: [PATCH] Add OH_LLM_MODEL_KIND env var to enable DB-backed verified models Wires up the SaaS verified-models DI injector so the OpenHands app reads its verified model list from the database (maintained via the admin API) instead of falling back to the hardcoded list shipped in openhands-sdk. Before OpenHands/OpenHands#14237, enterprise/saas_server.py called override_llm_models_dependency() unconditionally. That PR replaced the mechanism with a generic LLMModelServiceInjector whose default is DefaultLLMModelService (hardcoded). The SaaS variant (SaaSLLMModelServiceInjector) is now only registered when OH_LLM_MODEL_KIND points at it. Production was therefore silently serving the hardcoded model list and admin-API changes did not show up in app.all-hands.dev. Mirrors the pattern already used for OH_APP_CONVERSATION_INFO_KIND. Fixes #677 Co-authored-by: openhands --- charts/openhands/Chart.yaml | 2 +- charts/openhands/templates/_env.yaml | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/charts/openhands/Chart.yaml b/charts/openhands/Chart.yaml index c819cc57..e0c2d909 100644 --- a/charts/openhands/Chart.yaml +++ b/charts/openhands/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 description: OpenHands is an AI-driven autonomous software engineer name: openhands appVersion: cloud-1.34.0 -version: 0.7.34 +version: 0.7.35 maintainers: - name: rbren - name: xingyao diff --git a/charts/openhands/templates/_env.yaml b/charts/openhands/templates/_env.yaml index ec0e9e6a..857b0b38 100644 --- a/charts/openhands/templates/_env.yaml +++ b/charts/openhands/templates/_env.yaml @@ -529,6 +529,8 @@ value: "saas" - name: OH_APP_CONVERSATION_INFO_KIND value: server.utils.saas_app_conversation_info_injector.SaasAppConversationInfoServiceInjector +- name: OH_LLM_MODEL_KIND + value: server.verified_models.verified_model_router.SaaSLLMModelServiceInjector - name: CONVERSATION_MANAGER_CLASS value: server.saas_nested_conversation_manager.SaasNestedConversationManager {{- if (index .Values "plugin-directory").enabled }}