Files
OpenHands/openhands/server/__main__.py
2025-12-30 00:21:29 +01:00

39 lines
1.5 KiB
Python

# IMPORTANT: LEGACY V0 CODE
# This file is part of the legacy (V0) implementation of OpenHands and will be removed soon as we complete the migration to V1.
# OpenHands V1 uses the Software Agent SDK for the agentic core and runs a new application server. Please refer to:
# - V1 agentic core (SDK): https://github.com/OpenHands/software-agent-sdk
# - V1 application server (in this repo): openhands/app_server/
# Unless you are working on deprecation, please avoid extending this legacy file and consult the V1 codepaths above.
# Tag: Legacy-V0
# This module belongs to the old V0 web server. The V1 application server lives under openhands/app_server/.
import os
import warnings
import uvicorn
from openhands.core.logger import get_uvicorn_json_log_config
def main():
# Suppress SyntaxWarnings from pydub.utils about invalid escape sequences
warnings.filterwarnings('ignore', category=SyntaxWarning, module=r'pydub\.utils')
# When LOG_JSON=1, configure Uvicorn to emit JSON logs for error/access
log_config = None
if os.getenv('LOG_JSON', '0') in ('1', 'true', 'True'):
log_config = get_uvicorn_json_log_config()
uvicorn.run(
'openhands.server.listen:app',
host='0.0.0.0',
port=int(os.environ.get('port') or '3000'),
log_level='debug' if os.environ.get('DEBUG') else 'info',
log_config=log_config,
# If LOG_JSON enabled, force colors off; otherwise let uvicorn default
use_colors=False if log_config else None,
)
if __name__ == '__main__':
main()