# Plexum-minimax-provider Plexum ProviderPlugin that serves **MiniMax** models via MiniMax's Anthropic-compatible HTTP endpoint. ## Status **v0.1 — current**: API key auth, streaming SSE, declared models `MiniMax-M2.7` + `MiniMax-M2.7-highspeed`. Backend fixed to `api` (global `https://api.minimax.io/anthropic` or CN `https://api.minimaxi.com/anthropic`). **Deferred**: OAuth (Code Plan portal), MiniMax Portal provider, image / TTS / video / music providers (separate plugins later if wanted). ## Install ```bash cd ~/Plexum-minimax-provider ./scripts/install.sh ``` Then: 1. **Write API key** to `~/.plexum/plugins/plexum-minimax-provider/config.json`: ```json { "api_key": "sk-cp-..." } ``` (`chmod 600` it.) 2. **Allow the plugin** in `~/.plexum/plexum.json`: ```json {"plugins": {"allow": ["plexum-minimax-provider"]}} ``` 3. **Point an agent at a MiniMax model**: ```bash plexum agent-add --model MiniMax-M2.7 my-agent ``` 4. **Restart** the gateway and talk: ```bash systemctl --user restart plexum plexum say --agent-id my-agent --session-id $(plexum new-session --agent-id my-agent) "hello" ``` ## Config options | Field | Default | Notes | |---|---|---| | `api_key` | (required) | `sk-cp-...` style key from MiniMax | | `region` | `global` | `cn` switches to `api.minimaxi.com` | | `base_url` | – | override either region's default | | `max_tokens_default` | `4096` | used when `TurnRequest.MaxTokens` is unset | ## Architecture - `internal/anthropic/` — minimal HTTP+SSE Anthropic Messages client - `internal/translate/` — `canonical.TurnRequest` ↔ Anthropic Messages, SSE Event → `canonical.TurnEvent` per-block state machine - `cmd/plexum-minimax-provider-plugin/` — Plexum SDK ProviderPlugin entry Both `text`, `thinking`, and `tool_use` content blocks round-trip losslessly (signatures preserved for thinking blocks). ## License Same as Plexum.