pi-minimax-cli

A pi coding agent extension that wraps the MiniMax mmx CLI as callable tools with self-evolving architecture

Package details

extensionskillprompt

Install pi-minimax-cli from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-minimax-cli
Package
pi-minimax-cli
Version
1.1.1
Published
Apr 26, 2026
Downloads
802/mo · 802/wk
Author
ramankarki
License
MIT
Types
extension, skill, prompt
Size
465 KB
Dependencies
0 dependencies · 2 peers
Pi manifest JSON
{
  "extensions": [
    "./extensions"
  ],
  "skills": [
    "./skills"
  ],
  "prompts": [
    "./prompts"
  ],
  "image": "https://raw.githubusercontent.com/ramankarki/pi-minimax-cli/refs/heads/main/minimax-cli.png"
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pi-minimax-cli

A pi extension that integrates MiniMax's mmx CLI as callable tools.

Note: This package consumes maximum of 5k tokens of the context window when loaded, as it registers all mmx CLI commands as tools in the pi agent.

Purpose

This package demonstrates a self-evolving architecture where the extension can rebuild itself when MiniMax releases a new mmx CLI version. Instead of manually updating the extension code, you simply approve the rebuild and pi reconstructs it from scratch.

How It Works

┌─────────────────────────────────────────────────────────────────────┐
│                           Self-Evolution Loop                       │
└─────────────────────────────────────────────────────────────────────┘

   User runs mmx tool
         │
         ▼
   ┌─────────────┐    ┌─────────────┐    ┌───────────────┐
   │  Check mmx  │───►│  Version    │───►│  If mismatch  │
   │  version    │    │  compare    │    │  → warn user  │
   └─────────────┘    └─────────────┘    └───────────────┘
                                          │             │
                                   ┌──────┘             └──────┐
                                   │ User says "yes"           │
                                   ▼                           ▼
                        ┌─────────────────┐         ┌─────────────────┐
                        │ Run skill that  │         │ Continue with   │
                        │ triggers prompt │         │ current version │
                        └────────┬────────┘         └─────────────────┘
                                 │
                                 ▼
                        ┌─────────────────┐
                        │ Prompt template │
                        │ scrapes mmx -h  │
                        │ and rebuilds    │
                        │ extension.ts    │
                        └─────────────────┘

The Components

Component File Role
Extension extensions/pi-minimax-cli.ts Wraps mmx commands as pi tools
Prompt prompts/build-pi-minimax-cli.md Instructions to rebuild the extension
Skill skills/update-pi-minimax-cli/SKILL.md Triggers the rebuild workflow

Project Structure

pi-minimax-cli/
├── extensions/
│   └── pi-minimax-cli.ts    # Tool wrappers (auto-regenerated)
├── prompts/
│   └── build-pi-minimax-cli.md  # Rebuild instructions
├── skills/
│   └── update-pi-minimax-cli/
│       └── SKILL.md         # Trigger for rebuild
└── AGENTS.md                # Agent context

Generated Tools

After the prompt rebuilds the extension, you get access to these tool categories:

🖼️ Image Generation

Tool Description
mmx_image_generate Generate images (image-01 / image-01-live)
// Example: Generate an image
mmx_image_generate({
  prompt: 'A cozy coffee shop interior with warm lighting',
  aspect_ratio: '16:9',
  n: 2,
});
// Returns: [{ url: "..." }, { url: "..." }]

🎬 Video Generation

Tool Description
mmx_video_generate Text-to-video (Hailuo-2.3)
mmx_video_task_get Poll video task status
mmx_video_download Download completed video
// Example: Generate a video
mmx_video_generate({
  prompt: 'A drone shot flying over misty mountains at sunrise',
  model: 'MiniMax-Hailuo-2.3',
  download: './output/drone-shot.mp4',
});
// Returns: { task_id: "v_abc123", status: "processing" }

🎵 Music Generation

Tool Description
mmx_music_generate Generate songs (music-2.6)
mmx_music_cover Generate cover versions
// Example: Generate background music
mmx_music_generate({
  prompt: 'Ambient lo-fi hip hop for study sessions',
  mood: 'chill and relaxed',
  instruments: 'piano, lo-fi beats',
  out: './output/study-beats.mp3',
});

🗣️ Speech Synthesis

Tool Description
mmx_speech_synthesize Text-to-speech (speech-2.8-hd)
mmx_speech_voices List available voices
// Example: Synthesize narration
mmx_speech_synthesize({
  text: 'Welcome to the future of AI creativity',
  voice: 'English_expressive_narrator',
  speed: 1.0,
  out: './output/narration.mp3',
});

🔍 Web Search

Tool Description
mmx_search_query Search the web via MiniMax

👁️ Vision

Tool Description
mmx_vision_describe Describe images using VLM
// Example: Analyze an image
mmx_vision_describe({
  image: './photos/product.png',
  prompt: 'Describe this product photo for an e-commerce listing',
});
// Returns: "A sleek wireless headphone on a white background..."

Example: Using the Tools Inside pi Agent

Here's what a typical conversation looks like when using these tools:

User Prompt

Generate a short video of a cat playing piano in a jazz bar, then
create some moody background music for it, and add narration saying
"Ladies and gentlemen, witness the future of music."

pi Agent Response

Generating video...

mmx_video_generate{ task_id: "v_k9x2m" }

Creating background music...

mmx_music_generate → Saved to ./jazz-cat-music.mp3

Polling video status...

mmx_video_task_get → status: "processing"

Video ready! Downloading...

mmx_video_download → Saved to ./jazz-cat.mp4

Adding narration...

mmx_speech_synthesize → Saved to ./narration.mp3

Done! Created three files:

  • ./jazz-cat.mp4 (12 second video)
  • ./jazz-cat-music.mp3 (30 second ambient jazz)
  • ./narration.mp3 (dramatic voiceover)

User Prompt

Analyze the attached product photo and write a short e-commerce
description, then generate a promotional image in a different style.

pi Agent Response

Analyzing image...

mmx_vision_describe → "A minimalist ceramic vase with... Sage green glaze, matte finish, approximately 25cm tall. Set against a concrete background with soft natural lighting."

Writing e-commerce description...

Generated: "Handcrafted sage green ceramic vase with a matte glaze finish. Perfect for minimalists seeking to add a touch of nature to their space. Each piece is unique with natural color variations."

Generating promotional image...

mmx_image_generate → Saved to ./promo-vase.jpg

Done! Analyzed your photo and created a promotional variant.


Links