Lab · open source

Run a team
of agents.

AgentFloor runs and watches a fleet of autonomous LLM agents: a scheduler, a claimable job queue, daily cost budgets and a live dashboard. Every agent is a markdown file you can edit while the floor is running.

FreeTypeScript, Node 20+Open source (MIT)
The office view: six demo agents at their desks, two of them glowing while they work

The office view. Each agent sits at a desk; the screen glows while it works.

Who it's for

The loop is easy.
Running a team unattended isn't.

Most agent frameworks are one agent in a loop. AgentFloor is for people running several agents on a schedule, overnight, without watching them. It handles what fires when, what each run may spend, whether two copies are fighting each other, and what actually happened while you were asleep.

Solo builders

A research desk, a PR triage crew or an on-call scribe, running on your own machine.

Small teams

Share one Postgres store across machines and watch the whole fleet from one console.

Tinkerers

The mock provider runs the whole machine for real with no API key and no cost.

Features

Mission control for your fleet.
Read-only by default, steerable when you need it.

What's running right now?

The strip board.

  • Every agent as a flight strip with a live status rail: amber running, red stalled, green idle.
  • Current task, a ticking heartbeat and today's runs and tokens.
  • Live feed and run ledger below; click any run to read its full output.
The strip board with six demo agents, two running, and the live feed and run ledger below
Want to change a brief?

Edit in the browser.

  • Click a strip to open its markdown file.
  • Dry-run shows the exact prompt plus a sandboxed mock pass, with nothing recorded and no tokens spent.
  • Save, and the change is live on the next run. Git still sees every edit.
The agent editor open on a demo agent, with the rendered prompt below and a dry-run result
How it works

Every run follows one contract.

Whatever the agent and whatever the provider, each run passes through the same steps, and every step is written to the store your dashboard, CLI and scripts all read.

budget gate→claim slot→run start→heartbeats→run finish→release slot

Budgets first

Daily caps are checked before any work starts. A capped fleet goes quiet instead of surprising you on an invoice.

One copy at a time

Slots are leases renewed by heartbeats. A killed run can't wedge the floor; its lease expires and the next run goes ahead.

Real numbers

Each run closes with its status and the token usage the provider actually reported. Failures close too, so nothing stays stuck as "active".

And also

Small pieces, swappable.

Agents as markdown

YAML frontmatter for schedule, model and token cap; the body is the brief. Hot-reloaded while the floor runs.

Any model

Anthropic, OpenAI, local models through Ollama, or the free mock provider. Swap with one line of config.

Steer with a sentence

agentfloor tell "focus on X" records a directive every agent folds into its next run.

SQLite or Postgres

One file on disk to start, a shared database when the fleet spans machines.

Bring your scheduler

agentfloor tick runs one pass and exits, so cron, launchd or systemd can drive it.

Alerts, once

Optional Slack or Telegram pings on failures and budget caps, deduplicated so you get one message, not fifty.

Local and safe

The console binds to 127.0.0.1, rejects foreign hosts and forged writes, and needs no build step.

Starter teams

Three example fleets: a content desk, a PR triage desk and an on-call desk.

Quick start

Up in a minute, free to try.

It starts on the mock provider: scheduling, budgets, slots and heartbeats all run for real, with no API key and no calls out. Switch the adapter in the config when you want real model output.

# install
git clone https://github.com/andrewneuwirth/agentfloor
cd agentfloor
npm install && npm run build
(cd packages/cli && npm link)

# start a fleet
mkdir ~/my-fleet && cd ~/my-fleet
agentfloor init
agentfloor up --dashboard
# agents/scout.md
---
description: Propose fresh article angles
schedule: every 4h
maxTokensPerRun: 3000
---

You are the scout for a small
technical publication...

Then open http://127.0.0.1:4400. Paid providers bill your own API key, and only when you choose them.

License

MIT. Use it, fork it, ship it.

Free and open source. Issues and pull requests are welcome on GitHub.