Websockets would work great actually! Basically anything would work as long as you don't use any node or bun specific imports. For file systems you could also use something like this https://github.com/isomorphic-git/lightning-fs
I'm glad you think the try before install scenario makes sense - I think this is definitely the main use case.