I was running 35 AI agents across multiple terminals and became the human mailman between them. So I built AI Maestro. The OS for AI-first organizations — orchestrate any AI agent with persistent memory, agent-to-agent messaging, and multi-machine support.
Repo: 23blocks-OS/ai-maestro
What's inside
I was running 35 AI agents across multiple terminals and became the human mailman between them. So I built AI Maestro.
The OS for AI-first organizations — orchestrate any AI agent with persistent memory, agent-to-agent messaging, and multi-machine support.

Quick Start · Features · Documentation · Contributing
I gave an AI agent a real task — not autocomplete, a real engineering problem. It checked the code, read the logs, queried the database, and came back with the answer. That was the moment. This thing can actually work.
Within a week I was running 35 agents across terminals. They were productive, but they couldn't talk to each other. I became the human message bus — copying context from one terminal, pasting into another. I was the bottleneck in my own AI team.
So I built AI Maestro — one dashboard to see every agent, on every machine, with persistent memory and direct agent-to-agent communication. Today I run 80+ agents across multiple computers, building real companies with them every day.
What makes this different:
curl -fsSL https://raw.githubusercontent.com/23blocks-OS/ai-maestro/main/scripts/remote-install.sh | sh
This installs everything you need:
Time: 5-10 minutes · Requires: Node.js 18+, tmux
Windows: Install WSL2 first, then run the curl command inside Ubuntu:
wsl --install
Linux: Ensure build tools are installed: sudo apt install tmux build-essential
git clone https://github.com/23blocks-OS/ai-maestro.git
cd ai-maestro
yarn install
yarn dev
See QUICKSTART.md for detailed setup options.
Dashboard opens at http://localhost:23000
Every feature was born from running a real AI-first organization. We built them in the order we needed them.
I had 35 terminals and couldn't tell which was which.
See and manage all your AI agents in one place. Create agents from the UI with a guided wizard, organize them with smart naming (project-backend-api becomes a 3-level tree with auto-coloring), and switch between any agent with a click. Four deployment modes: tmux (local), Docker (containerized), AWS EC2 (dedicated instance), and AWS ECS Fargate (serverless). Auto-discovers tmux sessions, Docker containers, cloud deployments, and standalone agents.
My Mac Mini was sitting there idle. What if I ran agents on that too?
A peer mesh network where every machine is equal. Add a computer, it joins the mesh. Every agent on every machine, visible from one dashboard. Use each machine for what it's best at — Mac for iOS builds, Linux for Docker, cloud for heavy compute. No central server required.
I was the mailman — copying messages between agents because they couldn't talk to each other.
The Agent Messaging Protocol (AMP) gives your agents email-like communication. Priority levels, message types, cryptographic signatures, and push notifications. Tell your agent "send a message to backend about the deployment" — it just works. Agents coordinate directly while you manage the big picture.
Before AMP: You copy research from one terminal, paste into another, repeat 50 times a day. With AMP: "Research agent, send your findings to the writing agent." Done.
A friend in Singapore wanted his agents to talk to mine. But I didn't want to give him access to my network.
Connect your AI agents to Slack, Discord, Email, and WhatsApp through organizational gateways. Smart routing (@AIM:agent-name), thread-aware responses, and content security with 34 prompt injection patterns detected at the gateway — before any agent sees the message.
Every morning, my agents woke up with amnesia.
Three layers of intelligence that grow over time: Memory (agents remember past conversations and decisions), Code Graph (interactive visualization of your entire codebase with delta indexing), and Documentation (auto-generated, searchable docs from your code). Agents get smarter the longer they work with you.
Talking isn't working. I needed agents to coordinate on actual deliverables.
Assemble agents into teams, run meetings in split-pane war rooms, and track tasks on a full Kanban board with drag-and-drop, dependencies, and 5 status columns. Cross-machine teams work seamlessly. This is project management for your AI workforce.
At 80 agents, they all looked the same.
Custom avatars, personality profiles, and visual presence for every agent. When an agent has a face and a role, you instinctively assign it the right work — just like a real team.
One agent on my laptop. Another on EC2. A third on Fargate. All in the same dashboard.
Four ways to run agents, each for a different need:
| Mode | What | Best For |
|---|---|---|
| tmux | Direct terminal sessions on your machine | Local development, zero setup |
| Docker | Containerized agents with resource limits | Isolation, reproducibility, multi-project |
| AWS EC2 | Dedicated Graviton instance with native install, Nginx + SSL | Always-on agents, SSH access, persistent workloads |
| AWS ECS Fargate | Serverless containers, auto-built Docker image | Burst scaling, zero maintenance, pay-per-use |
Cloud agents are Terraform-managed. EC2 installs Node.js, tmux, and AI CLIs directly on ARM64 hardware (no Docker overhead). ECS auto-builds your Docker image, pushes to ECR, and runs on Fargate. Both deploy with one command from the dashboard or CLI.
# EC2: dedicated instance with SSL
aimaestro-agent.sh create my-api --ec2 \
--domain api.example.com --ssl-email admin@example.com --key-name my-key
# ECS Fargate: serverless (auto-builds image)
aimaestro-agent.sh create worker --ecs
Every AI-first organization starts with one agent. Lola is yours — a batteries-included Chief of Staff framework built for AI Maestro. She handles email triage, semantic memory, task management, and content security out of the box. Install the platform, deploy Lola, and you have your first employee on day one.
# Clone and deploy Lola on AI Maestro
git clone https://github.com/23blocks-OS/lolabot.git
cd lolabot && ./setup.sh
The LolaBot Ecosystem:
Every agent is built from five dimensions:
| Dimension | What | Where | |
|---|---|---|---|
| WHO | Personality | Domain expertise, workflows, deliverables | Agent Library (150+) |
| HOW | Capabilities | Skills, scripts, CLI tools, Canvas | Plugin Builder |
| TRUST | Identity | Cryptographic keys, OAuth tokens | AID |
| TALK | Communication | Agent-to-agent messaging | AMP |
| ACT | Actions | Tool execution, API calls, workflows | AAP |
Open Protocols — AI Maestro is built on three open standards:
AI Maestro is the stage. Pick personalities, give them skills, and run them from one dashboard.
Read the full ecosystem guide →
Founders building AI-first organizations. You're the CEO, your agents are the team. Solo operators, agency owners, and anyone running a business where AI agents do the work and you drive the strategy. Start with Lola, add specialists, scale your AI workforce.
Developers running multiple AI agents. If you have 3+ agents and you're switching between terminals, losing context, and playing messenger — this is for you. Works with Claude Code, Codex, Aider, Cursor, or any terminal-based AI.
Teams coordinating AI-assisted work. Multiple developers, multiple agents, multiple machines. One dashboard. Agent-to-agent messaging replaces you as the bottleneck.
Creators and operators who want to connect AI agents to the outside world through Slack, Discord, or Email — without exposing their infrastructure.
Code Graph — Interactive codebase visualization

