fix: switching from own model to breaks functionality (#11916)

This commit is contained in:
Hiep Le
2025-12-06 11:21:18 +07:00
committed by GitHub
parent 72c7d9c497
commit d7b36c9579
5 changed files with 85 additions and 1 deletions

View File

@@ -102,6 +102,7 @@ class LiveStatusAppConversationService(AppConversationServiceBase):
sandbox_startup_poll_frequency: int
httpx_client: httpx.AsyncClient
web_url: str | None
openhands_provider_base_url: str | None
access_token_hard_timeout: timedelta | None
app_mode: str | None = None
keycloak_auth_cookie: str | None = None
@@ -590,9 +591,12 @@ class LiveStatusAppConversationService(AppConversationServiceBase):
"""
# Configure LLM
model = llm_model or user.llm_model
base_url = user.llm_base_url
if model and model.startswith('openhands/'):
base_url = user.llm_base_url or self.openhands_provider_base_url
llm = LLM(
model=model,
base_url=user.llm_base_url,
base_url=base_url,
api_key=user.llm_api_key,
usage_id='agent',
)
@@ -1082,6 +1086,7 @@ class LiveStatusAppConversationServiceInjector(AppConversationServiceInjector):
sandbox_startup_poll_frequency=self.sandbox_startup_poll_frequency,
httpx_client=httpx_client,
web_url=web_url,
openhands_provider_base_url=config.openhands_provider_base_url,
access_token_hard_timeout=access_token_hard_timeout,
app_mode=app_mode,
keycloak_auth_cookie=keycloak_auth_cookie,

View File

@@ -74,6 +74,11 @@ def get_default_web_url() -> str | None:
return f'https://{web_host}'
def get_openhands_provider_base_url() -> str | None:
"""Return the base URL for the OpenHands provider, if configured."""
return os.getenv('OPENHANDS_PROVIDER_BASE_URL') or None
def _get_default_lifespan():
# Check legacy parameters for saas mode. If we are in SAAS mode do not apply
# OSS alembic migrations
@@ -88,6 +93,10 @@ class AppServerConfig(OpenHandsModel):
default_factory=get_default_web_url,
description='The URL where OpenHands is running (e.g., http://localhost:3000)',
)
openhands_provider_base_url: str | None = Field(
default_factory=get_openhands_provider_base_url,
description='Base URL for the OpenHands provider',
)
# Dependency Injection Injectors
event: EventServiceInjector | None = None
event_callback: EventCallbackServiceInjector | None = None