The framework for deployed agent teams.
A lightweight CLI framework that runs teams of AI agents, delivering trusted work across your enterprise.
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.
FROM INSTALL TO WORKING TEAM
A working team in seven steps.
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.
entry_point: director chat: slack runtime: claude-code # or: openai-codex · your existing plan
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.
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.
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.
steps: - run: classify_ticket # support agent - run: draft_reply - await: human approval # if P1 - run: send_reply - done: ticket_resolved
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: - name: morning-review interval: cron 07:00 event: monitor/daily.review - name: stale-pr-check interval: 1h event: monitor/pr.stale # nudge after 48h
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.
# 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>
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.
chat: slack services: - name: slack events: true credentials: token: ${SLACK_BOT_TOKEN} # → .env approvals: inline # approve from the thread
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.
entry_point: director chat: slack runtime: claude-code # or: openai-codex · your existing plan
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.
steps: - run: classify_ticket # support agent - run: draft_reply - await: human approval # if P1 - run: send_reply - done: ticket_resolved
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
# 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>
chat: slack services: - name: slack events: true credentials: token: ${SLACK_BOT_TOKEN} # → .env approvals: inline # approve from the thread
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.
sharper than yesterday
23:59 · transcripts in
02:00 · sessions → policy.md
06:59 · policy loaded
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.
Ship more, with confidence.
The agent follows your SDLC of code review, QA, and CI, defined in a YAML workflow.
ENG-142 · bug assigned
follows sdlc.yaml
code review · QA · CI
ready for your review
Every ticket answered, every escalation caught.
Every support issue investigated with no extra burden on your team.
acme: export failing
root cause analysis
ENG-311 created
for your review
Root cause found before you’re paged.
From alert to a fix in flight, with the team kept in the loop.
P2 · api latency
finds root cause
triaged the fix
update posted to #eng
WHAT’S SPECIAL ABOUT BOBI?
What you need to trust and scale your agents in production.
Deterministic workflows.
Multi-step work runs as fixed YAML recipes walked by a state machine; the model does the work, not the control flow.
Agents that work in parallel.
Every agent runs in its own session, side by side, with a structured handoff back to the director.
One event bus, nothing missed.
Every webhook, message, and schedule lands on one bus, so every event gets captured and triaged appropriately.
A learning loop, every night.
The sleep cycle consolidates each day’s sessions into policy every agent knows tomorrow.
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.
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.
Any model, any agent.
Point each agent at the model that fits its job, and swap models per role as better ones ship.
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.
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.
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.
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.


