Skip to content

Conversation

@yulingtianxia
Copy link

@yulingtianxia yulingtianxia commented Oct 24, 2025

Modified Files & Changes

eval/cli.py & eval/env/client.py
• Changed default --env-url from http://localhost:5000 to http://localhost:5001
• Added --api-base flag for custom LLM API endpoints

eval/env/boot.py
• Fixed device connection logic: skip adb.connect() for emulator serials (emulator-*), only connect network devices
• Added device validation and accessibility check
• Improved error handling with proper RuntimeError messages

eval/runner.py
• Migrated to new DroidAgent configuration API using DroidrunConfig, AgentConfig, ManagerConfig, ExecutorConfig
• Added timeout handling: catches TimeoutError and generates proper result with error reason
• Updated agent initialization to use structured config objects

eval/tracker.py
• Enhanced result parsing to support both dict and object formats
• Improved reasoning field resolution with proper fallback

README.md
• Updated CLI examples and documentation
• Added configuration options for LLM providers, task selection, performance tuning, and advanced features

Problems Solved

  1. Port conflict: Resolved macOS AirTunes conflicts by switching to port 5001
  2. API flexibility: Added support for custom LLM API endpoints
  3. Connection reliability: Fixed emulator connection issues by avoiding unnecessary network connections
  4. Timeout handling: Proper graceful handling of agent timeouts with meaningful error messages
  5. Config modernization: Adopted new structured configuration system for better maintainability

@yulingtianxia yulingtianxia changed the title Replace disable_overlay_once with toggle_overlay chore: update port configuration and improve connection logic Oct 24, 2025
- Change default port from 5000 to 5001 to avoid conflicts with macOS services (e.g., AirTunes)
- Integrate new DroidAgent config API using config_manager
- Improve device connection logic to properly handle emulators and network devices
- Add timeout handling and error handling mechanisms
- Support custom API base URL configuration via --api-base flag
- Update README documentation with additional configuration options and examples
- Update dependency lock file
- Introduced a new --config option to allow loading parameters from a DroidRun config.yaml file, overriding CLI parameters.
- Updated LLM loading logic to differentiate between using CLI parameters and config file settings.
- Enhanced timeout handling for Browser tasks to accommodate increased complexity.
- Improved agent initialization to utilize provided config or fallback to CLI parameters for backward compatibility.
@nmizoguchi
Copy link

+1 on fixing the missing disable_overlay_once call that was removed in this refactoring !

Gentle bump @Timo972 ! Happy to open a PR to fix only these specific issues, but this one seems like a good contribution 👍

- Updated boot_environment and related functions to be asynchronous, improving responsiveness and performance.
- Changed device connection and command execution to use async methods from async_adbutils.
- Added adbutils dependency to pyproject.toml for async support.
- Enhanced error handling during environment setup and task execution.
- Introduced a 2-second delay to allow the UI to stabilize after the agent completes its task, ensuring accurate task state evaluation.
- Added similar stabilization wait in the timeout handling case to maintain consistency in scoring.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants