ToolBB-0139

SerialWarden: a serial-port broker shared by terminals, flashers and agents

SerialWarden runs a daemon that owns a board's serial port and records everything, while people and agents attach as clients. Agents connect over MCP and their writes wait for approval in the web UI, while flash tools borrow the port on a lease. The README's demo GIF runs on a Realtek Ameba board, with a stand-in script for the lease.

Open original source github.com · SheldonChangL

Shown working
Why this evidence label?

README demo GIF recorded on a Realtek Ameba board over a CH340 adapter shows remote browser input and an AI agent's erase request being denied; the lease step uses a stand-in script.

How we check entries
Preview image for SerialWarden: a serial-port broker shared by terminals, flashers and agents
The source's own preview image, from github.com.

Briefing

The daemon records from the moment the board enumerates, whether or not anyone has a terminal open, and exports any window as text, JSONL or raw bytes. serialwarden run -- esptool.py ... hands the port to the flasher and takes it back when the tool exits, and the gap is marked in the log. Remote access goes through SSH: the web UI over ssh -L, the MCP server over ssh lab-host serialwarden mcp. Erase, efuse and bootloader-entry writes always wait for approval, even when whitelisted.

SerialWarden is at v0.x and runs on macOS and Linux only. The author uses it daily on an RTL8735B board. The README lists custom baud rates such as 74880, DTR-safe open on an Arduino Uno and a full esptool flash as not yet checked on hardware.

From the GitHub API

Repository facts

Repository facts for sheldonchangl/serialwarden, from the GitHub API
Repositorysheldonchangl/serialwarden
Stars1
LicenseMIT Permissive
LanguageRust
Last push6 Oct 2026 25 d ago

Tags

Report a problem with this entry