Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@ Binance互換の分散型無期限先物取引所!
| <img src="web/public/icons/gemini.svg" width="20" height="20" style="vertical-align: middle;"/> **Gemini** | ✅ | [APIキー取得](https://aistudio.google.com) |
| <img src="web/public/icons/grok.svg" width="20" height="20" style="vertical-align: middle;"/> **Grok** | ✅ | [APIキー取得](https://console.x.ai) |
| <img src="web/public/icons/kimi.svg" width="20" height="20" style="vertical-align: middle;"/> **Kimi** | ✅ | [APIキー取得](https://platform.moonshot.cn) |
| <img src="web/public/icons/minimax.svg" width="20" height="20" style="vertical-align: middle;"/> **MiniMax** | ✅ | [APIキー取得](https://platform.minimax.io) |

---

Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ Also compatible with **[ClawRouter](https://github.com/BlockRunAI/ClawRouter)**

| Feature | Description |
|:--------|:------------|
| **Multi-AI** | DeepSeek, Qwen, GPT, Claude, Gemini, Grok, Kimi — switch anytime |
| **Multi-AI** | DeepSeek, Qwen, GPT, Claude, Gemini, Grok, Kimi, MiniMax — switch anytime |
| **Multi-Exchange** | Binance, Bybit, OKX, Bitget, KuCoin, Gate, Hyperliquid, Aster, Lighter |
| **Strategy Studio** | Visual builder — coin sources, indicators, risk controls |
| **AI Competition** | AIs compete in real-time, leaderboard ranks performance |
Expand Down Expand Up @@ -116,6 +116,7 @@ Crypto · US Stocks · Forex · Metals
| <img src="web/public/icons/gemini.svg" width="20" height="20" style="vertical-align: middle;"/> **Gemini** | ✅ | [Get API Key](https://aistudio.google.com) |
| <img src="web/public/icons/grok.svg" width="20" height="20" style="vertical-align: middle;"/> **Grok** | ✅ | [Get API Key](https://console.x.ai) |
| <img src="web/public/icons/kimi.svg" width="20" height="20" style="vertical-align: middle;"/> **Kimi** | ✅ | [Get API Key](https://platform.moonshot.cn) |
| <img src="web/public/icons/minimax.svg" width="20" height="20" style="vertical-align: middle;"/> **MiniMax** | ✅ | [Get API Key](https://platform.minimax.io) |

### AI Models (x402 Mode — No API Key)

Expand Down
2 changes: 1 addition & 1 deletion api/handler_ai_model.go
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ func (s *Server) handleGetSupportedModels(c *gin.Context) {
{"id": "gemini", "name": "Google Gemini", "provider": "gemini", "defaultModel": "gemini-3-pro-preview"},
{"id": "grok", "name": "Grok (xAI)", "provider": "grok", "defaultModel": "grok-3-latest"},
{"id": "kimi", "name": "Kimi (Moonshot)", "provider": "kimi", "defaultModel": "moonshot-v1-auto"},
{"id": "minimax", "name": "MiniMax", "provider": "minimax", "defaultModel": "MiniMax-M2.5"},
{"id": "minimax", "name": "MiniMax", "provider": "minimax", "defaultModel": "MiniMax-M2.7"},
{"id": "blockrun-base", "name": "BlockRun (Base Wallet)", "provider": "blockrun-base", "defaultModel": "auto"},
{"id": "blockrun-sol", "name": "BlockRun (Solana Wallet)", "provider": "blockrun-sol", "defaultModel": "auto"},
{"id": "claw402", "name": "Claw402 (Base USDC)", "provider": "claw402", "defaultModel": "deepseek"},
Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/blockrun-base-wallet.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ When NOFX sends an AI request:
| `gemini-3.1-pro` | Google | Flagship |
| `grok-3` | xAI | Flagship |
| `deepseek-chat` | DeepSeek | Flagship |
| `minimax-m2.5` | MiniMax | Flagship |
| `minimax-m2.7` | MiniMax | Flagship |

## Security Best Practices

Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/blockrun-sol-wallet.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ When NOFX sends an AI request:
| `gemini-3.1-pro` | Google | Flagship |
| `grok-3` | xAI | Flagship |
| `deepseek-chat` | DeepSeek | Flagship |
| `minimax-m2.5` | MiniMax | Flagship |
| `minimax-m2.7` | MiniMax | Flagship |

## Security Best Practices

Expand Down
3 changes: 2 additions & 1 deletion docs/i18n/ja/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ x402 フロー:

| 機能 | 説明 |
|:--------|:------------|
| **マルチ AI** | DeepSeek, Qwen, GPT, Claude, Gemini, Grok, Kimi — いつでも切替 |
| **マルチ AI** | DeepSeek, Qwen, GPT, Claude, Gemini, Grok, Kimi, MiniMax — いつでも切替 |
| **マルチ取引所** | Binance, Bybit, OKX, Bitget, KuCoin, Gate, Hyperliquid, Aster, Lighter |
| **ストラテジースタジオ** | ビジュアルビルダー — コインソース、インジケーター、リスク管理 |
| **AI ディベートアリーナ** | 複数 AI が取引を議論(ブル vs ベア vs アナリスト)、投票、実行 |
Expand Down Expand Up @@ -117,6 +117,7 @@ x402 フロー:
| <img src="../../../web/public/icons/gemini.svg" width="20" height="20" style="vertical-align: middle;"/> **Gemini** | ✅ | [API キー取得](https://aistudio.google.com) |
| <img src="../../../web/public/icons/grok.svg" width="20" height="20" style="vertical-align: middle;"/> **Grok** | ✅ | [API キー取得](https://console.x.ai) |
| <img src="../../../web/public/icons/kimi.svg" width="20" height="20" style="vertical-align: middle;"/> **Kimi** | ✅ | [API キー取得](https://platform.moonshot.cn) |
| <img src="../../../web/public/icons/minimax.svg" width="20" height="20" style="vertical-align: middle;"/> **MiniMax** | ✅ | [API キー取得](https://platform.minimax.io) |

### AI モデル (x402 モード — API キー不要)

Expand Down
3 changes: 2 additions & 1 deletion docs/i18n/ko/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ x402 플로우:

| 기능 | 설명 |
|:--------|:------------|
| **멀티 AI** | DeepSeek, Qwen, GPT, Claude, Gemini, Grok, Kimi — 언제든 전환 |
| **멀티 AI** | DeepSeek, Qwen, GPT, Claude, Gemini, Grok, Kimi, MiniMax — 언제든 전환 |
| **멀티 거래소** | Binance, Bybit, OKX, Bitget, KuCoin, Gate, Hyperliquid, Aster, Lighter |
| **전략 스튜디오** | 비주얼 빌더 — 코인 소스, 지표, 리스크 관리 |
| **AI 토론 아레나** | 여러 AI가 거래 토론 (강세 vs 약세 vs 분석가), 투표, 실행 |
Expand Down Expand Up @@ -117,6 +117,7 @@ x402 플로우:
| <img src="../../../web/public/icons/gemini.svg" width="20" height="20" style="vertical-align: middle;"/> **Gemini** | ✅ | [API 키 받기](https://aistudio.google.com) |
| <img src="../../../web/public/icons/grok.svg" width="20" height="20" style="vertical-align: middle;"/> **Grok** | ✅ | [API 키 받기](https://console.x.ai) |
| <img src="../../../web/public/icons/kimi.svg" width="20" height="20" style="vertical-align: middle;"/> **Kimi** | ✅ | [API 키 받기](https://platform.moonshot.cn) |
| <img src="../../../web/public/icons/minimax.svg" width="20" height="20" style="vertical-align: middle;"/> **MiniMax** | ✅ | [API 키 받기](https://platform.minimax.io) |

### AI 모델 (x402 모드 — API 키 불필요)

Expand Down
3 changes: 2 additions & 1 deletion docs/i18n/ru/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ x402 процесс:

| Функция | Описание |
|:--------|:------------|
| **Мульти-AI** | DeepSeek, Qwen, GPT, Claude, Gemini, Grok, Kimi — переключение в любой момент |
| **Мульти-AI** | DeepSeek, Qwen, GPT, Claude, Gemini, Grok, Kimi, MiniMax — переключение в любой момент |
| **Мульти-биржа** | Binance, Bybit, OKX, Bitget, KuCoin, Gate, Hyperliquid, Aster, Lighter |
| **Студия стратегий** | Визуальный конструктор — источники монет, индикаторы, контроль рисков |
| **AI Арена дебатов** | Несколько AI обсуждают сделки (Бык vs Медведь vs Аналитик), голосуют, исполняют |
Expand Down Expand Up @@ -117,6 +117,7 @@ x402 процесс:
| <img src="../../../web/public/icons/gemini.svg" width="20" height="20" style="vertical-align: middle;"/> **Gemini** | ✅ | [Получить](https://aistudio.google.com) |
| <img src="../../../web/public/icons/grok.svg" width="20" height="20" style="vertical-align: middle;"/> **Grok** | ✅ | [Получить](https://console.x.ai) |
| <img src="../../../web/public/icons/kimi.svg" width="20" height="20" style="vertical-align: middle;"/> **Kimi** | ✅ | [Получить](https://platform.moonshot.cn) |
| <img src="../../../web/public/icons/minimax.svg" width="20" height="20" style="vertical-align: middle;"/> **MiniMax** | ✅ | [Получить](https://platform.minimax.io) |

### AI Модели (Режим x402 — без API ключей)

Expand Down
3 changes: 2 additions & 1 deletion docs/i18n/uk/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ x402 процес:

| Функція | Опис |
|:--------|:------------|
| **Мульти-AI** | DeepSeek, Qwen, GPT, Claude, Gemini, Grok, Kimi — перемикання будь-коли |
| **Мульти-AI** | DeepSeek, Qwen, GPT, Claude, Gemini, Grok, Kimi, MiniMax — перемикання будь-коли |
| **Мульти-біржа** | Binance, Bybit, OKX, Bitget, KuCoin, Gate, Hyperliquid, Aster, Lighter |
| **Студія стратегій** | Візуальний конструктор — джерела монет, індикатори, контроль ризиків |
| **AI Арена дебатів** | Кілька AI обговорюють угоди, голосують, виконують |
Expand Down Expand Up @@ -117,6 +117,7 @@ x402 процес:
| <img src="../../../web/public/icons/gemini.svg" width="20" height="20" style="vertical-align: middle;"/> **Gemini** | ✅ | [Отримати](https://aistudio.google.com) |
| <img src="../../../web/public/icons/grok.svg" width="20" height="20" style="vertical-align: middle;"/> **Grok** | ✅ | [Отримати](https://console.x.ai) |
| <img src="../../../web/public/icons/kimi.svg" width="20" height="20" style="vertical-align: middle;"/> **Kimi** | ✅ | [Отримати](https://platform.moonshot.cn) |
| <img src="../../../web/public/icons/minimax.svg" width="20" height="20" style="vertical-align: middle;"/> **MiniMax** | ✅ | [Отримати](https://platform.minimax.io) |

### AI Моделі (Режим x402 — без API ключів)

Expand Down
3 changes: 2 additions & 1 deletion docs/i18n/vi/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ Tương thích với **[ClawRouter](https://github.com/BlockRunAI/ClawRouter)**

| Tính năng | Mô tả |
|:--------|:------------|
| **Đa AI** | DeepSeek, Qwen, GPT, Claude, Gemini, Grok, Kimi — chuyển đổi bất cứ lúc nào |
| **Đa AI** | DeepSeek, Qwen, GPT, Claude, Gemini, Grok, Kimi, MiniMax — chuyển đổi bất cứ lúc nào |
| **Đa Sàn** | Binance, Bybit, OKX, Bitget, KuCoin, Gate, Hyperliquid, Aster, Lighter |
| **Strategy Studio** | Trình xây dựng trực quan — nguồn coin, chỉ báo, kiểm soát rủi ro |
| **AI Competition** | AI cạnh tranh thời gian thực, bảng xếp hạng hiệu suất |
Expand Down Expand Up @@ -116,6 +116,7 @@ Crypto · Cổ phiếu Mỹ · Forex · Kim loại
| <img src="../../../web/public/icons/gemini.svg" width="20" height="20" style="vertical-align: middle;"/> **Gemini** | ✅ | [Lấy API Key](https://aistudio.google.com) |
| <img src="../../../web/public/icons/grok.svg" width="20" height="20" style="vertical-align: middle;"/> **Grok** | ✅ | [Lấy API Key](https://console.x.ai) |
| <img src="../../../web/public/icons/kimi.svg" width="20" height="20" style="vertical-align: middle;"/> **Kimi** | ✅ | [Lấy API Key](https://platform.moonshot.cn) |
| <img src="../../../web/public/icons/minimax.svg" width="20" height="20" style="vertical-align: middle;"/> **MiniMax** | ✅ | [Lấy API Key](https://platform.minimax.io) |

### Mô hình AI (Chế độ x402 — Không cần API Key)

Expand Down
3 changes: 2 additions & 1 deletion docs/i18n/zh-CN/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ x402 流程:

| 功能 | 描述 |
|:--------|:------------|
| **多 AI** | DeepSeek、Qwen、GPT、Claude、Gemini、Grok、Kimi — 随时切换 |
| **多 AI** | DeepSeek、Qwen、GPT、Claude、Gemini、Grok、Kimi、MiniMax — 随时切换 |
| **多交易所** | Binance、Bybit、OKX、Bitget、KuCoin、Gate、Hyperliquid、Aster、Lighter |
| **策略工作室** | 可视化构建器 — 币种来源、指标、风控 |
| **AI 竞赛** | AI 实时竞争,排行榜排名 |
Expand Down Expand Up @@ -118,6 +118,7 @@ x402 流程:
| <img src="../../../web/public/icons/gemini.svg" width="20" height="20" style="vertical-align: middle;"/> **Gemini** | ✅ | [获取 API Key](https://aistudio.google.com) |
| <img src="../../../web/public/icons/grok.svg" width="20" height="20" style="vertical-align: middle;"/> **Grok** | ✅ | [获取 API Key](https://console.x.ai) |
| <img src="../../../web/public/icons/kimi.svg" width="20" height="20" style="vertical-align: middle;"/> **Kimi** | ✅ | [获取 API Key](https://platform.moonshot.cn) |
| <img src="../../../web/public/icons/minimax.svg" width="20" height="20" style="vertical-align: middle;"/> **MiniMax** | ✅ | [获取 API Key](https://platform.minimax.io) |

### AI 模型 (x402 模式 — 无需 API Key)

Expand Down
21 changes: 21 additions & 0 deletions mcp/options_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,27 @@ func TestWithQwenConfig(t *testing.T) {
}
}

func TestWithMiniMaxConfig(t *testing.T) {
cfg := DefaultConfig()
WithMiniMaxConfig("sk-minimax-key")(cfg)

if cfg.Provider != ProviderMiniMax {
t.Errorf("Provider should be '%s', got '%s'", ProviderMiniMax, cfg.Provider)
}

if cfg.APIKey != "sk-minimax-key" {
t.Errorf("APIKey should be 'sk-minimax-key', got '%s'", cfg.APIKey)
}

if cfg.BaseURL != DefaultMiniMaxBaseURL {
t.Errorf("BaseURL should be '%s', got '%s'", DefaultMiniMaxBaseURL, cfg.BaseURL)
}

if cfg.Model != DefaultMiniMaxModel {
t.Errorf("Model should be '%s', got '%s'", DefaultMiniMaxModel, cfg.Model)
}
}

// ============================================================
// Test Options Combination
// ============================================================
Expand Down
2 changes: 1 addition & 1 deletion mcp/provider/minimax.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import (

const (
DefaultMiniMaxBaseURL = "https://api.minimax.io/v1"
DefaultMiniMaxModel = "MiniMax-M2.5"
DefaultMiniMaxModel = "MiniMax-M2.7"
)

func init() {
Expand Down
69 changes: 69 additions & 0 deletions mcp/provider/options_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,3 +81,72 @@ func TestOptionsWithQwenClient(t *testing.T) {
t.Error("MaxTokens should be 6000")
}
}

func TestOptionsWithMiniMaxClient(t *testing.T) {
logger := mcp.NewNoopLogger()

client := NewMiniMaxClientWithOptions(
mcp.WithAPIKey("sk-minimax-key"),
mcp.WithLogger(logger),
mcp.WithMaxTokens(8000),
)

minimaxClient := client.(*MiniMaxClient)

// Verify MiniMax default values
if minimaxClient.Provider != mcp.ProviderMiniMax {
t.Error("Provider should be MiniMax")
}

if minimaxClient.BaseURL != DefaultMiniMaxBaseURL {
t.Errorf("BaseURL should be '%s', got '%s'", DefaultMiniMaxBaseURL, minimaxClient.BaseURL)
}

if minimaxClient.Model != DefaultMiniMaxModel {
t.Errorf("Model should be '%s', got '%s'", DefaultMiniMaxModel, minimaxClient.Model)
}

// Verify custom options
if minimaxClient.APIKey != "sk-minimax-key" {
t.Error("APIKey should be set from options")
}

if minimaxClient.Log != logger {
t.Error("Log should be set from options")
}

if minimaxClient.MaxTokens != 8000 {
t.Error("MaxTokens should be 8000")
}
}

func TestMiniMaxClientDefaultModel(t *testing.T) {
client := NewMiniMaxClientWithOptions()
minimaxClient := client.(*MiniMaxClient)

if minimaxClient.Model != "MiniMax-M2.7" {
t.Errorf("Default model should be 'MiniMax-M2.7', got '%s'", minimaxClient.Model)
}
}

func TestMiniMaxClientCustomModel(t *testing.T) {
client := NewMiniMaxClientWithOptions(
mcp.WithModel("MiniMax-M2.7-highspeed"),
)
minimaxClient := client.(*MiniMaxClient)

if minimaxClient.Model != "MiniMax-M2.7-highspeed" {
t.Errorf("Model should be 'MiniMax-M2.7-highspeed', got '%s'", minimaxClient.Model)
}
}

func TestMiniMaxClientCustomURL(t *testing.T) {
client := NewMiniMaxClientWithOptions(
mcp.WithBaseURL("https://custom.minimax.io/v1"),
)
minimaxClient := client.(*MiniMaxClient)

if minimaxClient.BaseURL != "https://custom.minimax.io/v1" {
t.Errorf("BaseURL should be custom, got '%s'", minimaxClient.BaseURL)
}
}
2 changes: 1 addition & 1 deletion mcp/providers.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,5 @@ const (

// Default MiniMax configuration (used by WithMiniMaxConfig convenience option)
DefaultMiniMaxBaseURL = "https://api.minimax.io/v1"
DefaultMiniMaxModel = "MiniMax-M2.5"
DefaultMiniMaxModel = "MiniMax-M2.7"
)
4 changes: 2 additions & 2 deletions web/src/components/trader/model-constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ export const BLOCKRUN_MODELS: BlockrunModel[] = [
{ id: 'gemini-3.1-pro', name: 'Gemini 3.1 Pro', desc: 'Google · Flagship' },
{ id: 'grok-3', name: 'Grok 3', desc: 'xAI · Flagship' },
{ id: 'deepseek-chat', name: 'DeepSeek Chat', desc: 'DeepSeek · Flagship' },
{ id: 'minimax-m2.5', name: 'MiniMax M2.5', desc: 'MiniMax · Flagship' },
{ id: 'minimax-m2.7', name: 'MiniMax M2.7', desc: 'MiniMax · Flagship' },
]

// Models available through Claw402 (x402 USDC payment protocol)
Expand Down Expand Up @@ -104,7 +104,7 @@ export const AI_PROVIDER_CONFIG: Record<string, AIProviderConfig> = {
apiName: 'Moonshot',
},
minimax: {
defaultModel: 'MiniMax-M2.5',
defaultModel: 'MiniMax-M2.7',
apiUrl: 'https://platform.minimax.io',
apiName: 'MiniMax',
},
Expand Down