bobi

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 View on GitHub
Moda Labs · 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.

Fig. 01 · Signal → Triage → Dispatch → Report● LIVE
Moda Labs · bobi

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.

No per-token bill. Your existing plan is the engine.

agent.yamlRuntime
entry_point: director
chat: slack
runtime: claude-code     # or: openai-codex · your existing plan
$ claude --version
claude 2.1.9 · ready
[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.

No config spelunking. You describe the job; Bobi writes the team.

bobi setup → roles/*/ROLE.mdGenerated

YouI want a team that fixes our bugs and watches our support inbox. Escalations should ping a human first.

BobiGot it: a director, an engineer, and a support agent. Writing 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.

The model works inside the recipe, not around it. You keep the gates.

workflows/support-triage.yamlEnforced
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.

Work starts before you ask.

monitors/monitors.yamlWatching
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.

Agents use the same tools your team does.

tools/github.mdCLI · MCP · Skill
# GitHub
Interact with repos, PRs, and
issues via the gh CLI.

## Create a pull request
$ gh pr create --base main ...

## Check failing CI
$ gh pr checks <number>
[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.

You never open a dashboard to find out what happened.

agent.yaml · servicesConnected
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.

From install to a working team in one sitting.

terminalOn the clock
$ bobi agent my-agent start
team online · director + 2 agents · 2 monitors watching
$ bobi ask "what shipped yesterday?"
→ 3 PRs merged, 1 rollback approved, 12 tickets resolved.
09:41 first report posted to #eng
[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.

Fig. 02 · Overnight memory consolidation☾ NIGHTLY

MEET THE TEAMS

Teams you can deploy today.

Three teams, one pattern: an event lands, the director dispatches, an agent works its workflow, and a human approves what matters.

Engineering

Ship more, with confidence.

The agent follows your SDLC of code review, QA, and CI, defined in a YAML workflow.

linear
ENG-142 · bug assigned
engineer agent
follows sdlc.yaml
sdlc workflow
code review · QA · CI
PR #488 opened
ready for your review
Support

Every ticket answered, every escalation caught.

Every support issue investigated with no extra burden on your team.

email support
acme: export failing
support agent
root cause analysis
linear ticket
ENG-311 created
reply drafted
for your review
SRE

Root cause found before you’re paged.

From alert to a fix in flight, with the team kept in the loop.

pagerduty
P2 · api latency
sre agent
finds root cause
eng agent
triaged the fix
PR #519 opened
update posted to #eng

WHAT’S SPECIAL ABOUT BOBI?

What you need to trust and scale your agents in production.

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, your cloud, or enterprise.

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
listening on 127.0.0.1 · local only
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
deployed → https://my-agent.fly.dev · webhooks live
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

Common questions.

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.

How does Bobi learn over time?

Every night the sleep cycle reviews the day's activity and consolidates key facts and preferences into durable long-term memory every agent loads the next morning. Tell it once, and every agent knows it tomorrow.

How does Bobi compare to Hermes?

Both have self-improving memory, but Hermes is built around a single persistent agent, while Bobi orchestrates agent teams that can coordinate and execute the multi-step workflows found in enterprise environments.

How does Bobi compare to OpenClaw?

OpenClaw brings an AI assistant into your chat apps; you message it and it acts. Bobi is event-first: it runs your queues on their own from tickets, alerts, and PRs, through defined workflows with approvals as nodes. Reach for OpenClaw to put an assistant in your messaging; reach for Bobi to run a team with a process.

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.

What can Bobi automate?

Any queue someone watches all day: engineering (an issue in, a reviewed PR out through your SDLC workflow), support (issues investigated, tickets filed, replies drafted for review), and SRE (alerts root-caused and fixes triaged to engineering). Each runs with its own monitors, workflows, and human gates.

Put your first agent team to work.

View on GitHub