Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bb-droid

Register Factory Droid as a bb custom ACP provider.

bb speaks Agent Client Protocol via bb-acp-bridge. Known agents (opencode, grok, hermes, …) auto-detect when on PATH. Droid is not in that list, so this repo ships a customAcpAgents entry for ~/.bb/config.json.

After install, Droid appears as provider acp-droid.

Prerequisites

  1. bb desktop app running (host daemon co-located with the CLI).
  2. Droid on PATH (curl -fsSL https://app.factory.ai/cli | sh or your usual install).
  3. Authenticated with Factory (interactive login or FACTORY_API_KEY).

Verify:

which droid
droid --version

Install into bb

./scripts/install.sh

Merges config/custom-acp-agent.json into ~/.bb/config.json (by id droid), copies the logo, and reloads config when possible. Safe alongside other custom agents (e.g. bb-auggie).

bb provider list
bb provider models acp-droid

Spawn:

bb thread spawn --project <project-id> \
  --provider acp-droid --model acp-default \
  --permission-mode full \
  --prompt "Say hello"

Uninstall

./scripts/uninstall.sh

Launch profile

Field Value
Provider id acp-droid
Display name Factory Droid
Command absolute path to droid (resolved at install)
Args ["exec", "--output-format", "acp"]
Models usually acp-default (no scrapeable model list CLI)

PATH gotcha

bb’s host daemon often runs with a minimal PATH. If config uses bare droid and the binary lives in ~/.local/bin, the agent can fail at thread.start with:

ACP agent "droid" exited (code 0, signal null)

scripts/install.sh resolves command -v droid to an absolute path for this reason.

Factory documents this shape for JetBrains/Zed ACP clients:

{
  "command": "droid",
  "args": ["exec", "--output-format", "acp"]
}

Source of truth: config/custom-acp-agent.json.

Notes

  • Model list: Droid has no scrapeable model-list CLI for bb’s bridge, so the picker usually shows acp-default. Pass --model acp-default when spawning until you set project defaults.
  • Auth: Factory login on the host, or set FACTORY_API_KEY in the agent env block (see Factory JetBrains/Zed docs).
  • Permissions: bb ACP modes are accept-edits and full.

Capabilities (bb ACP defaults)

  • Permission modes: accept-edits, full
  • No native fork / archive / rename
  • Agent owns tools

Manual config

Append to ~/.bb/config.json customAcpAgents (or merge with existing entries):

{
  "id": "droid",
  "displayName": "Factory Droid",
  "command": "droid",
  "args": ["exec", "--output-format", "acp"]
}

Then refresh:

node /Applications/bb.app/Contents/Resources/app.asar.unpacked/node_modules/bb-app/dist/bb-app.js config refresh

Related

About

Register droid (Factory CLI) as a bb custom ACP provider

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages