Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions openhands-agent-server/openhands/agent_server/__main__.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,47 @@
import argparse
import sys

import uvicorn

from openhands.agent_server.logging_config import LOGGING_CONFIG
from openhands.sdk.logger import DEBUG


def check_browser():
"""Check if browser functionality can render about:blank."""
try:
# Register tools to ensure browser tools are available
from openhands.tools.preset.default import register_default_tools

register_default_tools(enable_browser=True)

# Import browser components
from openhands.tools.browser_use.definition import BrowserNavigateAction
from openhands.tools.browser_use.impl import BrowserToolExecutor

# Create executor
executor = BrowserToolExecutor(headless=True, session_timeout_minutes=1)

# Try to navigate to about:blank
action = BrowserNavigateAction(url="about:blank")
result = executor(action)

# Clean up
executor.close()

# Check if the operation was successful
if result.is_error:
print(f"Browser check failed: {result.content}")
return False

print("Browser check passed: Successfully rendered about:blank")
return True

except Exception as e:
print(f"Browser check failed: {e}")
return False


def main():
parser = argparse.ArgumentParser(description="OpenHands Agent Server App")
parser.add_argument(
Expand All @@ -21,9 +57,21 @@ def main():
action="store_true",
help="Enable auto-reload (disabled by default)",
)
parser.add_argument(
"--check-browser",
action="store_true",
help="Check if browser functionality works and exit",
)

args = parser.parse_args()

# Handle browser check
if args.check_browser:
if check_browser():
sys.exit(0)
else:
sys.exit(1)

print(f"🙌 Starting OpenHands Agent Server on {args.host}:{args.port}")
print(f"📖 API docs will be available at http://{args.host}:{args.port}/docs")
print(f"🔄 Auto-reload: {'enabled' if args.reload else 'disabled'}")
Expand Down
Loading