graph LR
CLI_Application_Entry_Point["CLI Application Entry Point"]
Configuration_Manager["Configuration Manager"]
Interactive_Prompt_Handler["Interactive Prompt Handler"]
Textual_UI_Manager["Textual UI Manager"]
User_Input_Handler["User Input Handler"]
Task_Execution_Orchestrator["Task Execution Orchestrator"]
CLI_Application_Entry_Point -- "calls" --> Configuration_Manager
CLI_Application_Entry_Point -- "delegates control to" --> Interactive_Prompt_Handler
CLI_Application_Entry_Point -- "delegates control to" --> Textual_UI_Manager
Interactive_Prompt_Handler -- "sends input to" --> User_Input_Handler
Textual_UI_Manager -- "sends input to" --> User_Input_Handler
User_Input_Handler -- "triggers" --> Task_Execution_Orchestrator
Configuration_Manager -- "provides data to" --> CLI_Application_Entry_Point
Configuration_Manager -- "provides data to" --> Interactive_Prompt_Handler
Configuration_Manager -- "provides data to" --> Textual_UI_Manager
The browser-use CLI application provides a command-line interface for interacting with a browser automation agent. Its architecture is centered around a CLI Application Entry Point that dispatches control to either an Interactive Prompt Handler or a Textual UI Manager based on user arguments. A dedicated Configuration Manager handles persistent settings, loading and saving application-wide preferences. Both the interactive prompt and the Textual UI utilize a User Input Handler to process user commands. These commands are then passed to a Task Execution Orchestrator, which delegates the actual browser automation tasks to the core agent.
Acts as the main orchestrator for the CLI application. It handles initial setup, parses command-line arguments, loads and saves user configuration, and dispatches control to the appropriate interaction mode (interactive prompt or Textual TUI).
Related Classes/Methods: None
Handles the loading and persistence of application-wide user configuration settings, ensuring that preferences and operational parameters are maintained across sessions.
Related Classes/Methods: None
Manages the traditional, line-by-line command-line interaction flow, allowing users to input commands and receive immediate textual feedback.
Related Classes/Methods: None
Initializes and manages the rich terminal user interface (TUI) using the Textual framework. It provides a more interactive and visually organized experience, including updating information panels.
Related Classes/Methods: None
Processes user commands and inputs received from either the interactive prompt or the Textual TUI. It acts as a dispatcher, triggering the execution of tasks based on the parsed input.
Related Classes/Methods: None
Takes a user-defined task (received from the User Input Handler) and orchestrates its execution. This component is the primary interface for the CLI to interact with the core Agent or Controller to delegate browser automation or other agent-driven actions.
Related Classes/Methods: None