copilot-custom-endpoint 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +102 -0
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -29,6 +29,7 @@ This repo is for those situations: validated, copy-paste-ready configs when Open
29
29
  | **Xiaomi MiMo** | `mimo-v2.5` | No | ✅ | ✅ | ✅ | ✅⁴ |
30
30
  | **Xiaomi MiMo** | `mimo-v2.5-pro` | No | ✅ | ✅ | ✅ | ❌ |
31
31
  | **Xiaomi MiMo** | `mimo-v2-flash` | No | ✅ | ✅ | ✅ | ❌ |
32
+ | **MiniMax** | `MiniMax-M3` | No | ✅ | ✅ | ✅ | ✅ |
32
33
 
33
34
  ¹ Proxy is optional: direct path works with static `enable_thinking: false`. Proxy adds dynamic thinking suppression (thinking ON in plain chat, OFF in tool loops).
34
35
  ² With proxy: reasoning visible in plain chat. Without proxy: always suppressed.
@@ -156,6 +157,30 @@ Here's a complete, real-world example of `chatLanguageModels.json` combining all
156
157
  }
157
158
  }
158
159
  ]
160
+ },
161
+ {
162
+ "name": "MiniMax",
163
+ "vendor": "customendpoint",
164
+ "apiKey": "<your-minimax-api-key>",
165
+ "apiType": "chat-completions",
166
+ "models": [
167
+ {
168
+ "id": "MiniMax-M3",
169
+ "name": "MiniMax M3",
170
+ "url": "https://api.minimax.io/v1/chat/completions",
171
+ "toolCalling": true,
172
+ "vision": true,
173
+ "streaming": true,
174
+ "maxInputTokens": 1048576,
175
+ "maxOutputTokens": 131072,
176
+ "requestBody": {
177
+ "thinking": { "type": "adaptive" },
178
+ "reasoning_split": true,
179
+ "temperature": 1,
180
+ "top_p": 0.95
181
+ }
182
+ }
183
+ ]
159
184
  }
160
185
  ]
