Reporting
askui.reporting.CompositeReporter
A reporter that combines multiple reporters.
Allows generating different reports simultaneously. Each message added will be forwarded to all reporters passed to the constructor. The reporters are called (add_message()
, generate()
) in the order they are ordered in the reporters
list.
Arguments:
reporters
list[Reporter] | None, optional - List of reporters to combine
add_message
Add a message to the report.
generate
Generates the final report.
askui.reporting.Reporter
Abstract base class for reporters. Cannot be instantiated directly.
Defines the interface that all reporters must implement to be used with askui.VisionAgent
.
add_message
Add a message to the report.
Arguments:
role
str - The role of the message sender (e.g.,"User"
,"Assistant"
,"System"
)content
Union[str, dict, list] - The message content, which can be a string, dictionary, or list, e.g.'click 2x times on text "Edit"'
image
Optional[PIL.Image.Image | list[PIL.Image.Image]], optional - PIL Image or list of PIL Images to include with the message
generate
Generates the final report.
Implementing this method is only required if the report is not generated in “real-time”, e.g., on calls of add_message()
, but must be generated at the end of the execution.
This method is called when the askui.VisionAgent
context is exited or askui.VisionAgent.close()
is called.
askui.reporting.SimpleHtmlReporter
A reporter that generates HTML reports with conversation logs and system information.
Arguments:
report_dir
str, optional - Directory where reports will be saved. Defaults toreports
.
add_message
Add a message to the report.
generate
Generate an HTML report file.
Creates a timestamped HTML file in the report_dir
containing:
- System information
- All collected messages with their content and images
- Syntax-highlighted JSON content