Models and reasoning effort
Every provider you connect has its own settings panel (in onboarding, and later via the model picker’s per-provider Settings):- Model — pick from the provider’s current list (or type any model id for OpenAI-compatible endpoints).
- Reasoning effort — Off, Low, Medium, High (recommended), Max. Higher effort means the model thinks longer before acting; you see that thinking stream as reasoning cards in the bubble. Saved per provider.
The model chip
The chip in the presence’s input bar shows the active model. Click it to switch: the picker lists every provider you’ve connected, its models, and connection status. Switching is instant and applies to the next message. See The presence.config.json
Each presence keeps a config.json at its data root (os-data/presences/<id>/config.json). Onboarding and BOR itself write it; you rarely touch it by hand. It holds:
defaultProviderandproviders— the active provider plus each provider’s{ apiKey, model, baseUrl, reasoning }.aiName,personality,baseTheme, avatar settings.connectors— your linked services and their tokens.
Secrets. API keys and connector tokens live in this local file (a macOS Keychain migration is planned). They never leave your machine, but treat os-data/ as sensitive.
Environment variables
Set before launching (PORT=8080 bor) if you need them:
The full list is in the Configuration reference.
Files that extend BOR
- Skills — Markdown playbooks in
.bed-of-roses/skills/(project) and~/.bed-of-roses/skills/(global). See Memory & skills. - MCP servers — installed by the marketplace into the presence’s
.bor/mcp.json; hand-written entries go in.bed-of-roses/mcp/servers.json. Changes hot-reload. See Configuring servers.
Next
- Storage & data — where everything lives on disk.
- Providers — the per-provider details.