Quick Start
DroidAgent Parameters
Required
Optional Parameters
Parameter | Type | Default | Description |
---|---|---|---|
config | DroidrunConfig | None | None | Full config object (loads LLMs from profiles if llms not provided) |
llms | dict[str, LLM] | LLM | None | None | LLM(s) - dict for per-agent, single LLM for all, or None to load from config |
agent_config | AgentConfig | None | None | Agent behavior settings (overrides config.agent) |
device_config | DeviceConfig | None | None | Device connection settings (overrides config.device) |
tools | Tools | ToolsConfig | None | None | Tools instance or config (overrides config.tools) |
logging_config | LoggingConfig | None | None | Logging settings (overrides config.logging) |
tracing_config | TracingConfig | None | None | Tracing settings (overrides config.tracing) |
telemetry_config | TelemetryConfig | None | None | Telemetry settings (overrides config.telemetry) |
custom_tools | dict | None | None | Custom tool definitions |
credentials | CredentialsConfig | dict | None | None | Credentials config or dict of secrets |
variables | dict | None | None | Custom variables accessible during execution |
output_model | Type[BaseModel] | None | None | Pydantic model for structured output extraction |
prompts | dict[str, str] | None | None | Custom Jinja2 prompt templates (NOT file paths) |
timeout | int | 1000 | Workflow timeout in seconds |
Configuration Classes
AgentConfig
DeviceConfig
LoggingConfig
TracingConfig
TelemetryConfig
ToolsConfig
CredentialsConfig
SafeExecutionConfig
LLM Configuration
Single LLM (All Agents)
Per-Agent LLMs
manager
- Planning (reasoning mode only)executor
- Action selection (reasoning mode only)codeact
- Code generation (direct mode)scripter
- Off-device Python executiontext_manipulator
- Text input helperapp_opener
- App launching helperstructured_output
- Final output extraction
Custom Tools
Credentials
Dict Format (Recommended)
Config Format
Custom Variables
Structured Output
Custom Prompts
{{ instruction }}
- User’s goal{{ device_date }}
- Device date/time{{ app_card }}
- App-specific instructions{{ state }}
- Device state{{ history }}
- Action history
Complete Example
YAML Config (CLI)
For CLI usage, createconfig.yaml
:
CLI Overrides
--config PATH
- Custom config file--device SERIAL
- Device serial/IP--provider PROVIDER
- LLM provider (OpenAI, Ollama, Anthropic, GoogleGenAI, DeepSeek)--model MODEL
- LLM model name--temperature FLOAT
- LLM temperature--steps INT
- Max steps--base_url URL
- API base URL (for Ollama/OpenRouter)--api_base URL
- API base URL (for OpenAI-like)--vision/--no-vision
- Enable/disable vision for all agents--reasoning/--no-reasoning
- Enable/disable reasoning mode--tracing/--no-tracing
- Enable/disable tracing--debug/--no-debug
- Enable/disable debug logs--tcp/--no-tcp
- Enable/disable TCP communication--save-trajectory none|step|action
- Trajectory saving level--ios
- Run on iOS device
Configuration Priority
When multiple sources are provided, DroidAgent uses this priority:-
Direct parameters (highest priority)
-
Config object
- Defaults (lowest priority)