pi-provider-qoder-cn 0.2.29 → 0.2.30

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 (3) hide show
  1. package/README.md +41 -17
  2. package/dist/index.js +60 -62
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -193,9 +193,9 @@ The provider list is re-registered in the running session, so the change is usab
193
193
  in `/model` immediately — no restart. Append `list` to print the models pi currently
194
194
  has cached, without touching the network.
195
195
 
196
- Models offered only in the `app` group are included too. QoDuck (`lmodel`), for
197
- example, is a selectable free model in both regions that the `chat` group omits;
198
- entries already present in `chat` are not duplicated, and UI-only tiers from other
196
+ Models offered only in the `app` group are included too �� QoDuck (`lmodel`) was
197
+ such an entry before its upstream removal in the 2026-11 catalog. Entries
198
+ already present in `chat` are not duplicated, and UI-only tiers from other
199
199
  groups (`Performance`, `Premium`, ...) stay out of the picker.
200
200
 
201
201
  The catalog key is a slot, not a model: upstream has served Kimi-K2.6 through
@@ -284,22 +284,46 @@ Choose the Qoder CN endpoint (default: personal account)
284
284
 
285
285
  ## Models
286
286
 
287
+ ### Qoder CN (`qoder-cn`) �� catalog as of 2026-11-11
288
+
289
+ | Model | id | Context | Thinking effort |
290
+ |---|---|---|---|
291
+ | Auto | `auto` | 1M | �� |
292
+ | Qwen 3.8-Max | `qwen3.8-max` | 1M | ? |
293
+ | Qwen 3.8-Flash | `qwen3.8-flash` | 1M | ? |
294
+ | DeepSeek V4 Pro | `deepseek-v4-pro` | 1M | ? |
295
+ | DeepSeek Flash | `deepseek-flash` | 1M | ? |
296
+ | GLM-5.3 | `glm-5.3` | 1M | ? |
297
+ | GLM-5.3-Flash | `glm-5.3-flash` | 1M | ? |
298
+ | Kimi-K3.1-Pro | `kimi-k3.1-pro` | 1M | ? |
299
+ | Kimi-K2.8-Preview | `kimi-k2.8-preview` | 1M | ? |
300
+ | Step-5-Preview | `step-5-preview` | 1M | ? |
301
+ | MiniMax-M3.1-Flash | `minimax-m3.1-flash` | 1M | ? |
302
+
303
+ ### Qoder Global (`qoder`) �� catalog as of 2026-11-11
304
+
287
305
  | Model | id | Context | Thinking effort |
288
306
  |---|---|---|---|
289
- | Auto | `auto` | 200K | — |
290
- | Qwen 3.8-Max | `qwen3.8-max` | 1M | ✅ |
291
- | Qwen 3.8-Flash | `qwen3.8-flash` | 1M | ✅ |
292
- | Qwen 3.7-Max | `qwen3.7-max` | 1M | — |
293
- | Qwen 3.7-Plus | `qwen3.7-plus` | 1M | — |
294
- | Qwen 3.7-Flash | `qwen3.7-flash` | 1M | — |
295
- | DeepSeek V4 Pro | `deepseek-v4-pro` | 1M | ✅ |
296
- | DeepSeek V4 Flash | `deepseek-v4-flash` | 1M | ✅ |
297
- | GLM-5.3 | `glm-5.3` | 1M | ✅ |
298
- | GLM-5.3-Flash | `glm-5.3-flash` | 1M | ✅ |
299
- | GLM 5.2 | `glm-5.2` | 1M | ✅ |
300
- | Kimi-K3 | `kimi-k3` | 1M | ✅ |
301
- | Kimi-K2.7-Code | `kimi-k2.7-code` | 256K | — |
302
- | MiniMax M2.7 | `minimax-m2.7` | 200K | — |
307
+ | Auto | `Auto` | 1M | �� |
308
+ | Ultimate | `Ultimate` | 1M | ? |
309
+ | Efficient | `Efficient` | 200K | �� |
310
+ | Sonus | `Sonus` | 1M | ? |
311
+ | Cantus | `Cantus` | 1M | ? |
312
+ | Qwen4-Max-Preview | `Qwen4-Max-Preview` | 1M | ? |
313
+ | Qwen 3.8-Max | `Qwen3.8-Max` | 1M | ? |
314
+ | Qwen 3.8-Flash | `Qwen3.8-Flash` | 1M | ? |
315
+ | Kimi-K3.1-Pro | `Kimi-K3.1-Pro` | 1M | ? |
316
+ | Kimi-K2.8-Preview | `Kimi-K2.8-Preview` | 1M | ? |
317
+ | GLM-5.3 | `GLM-5.3` | 1M | ? |
318
+ | GLM-5.3-Flash | `GLM-5.3-Flash` | 1M | ? |
319
+ | DeepSeek-V4-Pro | `DeepSeek-V4-Pro` | 1M | ? |
320
+ | DeepSeek-Flash | `DeepSeek-Flash` | 1M | ? |
321
+ | MiniMax-M3.1-Flash | `MiniMax-M3.1-Flash` | 1M | ? |
322
+
323
+ Retired in the 2026-11 catalog refresh: QoDuck (`qoduck`/`QoDuck`, both
324
+ regions) and the Qwen3.7 / GLM-5.2 / Kimi-K3 / Kimi-K2.7-Code / MiniMax-M3 /
325
+ DeepSeek-V4-Flash families. Run `/qoder-cn.models` or `/qoder.models` for the
326
+ live list �� the tables above are the offline snapshot, not the source of truth.
303
327
 
