Files
intelligence-terminal/crucix.config.mjs
Octopus 6f41c2ff3d feat: add MiniMax as LLM provider
Add MiniMax (api.minimax.io) as a fifth LLM provider option alongside
Anthropic, OpenAI, Gemini, and Codex. MiniMax offers an
OpenAI-compatible Chat Completions API with the M2.5 model (204K
context window).

Changes:
- lib/llm/minimax.mjs: new provider using raw fetch (no SDK)
- lib/llm/index.mjs: register MiniMax in the factory
- .env.example, crucix.config.mjs, README.md: document the new option
- test/llm-minimax.test.mjs: 10 unit tests (node:test)
- test/llm-minimax-integration.test.mjs: live API integration test

Usage:
  LLM_PROVIDER=minimax
  LLM_API_KEY=sk-...
  LLM_MODEL=MiniMax-M2.5          # optional, this is the default
2026-03-16 08:45:35 -05:00

45 lines
1.6 KiB
JavaScript

// Crucix Configuration — all settings with env var overrides
import './apis/utils/env.mjs'; // Load .env first
export default {
port: parseInt(process.env.PORT) || 3117,
refreshIntervalMinutes: parseInt(process.env.REFRESH_INTERVAL_MINUTES) || 15,
llm: {
provider: process.env.LLM_PROVIDER || null, // anthropic | openai | gemini | codex | minimax
apiKey: process.env.LLM_API_KEY || null,
model: process.env.LLM_MODEL || null,
},
telegram: {
botToken: process.env.TELEGRAM_BOT_TOKEN || null,
chatId: process.env.TELEGRAM_CHAT_ID || null,
botPollingInterval: parseInt(process.env.TELEGRAM_POLL_INTERVAL) || 5000,
channels: process.env.TELEGRAM_CHANNELS || null, // Comma-separated extra channel IDs
},
discord: {
botToken: process.env.DISCORD_BOT_TOKEN || null,
channelId: process.env.DISCORD_CHANNEL_ID || null,
guildId: process.env.DISCORD_GUILD_ID || null, // Server ID (for instant slash command registration)
webhookUrl: process.env.DISCORD_WEBHOOK_URL || null, // Fallback: webhook-only alerts (no bot needed)
},
// Delta engine thresholds — override defaults from lib/delta/engine.mjs
// Set to null to use built-in defaults
delta: {
thresholds: {
numeric: {
// Example overrides (uncomment to customize):
// vix: 3, // more sensitive to VIX moves
// wti: 5, // less sensitive to oil moves
},
count: {
// urgent_posts: 3, // need ±3 urgent posts to flag
// thermal_total: 1000, // need ±1000 thermal detections
},
},
},
};