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.1.tar.gz (13.0 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.1-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: openmax-0.1.1.tar.gz
  • Upload date:
  • Size: 13.0 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.1.tar.gz
Algorithm Hash digest
SHA256 7c560a6c7020ebc2725e142861536a958e26c363e6adb4c539ff57febd52fb83
MD5 7b7cdb1e51936395bd4a6b9e982c38e3
BLAKE2b-256 a13577beb5c55c1a28fabfa65dffa8306cab2d9f3c525c0dcb669b18b9cd9b38

See more details on using hashes here.

File details

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

File metadata

  • Download URL: openmax-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 17.2 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 70a19f579a68d7f22c9e079b5b8c0f80c9d0c1f8ca0b6beda6af5a6bba18ca1d
MD5 20e341de56be0c835efed8c075861d45
BLAKE2b-256 9bb6260082249e87c19c6af72217cd68c7ab0d8003f9657bdf0b87935b2c65fa

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