Skip to main content

Multi AI Agent orchestration hub — dispatch interactive AI agents across terminal panes

Project description

openMax

Multi AI Agent orchestration hub — dispatch interactive AI agents across terminal panes.

openMax is a lead-agent system that decomposes your task, spawns multiple AI coding agents (Claude Code, Codex, OpenCode, etc.) in separate Kaku terminal windows, monitors their progress, and reports results — all automatically.

How it works

openmax run "用 Next.js 写个博客"
         │
         ▼
┌──────────────────────────────────────────────┐
│  Lead Agent (claude-agent-sdk)               │
│  Phase 1: Align goal                         │
│  Phase 2: Plan & decompose                   │
│  Phase 3: Dispatch agents                    │
│  Phase 4: Monitor & correct                  │
│  Phase 5: Summarize & report                 │
└──────────┬───────────────────────────────────┘
           │ kaku spawn --new-window
           ├──────────────┬──────────────┐
           ▼              ▼              ▼
   ┌──────────────┐ ┌──────────┐ ┌──────────┐
   │ Window 1      │ │ Window 2  │ │ Window 3  │
   │ claude-code   │ │ codex     │ │ claude    │
   │ "写组件"      │ │ "写API"   │ │ "写测试"  │
   └──────────────┘ └──────────┘ └──────────┘
         ↑              ↑              ↑
     interactive    interactive    interactive
     (用户可直接点进任意窗口干预 agent)

Install

pip install openmax

or

uv pip install openmax

Prerequisites

Usage

Run a task

openmax run "用 Next.js 写一个博客系统"

The lead agent will:

  1. Restate and clarify your goal
  2. Decompose it into parallelizable sub-tasks
  3. Open a new Kaku window for each sub-task with the appropriate agent
  4. Monitor each agent's output and intervene if needed
  5. Report completion with cost/token summary

Options

# Specify working directory
openmax run "重构 API 模块" --cwd /path/to/project

# Use a specific model for the lead agent
openmax run "写单元测试" --model claude-sonnet-4-20250514

# Limit agent loop turns
openmax run "修复 bug" --max-turns 30

List panes

openmax panes

Read a pane's output

openmax read-pane <pane_id>

Supported agents

Agent Type Mode Command
Claude Code claude-code Interactive claude
Codex codex Interactive codex
OpenCode opencode Interactive opencode
Generic generic Interactive claude

All agents run interactively — you can click into any Kaku window and type to intervene directly.

Architecture

src/openmax/
├── cli.py              # CLI entry point (click)
├── lead_agent.py       # Lead agent: task decomposition + monitoring
│                       #   Uses claude-agent-sdk with custom MCP tools
├── pane_manager.py     # Kaku window/pane lifecycle management
├── kaku.py             # Kaku CLI availability check
└── adapters/
    ├── base.py             # AgentAdapter ABC + AgentCommand
    ├── claude_code.py      # Claude Code adapter
    ├── codex_adapter.py    # Codex adapter
    ├── opencode_adapter.py # OpenCode adapter
    └── subprocess_adapter.py # Generic CLI adapter

Lead agent tools

The lead agent has 6 custom tools (via in-process SDK MCP server):

Tool Description
dispatch_agent Open a new Kaku window and start an agent with a prompt
read_pane_output Read an agent's terminal output to check progress
send_text_to_pane Send text to an agent (follow-up instructions, intervention)
list_managed_panes List all managed panes and their states
mark_task_done Mark a sub-task as completed
report_completion Report overall completion percentage

Lifecycle

  • On completion or Ctrl-C, all managed Kaku windows/panes are automatically closed
  • SIGINT and SIGTERM are handled for clean shutdown
  • The PaneManager tracks window IDs, pane states (idle/running/done/error), and handles cleanup

License

MIT

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openmax-0.1.3.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openmax-0.1.3-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

Details for the file openmax-0.1.3.tar.gz.

File metadata

  • Download URL: openmax-0.1.3.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for openmax-0.1.3.tar.gz
Algorithm Hash digest
SHA256 047c672eff813ef7ad2c03cb96c01385c27570feb75e314392fa98a8f38080c9
MD5 00701acf76d3b976d5431ea91a34ad50
BLAKE2b-256 6f64c7672b5cef65564b198cdf1334bb556e4d0adb5fd1b3be41c658e9b5b4e4

See more details on using hashes here.

File details

Details for the file openmax-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: openmax-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 18.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for openmax-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 80c14901ac6f3359e3359129ee089cd73afb4bed30aa3f54bec867f2e57fd41d
MD5 0607102c16c98a62a3eab2ec8eb86549
BLAKE2b-256 942307ceb7c0a5e39e3c3641551c78156be17770214a9de73951c72dcee9156b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page