Skip to main content

Installation

Bed of Roses is stdlib-only under the hood: the Node runtime depends on nothing but Node’s standard library, plus electron (for the Mac host) and @modelcontextprotocol/sdk + @playwright/mcp (for MCP and the browser). There is no build step, no test suite to run, and no lint config to satisfy.

Requirements

  • macOS (the v2 host is a Mac app; the classic shell runs anywhere Node does).
  • Node ≥ 20.
  • A provider API key (Anthropic / OpenAI / Gemini / an OpenAI-compatible endpoint) — or use Bed of Roses credits. See Providers.

Get the code

git clone https://github.com/SixHq/bed-of-roses
cd bed-of-roses
npm install

Run it

There are two ways to run BOR, sharing the same runtime.

v2 Mac host (the product)

npm run v2          # launch the Electron host (it spawns the Node runtime itself)
# or
npx bor             # alias of npm run v2
This opens the onboarding window the first time, then the draggable presence.

Classic browser shell

npm start           # run the Node runtime on :7777
npm run dev         # same, with --watch (auto-restart on change)
Then open http://localhost:7777.

Optional: the browser automation engine

BOR’s browser_action tool and the bundled Playwright MCP need a Chromium:
npm run browser:install   # install Playwright Chromium for MCP / browser_action
npm run browser:mcp       # run the Playwright MCP browser service standalone (optional)
If you skip this, browser_action falls back to your system Chrome when available, and tells you to run npm run browser:install otherwise.

Command reference

CommandWhat it does
npm run v2 / npx borLaunch the v2 Electron host
npm startRun the runtime on :7777 (classic shell)
npm run devSame as npm start, with --watch
npm run browser:installInstall Playwright Chromium
npm run browser:mcpRun the Playwright MCP service standalone
bor onboard / bor create / bor delete / bor listPresence management — see Command line

First run

On first launch the host opens onboarding: pick a provider, give BOR a name and personality, choose an avatar and a theme. See Onboarding. After that you land on the presence — head to the Quickstart.

Where your data lives

Everything BOR generates is written to your disk and is git-ignored:
  • os-data/ — presences, config (including API keys), generated surfaces, memory, logs.
  • .bor/ — the agent working directory for files/projects BOR creates.
  • .bed-of-roses/ — Electron cache, browser profiles, skills, MCP config.
See Storage & data for the full map and Configuration for env overrides.