thebird is a browser-native operating system — agentic AI chat, a full POSIX terminal, live preview, and an IndexedDB filesystem. loads in the browser like a webpage. no Docker. no server. no install.
why? safe agentic orchestration needs an isolated runtime — traditionally that means a Docker container per user. thebird replaces that with the browser: POSIX + Node.js in V8, sandboxed by design, spun up in milliseconds, accessible anywhere. your api key never leaves localStorage.
every agentic AI workflow needs a safe place to run code — read files, execute shell commands, install dependencies. the default answer is Docker: one container per user, per session. that means servers, provisioning, cost, latency, and ops burden. thebird eliminates all of it by moving the sandbox into the browser tab.
V8 already implements a full JavaScript engine. xstate v5 provides a state machine for orchestrating shell execution. IndexedDB gives you a persistent filesystem. a service worker intercepts HTTP to serve files from that filesystem. thebird wires these four primitives together into a real POSIX shell + Node REPL, no native dependencies required.
when an AI agent wants to run a command, it calls run_command. the shell executes it in V8, returns stdout. no HTTP round trip to a backend, no container spawn, no SSH. latency is measured in microseconds. the agent can iterate 100x faster than any remote sandbox.
the AI routing layer (acptoapi) translates any Anthropic-format message to Gemini, OpenAI, or 20+ providers in-browser. no proxy server needed. the format registry × provider registry design means adding a new provider is one file. circuit breaker, retry, stream guards, capability stripping — all in-browser.
tool-calling AI chat running entirely in-browser via acptoapi. tools: read_file, write_file, list_files (idb-backed), run_command, read_terminal, send_to_terminal. no proxy server required. streaming events.
in-browser tool-use streamingbrowser-native shell (xstate v5 state machine, V8 eval) backed by IndexedDB. built-ins: ls, cat, cd, mkdir, rm, cp, mv, echo, env, export, node, npm install, grep, sed, sort, uniq, tr. node repl with persistent scope + require() from idb node_modules.
posix node repl idb-fsiframe served by a service worker reading files from IndexedDB at /preview/*. hot-reloads 5s after any file write. build and run html/css/js apps entirely in-browser, no webpack, no vite, no bundler needed.
service worker hot reload serverlesstranslate any Anthropic-format message to Gemini, OpenAI-compat, or any configured provider. format registry × provider registry. xstate streaming actor. flowie transform pipelines. normalized event stream.
multi-provider streaming zero-configpersistent IndexedDB-backed virtual filesystem. files survive page reloads. npm packages install and require() from idb node_modules. http.createServer polyfill for running express-style servers entirely in-browser.
persistent node compat serverlessdrop-in Anthropic and OpenAI SDK clients via acptoapi. new Anthropic({provider,apiKey}) backed by any provider. works in-browser and in node. circuit breaker, capability stripping, stream guards included.
server.js exposes a local Anthropic-compatible proxy at localhost:3456 backed by acptoapi. route /v1/messages to any provider. /debug/state endpoint for live circuit-breaker and provider state inspection.
local proxy observabilitycreateRouter() picks provider+model per request based on taskType and token count. circuit breaker per provider, capability registry, retry with backoff. gemini, openai-compat, 20+ providers. failover automatic.
routing circuit breaker retry| status | live · ships continuously |
| license | MIT |
| runtime | browser (V8) + node ≥18 |
| server required | none — 100% serverless |
| deps | acptoapi, floosie, @google/genai, xstate |
| frontend | no framework · vanilla js + webjsx |
| storage | IndexedDB (no server, no cloud) |
| api key | localStorage only · never leaves browser |
| providers |
gemini
openai
together
fireworks
perplexity
groq
ollama
openrouter
20+ more
|
thebird (browser web os) ├── docs/ browser UI (GH Pages) │ ├── chat agentic AI · tool calling │ ├── terminal posix shell · node repl · idb-fs │ └── preview service worker · hot reload ├── serve.js local static file server └── server.js anthropic-compat proxy acptoapi (npm — runs in browser + node) ├── lib/formats/ anthropic · openai · gemini · acp ├── lib/providers/ gemini · openai-compat · router ├── lib/machine.js xstate v5 streaming actor ├── lib/translate any format → any provider └── lib/sdk/ Anthropic + OpenAI SDK clients browser sandbox (replaces Docker) ├── V8 javascript execution engine ├── xstate v5 shell state machine orchestrator ├── IndexedDB persistent virtual filesystem └── ServiceWorker HTTP server from IDB files
| open in browser | anentrypoint.github.io/thebird ↗ |
| local dev | node serve.js → localhost:8080 |
| proxy server | node server.js → localhost:3456 |
| acptoapi sdk | npm install acptoapi |
| source | github.com/AnEntrypoint/thebird ↗ |