Introduction
fishbowl gives LLM agents a real Unix environment inside JavaScript — processes, a shell, a virtual filesystem, and a package manager — without touching the host machine. It runs in Node.js and the browser with the same API.
A real shell environment is a better interface for agents than a pile of tool call schemas. fishbowl provides that environment as a composable JS library.
What you can build
Section titled “What you can build”| Your agent gets a real shell | Give an LLM a sandboxed Unix environment it can navigate, run code in, and install packages into |
| Embed a shell in your app | Drop a live terminal into any web app — the runtime runs entirely in the browser |
| Run native code alongside JS | Rust and C/C++ programs run inside the same virtual filesystem as your JS code |
| Build your own runtime | Compose a system image from exactly the bins, fileservers, and services you need — testable, reproducible, zero native deps |
Where to go next
Section titled “Where to go next”- Capabilities → — What the system can do, explained without code
- Architecture → — How it is built, from the kernel up
Guides
Section titled “Guides”| Hello World → | Install fishbowl, boot a shell, run your first commands — start here |
| Filesystem → | Mount fileservers, create overlay layers, combine servers at a single path |
| Custom Package → | Author a JS package that adds bins to a fishbowl image |
| Containers → | Spawn isolated containers with private namespaces and layered filesystems |
| Build & Distribute → | Compile Rust or C/C++ to WASM and publish to a registry |
| Agent Workspace → | Give an LLM agent a sandboxed Unix environment |