161
186
  ```
@@ -577,11 +602,84 @@ Open your user config file (see [Config file location](#config-file-location) ab
577
602
 
578
603
  ---
579
604
 
605
+ <details>
606
+ <summary>MiniMax M3 (MiniMax)</summary>
607
+
608
+ ### MiniMax M3 (MiniMax)
609
+
610
+ MiniMax works **directly** with the OpenAI-compatible Chat Completions endpoint — no proxy needed. The recommended config enables MiniMax's native reasoning via `thinking: { "type": "adaptive" }` + `reasoning_split: true`.
611
+
612
+ #### 1. Grab a MiniMax API key
613
+
614
+ Create an API key at the [MiniMax Developer Platform](https://platform.minimax.io/user-center/basic-information/interface-key).
615
+
616
+ > **Regional endpoints:** MiniMax offers endpoints for different regions. API keys are region-specific.
617
+ >
618
+ > - **International (default):** `https://api.minimax.io/v1/chat/completions`
619
+ > - **China:** `https://api.minimaxi.com/v1/chat/completions`
620
+
621
+ #### 2. Register the model in VS Code
622
+
623
+ Open (or create) your user config file (see [Config file location](#config-file-location) above) and paste this entry (replace `<your-minimax-api-key>`):
624
+
625
+ ```json
626
+ {
627
+ "name": "MiniMax",
628
+ "vendor": "customendpoint",
629
+ "apiKey": "<your-minimax-api-key>",
630
+ "apiType": "chat-completions",
631
+ "models": [
632
+ {
633
+ "id": "MiniMax-M3",
634
+ "name": "MiniMax M3",
635
+ "url": "https://api.minimax.io/v1/chat/completions",
636
+ "toolCalling": true,
637
+ "vision": true,
638
+ "streaming": true,
639
+ "maxInputTokens": 1048576,
640
+ "maxOutputTokens": 131072,
641
+ "requestBody": {
642
+ "thinking": { "type": "adaptive" },
643
+ "reasoning_split": true,
644
+ "temperature": 1,
645
+ "top_p": 0.95
646
+ }
647
+ }
648
+ ]
649
+ }
650
+ ```
651
+
652
+ **Why this config?**
653
+
654
+ - `thinking: { "type": "adaptive" }` — MiniMax's documented default. The model decides when to reason.
655
+ - `reasoning_split: true` — the server returns reasoning in a structured `reasoning_details` field instead of mixing `<think>` tags into `content`. VS Code sees a clean OpenAI-format message.
656
+
657
+ > **Note:** `thinking: { "type": "disabled" }` is **not** a hard override — Phase 1 testing confirmed MiniMax-M3 still reasons internally regardless of this setting, and emits `<think>` tags in `content` either way. Setting it to `disabled` only changes the response field layout, not actual model behavior. We recommend `adaptive` for clarity.
658
+
659
+ #### 3. Chat!
660
+
661
+ - Open the Copilot chat panel (`Ctrl+Alt+I` / `Cmd+Ctrl+I`).
662
+ - Click the model picker and select **MiniMax M3**.
663
+ - Ask something. Plain chat, streaming, tool use, and vision all work.
664
+
665
+ #### Troubleshooting (MiniMax)
666
+
667
+ | Symptom | Fix |
668
+ | ------------------------------------ | ------------------------------------------------------------------------------------------------------------- |
669
+ | Model not appearing in picker | Check your `chatLanguageModels.json` syntax. Reload the VS Code window. |
670
+ | 400 on tool calls | Confirm the model ID is `MiniMax-M3` (capital M's, lowercase i, hyphen). Check the API key region. |
671
+ | Responses show leaked `<think>` tags | Make sure `"reasoning_split": true` is set in `requestBody` so reasoning goes to `reasoning_details` instead. |
672
+
673
+ </details>
674
+
675
+ ---
676
+
580
677
  For the full research notes, tested values, and known limitations, see:
581
678
 
582
679
  - [`docs/models/kimi-k2.6.md`](docs/models/kimi-k2.6.md)
583
680
  - [`docs/models/qwen.md`](docs/models/qwen.md)
584
681
  - [`docs/models/mimo.md`](docs/models/mimo.md)
682
+ - [`docs/models/minimax.md`](docs/models/minimax.md)
585
683
 
586
684
  ## Pricing comparison
587
685
 
@@ -637,6 +735,7 @@ These are the models available through GitHub Copilot's model roster as of June
637
735
  | **MiMo V2.5 Pro** | Xiaomi | $1.00 | $3.00 | 1M |
638
736
  | **Qwen 3.6 Plus** | DashScope | $0.50 (≤256K) / $2.00 (>256K) | $3.00 (≤256K) / $6.00 (>256K) | 1M |
639
737
  | **Qwen 3.7 Max** | DashScope | $2.50 (≤1M) | $7.50 (≤1M) | 1M |
738
+ | **MiniMax M3** | MiniMax | $0.60 (≤512K) / $1.20 (>512K) | $2.40 (≤512K) / $4.80 (>512K) | 1M |
640
739
 
641
740
  > **Notes:**
642
741
  >
@@ -648,6 +747,7 @@ These are the models available through GitHub Copilot's model roster as of June
648
747
  > - **Qwen** models use **tiered pricing** — determined by total input tokens per request. Prices above are for non-thinking mode.
649
748
  > - **Kimi K2.6** pricing is from the **Moonshot platform** (direct). Via DashScope: $0.89 input / $3.71 output.
650
749
  > - **DashScope** offers a **free quota** of 1M input + 1M output tokens per model, valid for 90 days.
750
+ > - **MiniMax M3** uses **tiered pricing** — input price doubles above 512K input tokens. A 7-day 50% off promotion is available for new accounts.
651
751
  > - **MiMo** offers a **Token Plan** subscription model with discounted rates and a free cache-writing promotion.
652
752
  > - For typical Copilot chat usage (short-to-medium prompts), you'll almost always fall in the lowest pricing tier.
653
753
 
@@ -662,6 +762,7 @@ These are the models available through GitHub Copilot's model roster as of June
662
762
  | Kimi K2.6 (thinking) | ~$0.48 | — |
663
763
  | Gemini 3 Flash | ~$0.55 | ~55 |
664
764
  | Qwen 3.6 Plus | ~$0.55 | — |
765
+ | MiniMax M3 | ~$0.54 | — |
665
766
  | MiMo V2.5 Pro | ~$0.80 | — |
666
767
  | GPT-5.4 mini | ~$0.83 | ~83 |
667
768
  | Claude Haiku 4.5 | ~$1.00 | ~100 |
@@ -687,6 +788,7 @@ These are the models available through GitHub Copilot's model roster as of June
687
788
  > - [DashScope pricing](https://www.alibabacloud.com/help/en/model-studio/billing-for-model-studio)
688
789
  > - [DeepSeek pricing](https://api-docs.deepseek.com/quick_start/pricing)
689
790
  > - [MiMo pricing](https://platform.xiaomimimo.com/docs/en-US/pricing)
791
+ > - [MiniMax pricing](https://platform.minimax.io/docs/pricing/overview)
690
792
 
691
793
  ## Repo layout
692
794
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "copilot-custom-endpoint",
3
- "version": "1.1.1",
3
+ "version": "1.2.0",
4
4
  "description": "Local proxies for VS Code Copilot custom endpoints — Kimi K2 & Qwen 3.x",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -51,4 +51,4 @@
51
51
  "dependencies": {
52
52
  "dotenv": "^17.4.2"
53
53
  }
54
- }
54
+ }