Skip to content

AnEntrypoint/thebird

Repository files navigation

thebird

Browser-native web OS — multi-instance, agentic, serverless. Per-instance Service Worker isolation, IndexedDB filesystem, in-browser POSIX shell, freddie-host with vector search and code insight.

Live

anentrypoint.github.io/thebird — landing + project chrome (built from site/ via flatspace).

The full web-OS lives in docs/ and runs against any static server — no install, no build:

bunx serve docs        # or: npx serve docs / python -m http.server -d docs

Then open http://localhost:3000/os.html.

Multi-instance isolation

Two thebird instances in the same browser tab never share state. Isolation is enforced at the Service Worker thread boundary: each instance gets its own SW at scope ./sw-iN/. 16 static SW files (docs/sw-iN/index.js) are committed for GH Pages (no custom headers required); dynamic docs/sw-instance.js?inst=iN is the fallback past instance 16. Regenerate the static files after editing the source SW: npm run gen-sws.

Validate harness & CI

docs/validate.html is the 159-invariant truth source. The CI workflow .github/workflows/validate.yml boots a headless Chromium against the harness on every push and PR; the runner at .github/workflows/validate-runner.mjs polls window.__debug.validateResults and fails the build on any regression. A pre-check step also re-runs scripts/gen-static-sws.mjs and diffs the committed docs/sw-iN/ files so stale wrappers fail the build before validate runs.

Current score: 159/159 against anentrypoint-design@0.0.114+.

Chrome contract

The menubar and taskbar sit at --os-bar-h: 34px to match the rendered window titlebar, and .wm-root spans the full viewport so the bars paint OVER a maximized window's chrome (z-index 9200 > 9000). The backtick / tilde key (`) hides both bars system-wide — toggle again to restore. The setting persists per-instance.

State restore

Reload restores every instance and every window: ids, geometry, z-order, focus, maximized/minimized flags, active instance, and bars-hidden state. The snapshot is mirrored to every per-instance Service Worker so partial wipes don't lose the desktop. See memory/tilde-bars-and-restore.md for the full contract.

Developer docs

AGENTS.md is the primary developer doc — load-bearing contracts (dynamic stack, GUI boundary rule, per-instance isolation, brand tokens, sqlite-shim quirks) and a memo index live there. Read it before touching anything in docs/.

License

MIT

About

Anthropic SDK to Gemini streaming bridge

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors