BusyBro doesn't answer every question the same way — it picks the best-fit specialist lens first, and you can give any of your own service groups its own expert persona.
How specialist lenses work
For each question, BusyBro silently chooses the single best-fit specialist and answers through that lens — it shapes the focus and expertise, not the voice (it's always BusyBro). You don't invoke one explicitly; the choice shows up in the small signature line at the end of an answer, like:
— BusyBro · 📱 iOS specialistThe built-in roster covers the components of the project:
- 📱 iOS — the BusymateHelper app (VPN + MITM capture, device JWTs).
- 🖥️ Dashboard — the Next.js capture viewer, Realtime, auth.
- 🔌 Proxy-server — the Node MITM proxy and its control channel.
- 🗄️ Supabase — Postgres, RLS, Realtime triggers, Edge Functions, the MCP server.
- 🌐 CDP-connector — the
bmcCLI and Chrome DevTools Protocol capture. - 📚 Docs — the documentation tree and docs site.
- 🛡️ Security — auth, secrets, proxy exposure, MCP tool safety.
- ⚡ Performance — see below.
- 🧭 Architecture guide — cross-cutting or overview questions.
Tip: Ask "what specialists are there?" and BusyBro will summarize the roster.
The built-in ⚡ Performance specialist
The Performance specialist is the lens for anything about how fast things are: Core Web Vitals and bundle or re-render cost, Postgres slow queries and indexes, proxy throughput, payload size, and Realtime fan-out cost. Its discipline is measure → fix → re-measure — so when you ask a perf question, BusyBro leans on real numbers rather than hand-waving.
Give a service its own specialist
Separate from the built-in roster, each service group can link one or more of your BusyBro specialist agents — reusable expert personas defined once in BusyBro → Agents. When a conversation touches that service's traffic, BusyBro adopts the group's primary agent's instructions as its lens; the rest become extra delegation candidates for the brain's run_task.
Agents are no longer redefined inline per service. You author each agent once in the BusyBro → Agents registry (the busybro_agents table), then link the ones a service needs. The same DoorDash token-refresh agent can be the lens for the DoorDash group and a delegation candidate elsewhere — one definition, reused everywhere.
Manage a service's agents in the dashboard
Open Settings → Services, select a group, and go to its Agents tab:
- Link / unlink — multi-select from the agents you've defined in BusyBro → Agents. Linking adds an agent to this group; unlinking removes the link (the agent definition itself is untouched, so it stays available to other groups).
- Set primary — the star marks the one primary agent. There is always exactly one: starring a new agent unstars the old one, and the first agent you link is auto-primary. The primary is the service's lens and the default target
run_taskdelegates to. - Reorder — the up / down controls set the agents' explicit order; the brain considers them in that order.
- Clear all — unlink every agent from the group in one move.
How primary and order work
- The primary agent is what BusyBro adopts as its lens when you ask about that service or work with its captured traffic — so reverse-engineering DoorDash traffic reasons with a DoorDash-tuned specialist.
- The non-primary agents are extra delegation candidates: when the brain delegates a sub-task with
run_task, the group's linked agents (primary first, then by order) are the pool it can hand work to. - A group with no linked agents simply has no per-service lens — BusyBro falls back to the best-fit built-in component specialist.
Manage them by asking BusyBro
If your role has services edit permission you can also do all of this in plain language — for example, "link the DoorDash API specialist and the anti-bot agent to the DoorDash service group, and make the API one primary." Under the hood that calls the set_service_group_agents MCP tool, which fully replaces a group's linked-agent set in one write: you describe the complete desired set, exactly one is primary, and an empty set clears the group. list_service_groups and get_service_group return each group's primary_agent plus its ordered agents[].
Note: Ask "what agents does the DoorDash service use?" and BusyBro reads the group's linked agents and their primary.
Removed: the older single inline
service_groups.ai_agentfield ({enabled, name, instructions}) and the deprecatedservice_groups.agent_idFK have been dropped — theservice_group_agentsjoin is the single source of truth. Manage agents through the Agents tab and the registry.
See also
- What it can do — data, actions, web search, and permissions.
- Organizing (service groups) — where you define a service group and link its agents.
- MCP tools — the
set_service_group_agentstool and the service-group reads that returnprimary_agent+agents[]. - Architecture: specialist agents — how lenses + the agent registry are defined internally.
- In the dashboard · On Telegram — where to chat with BusyBro.