Same problem here. Internally we simulated it with just-bash plus whatever filesystem was handy. For production we went with DO after surveying their agent ecosystem, but it has since split into two paths (@cloudflare/agents or think vs. @cloudflare/computer) with real trade-offs. Rivet's s3 setup looks like a much closer fit for us — I'd want to try it on the next project.
Let us know how it goes! We're active in our Discord: https://rivet.dev/discord
We're big believers in lightweight sandboxing approachs akin to Durable Objects in addition to existing x86 sandboxes.