

Different use cases. VHS records your operations – you can hand-craft a VHS script. asciinema records the result (both I and O). VHS scripts can be re-run; they’re useful for projects in that you can put a vhs script in a repo as part of a build process and automatically regenerate screenshots and videos during the build process. asciinema requires you to manually record new videos.
There’s overlap, for sure, and asciinema is easier for purely recording some terminal where you’re winging it, and then sharing it out; vhs is better for writing repeatable demos. Both are great pieces of software.
























So I was digging around in this again, and either vhs has always downloaded chromium or it’s new behavior, but it now means I won’t use vhs any more. Which is troublesome because, while there are a bunch of terminal recorders, none are scriptable in the way vhs is.
vhs only records commands, not the output. It means that the simple text files can be manually edited, but also that they can be committed to a vcs and replayed. If the programs used change their outputs, vhs replay will capture the new behaviors. This is what makes it useful for updating screenshots and demos; most other tools I’ve looked at (including asciinema) records both input and output, and are therefore useless in a CI environment for updating screenshots. There are three programs which can work like vhs (more or less), and two more which are useful for limited applications. I haven’t yet verified which of these work headless.
-binso it’s not too badHaving to choose between downloading a ca 400MB Chromium blob and npm/nodejs is being between a rock and a hard place. console2svg seems the least offensive, but termtosvg is so tantilizingly close. The rest are purely “record the entire I/O”; many have the additional limitation of requiring a windowing environment, so can’t be run over tty: