AI Maestro
Orchestrate terminal-based AI agents across machines with a unified dashboard, direct messaging, memory, and deployment controls.
- Source repo
- 23blocks-OS/ai-maestro
- Stars
- ★ 846
- Last updated
- today
- License
- MIT
- Primary language
- TypeScript
- FA score
- 57/100 · Blocked
At a glance
- How it runs
- Works with
- Universal · cross-platformCodex · Claude Code
- Cost
- Free software; you pay for model usage
- Setup effort
- Low · running in minutes
- You'll need
- Typical use
- A developer running several Claude Code, Codex, or other terminal agents can replace manual terminal switching and context relaying with one dashboard.
- Not a fit if
- Teams wanting a hosted cloud version — none exists yet
- Teams unwilling to run their own machines and infrastructure
- Teams needing native Windows — WSL2 only
- Source review
- 57/100 · Blocked 1 safety controls not found
What does this agent do, and when should you use it?
AI Maestro is a self-hosted orchestration platform that manages terminal-based AI agents from one web dashboard. It discovers tmux sessions, Docker containers, cloud deployments, and standalone agents, with local tmux, Docker, AWS EC2, and AWS ECS Fargate execution modes. Its Agent Messaging Protocol (AMP) provides direct agent-to-agent communication with priorities, message types, cryptographic signatures, and push notifications. The platform also includes persistent memory, an incrementally indexed interactive Code Graph, and auto-generated searchable code documentation. Teams can coordinate in split-pane meetings and track work in a five-column Kanban board with dependencies, while machines connect through a peer mesh without a central server.
After installation, AI Maestro serves a dashboard at http://localhost:23000 for viewing and switching agents, creating agents through a guided UI, and organizing them into named trees. It auto-discovers tmux sessions, Docker containers, cloud deployments, and standalone agents; agents can exchange prioritized, signed AMP messages directly. It builds and delta-indexes a Code Graph for a codebase, exposes an interactive visualization, generates searchable documentation, and retains past conversations and decisions in its memory layer. The aimaestro-agent.sh create command creates agents, with --ec2 for dedicated EC2 deployment and --ecs for ECS Fargate deployment.
- A developer running several Claude Code, Codex, or other terminal agents can replace manual terminal switching and context relaying with one dashboard.
- An engineering team with Mac and Linux machines can place iOS builds on Mac hosts and Docker workloads on Linux while viewing their agents together.
- A multi-project team that needs isolation and resource limits can run agents in Docker containers while retaining centralized discovery and management.
- An operations team needing always-on or burst workers can deploy agents through aimaestro-agent.sh create using the --ec2 or --ecs modes.
- A team with research, writing, and backend agents can use AMP to send findings across machines instead of copying them between terminals.
- A lead coordinating agent deliverables can use teams, split-pane meetings, and a dependency-aware Kanban board to assign and track work.
How do you install or deploy this agent?
The documented runtime requirements are Node.js 18+ and tmux. For the quick install, run: curl -fsSL https://raw.githubusercontent.com/23blocks-OS/ai-maestro/main/scripts/remote-install.sh | sh. It installs the dashboard, service, AMP, and a Claude Code plugin; then open http://localhost:23000. No installation credentials are documented. A manual path is: git clone https://github.com/23blocks-OS/ai-maestro.git && cd ai-maestro && yarn install && yarn dev. On Windows, install WSL2 first and run the installer inside Ubuntu.
How do you use this agent?
Open http://localhost:23000 and use the dashboard to inspect discovered agents or create new ones. From the CLI, use aimaestro-agent.sh create to create an agent; the documented EC2 example is aimaestro-agent.sh create my-api --ec2 --domain api.example.com --ssl-email [email protected] --key-name my-key, and the ECS Fargate example is aimaestro-agent.sh create worker --ecs. After creation, organize agents in the dashboard, view their cross-machine status, and have them communicate through AMP.
What are this agent's strengths and limitations?
- Unifies four agent execution modes—tmux, Docker, EC2, and ECS Fargate—in one dashboard instead of managing only a single terminal environment.
- Its peer mesh makes agents visible across machines without requiring a central server, fitting mixed Mac, Linux, and cloud fleets.
- AMP explicitly includes message priorities, message types, cryptographic signatures, and push notifications for direct agent coordination.
- Beyond session management, it combines persistent memory, delta-indexed Code Graphs, searchable documentation, and dependency-aware Kanban coordination.
- The quick installation requires Node.js 18+ and tmux; Windows support is through WSL2 only.
- Cloud modes depend on AWS: EC2 and ECS Fargate are Terraform-managed, and ECS builds an image and pushes it to ECR.
- The project states that there is no hosted cloud version yet, so adopters operate their own machines, agents, and infrastructure.
- Although the README lists many terminal agents as supported, it does not document adapter configuration, permission models, or feature differences for each one.
How does this agent compare with similar options?
Compared with tmux alone, AI Maestro adds agent discovery, persistent memory, AMP messaging, a multi-machine mesh, task boards, team coordination, and cloud deployment management on top of terminal sessions.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| AI Maestro This agent | 57 · Blocked | CLIFree + model costs | ★ 846 | today | TypeScript | Codex · Claude Code |
| Hermes Agent | 74 · Some gaps | CLIFree + model costs | ★ 262k | today | Python | OpenAI API |
| Agents Squads | 63 · Some gaps | CLIFree + model costs | ★ 56 | 19d ago | TypeScript | Claude Code |
| Aiden | 61 · Some gaps | CLIFree + model costs | ★ 877 | 1mo ago | TypeScript | ChatGPT · OpenAI API · Claude API |
How does FollowAgents rate this agent?
Why each dimension lost points
CLAUDE.md and SECURITY.md state that the service binds to 0.0.0.0 by default, has no application authentication, grants LAN visitors full terminal access, and uses unencrypted WebSockets. This creates an unusually broad permission and exposure surface and meets the severe red-line concern, so the status is blocked. The docs disclose the trust boundary and describe a credential vault, output scrubbing, secret cleanup in memory, and permission requests that observe without answering. They also acknowledge that credential controls cannot stop a malicious agent from reading a value. The packet provides no dependency audit results, consistent confirmation for external actions, or strong rollback evidence. Repository and author details are traceable, while publisher identity remains unknown.
The CI configuration covers tests and builds on Node 22/24, with a separate installer workflow; this supports ordinary reliability, but this review did not execute them. README, quickstart, and SECURITY.md differ in how they describe the runtime address and network defaults, and quickstart Node requirements are not fully consistent, so self-consistency scores 1. Dependencies, platforms, and some troubleshooting steps are documented, but the static evidence does not establish thorough dependency availability or failure handling.
The docs address multi-agent and multi-host use, Claude Code, Codex and other agents, macOS, Linux, WSL2, and cloud deployments. Skill descriptions and platform guides establish some applicability boundaries. However, skill triggers can be broad, and agent capabilities differ; boundaries and scenario precision therefore receive partial scores. Several installation paths are offered, though some guides disagree on version requirements and network defaults.
The README organizes concepts, features, skills, protocols, and installation entry points clearly. The quickstart includes installation choices, examples, troubleshooting, and uninstall steps. The MIT license text is complete, and project instructions prescribe version bumps and changelog entries. The docs disclose limitations including no application authentication, the trusted-network assumption, and voice lip-sync requirements. The packet does not show actual changelog entries, and the security supported-version table does not align with the stated 0.106.108 version. Contribution and maintenance procedures exist, but evidence of clear ongoing maintenance responsibility is limited.
The product combines a dashboard, agent sessions, messaging, memory, task coordination, and multi-host management, showing substantial potential value in the supplied descriptions. Outputs include task cards, messages, code graphs, and interactive pages. The packet does not establish measurable benefits against ongoing operational costs, and the installation and operations requirements are nontrivial, so cost-benefit receives a low score.
Many feature claims point to repository documentation, installation guides, security notes, or skill sources, and security limits are stated plainly; claim traceability and fact/inference separation are therefore moderate. Many README claims remain descriptive, with the supplied sample lacking corresponding implementation files or outcome evidence. CI configuration shows workflows exist but does not establish that they passed. Cross-source corroboration is limited.
- Not found in source: least-privilege scopingGrant only what the task needs: a dedicated account or read-only token, scoped to specific directories and repos.
- The default network service has no authentication and can provide full terminal access; do not expose its port to untrusted networks or the internet. The security guide also says WebSockets are unencrypted.
- Credential scrubbing and memory cleanup reduce accidental disclosure, but the docs explicitly say they cannot prevent a malicious agent from obtaining a secret; use narrowly scoped credentials.
- Installation guidance differs on Node versions, bind addresses, and network defaults; check the platform-specific instructions before deployment.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
v0.106.98 v0.106.98 - Agents get their own devices and a voice; chat search and reactions; the Doctor
Release notes excerpt
Everything from 0.106.63 to 0.106.98. Each version has its own entry in [CHANGELOG.md](https://github.com/23blocks-OS/ai-maestro/blob/main/CHANGELOG.md). Before you update: Node 22 is now the minimum. ./update-aimaestro.sh -y on each host does the rest. Agents get their own devices AI Maestro is now a controller for the [Agent Device Protocol](https://agentdevices.org) (ADP). An agent can own real devices, such as an old laptop in a room, and work through them. It is active on one at a time. …View on GitHub ↗ -
v0.106.62 v0.106.62 - One folder per agent; people, calls and person messaging; streaming sessions
Release notes excerpt
Everything from 0.106.28 to 0.106.62. Each version has its own entry in [CHANGELOG.md](https://github.com/23blocks-OS/ai-maestro/blob/main/CHANGELOG.md). One folder per agent (0.106.61, 0.106.62) Claude transcripts, memory, the name hint and the hook's state are all kept per folder. Two agents in one folder read each other's conversations and cannot be exported or moved apart (#758). - Creating, importing or moving an agent into a folder that another agent owns is refused, and the error names the owner. A folder inside another agent's folder is still allowed. …View on GitHub ↗ -
v0.106.27 v0.106.27 - Fix for hosts looping diagnostics requests; people, push and calls
Release notes excerpt
0.106.27 - Fix for hosts looping diagnostics requests; people, push and calls Release covering 0.106.11 to 0.106.26 (each version is in CHANGELOG.md). The main reason for this release is a bug fix that everyone running more than one host needs. Update every host If you run AI Maestro on two or more hosts, update all of them with ./update-aimaestro.sh -y. On 0.106.4 to 0.106.20, hosts that know each other could send diagnostics requests back and forth without end: the server near 100% CPU, the dashboard slow or not loading, and with three hosts thousands of tmux and df proce …View on GitHub ↗
FAQ
Do I have to use Claude Code?
Where do the service and data run?
How do agents communicate across machines?
What is needed for AWS deployment?
Thanks — we use this to improve the page.