One Python file. Firefox and Safari use it to reach a USB adapter on your computer.
Opens USB serial ports on the computer that runs it. Listens only on 127.0.0.1:7682.
Firefox and Safari have no Web Serial. Start the script, then open http://127.0.0.1:7682/ in a tab. Chrome and Edge can pick Web Serial instead and skip this.
macOS and Linux need Python 3 only. Windows needs Python and pyserial.
An HTTPS page cannot call this helper. That is why you open its own address. Bytes stay on that machine.
For the workbench at that address, keep the site files next to the script, or use the zip. Without flags the same file hosts the site on port 8000. --serial exposes that machine’s ports to browsers that can reach it.