› cavi-ai/
GitHub ↗

CLI

bobby installs, configures and runs the runtime. With no subcommand it runs bobby serve. bobby --version prints the version and bobby <command> --help lists a command's flags.

Global options

OptionEffect
--team <name>Share a profile and runtime with this local team
--project <name>Share a project runtime, optionally within a team

Put them before the subcommand. Without them, bobby uses the personal scope.

Commands

CommandPurpose
install (alias setup)Credential, host configuration, agent skill, companion, vision
initCreate or print a bootstrap credential
tokenPrint the current bearer
doctorCheck the local setup
serveRun the HTTP API and MCP-over-HTTP endpoint
cdpRun the runtime with authenticated CDP
mcp-stdio, acp-stdioGateways that agent hosts launch
runtimeManage the shared local runtime
firefox-startOpen the Bobby Firefox profile
enroll-firefox-profile, install-firefox-native-host, firefox-native-hostFirefox companion plumbing
profilesList deployment profiles
jobsSubmit, inspect and cancel jobs
openshellOpenShell pack and sandbox principals
contextInspect or erase remembered site context
auditExport, verify and replay audit bundles
visionVision provider setup and diagnostics

bobby install

Interactive setup. Add --yes to accept defaults and --host <claude|vscode|zed|acp|openshell> (repeatable) to choose hosts without prompts. See Installation for the flag list.

bobby init

Writes a credential file (mode 0600) and prints the bearer once.

FlagMeaning
--forceOverwrite an existing file
--ttl-days <n>Expiry (default 30)
--path <file>File path. Default is bootstrap.env in the config directory
--preset <name>Capability floor: agent (default), unrestricted, claude, codex, openshell. See Capabilities
--emit <host>Print an MCP client fragment for claude, zed, vscode, json or openshell

bobby token

Prints the enrolled bearer for SDK, HTTP and CDP clients. It refuses to write to a redirected stdout unless you pass --stdout.

bobby serve

FlagMeaning
--config <path>config.toml to load
--bootstrap-env <path>Credential file
--vision, --no-visionStart or skip the managed vision proxy

On loopback, serve creates a credential if none exists and prints it once. Non-loopback binds need one up front. Health is at GET /healthz. bobby mcp-stdio and bobby acp-stdio take the same flags. bobby cdp also takes --cdp-port. See Run the server.

bobby doctor

Read-only checks of configuration, browser selection, credential, storage, sidecars, browsers on PATH and /healthz.

FlagMeaning
--config, --bootstrap-envSame as serve
--skip-healthDo not probe /healthz or GET /v1/runtime
--jsonVersioned JSON report on stdout
--profile <name>Validate desktop, headless-ci, openshell or remote
--fixRepair bobby-owned state, then run again
--download-modelWith --fix, allow downloading the selected MLX model
--downgrade-idempotencyConvert healthy idempotency ledgers for use by older binaries

Exit status is 1 when any check fails and 0 for warnings only. An unhealthy report starts with next: bobby doctor --fix, and repairable failures name the fix. Output is plain text when piped or when NO_COLOR is set.

--fix is idempotent. It restores an unrestricted credential's capabilities, creates missing storage directories, normalizes the selected vision provider, starts a loopback Ollama if the selected provider is down, and readiness-tests the provider. It never chooses a provider or model, overwrites a custom endpoint, stores secrets, installs system packages or leaves a daemon running. A missing MLX model stays an action item until you pass --download-model.

bobby runtime

Manage the shared runtime of the current scope.

SubcommandEffect
startStart or reuse the runtime
statusShow the owner and connection URL, and any pending change
stopStop the runtime gracefully
restartStop if running, then start
listList local scopes and their status

stop and restart ask before disconnecting attached agents. Without a terminal, pass --disconnect-agents.

bobby firefox-start

Opens the installed Bobby Firefox profile for pairing or browsing. See Firefox companion.

bobby jobs

An HTTP client for /v1/jobs. The scheduler runs inside bobby serve.

bash
bobby jobs submit --name echo --payload '{"message":"hi"}'
bobby jobs submit --name echo --payload-file ./job.json --priority high --idempotency-key run-1
bobby jobs status <job_id>
bobby jobs cancel <job_id>

Shared flags: --config, --bootstrap-env, --base-url <url> and --token <bearer>. submit takes --name (required), --payload, --payload-file, --priority (low, normal, high, critical), --max-retries, --timeout-ms and --idempotency-key. The credential needs job:submit, job:read and job:cancel.

bobby audit

Signed audit bundles for one workflow. See Evidence and checkpoints.

bash
bobby audit key
bobby audit export --workflow <workflowId> --out bundle.tar
bobby audit verify bundle.tar --public-key <hex>
bobby audit replay bundle.tar --out bundle.html

export takes --config and --key <path> (default audit-signing-key.pk8 in the config directory, created on first use). --out must not exist. verify exits non-zero and names the failing file or signature. replay verifies and writes a self-contained page; see Workflow replay.

bobby context

bash
bobby context list --profile <profile-id>
bobby context forget --profile <profile-id> <site>

list shows remembered sites. forget erases everything remembered for one site. Both take --config and --dir. See Context graph.

bobby vision

SubcommandPurpose
connectWrite a provider profile to config.toml
loginEstablish or verify the configured ACP harness login
statusShow the provider, model and service state
startRun the vision service in the foreground
detectClassify a challenge without acting
solveRun the solve loop on a challenge
collectCollect vision training data
bash
bobby vision connect --provider ollama
bobby install --vision --vision-provider ollama
bobby install --yes --vision-provider ollama --vision-model llava:7b
bobby vision connect --yes --provider mlx
bobby vision connect --yes --provider mlx --activate --download-model
bobby vision connect --yes --backend acp --provider codex --command codex --arg acp --auth advertised

connect flags: --provider (openai, ollama, lmstudio, mlx, custom), --backend (direct or acp), --base-url, --model, --api-key-env, --command, --arg, --auth, --config, --yes, --activate, --download-model. By default connect only writes configuration. --activate also readiness-tests the provider, and --download-model (which needs --activate) lets it fetch a missing MLX model. See Configuration.

detect and solve take --purpose and either --url for a new session or --session with --page for an existing one. detect is read-only and defaults to a 15 second budget (--timeout-ms). solve defaults to 120 seconds and accepts --zigzagzig for humanized input and fingerprint spoofing. --node picks the vision node (default vision). Both need vision:assist.

bash
bobby vision detect --purpose "check for a captcha blocking signup" --url https://example.com
bobby vision solve --purpose "solve the challenge" --session <id> --page <id>

bobby openshell

install, provision, rotate, list, status and revoke. See OpenShell host.

Environment variables

VariableRole
BOBBY_BROWSER_CONFIGDefault config.toml path
BOBBY_BROWSER_BOOTSTRAP_ENVDefault credential file path
AUTOMATION_RUNTIME_BOOTSTRAP_*Direct credential input. See Authentication
AUTOMATION_RUNTIME_TOKENClient bearer for SDKs and curl
AUTOMATION_RUNTIME_BROWSER_SELECTIONJSON engine selection, overriding the paired profile
BOBBY_MCP_TOOLSETStarting MCP toolset, overriding [mcp] startup_toolset
BOBBY_CHROME_EXECUTABLEChromium binary to use
BOBBY_OPENSHELL_SECRETS_DIRDirectory for per-sandbox OpenShell environment files