304
328
  ```bash
305
329
  pi --provider qoder-cn --model qwen3.8-flash
package/dist/index.js CHANGED
@@ -696,7 +696,7 @@ var init_catalog = __esm({
696
696
  api: "qoder-api",
697
697
  provider: "qoder",
698
698
  baseUrl: getQoderBaseUrl("global"),
699
- reasoning: true,
699
+ reasoning: false,
700
700
  supportsEffort: false,
701
701
  input: ["text", "image"],
702
702
  cost: ZERO_COST,
@@ -718,65 +718,65 @@ var init_catalog = __esm({
718
718
  maxTokens: MAX_OUTPUT_TOKENS
719
719
  },
720
720
  {
721
- id: "Performance",
722
- upstreamKey: "performance",
723
- name: "Performance",
721
+ id: "Efficient",
722
+ upstreamKey: "efficient",
723
+ name: "Efficient",
724
724
  api: "qoder-api",
725
725
  provider: "qoder",
726
726
  baseUrl: getQoderBaseUrl("global"),
727
- reasoning: true,
728
- supportsEffort: true,
727
+ reasoning: false,
728
+ supportsEffort: false,
729
729
  input: ["text", "image"],
730
730
  cost: ZERO_COST,
731
- contextWindow: DEFAULT_CONTEXT_WINDOW,
731
+ contextWindow: 2e5,
732
732
  maxTokens: MAX_OUTPUT_TOKENS
733
733
  },
734
734
  {
735
- id: "Efficient",
736
- upstreamKey: "efficient",
737
- name: "Efficient",
735
+ id: "Sonus",
736
+ upstreamKey: "smodel",
737
+ name: "Sonus",
738
738
  api: "qoder-api",
739
739
  provider: "qoder",
740
740
  baseUrl: getQoderBaseUrl("global"),
741
- reasoning: false,
742
- supportsEffort: false,
741
+ reasoning: true,
742
+ supportsEffort: true,
743
743
  input: ["text", "image"],
744
744
  cost: ZERO_COST,
745
745
  contextWindow: DEFAULT_CONTEXT_WINDOW,
746
746
  maxTokens: MAX_OUTPUT_TOKENS
747
747
  },
748
748
  {
749
- id: "Lite",
750
- upstreamKey: "lite",
751
- name: "Lite",
749
+ id: "Cantus",
750
+ upstreamKey: "cmodel",
751
+ name: "Cantus",
752
752
  api: "qoder-api",
753
753
  provider: "qoder",
754
754
  baseUrl: getQoderBaseUrl("global"),
755
- reasoning: false,
756
- supportsEffort: false,
757
- input: ["text"],
755
+ reasoning: true,
756
+ supportsEffort: true,
757
+ input: ["text", "image"],
758
758
  cost: ZERO_COST,
759
759
  contextWindow: DEFAULT_CONTEXT_WINDOW,
760
760
  maxTokens: MAX_OUTPUT_TOKENS
761
761
  },
762
762
  {
763
- id: "Qwen3.7Plus",
764
- upstreamKey: "qmodel",
765
- name: "Qwen3.7 Plus",
763
+ id: "Qwen4-Max-Preview",
764
+ upstreamKey: "qmodel_latest",
765
+ name: "Qwen4-Max-Preview",
766
766
  api: "qoder-api",
767
767
  provider: "qoder",
768
768
  baseUrl: getQoderBaseUrl("global"),
769
- reasoning: false,
770
- supportsEffort: false,
769
+ reasoning: true,
770
+ supportsEffort: true,
771
771
  input: ["text", "image"],
772
772
  cost: ZERO_COST,
773
773
  contextWindow: DEFAULT_CONTEXT_WINDOW,
774
774
  maxTokens: MAX_OUTPUT_TOKENS
775
775
  },
776
776
  {
777
- id: "Cantus",
778
- upstreamKey: "cmodel",
779
- name: "Cantus",
777
+ id: "Qwen3.8-Max",
778
+ upstreamKey: "qmodel_38max",
779
+ name: "Qwen3.8-Max",
780
780
  api: "qoder-api",
781
781
  provider: "qoder",
782
782
  baseUrl: getQoderBaseUrl("global"),
@@ -788,9 +788,9 @@ var init_catalog = __esm({
788
788
  maxTokens: MAX_OUTPUT_TOKENS
789
789
  },
790
790
  {
791
- id: "Qwen3.8-Max",
792
- upstreamKey: "qmodel_preview",
793
- name: "Qwen3.8-Max",
791
+ id: "Qwen3.8-Flash",
792
+ upstreamKey: "qfmodel",
793
+ name: "Qwen3.8-Flash",
794
794
  api: "qoder-api",
795
795
  provider: "qoder",
796
796
  baseUrl: getQoderBaseUrl("global"),
@@ -802,23 +802,23 @@ var init_catalog = __esm({
802
802
  maxTokens: MAX_OUTPUT_TOKENS
803
803
  },
804
804
  {
805
- id: "Qwen3.7-Max",
806
- upstreamKey: "qmodel_latest",
807
- name: "Qwen3.7-Max",
805
+ id: "Kimi-K3.1-Pro",
806
+ upstreamKey: "kmodel_latest",
807
+ name: "Kimi-K3.1-Pro",
808
808
  api: "qoder-api",
809
809
  provider: "qoder",
810
810
  baseUrl: getQoderBaseUrl("global"),
811
- reasoning: false,
812
- supportsEffort: false,
811
+ reasoning: true,
812
+ supportsEffort: true,
813
813
  input: ["text", "image"],
814
814
  cost: ZERO_COST,
815
815
  contextWindow: DEFAULT_CONTEXT_WINDOW,
816
816
  maxTokens: MAX_OUTPUT_TOKENS
817
817
  },
818
818
  {
819
- id: "DeepSeek-V4-Pro",
820
- upstreamKey: "dmodel",
821
- name: "DeepSeek-V4-Pro",
819
+ id: "Kimi-K2.8-Preview",
820
+ upstreamKey: "kmodel",
821
+ name: "Kimi-K2.8-Preview",
822
822
  api: "qoder-api",
823
823
  provider: "qoder",
824
824
  baseUrl: getQoderBaseUrl("global"),
@@ -830,9 +830,9 @@ var init_catalog = __esm({
830
830
  maxTokens: MAX_OUTPUT_TOKENS
831
831
  },
832
832
  {
833
- id: "DeepSeek-V4-Flash",
834
- upstreamKey: "dfmodel",
835
- name: "DeepSeek-V4-Flash",
833
+ id: "GLM-5.3",
834
+ upstreamKey: "gmodel",
835
+ name: "GLM-5.3",
836
836
  api: "qoder-api",
837
837
  provider: "qoder",
838
838
  baseUrl: getQoderBaseUrl("global"),
@@ -844,9 +844,9 @@ var init_catalog = __esm({
844
844
  maxTokens: MAX_OUTPUT_TOKENS
845
845
  },
846
846
  {
847
- id: "GLM-5.2",
848
- upstreamKey: "gm51model",
849
- name: "GLM-5.2",
847
+ id: "GLM-5.3-Flash",
848
+ upstreamKey: "gfmodel",
849
+ name: "GLM-5.3-Flash",
850
850
  api: "qoder-api",
851
851
  provider: "qoder",
852
852
  baseUrl: getQoderBaseUrl("global"),
@@ -858,43 +858,42 @@ var init_catalog = __esm({
858
858
  maxTokens: MAX_OUTPUT_TOKENS
859
859
  },
860
860
  {
861
- id: "Kimi-K2.7-Code",
862
- upstreamKey: "kmodel",
863
- name: "Kimi-K2.7-Code",
861
+ id: "DeepSeek-V4-Pro",
862
+ upstreamKey: "dmodel",
863
+ name: "DeepSeek-V4-Pro",
864
864
  api: "qoder-api",
865
865
  provider: "qoder",
866
866
  baseUrl: getQoderBaseUrl("global"),
867
- reasoning: false,
868
- supportsEffort: false,
867
+ reasoning: true,
868
+ supportsEffort: true,
869
869
  input: ["text", "image"],
870
870
  cost: ZERO_COST,
871
- // Catalog advertises 256K; not included in the 1M live test in issue #13.
872
- contextWindow: 256e3,
871
+ contextWindow: DEFAULT_CONTEXT_WINDOW,
873
872
  maxTokens: MAX_OUTPUT_TOKENS
874
873
  },
875
874
  {
876
- id: "Kimi-K3",
877
- upstreamKey: "kmodel_latest",
878
- name: "Kimi-K3",
875
+ id: "DeepSeek-Flash",
876
+ upstreamKey: "dfmodel",
877
+ name: "DeepSeek-Flash",
879
878
  api: "qoder-api",
880
879
  provider: "qoder",
881
880
  baseUrl: getQoderBaseUrl("global"),
882
- reasoning: false,
883
- supportsEffort: false,
881
+ reasoning: true,
882
+ supportsEffort: true,
884
883
  input: ["text", "image"],
885
884
  cost: ZERO_COST,
886
885
  contextWindow: DEFAULT_CONTEXT_WINDOW,
887
886
  maxTokens: MAX_OUTPUT_TOKENS
888
887
  },
889
888
  {
890
- id: "MiniMax-M3",
889
+ id: "MiniMax-M3.1-Flash",
891
890
  upstreamKey: "mmodel",
892
- name: "MiniMax-M3",
891
+ name: "MiniMax-M3.1-Flash",
893
892
  api: "qoder-api",
894
893
  provider: "qoder",
895
894
  baseUrl: getQoderBaseUrl("global"),
896
- reasoning: false,
897
- supportsEffort: false,
895
+ reasoning: true,
896
+ supportsEffort: true,
898
897
  input: ["text", "image"],
899
898
  cost: ZERO_COST,
900
899
  contextWindow: DEFAULT_CONTEXT_WINDOW,
@@ -913,10 +912,9 @@ var init_catalog = __esm({
913
912
  supportsEffort: false,
914
913
  input: ["text", "image"],
915
914
  cost: ZERO_COST,
916
- // CN Auto has not been live-tested at 1M; the live catalog reports 200K.
917
- contextWindow: 2e5,
915
+ contextWindow: DEFAULT_CONTEXT_WINDOW,
918
916
  maxTokens: MAX_OUTPUT_TOKENS,
919
- description: "Qoder CN smart routing; live catalog reports 200K max input."
917
+ description: "Qoder CN smart routing; the 2026-11 catalog advertises 1M."
920
918
  }
921
919
  ];
922
920
  PI_THINKING_LEVELS = ["minimal", "low", "medium", "high", "xhigh", "max"];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-provider-qoder-cn",
3
- "version": "0.2.29",
3
+ "version": "0.2.30",
4
4
  "description": "Pi extension for Qoder CN — PAT/OAuth auth, /qoder-cn.usage quota command, and enterprise VPC endpoint support",
5
5
  "type": "module",
6
6
  "license": "MIT",