Adds a new `modules/miniMax` module mirroring the existing OpenAI pattern (`api_key` + `enabled` config keys). Adds a `classes/minimax.php` client that calls `https://api.minimax.io/anthropic/v1/messages` (the same endpoint OpenClaw's minimax-portal provider uses) and returns structured JSON via the Anthropic tool_use response shape. **Replaces the autopilot planner:** - `PLANNER_MODEL`: `gpt-5.6-sol` → `MiniMax-M3` - `xlvask_automation_service`: `new openai()` → `new minimax()` in the planner + the isOpenAiIntegrationEnabled() guard - New xlvask config flag `minimax_integration_enabled` gates the autopilot. The OpenAI flag is kept so deployments can roll back. **Compatibility shims** (so the autopilot keeps working with minimal churn): - `minimax_request_exception` extends `openai_request_exception`, so every existing `catch (openai_request_exception)` block catches MiniMax errors unchanged. - The result payload also carries the legacy `_openai_response_model` and `_openai_usage` aliases, so `sanitizeOpenAiResult` keeps working unchanged. **New endpoints:** GET/POST `/minimax/config` in `moduleConfigRoute` guarded by `modules_minimax_config`, mirroring `/openai/config`. **Tests:** PHP api suite 290/290 passing locally (no regressions). All xlvask tests still pass. **Frontend counterpart** ships in a separate PR on pleno-vue (ConfigurationXLVask.vue + SessionUser.modules.minimax + i18n in all 5 locales). **Followup (post-merge):** operator (jeppe) enters the MiniMax API key in superuser XL Vask settings → I'll optimize/test/debug live XL Vask usage logs against the new model. --------- Co-authored-by: Truck Wash Agent <agent@copenhagentruckwash.local>
29 lines
693 B
PHP
29 lines
693 B
PHP
<?php
|
|
|
|
namespace miniMax;
|
|
require_once WD . '/modules/miniMax/config/miniMax_enabled_c.php';
|
|
require_once WD . '/modules/miniMax/config/miniMax_api_key_c.php';
|
|
|
|
use miniMax\config\miniMax_api_key_c;
|
|
use miniMax\config\miniMax_enabled_c;
|
|
use traits\module_config_t;
|
|
|
|
class miniMax_c
|
|
{
|
|
use module_config_t;
|
|
|
|
public miniMax_enabled_c $enabled;
|
|
public miniMax_api_key_c $api_key;
|
|
|
|
public function __construct()
|
|
{
|
|
$this->setupConfig('miniMax');
|
|
$this->allowUpdate([
|
|
miniMax_enabled_c::class,
|
|
miniMax_api_key_c::class,
|
|
]);
|
|
$this->enabled = new miniMax_enabled_c();
|
|
$this->api_key = new miniMax_api_key_c();
|
|
}
|
|
}
|