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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

openmax-0.1.2-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: openmax-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 18.5 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9e22584fd7d79335f9536e59deb57fc4c1ab5784b2f01c775be654d80934d72f
MD5 58e27d49a30999f4f6a4085532456766
BLAKE2b-256 4ae3b9f2db0262cbfb487a159bbab355dbaf965e59a46ca10ca4ffcdb4779e31

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