Screenshot-like screen recording for Windows — select a rectangle or draw a freeform region, then record only what matters.
简体中文 | English
RecEasy is a lightweight, tray-based screen recorder designed for both people and AI agents. A user can start a recording with a global hotkey or the tray menu, while an agent can control the exact same workflow through CLI commands, MCP tools, or the included Skill.
Demo shown in English; switch instantly to Simplified Chinese in Settings.
- Fullscreen, rectangle, and hand-drawn freeform recording
- Foreground-aware CSRT target tracking with full-screen reacquisition
- System audio recording and optional microphone mixing
- Draggable radial desktop controller plus a system tray menu
- Visible, draggable recording boundaries excluded from the captured video
- Automatic logical-to-physical DPI conversion for correctly aligned capture
- Switchable Simplified Chinese / English interface, configurable global hotkeys, output directory, and 15–60 FPS
- Safe post-recording rename, folder access, or discard to the Recycle Bin
- Background FFmpeg encoding without a console window
- JSON CLI, MCP server, and reusable Agent Skill
RecEasy runs in the system tray and exposes a draggable six-segment radial controller: Fullscreen, Rectangle, Freeform, Tracking, Stop, and Settings. Drag its center to move it; click the small × to hide it and use Show radial controller from the tray to restore it.
| Segment | Action |
|---|---|
| Fullscreen | Start recording the primary display immediately |
| Rectangle | Drag a rectangular capture area |
| Freeform | Draw an irregular capture boundary |
| Tracking | Select a visual target and follow its movement |
| Stop | Finalize the active recording |
| Settings | Configure hotkeys, output directory, and FPS |
The center shows recording time and acts as the drag handle. The small × hides the controller without quitting RecEasy.
- Choose a recording mode from the radial controller, tray, CLI, or MCP.
- Fullscreen starts immediately. Rectangle, freeform, and tracking modes ask the user to draw a region; press
Escto cancel. - RecEasy prepares FFmpeg and capture first, then shows the red boundary when recording has genuinely started.
- Drag the recording handle to move the capture area. Tracking mode extracts the foreground subject, follows it with CSRT, and searches the full desktop to reacquire it when temporarily lost.
- Stop from the configured hotkey, radial controller, tray, CLI, or MCP.
- Rename the MP4, keep its timestamp name, or move an unwanted recording to the Recycle Bin.
Default hotkeys:
| Action | Hotkey |
|---|---|
| Rectangle capture | Ctrl+Shift+1 |
| Freeform capture | Ctrl+Shift+2 |
| Stop recording | Ctrl+Shift+0 |
| Cancel selection | Esc |
- Windows 10 or Windows 11
- Python 3.11 or later
- FFmpeg available through
PATH
Clone the project and install it in editable mode:
git clone https://github.com/XiuxianCoder/RecEasy.git
cd RecEasy
uv sync --extra mcp --extra devVerify FFmpeg:
ffmpeg -versionStart the desktop application:
uv run receasyRecEasy will continue running in the system tray.
Open RecEasy tray icon → Settings to configure:
- Interface language: Simplified Chinese or English
- Rectangle capture hotkey
- Freeform capture hotkey
- Stop hotkey
- Recording output directory
- Frame rate: 15, 24, 30, or 60 FPS
- System audio and microphone capture
The default Windows locations are:
Recordings: %LOCALAPPDATA%\RecEasy\recordings
Config: %LOCALAPPDATA%\RecEasy\config.json
The recording directory is created automatically when it is first needed.
The desktop application must be running because the CLI talks to its local control service. Prefix commands with uv run when the environment is not activated.
# Recorder state
receasy-cli status
# Open an interactive selector and begin recording after selection
receasy-cli select fullscreen
receasy-cli select rectangle
receasy-cli select freeform
receasy-cli select tracking
# Finalize the active recording
receasy-cli stop
receasy-cli tracking off
receasy-cli tracking on
receasy-cli discard-last
# Settings
receasy-cli show-settings
receasy-cli show-toolbar
receasy-cli hide-toolbar
receasy-cli open-output-directory
receasy-cli rename-last "Product demo"
receasy-cli get-settings
receasy-cli set-setting rectangle_hotkey "Ctrl+Alt+R"
receasy-cli set-setting freeform_hotkey "Ctrl+Alt+F"
receasy-cli set-setting stop_hotkey "Ctrl+Alt+S"
receasy-cli set-setting output_dir "D:\Recordings"
receasy-cli set-setting fps 60
receasy-cli set-setting language en
receasy-cli set-setting record_system_audio true
receasy-cli set-setting record_microphone trueCommands return JSON, which makes them convenient for scripts and agents.
Start the stdio MCP server with:
receasy-mcpExample MCP client configuration:
{
"mcpServers": {
"receasy": {
"command": "receasy-mcp"
}
}
}If the executable is not visible to your MCP client, use the environment's full executable path or run the module through the same Python environment used to install RecEasy.
| Tool | Purpose |
|---|---|
get_recorder_status |
Check selection/recording state and the latest output path |
select_recording_region |
Open rectangle or freeform selection |
stop_recording |
Stop and finalize the recording |
open_recording_directory |
Open the configured output folder |
rename_last_recording |
Rename the latest completed MP4 |
show_recorder_settings |
Open the graphical settings window |
get_recorder_settings |
Read hotkeys, output directory, and FPS |
update_recorder_settings |
Update one or more settings |
Region selection remains interactive: the agent requests a selection mode, and the user chooses what is safe to capture.
The included Skill is located at skills/receasy/SKILL.md. It tells an agent to:
- inspect recorder state before starting;
- avoid overlapping recording sessions;
- let the user draw sensitive on-screen boundaries;
- stop and verify the output path;
- use MCP first and fall back to CLI when necessary.
Copy or link the skills/receasy directory into the Skill location supported by your agent platform.
Tray / Hotkeys ─┐
CLI ────────────┼─> Local control service ─> Mode / DPI mapping ─> Capture / Tracking ─> FFmpeg ─> MP4
MCP / Skill ────┘
The tray, CLI, and MCP layers share one recording implementation, so automation behaves consistently with manual use.
- System audio is enabled by default. Microphone capture is optional and can be enabled in Settings or from the CLI/MCP interface.
- Target tracking works best when the selected subject has a distinctive appearance and remains at least partly visible.
- Standard MP4 video has a rectangular canvas. Freeform capture records the region's bounding box and masks pixels outside the drawn shape.
- Per-monitor DPI conversion is automatic; selections spanning monitors with different DPI values still require broader hardware testing.
- Only one selection or recording session can be active at a time.
- Pause and resume
- Cursor and click visualization
- Transparent WebM output for irregular regions
- Packaged Windows installer and startup option
- Automated tests across multi-monitor and mixed-DPI setups
Issues, bug reports, documentation improvements, and pull requests are welcome. For capture bugs, please include your Windows version, display layout, DPI scaling, selected mode, and relevant logs—without sharing sensitive screen content.
RecEasy is released under the MIT License.
If RecEasy saves you a few clicks—or gives your agent a pair of recording hands—please consider leaving a ⭐. Stars are tiny, but they make open-source maintainers suspiciously happy.