Agent Inbox — Direct agent-to-agent messaging

New here?
Going deeper:
Troubleshooting:
Open Protocols:
Extending:
See the full roadmap and join the discussion.
We love contributions. See CONTRIBUTING.md for guidelines.
Built with Next.js, xterm.js, CozoDB, ts-morph, tmux, and Claude Code.
MIT — see LICENSE. Free for any purpose, including commercial.
Made with love in Boulder (USA), Roma (Italy), and many other cool places
Built by AI Agents with Humans in the driver seat — for AI-first organizations, AI-enabled humans, and autonomous agents
Do I need to use Claude Code? No. AI Maestro works with any terminal-based AI agent — Claude Code, Codex, Aider, Cursor, OpenClaw, Hermes, Droid, or your own scripts. We're agent-agnostic.
Does it work on Linux / Windows? Yes. macOS and Linux natively. Windows via WSL2 — see the Windows guide.
Can agents on different machines talk to each other? Yes. The Agent Messaging Protocol (AMP) handles cross-machine messaging with cryptographic signatures and push notifications. No central server required.
What are AID and AAP? AID (Agent Identity) gives each agent a portable cryptographic identity. AAP (Agent Actions Protocol) standardizes how agents execute tools and trigger workflows. Together with AMP, they form the open protocol stack that AI Maestro is built on.
What is the Canvas skill? Canvas lets agents generate visual artifacts — diagrams, charts, and interactive documents — directly from conversations. It's part of the plugin system and available to any agent.
How is this different from just using tmux? tmux gives you terminals. AI Maestro gives you an organization — persistent memory, agent-to-agent messaging, team coordination, Kanban boards, multi-machine mesh, cloud deployment, and gateway integrations. tmux is the foundation; AI Maestro is the building.
What is LolaBot? LolaBot is an open-source agent framework — a batteries-included Chief of Staff that handles email, memory, tasks, and security. The LolaBot Factory offers pre-built agent templates for one-click deployment.
Is there a hosted / cloud version? Not yet. AI Maestro runs on your machines. You own your data, your agents, and your infrastructure.
How do I add more agents?
Create them from the dashboard UI, the CLI (aimaestro-agent.sh create), or just start a new tmux session — AI Maestro auto-discovers it.
.containerignore
.env.example
.eslintrc.json
.github/
workflows/
ci.yml
test-installers.yml
.gitignore
.gitmodules
agent-container/
.env.example
agent-server.js
Dockerfile
package.json
README.md
yarn.lock
app/
.well-known/
agent-messaging.json/
route.ts
api/
_helpers.ts
agents/
[id]/
amp/
addresses/
[address]/
route.ts
route.ts
brain-inbox/
route.ts
canvas/
interactions/
route.ts
route.ts
chat/
route.ts
database/
route.ts
docs/
route.ts
email/
addresses/
[address]/
route.ts
route.ts
export/
route.ts
graph/
code/
route.ts
db/
route.ts
query/
route.ts
heartbeat/
route.ts
hibernate/
route.ts
index-delta/
route.ts
memory/
consolidate/
route.ts
long-term/
route.ts
route.ts
messages/
[messageId]/
route.ts
route.ts
metadata/
route.ts
metrics/
route.ts
playback/
route.ts
recreate/
route.ts
repos/
route.ts
route.ts
schedules/
[scheduleId]/
route.ts
route.ts
search/
route.ts
session/
route.ts
skills/
route.ts
settings/
route.ts
subconscious/
route.ts
tracking/
route.ts
transfer/
route.ts
wake/
route.ts
by-name/
[name]/
route.ts
cloud/
[id]/
destroy/
route.ts
status/
route.ts
create/
route.ts
directory/
lookup/
[name]/
route.ts
route.ts
sync/
route.ts
docker/
create/
route.ts
email-index/
route.ts
health/
route.ts
import/
route.ts
normalize-hosts/
route.ts
register/
route.ts
route.ts
startup/
route.ts
unified/
route.ts
browse/
route.ts
config/
route.ts
conversations/
[file]/
messages/
route.ts
parse/
route.ts
debug/
pty/
route.ts
diagnostics/
route.ts
docker/
info/
route.ts
stats/
route.ts
domains/
[id]/
route.ts
route.ts
export/
jobs/
[jobId]/
route.ts
help/
agent/
route.ts
hosts/
[id]/
reactivate/
route.ts
route.ts
exchange-peers/
route.ts
health/
route.ts
identity/
route.ts
register-peer/
route.ts
route.ts
sync/
route.ts
marketplace/
skills/
[id]/
route.ts
route.ts
meetings/
[id]/
route.ts
inject-queue/
route.ts
route.ts
messages/
forward/
route.ts
meeting/
route.ts
route.ts
organization/
route.ts
plugin-builder/
build/
route.ts
builds/
[id]/
route.ts
push/
route.ts
scan-repo/
route.ts
schedules/
[scheduleId]/
trigger/
route.ts
route.ts
sessions/
[id]/
command/
route.ts
rename/
route.ts
route.ts
activity/
route.ts
update/
route.ts
create/
route.ts
restore/
route.ts
route.ts
subconscious/
route.ts
teams/
[id]/
documents/
[docId]/
route.ts
route.ts
route.ts
tasks/
[taskId]/
route.ts
route.ts
notify/
route.ts
route.ts
v1/
agents/
me/
card/
route.ts
route.ts
resolve/
[address]/
route.ts
route.ts
auth/
revoke-key/
route.ts
rotate-key/
route.ts
rotate-keys/
route.ts
federation/
deliver/
route.ts
health/
route.ts
info/
route.ts
messages/
[id]/
read/
route.ts
pending/
[id]/
route.ts
ack/
route.ts
route.ts
route.ts
register/
route.ts
route/
route.ts
webhooks/
[id]/
route.ts
test/
route.ts
route.ts
companion/
page.tsx
globals.css
immersive/
page.tsx
layout.tsx
logos/
page.tsx
marketplace/
page.tsx
page.tsx
plugin-builder/
page.tsx
settings/
page.tsx
team-meeting/
page.tsx
teams/
[id]/
page.tsx
page.tsx
zoom/
agent/
page.tsx
page.tsx
zoom.css
BACKLOG.md
CHANGELOG.md
channels/
.claude-plugin/
marketplace.json
amp-plugin/
.claude-plugin/
plugin.json
.mcp.json
README.md
server.mjs
CLAUDE.md
components/
AgentBadge.tsx
AgentCreationWizard.tsx
AgentGraph.tsx
AgentList.tsx
AgentPlayback.tsx
AgentProfile.tsx
AgentSearch.tsx
AgentSubconsciousIndicator.tsx
AMPAddressesSection.tsx
AvatarPicker.tsx
CanvasPanel.tsx
chat/
MarkdownRenderer.tsx
MobileToolBurstGroup.tsx
ToolBurstGroup.tsx
ChatView.tsx
companion/
VoiceControls.tsx
CompanionInput.tsx
ConversationDetailPanel.tsx
CreateAgentAnimation.tsx
DeleteAgentDialog.tsx
DelightfulTransferAnimation.tsx
DirectoryPicker.tsx
DocumentationPanel.tsx
EmailAddressDialog.tsx
EmailAddressesSection.tsx
ErrorBoundary.tsx
ExportAgentDialog.tsx
FloatingVoiceSettings.tsx
ForwardDialog.tsx
GraphVisualization.tsx
Header.tsx
HelpPanel.tsx
HostsSettings.tsx
ImportAgentDialog.tsx
InfraIcon.tsx
marketplace/
AgentSkillEditor.tsx
index.ts
SkillBrowser.tsx
SkillCard.tsx
SkillDetailModal.tsx
MemoryViewer.tsx
MessageCenter.tsx
MigrationBanner.tsx
MobileCallOverlay.tsx
MobileChatView.tsx
MobileConversationDetail.tsx
MobileDashboard.tsx
MobileHostsList.tsx
MobileKeyToolbar.tsx
MobileMessageCenter.tsx
MobileWorkTree.tsx
onboarding/
FirstAgentWizard.tsx
guides/
AdvancedGuide.tsx
DockerHybridGuide.tsx
DockerLocalGuide.tsx
MultiComputerGuide.tsx
SingleComputerGuide.tsx
OnboardingFlow.tsx
UseCaseSelector.tsx
OrganizationSetup.tsx
... 754 moreFAQ
ai-maestro is a Claude Code plugin with hand-picked skills for automation work, indexed on Flowy. Install it with the command on its page. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.