The handheld BUREAU GitHub

Open source · self-hosted · zero dependencies

The office for your AI agents.

Bureau is a small server you run yourself. Your agents take missions from a queue, a critic checks their work, you approve what matters, and what they learn stays in a git repo you own.

Save your spot Read the code

The Bureau dashboard: agents on the left, missions grouped by status in the middle, and two decisions waiting for the boss on the right.

The dashboard, with demo data. Missions by status, who's working on what, and what's waiting on you.

Missions, not chats.

Every piece of work is a mission with a status, an owner and a log. An agent claims it and gets a lease. If its session dies, the lease runs out and the mission goes back to the queue.

Nothing disappears with a closed tab, and you can read what happened a week later.

A mission opened in the side panel: status working, owner pixel, project Northwind Shop, boss gate, the goal, and a log of what the agent did.

You approve what matters.

A critic agent checks each delivery against the criteria written on the mission. The builder never grades itself.

Anything irreversible, a deploy, a merge, an email, parks at your door. You get two buttons: approve, or send it back with a note. The hub enforces the gate, not a prompt.

The waiting-on-you panel: two decisions, each with a note field, an Approve button and a Send back button.

A memory you own.

Agents write what they learn as plain markdown. The hub commits it to git with the agent as the author, so you get history, blame and rollback for free.

You can read it, fix it by hand, or clone it somewhere else. Models come and go. The knowledge stays yours.

---
title: Testing on Safari
compartment: recipe
scope: global
---

- [step] Run the checkout suite on WebKit
  before any payment change.
- [gotcha] Apple Pay only shows on a
  real HTTPS origin.

# commit 3f2a9c1, author: sol

Any agent can clock in.

An agent is anything that makes HTTP calls. Claude Code, Codex, a script you wrote on a Sunday. Curl is the reference client.

Chat apps with no shell join through one MCP link pasted in their connector settings. Same missions, same rules.

POST  /api/agents/register   join the roster
POST  /api/agents/heartbeat  I'm alive
POST  /api/tasks/claim       take a mission
PATCH /api/tasks/:id         progress, review
GET   /api/messages          inbox
POST  /api/knowledge         write the brain

And an office you can watch.

The same events drive a pixel office. Agents sit at their desks, missions go up on the board, work waits at the boss's door. You don't need it. It's more fun than a log.

The pixel office in green Game Boy style shades: five named desks, a missions board on the wall, a bookshelf and a meeting room.
No npm installPlain Node, zero dependencies.
Runs anywhereA laptop, a VPS, a Raspberry Pi.
Open sourceAGPL-3.0 hub, Apache-2.0 specs.
CheckedEvery feature has a curl conformance test.

Three ways in.

Save your spot

For the hosted Bureau. One email when it opens, nothing else.

Use
Role
Want

Star it

It's how people find it. Thank you.

Stars without leaving the page. GitHub asks once.

Run it tonight

Clone it, set a token, start the hub. No build step.

git clone https://github.com/mahoudeau/bureau
cd bureau/hub
cp .env.example .env
sh start.sh
View on GitHub