Your own team of AI agents, running on your machine.
Bazilion is an open source multi-agent runtime for one person. Spawn Agents into Teams that share a workspace and memory, let them message each other and work on schedules, and talk to them from a web UI, the terminal or Telegram. Your machine, your keys.
curl -fsSL https://bazilion.com/install.sh | bash
Then run bazilion dashboard. With a supported Node already installed,
npm install -g bazilion works too.
MIT licensed, built on Pi's coding agent. Linux is the tested platform; macOS runs commands on the host and is untested.
How it works
One daemon on your machine owns everything in ~/.bazilion. You write the
roles; it runs the Agents.
-
Describe an Agent once
A Profile is an Agent template: its SOUL.md, IDENTITY.md, AGENTS.md and TOOLS.md, a default model and its skills.
-
Spawn Agents into a Team
A Team is a workspace directory, or a link to your project, with a USER.md about you, shared memory and its members. Team templates spawn a whole Team at once.
-
Talk to them where you are
Chat in the web UI, run a turn from the CLI, or write in Telegram, where every Agent has its own topic. Triggers wake them on a schedule.
A first session, in the terminal
Start the dashboard, point a Team at a project, spawn an Agent and ask it something. It checks the Team’s memory before it answers.
The web UI does all of this too: the dashboard and the CLI offer the same management features.
Read the getting started guide$ bazilion dashboard
starting bazilion daemon at http://127.0.0.1:4321
starting bazilion web UI at http://127.0.0.1:4322
dashboard: http://127.0.0.1:4322
sign in: the token in /home/you/.bazilion/auth.json (print it: bazilion token show-local)
# Connect a provider on /config, then:
$ bazilion team add site --link /home/you/code/site
registered team site at /home/you/.bazilion/teams/site
$ bazilion agent spawn --profile default --name scout --team site
spawned agent 7c41e0b2-5d8a-4f3e-9a61-2b0c8d4e7f15 (scout)
dir: /home/you/.bazilion/agents/7c41e0b2-5d8a-4f3e-9a61-2b0c8d4e7f15
$ bazilion agent chat 7c41 --message "What did we decide about the changelog?"
[tool: memory_search {"query":"changelog"}]
[result: decisions/changelog.md: One rolling page, the latest four releases, newest first.]
We decided on one rolling changelog page with the latest four releases,
newest first. Older releases link to their GitHub release notes.
$ bazilion trigger add 7c41 --cron "0 9 * * 1-5" --message "Triage new issues"
0b9e3f6a-21c4-4d7e-8f5a-6c2d1e9b4a70 cron "0 9 * * 1-5" enabled What your Agents get
The parts that turn a few Agents into a working Team instead of separate chats.
-
Memory the whole Team shares
Markdown notes in the Team’s memory folder, searched with BM25 through qmd, so decisions outlive the chat that produced them.
memory_writememory_search -
Agents that message each other
An inbox inside the agent loop. An idle Agent with unread mail wakes up, and a hop limit stops message loops. A restricted Team decides who may message whom.
send_messagewait_for_reply -
Work on a schedule
Interval and cron triggers wake an Agent with a stored instruction. Each occurrence runs once; failures show in Attention with the real error.
bazilion trigger add -
Coding, on the host or in Docker
Agents run bash and file tools in the Team directory, guided by the repository’s AGENTS.md. One setting moves shell commands into a network-less container; the Team Review page shows the Git changes.
BAZILION_BASH_SANDBOX=docker -
Tools, browser and skills
Web search and fetch, a managed browser per Agent, MCP servers, image generation, and OpenClaw-style skills added to an Agent’s prompt.
bazilion mcp addSKILL.md -
The model you already use
Sign in with ChatGPT, use an API key for Anthropic, OpenAI, Google and many others, or run a local LM Studio or Ollama.
bazilion auth openai login
Install
One line, npm, or a source checkout. Bazilion needs Node.js
^26.12.1; the installer sets it up through Volta when no supported Node
is found. The dashboard opens locally.
Linux is the tested platform; macOS runs commands on the host and is untested.
Upgrading from an earlier release? A 0.25 home is refused: back it up, run
bazilion uninstall --yes and start fresh, as the
0.26.0 upgrade steps describe.
# Installs supported Node if needed, then bazilion.
$ curl -fsSL https://bazilion.com/install.sh | bash
# Then open the local web dashboard.
$ bazilion dashboard # Requires Node ^26.12.1.
$ npm install -g bazilion
$ bazilion dashboard
# daemon on 127.0.0.1:4321, web UI on 127.0.0.1:4322,
# all state in ~/.bazilion # For people who want to read and change the code.
$ git clone https://github.com/rullopat/bazilion
$ cd bazilion
$ mise install # Node 26.12.1 and pnpm 12.15.0
$ pnpm install
# Start the source daemon, then the web UI in another terminal.
$ pnpm tsx apps/cli/src/index.ts serve
$ cd apps/web && pnpm dev A runtime I built because I wanted agents that stayed home.
Bazilion is my personal open source multi-agent runtime for one person. The engine is Pi's coding agent; Bazilion wraps it in one daemon, a CLI, a web UI and a Telegram bot, with Teams, shared memory, an inbox and schedules.
It is not a hosted platform. It runs on your machine, with your own keys, and the code is MIT licensed.
Engine credit: built on @earendil-works/pi-coding-agent, with Bazilion
orchestration around Pi's session, transcript, tool loop and coding tools.
Bazilion takes its name and its face from a Neva Masquerade cat who lived with us for eighteen and a half years and left in 2025.
He was sweet, cuddly, and sharper than he had any right to be — with a temper, especially at the vet and especially when we had been gone too long. He met us at the door, and let us hear about it when we had kept him waiting.
I wanted a runtime that worked a little like that: living on its own machine, doing small useful things in the background, keeping track of who was home. So I named it after him and put his portrait on the box.