Skip to content

Incubator

The incubator is Honeybee’s coordination engine. It’s an HTTP/WebSocket server that implements the ACP protocol, manages agents, and provides a real-time dashboard.

  • ACP server: REST + WebSocket + MCP endpoints for state, events, claims, messages, control
  • Agent orchestrator: Spawns and manages agents from brood.yaml configuration
  • Carapace guard: Auto-scans all reads/writes for prompt injection
  • Dashboard: React 19 real-time UI with 7 tabs (state, events, agents, claims, control, config, metrics)
  • Dance runtime: Loads custom tool handlers (game logic, state machines)
  • Static serving: Serves demo UIs alongside the API
Terminal window
# Start a coordination server
wgl serve --port=8080 --verbose
# With a protocol
wgl serve --port=8080 --protocol=spec.acp.yaml
# With brood (full orchestration)
wgl up
# With dances and static UI
wgl serve --port=8080 \
--brood=brood.yaml \
--dances=game.js \
--static=./ui

See the full Incubator Quick Start for more.

REST API (/api/*)
├── State store (get/set key-value pairs)
├── Event store (publish/subscribe)
├── Claim store (mutex locks)
├── Message store (agent-to-agent)
├── Role store (agent registration)
├── Control (halt/pause/resume)
└── Dance endpoint (custom tool calls)
WebSocket (/ws)
├── Real-time event push
├── dance_call / dance_result
├── Reset
└── Metrics push (every 10s)
MCP endpoint (/mcp)
└── Model Context Protocol server
Dashboard (/dashboard)
└── React 19 UI (7 tabs)
Orchestrator
├── BroodOrchestrator (reads brood.yaml)
├── AgentPool (manages agent processes)
├── DirectRuntime (in-process agents)
└── Plugin system (auto-discovers propolis)
TypeExecutionToolsUse case
workerIn-processFull propolis (file, shell, git, web, PTY)Building, testing
droneMCP subprocessACP onlyReview, voting
claudeClaude Agent SDKFull Claude Code toolsComplex reasoning
mockAction sequencesDispatches to real storesTesting without LLM

Always use = syntax (not space-separated):

FlagDescription
--port=NListen port (default: 3100)
--verboseDetailed logging
--tls-cert=PATHTLS certificate
--tls-key=PATHTLS private key
--brood=PATHBrood YAML config
--dances=PATHDance file (ESM module)
--static=DIRServe static files
--protocol=PATHLoad ACP protocol
--backend=TYPEStorage: memory, sqlite, redis
--db=PATHSQLite path
--no-guardDisable Carapace scanning
--mode=TYPEhttp (default) or mcp (stdio)
--log-format=jsonStructured JSONL logging

The incubator uses a plugin architecture for extensibility. Plugins implement IncubatorPlugin from @honeybee-ai/hivemind-sdk/integrations:

interface IncubatorPlugin {
name: string;
getToolEntries(ctx: PluginContext): ToolEntry[];
start?(ctx: PluginContext): Promise<void>;
stop?(): Promise<void>;
}

Propolis (environment tools) is auto-discovered at boot. Additional plugins load via brood.yaml or --plugin flag.

Terminal window
npm install @honeybee-ai/incubator
ExportWhat
DefaultLibrary exports (stores, orchestrator, types)
Binary (incubator)CLI entry point