Beevibe Beevibe
Docs menu
Docs
Packages
Project

@beevibe/daemon

Local. Registers with the API, claims sessions pinned to this machine, and spawns the Claude Code CLI to run them.

The daemon is the bridge between your laptop and the rest of the stack. It exists because your CLI lives on your machine, your tokens live on your machine, and your files live on your machine. The daemon doesn't proxy your work — it sets up the workspace and launches the CLI with the right environment.

Three commands

# 1. one-time registration with an api server
beevibe-daemon setup --api https://api.beevibe.io --user-token bv_u_…

# 2. start claiming
beevibe-daemon start

# 3. self-update (Bun-compiled binaries)
beevibe-daemon update
bash

setup

Probes PATH for known CLIs (claude, etc.), POSTs /runtime/register, and stores a daemon-specific token in ~/.beevibe/config.json. The user token (bv_u_) is used once and never written to disk. The daemon token (bv_d_) is what every later call uses.

start

Loads the config, fetches the latest skills, opens a WebSocket to the API, and begins the claim loop. No flags — everything comes from the config file and environment.

update

Downloads the latest GitHub release, verifies the SHA-256, and does an atomic rename. For npm or source installs it prints the right command and exits.

Config file

Written to ~/.beevibe/config.json with mode 0600 (only the owner can read it). The directory is created at 0700.

{
  "api_url": "https://api.beevibe.io",
  "external_id": "macbook-pro.local",
  "daemon_id": "dmn_…",
  "daemon_token": "bv_d_…",
  "runtimes": [{ "id": "rt_…", "cli": "claude" }]
}
json

Concurrency

A single global cap across all sessions on this machine. Default is 10. Override at start time:

BEEVIBE_DAEMON_MAX_CONCURRENT=4 beevibe-daemon start
bash

Per-agent caps (one task session at a time, three mesh requests at once) are enforced server-side — you don't have to configure them here.

Polling, heartbeat, reconnect

WS push (new work, cancel)event-driven
HTTP claim poll30 seconds
Heartbeat15 seconds
WS reconnectexponential 1s → 30s

Workspaces and env

For each session, the daemon writes a per-agent directory under ~/.beevibe/workspaces/<agent_id>/. Inside is an mcp-config.json with the agent's bearer token. The spawned CLI reads that file and calls the API's MCP endpoint directly.

Skills are cached at ~/.beevibe/skills/ and refreshed on every start. The daemon caches by version so unchanged skills don't re-download.

What it isn't

Source

For setup-flag details, exact reconnect formulas, and the supervisor's cancellation model, see packages/daemon/README.md on GitHub.