Overview
In nature, honeybees perform a waggle dance to share knowledge with the hive — communicating the direction, distance, and quality of a resource so that other bees can act on intelligence they did not gather themselves. Waggle Mode in beebridge takes the same idea: one AI model communicates with another to share what it knows, filling in the gaps that neither could cover alone. Each model contributes its own knowledge and strengths, and through that mutual exchange the system reaches outcomes that exceed what any single model could achieve by itself.
In practice, the worker bee (usually a cheaper task LLM) acts as browser hands, while a higher-tier channel (web AI via Chrome relay, or a premium model via API) acts as supervisor. The worker asks how to approach the task, then executes in the browser.
This lets you run most steps on a fast, inexpensive model while routing planning and hard judgment to a stronger channel — without relying on the small model to figure everything out alone.
How the Harness Works
Task starts (Waggle ON)
→ Worker may call only waggle_ask until one succeeds (supervisor sync)
→ Browser tools + waggle_ask available
→ Worker uses navigate / snapshot / click / … per supervisor guidance
→ On failure or uncertainty: waggle_ask again
→ done allowed only after at least one successful waggle_ask this task If the loop ends without a successful waggle_ask, the job is marked failed.
Two Sub-modes
Browser Mode
The bee navigates to a user-configured AI website (ChatGPT, Claude, Gemini) via the Chrome extension relay.
- Uses your existing AI subscriptions — essentially free
- Access to latest models without API keys
- Works with any AI chat website
Requires: Chrome extension (Flower) installed and connected; logged into the target AI website.
API Mode
Direct API call to a higher-tier LLM endpoint.
- Faster than browser mode (no DOM interaction)
- More reliable (structured API response)
- Can run in parallel
Requires: Valid API key and sufficient credits/quota.
Setup
- Create or select a district — each district has its own Waggle config.
- Enable Waggle Mode — check the Waggle Mode checkbox, select Browser or API.
- Browser mode: Choose a preset (ChatGPT, Claude, Gemini) or enter a custom URL. Make sure you are logged in.
- API mode: Select provider, enter model name, optionally enter API key (or reuse active auth profile).
- Auto-detect: When enabled, extra proactive
waggle_askcalls on heavy steps. The harness always requires at least one successful waggle beforedone. - Save and create tasks within the district.
Cost Optimization
| Strategy | Description |
|---|---|
| Browser Mode | Near-zero cost. Reuses ChatGPT Plus / Claude Pro subscription for unlimited waggle. |
| API Mode | Cheap worker (e.g. gpt-4o-mini) + premium waggle (e.g. gpt-4o). 60-80% cost reduction vs running everything on premium. |
| Hybrid | Browser for dev/testing, API for production speed. Auto-detect controls escalation. |
Troubleshooting
Browser Mode
| Problem | Solution |
|---|---|
| "Could not find input field" | AI website may have changed layout. Refresh or check login. |
| "No response received" | AI website may be slow. Wait for response generation. |
| "Navigate failed" | Check Flower extension connection on the Flowers page. |
| Wrong website opens | Verify URL in waggle configuration. |
API Mode
| Problem | Solution |
|---|---|
| "No API key configured" | Enter key in waggle settings or configure auth profile in Settings. |
| 401/403 errors | Verify API key validity and permissions. |
| Rate limit errors | Reduce concurrency or switch provider. |
| Model not found | Check model name against provider's available models. |
General
| Problem | Solution |
|---|---|
| "no successful waggle_ask" | Worker never got a reply. Check Flower / API errors or step limit. |
| Waggle not triggering on first step | First step is restricted to waggle_ask only. Confirm district save and gateway version. |
| Poor answers | Enrich task description; pass title, description, and objective in waggle context. |
| Slow execution | Browser mode is inherently slower. Consider API mode. |
Architecture
| Component | Path |
|---|---|
| Shared types | packages/shared/src/index.ts |
| Browser tools | apps/gateway/src/browser/browser-tools.ts |
| Waggle executor | apps/gateway/src/browser/waggle.ts |
| Flower extension | extension/background.js |
| Controller | apps/gateway/src/browser/controller.ts |
| LLM client | apps/gateway/src/browser/llm-client.ts |
| Server | apps/gateway/src/server/index.ts |
| Web UI | apps/web/src/app/jobs/page.tsx |