31 lines
816 B
Python
31 lines
816 B
Python
from pydantic_settings import BaseSettings
|
|
from typing import Optional
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
# Device
|
|
device_serial: Optional[str] = None # None = auto-detect first device
|
|
adb_path: str = "/opt/homebrew/bin/adb"
|
|
screenshot_dir: str = "data/screenshots"
|
|
|
|
# VLM
|
|
vlm_provider: str = "poe" # local / poe / openrouter
|
|
vlm_model: str = "Qwen/Qwen2.5-VL-7B-Instruct"
|
|
poe_api_key: Optional[str] = None
|
|
openrouter_api_key: Optional[str] = None
|
|
|
|
# Agent
|
|
max_steps: int = 20
|
|
action_delay: float = 1.5 # seconds to wait after each action
|
|
screenshot_timeout: float = 5.0
|
|
verify_after_action: bool = True
|
|
|
|
# Server
|
|
host: str = "0.0.0.0"
|
|
port: int = 4380
|
|
|
|
model_config = {"env_file": ".env", "env_file_encoding": "utf-8"}
|
|
|
|
|
|
settings = Settings()
|