Bobi: The Framework for Agent Teams | Moda Labs
The framework for deployed agent teams.
A lightweight CLI framework that runs teams of AI agents, delivering trusted work across your enterprise.
$ brew install moda-labs/bobi-agent/bobi
THE LOOP
One queue. One director. The whole team.
Every message, webhook, and schedule lands in one queue. The director triages the right agent, and each agent applies reasoning and workflows to resolve the ask.
Signal → Triage → Dispatch → Report
Queue each agent reasons through its workflow
FROM INSTALL TO WORKING TEAM
A working team in seven steps.
[01]
Pick your runtime.
Bobi teams run on Claude Code or OpenAI Codex, on the subscription you already pay for.
entry_point: director
chat: slack
runtime: claude-code # or: openai-codex · your existing plan
[02]
Talk your team into existence.
bobi setup my-agent opens a local setup client. Describe the roles you want in plain language; Bobi writes a ROLE.md for each.
# Engineer Agent
You are a staff engineer who
ships production-quality code.
## Philosophy
1. Read before you write.
2. Leave it better than found.
[03]
Give it workflows/, not vibes.
Multi-step work is declared as YAML workflows: fixed steps, role routing, and human approval gates where you want them.
steps:
- run: classify_ticket # support agent
- run: draft_reply
- await: human approval # if P1 - run: send_reply
- done: ticket_resolved
[04]
Tell it when to wake up.
Webhooks wake the team the moment something happens. Monitors in monitors/ cover the rest: cron schedules and checks that watch for drift.
monitors:
- name: morning-review
interval: cron 07:00
event: monitor/daily.review
- name: stale-pr-check
interval: 1h
event: monitor/pr.stale # nudge after 48h
[05]
Hand it your tools.
Declare the tools each agent can use in tools/: CLIs, MCP servers, and skills, each a card that shows the agent how to use it well.
# GitHub
Interact with repos, PRs, and
issues via the gh CLI.
## Create a pull request
$ gh pr create --base main ...
[06]
Meet it where you work.
Connect Slack as a service in agent.yaml. Briefs, reports, and approvals arrive in your channels; replies go back to the team.
chat: slack
services:
- name: slack
events: true
credentials:
token: ${SLACK_BOT_TOKEN} # → .env
approvals: inline # approve from the thread
[07]
Put it to work.
bobi agent my-agent start and the team is on the clock. Ask it things, hand it tasks, or let the events drive. One command deploys it always-on.
terminal
$ bobi agent my-agent start
[08]
The memory learning step.
Every night, the sleep cycle replays the day’s sessions and consolidates what the team learned into policy.md, and every agent wakes already knowing it.
MEET THE TEAMS
Teams you can deploy today.
Engineering
Ship more, with confidence.
The agent follows your SDLC of code review, QA, and CI, defined in a YAML workflow.
Support
Every ticket answered, every escalation caught.
Every support issue investigated with no extra burden on your team.
SRE
Root cause found before you’re paged.
From alert to a fix in flight, with the team kept in the loop.
WHAT’S SPECIAL ABOUT BOBI?
01
Deterministic workflows.
Multi-step work runs as fixed YAML recipes walked by a state machine; the model does the work, not the control flow.
02
Agents that work in parallel.
Every agent runs in its own session, side by side, with a structured handoff back to the director.
03
One event bus, nothing missed.
Every webhook, message, and schedule lands on one bus, so every event gets captured and triaged appropriately.
04
A learning loop, every night.
The sleep cycle consolidates each day’s sessions into policy every agent knows tomorrow.
05
Runs on your subscription.
Agents run on the Claude Code or Codex plan you already pay for, so a full team costs no extra tokens.
06
Teams that reshape with you.
Roles and teams are files you edit: add a role, split a team, or rewrite a workflow as your needs evolve.
07
Any model, any agent.
Point each agent at the model that fits its job, and swap models per role as better ones ship.
08
A human in the loop.
Approvals and reviews are workflow nodes, so the irreversible actions always wait for a person.
DEPLOYMENT OPTIONS
Local
On your machine.
One command starts the team on your computer or a Mac mini. Best on a machine that stays on, so the team keeps working after you close your laptop.
$ bobi agent my-agent start
Your cloud
On your own cloud.
One command puts the team on Fly.io with internet-reachable webhooks, always on. We recommend Fly.io, and other platforms work too.
$ bobi deploy
Enterprise
With a control plane.
Remote instrumentation and a control plane across your teams, deployed to fit your infrastructure. We stand it up with you.
FAQ
What is Bobi?
Bobi is the open-source framework for agent teams: a director triages every webhook, message, and schedule, dispatches the right agents in parallel, and reports back to you. It is Apache-2.0-licensed and self-hosted.
How is Bobi different from a chatbot or a single agent?
A chatbot waits for you. Bobi not only responds to your messages, but also acts on real events: tickets, emails, alerts, PRs, and schedules all land on one event bus, and a director dispatches a team of agents, each reasoning through its own deterministic workflow with human approval gates where they matter.
Is Bobi open source?
Yes. Bobi is Apache-2.0-licensed and runs entirely on your own infrastructure.
What does Bobi run on?
Bobi teams run on Claude Code or OpenAI Codex, on the subscription you already pay for, so a full team costs no extra tokens. You can point each agent at any model, and swap models per role.