cybergod-agi/gui_and_terminal_operation_recording
GUI/Terminal Operation Recording Dataset General This dataset is created by Cybergod Web GUI/Terminal Recorder. The zipfile "./record-2025-8-9.7z" is of the same structure as the folder "./record". Recording Format Common file contents: description.txt: Description of the recording. Pure text. begin_recording.txt: Timestamp of when the recording started. JSON format. Example: {"timestamp": <timestamp: float>, "event": "begin_recording"}… See the full description on the dataset page: https://huggingface.co/datasets/cybergod-agi/gui_and_terminal_operation_recording.
GUI/Terminal Operation Recording Dataset
General
This dataset is created by Cybergod Web GUI/Terminal Recorder.
The zipfile "./record-2025-8-9.7z" is of the same structure as the folder "./record".
Recording Format
Common file contents:
description.txt: Description of the recording. Pure text.
begin_recording.txt: Timestamp of when the recording started. JSON format.
Example: {"timestamp": <timestamp: float>, "event": "begin_recording"}
stop_recording.txt: Timestamp of when the recording stopped. JSON format.
Example: {"timestamp": <timestamp: float>, "event": "stop_recording"}
GUI Recording
File structure:
./record/gui/gui_record_%Y%m%d_%H%M%S
├── description.txt
├── begin_recording.txt
├── stop_recording.txt
├── screenshot
│ └── screenshot_<timestamp: float>.png
├── mouse.log
└── keyboard.logUnique file contents:
screenshot: Directory containing screenshots (PNG files) of the GUI. Each screenshot is named with a timestamp.mouse.log: Log of mouse movements. Each line is a JSON object containing the timestamp and mouse event.
Examples:
{"event": "mouse_move", "x": <x: int>, "y": <y: int>, "timestamp": <timestamp: float>}{"event": "mouse_click", "x": <x: int>, "y": <y: int>, "button": <button: str>, "pressed": <pressed: bool>, "timestamp": <timestamp: float>}{"event": "mouse_scroll", "x": <x: int>, "y": <y: int>, "dx": <dx: int>, "dy": <dy: int>, "timestamp": <timestamp: float>}keyboard.log: Log of keyboard input. Each line is a JSON object containing the timestamp and keyboard event.
Examples:
{"event": "key_press", "key": <key: str>, "timestamp": <timestamp: float>}{"event": "key_release", "key": <key: str>, "timestamp": <timestamp: float>}
Terminal Recording
File structure:
./record/terminal/terminal_record_%Y%m%d_%H%M%S
├── description.txt
├── begin_recording.txt
├── stop_recording.txt
└── terminal.castUnique file contents:
terminal.cast:
Log of terminal input and output (asciinema v2 format).
The first line is a JSON object storing metadata about the recording.
{"version": 2, "width": <width: int>, "height": <height: int>, "timestamp": <timestamp: int>, "idle_time_limit": <idle_time_limit: float>, "env": <env: dict>, "title": <title: str>}
Each subsequent line is a JSON object containing the timestamp and terminal event. The terminal worker is configured to distinguish input from output.
- input:
[<relative_timestamp: float>, "i", <content: str>] - output:
[<relative_timestamp: float>, "o", <content: str>]
