nolo-cli 0.80.0-alpha.1 → 0.80.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 (156) hide show
  1. package/README.md +2 -2
  2. package/{_executeModel-T3FPYFVF.js → _executeModel-UXVEB3GO.js} +46 -46
  3. package/{action-D22U6CTH.js → action-YVYQEAAV.js} +11 -11
  4. package/{addContentAction-XAPUTGL4.js → addContentAction-O7R66HEX.js} +9 -9
  5. package/{addDialogAgentAction-M7VLLBZM.js → addDialogAgentAction-74OA7KYP.js} +8 -8
  6. package/{agentDeleteCommand-2TYFURBN.js → agentDeleteCommand-OODHSL4K.js} +30 -28
  7. package/{agentEmailCommands-7P35ZMUA.js → agentEmailCommands-3R73WSCD.js} +64 -60
  8. package/{agentGrantCommands-R3VQEZJR.js → agentGrantCommands-M3XFO6EN.js} +2 -2
  9. package/{agentListCommands-IFUOWXP3.js → agentListCommands-TBTEXV2E.js} +38 -30
  10. package/{agentMachineCommands-G46ZZ2ZQ.js → agentMachineCommands-3GKE6ZHG.js} +30 -28
  11. package/{agentProviderCommands-65ZC2WB4.js → agentProviderCommands-GNPTL5XR.js} +87 -0
  12. package/{agentPullCommand-N7L2CT7L.js → agentPullCommand-O5MPVJ5E.js} +3 -3
  13. package/{agentRecordCommands-R74LTQEQ.js → agentRecordCommands-3664GLRE.js} +61 -57
  14. package/{agentRunCommand-UKJAECQ6.js → agentRunCommand-YNSEOBTR.js} +62 -58
  15. package/{agentRunControl-T44MESII.js → agentRunControl-XLGD3UZ5.js} +1 -1
  16. package/{agentRuntimeLocal-PUZINLWJ.js → agentRuntimeLocal-5BX6PI4X.js} +28 -26
  17. package/{agentSlice-EACXUOWW.js → agentSlice-KTVOEUDX.js} +10 -10
  18. package/{appDeleteCommands-U4NTEJYQ.js → appDeleteCommands-UNTBD55Y.js} +30 -28
  19. package/{appDeployCommands-FXF45Q7F.js → appDeployCommands-LOF4JNBZ.js} +30 -28
  20. package/{appDeployStatusCommands-KONVRM53.js → appDeployStatusCommands-MMLE6BDW.js} +30 -28
  21. package/{appGetCommands-3VOGIZ7T.js → appGetCommands-WFJAJK6B.js} +30 -28
  22. package/{appListCommands-A6ROBW7P.js → appListCommands-NC265RGX.js} +30 -28
  23. package/{authCommand-EVGFLAHO.js → authCommand-F4EFRRX6.js} +164 -24
  24. package/{authCommands-ILTBI6JV.js → authCommands-RGOGCPP6.js} +4 -5
  25. package/builtinSkillRegistry-FUAVTRVZ.js +33 -0
  26. package/{chatQueueReduxAdapter-XEIJO5WR.js → chatQueueReduxAdapter-4YQF4NHY.js} +24 -24
  27. package/{chromeCommands-VOIRNJBL.js → chromeCommands-FZYAU75D.js} +1 -1
  28. package/{chromeOpsCommands-M7DPCX2T.js → chromeOpsCommands-62P2Q2YB.js} +31 -1
  29. package/{chunk-C3FZR5EC.js → chunk-2F7RJC6L.js} +1 -1
  30. package/{chunk-MGU5ADIQ.js → chunk-35EWBHJO.js} +10 -10
  31. package/{chunk-HQUORJTM.js → chunk-3BMYXEUW.js} +1 -1
  32. package/{chunk-3QPYFHAH.js → chunk-3DII57IT.js} +1 -1
  33. package/{chunk-KIS76A2P.js → chunk-3IIEFNGY.js} +38 -4
  34. package/{chunk-MEVSATIF.js → chunk-4OZYL5FG.js} +66 -792
  35. package/{chunk-GBPZKFYK.js → chunk-53HEEOTT.js} +4 -4
  36. package/{chunk-5XTOKQLW.js → chunk-5UTFL4QJ.js} +6 -2
  37. package/chunk-5ZUL4CUO.js +10 -0
  38. package/{chunk-E6RGHPDR.js → chunk-6D6VBVEW.js} +4 -6
  39. package/{chunk-CMH2SYHX.js → chunk-6OZ36FXI.js} +2 -2
  40. package/{chunk-QA6YKM3H.js → chunk-76WEAXJB.js} +49 -10
  41. package/{chunk-BYEJ7K2Z.js → chunk-7S4YWN7P.js} +1 -1
  42. package/{chunk-SREASRV5.js → chunk-ABQYVJBJ.js} +1 -1
  43. package/chunk-ACTMNVHM.js +93 -0
  44. package/{chunk-XWNRAIUL.js → chunk-AFUORTY4.js} +6 -16
  45. package/{chunk-AFIWC5NH.js → chunk-BLJWCTRL.js} +1 -1
  46. package/chunk-BNGW5ASC.js +344 -0
  47. package/{chunk-SZLVDREM.js → chunk-BP4XNZRM.js} +3 -3
  48. package/{chunk-2KDR4CWE.js → chunk-BYMV6QZG.js} +24 -1
  49. package/{chunk-HH65VA5U.js → chunk-CPH3W5A7.js} +15 -3
  50. package/{chunk-U6LKJRJB.js → chunk-D2P6UDPQ.js} +42 -26
  51. package/{chunk-L2Y24GRM.js → chunk-DEUUPHOO.js} +16 -12
  52. package/{chunk-MYU3MJCF.js → chunk-DHDMC6FO.js} +175 -7
  53. package/{chunk-CDVGNZDA.js → chunk-EFVDQUCT.js} +11 -173
  54. package/{chunk-EXMHJN7C.js → chunk-EYAQT56M.js} +4 -3
  55. package/{chunk-733J6D44.js → chunk-FLLFOP5L.js} +6 -6
  56. package/{chunk-H7UKKEIS.js → chunk-GFD4ALW3.js} +1 -1
  57. package/{chunk-PYXL2CJL.js → chunk-GPCZ7UXG.js} +1 -1
  58. package/{chunk-K7AG465Q.js → chunk-GQBOR3G6.js} +4 -2
  59. package/{chunk-QUH3XHL5.js → chunk-H3PIH2EO.js} +7 -7
  60. package/{chunk-YFADVSZE.js → chunk-H62HCIUP.js} +6 -6
  61. package/{chunk-PZM3EENV.js → chunk-HJUYAD4A.js} +1 -1
  62. package/{chunk-ALGK6TIE.js → chunk-HMPEO3ZE.js} +3 -3
  63. package/{chunk-3JQ2NRYU.js → chunk-HVURBGF3.js} +4 -4
  64. package/{chunk-FPTQQSS6.js → chunk-IAO6JBYW.js} +26 -5
  65. package/{chunk-V3ZKNK5D.js → chunk-IIVGDG4I.js} +11 -10
  66. package/{chunk-UDQWGU7F.js → chunk-J4MOO56S.js} +1 -1
  67. package/{chunk-DSRXPQWA.js → chunk-JAXOVNM4.js} +43 -43
  68. package/{chunk-KC5FAHVS.js → chunk-JEDZAO7L.js} +1 -1
  69. package/{chunk-6XIE5ZGI.js → chunk-JPGCXHNM.js} +1 -1
  70. package/chunk-JRQFUXY7.js +1625 -0
  71. package/chunk-KQ4ONNQD.js +677 -0
  72. package/{chunk-D74EWXL4.js → chunk-LBEDNSMY.js} +419 -72
  73. package/{chunk-X7Z7U4Z6.js → chunk-LIIKM7DD.js} +15 -15
  74. package/{chunk-RXX4GDIH.js → chunk-LS2ZANRJ.js} +1 -1
  75. package/{chunk-BJIRLHJR.js → chunk-M2EJHDJP.js} +4 -0
  76. package/{chunk-EVBFYPDC.js → chunk-MC4XLIJ7.js} +6 -2
  77. package/{chunk-G3NT6BM3.js → chunk-MPV6E6WR.js} +608 -60
  78. package/{chunk-ZY4K4CZR.js → chunk-MWAO7TZZ.js} +909 -304
  79. package/{chunk-QRBAZ5PW.js → chunk-NKRYKK7T.js} +3 -3
  80. package/{chunk-ZLPA7K55.js → chunk-OA6Q2A4I.js} +29 -10
  81. package/{chunk-QC5LGHYP.js → chunk-OF7AQZUG.js} +10 -5
  82. package/{chunk-UJ63UXGE.js → chunk-OIVSQH2O.js} +1006 -801
  83. package/{chunk-AETZ7AD6.js → chunk-Q554LLSI.js} +1 -1
  84. package/chunk-Q5FJJ6XI.js +103 -0
  85. package/{chunk-AJHEFRGJ.js → chunk-Q67DOFOO.js} +214 -5
  86. package/{chunk-UZ6XXCVR.js → chunk-QDSINZM3.js} +15 -2
  87. package/{chunk-AFIKMMGC.js → chunk-QIAVMDHY.js} +1 -1
  88. package/{chunk-QCZX4FTW.js → chunk-SH43IESU.js} +173 -15
  89. package/{chunk-FSFQ3A7S.js → chunk-SNPMM7H3.js} +137 -12
  90. package/{chunk-P7FA2HMM.js → chunk-SQZDZXP5.js} +13 -15
  91. package/{chunk-SPAQ4PVV.js → chunk-SV5IJK6K.js} +1 -1
  92. package/{chunk-BJCWNHVU.js → chunk-TOP2VXOR.js} +2 -2
  93. package/{chunk-EOU7ZSTU.js → chunk-TRCMIJA7.js} +1198 -50
  94. package/{chunk-4EJ5QYB5.js → chunk-UKZDAFYT.js} +1 -1
  95. package/{chunk-PGSKWZCB.js → chunk-UZGQNTVW.js} +1 -1
  96. package/{chunk-ZZCJUXUI.js → chunk-V4MJDUSR.js} +2 -2
  97. package/{chunk-JYYZCK2Z.js → chunk-V7E4PXQD.js} +1 -1
  98. package/{chunk-OZX2IPKM.js → chunk-VLTIYV3X.js} +1 -1
  99. package/{chunk-NHRQCXIQ.js → chunk-VMFTFOWF.js} +13 -3
  100. package/{chunk-E36HZARC.js → chunk-WADCY6G6.js} +3 -3
  101. package/{chunk-5J7W2VWW.js → chunk-WV42OMV7.js} +6 -265
  102. package/{chunk-DWPNOYMB.js → chunk-YQTQQX2H.js} +1 -1
  103. package/{chunk-Q6FF2MCK.js → chunk-Z77CRGTW.js} +1 -1
  104. package/{contentThunks-3SPROFG5.js → contentThunks-2USKJBI4.js} +25 -25
  105. package/{createAgentAutomationAction-EIP2EG3O.js → createAgentAutomationAction-NTLU42X2.js} +25 -25
  106. package/{createDialogAction-RLUSTN4D.js → createDialogAction-UCYF4BUN.js} +28 -28
  107. package/{createPageAction-4Y52G7WG.js → createPageAction-QFGUGZ5M.js} +26 -26
  108. package/{dbSlice-GKGGFNOB.js → dbSlice-XVWBAGYN.js} +8 -8
  109. package/{deleteFile-LWSR674W.js → deleteFile-YG6QMJLU.js} +3 -3
  110. package/{dialogCommands-G223U5WU.js → dialogCommands-X4OB6SC6.js} +34 -30
  111. package/{dialogSlice-THY45JWM.js → dialogSlice-HQFQIQDZ.js} +24 -24
  112. package/{docCreateCommands-2P47IJDK.js → docCreateCommands-DFST4PFR.js} +31 -29
  113. package/{docDeleteCommands-N3EGDOIC.js → docDeleteCommands-V37JZOSP.js} +32 -30
  114. package/{docReadCommands-6BFV2HI7.js → docReadCommands-Z64VDPDQ.js} +31 -29
  115. package/{docStore-ZQ3ECOPY.js → docStore-GVWEDN5E.js} +9 -9
  116. package/{docUpdateCommands-ZTMPXHC5.js → docUpdateCommands-I6FB6ENK.js} +31 -29
  117. package/{fetchMessages-DRABNDPZ.js → fetchMessages-EIU7UFFK.js} +3 -4
  118. package/{getPricing-HRMSOF3E.js → getPricing-LUSEABA6.js} +4 -4
  119. package/{handleSendMessageAction-CE4M5XIE.js → handleSendMessageAction-TLB2SAU4.js} +24 -24
  120. package/index.js +101 -84
  121. package/{localDialogRead-PUQKFI73.js → localDialogRead-BTFJ4V2I.js} +2 -2
  122. package/{localRuntimeDb-P37ZTX55.js → localRuntimeDb-SYQGUF4U.js} +1 -1
  123. package/{machineCommands-4OT7KVCD.js → machineCommands-PV5XA7UF.js} +61 -57
  124. package/{machineWsRunDispatch-TR3EYESP.js → machineWsRunDispatch-W2DPC7TZ.js} +59 -55
  125. package/{memberThunks-KATHH3F4.js → memberThunks-QGFLFVCI.js} +9 -9
  126. package/{models-GS72DVJS.js → models-T3SG6MJ5.js} +2 -2
  127. package/{offlineMarxistsAgentCommand-GEH6SNNA.js → offlineMarxistsAgentCommand-HGXZV4XJ.js} +1 -1
  128. package/package.json +1 -1
  129. package/providerPresetApply-FG6NZ57W.js +214 -0
  130. package/providerRegistry-757OWH3O.js +31 -0
  131. package/{read-LC6HVYBN.js → read-COE3ZYR6.js} +5 -4
  132. package/{readDocTool-N3ERJHHF.js → readDocTool-5USN4A6V.js} +1 -1
  133. package/{readlineWorkspace-RE3P324X.js → readlineWorkspace-PHZXJKJM.js} +194 -109
  134. package/{removeDialogAgentAction-F5GPTALR.js → removeDialogAgentAction-IX3MN2ZO.js} +11 -11
  135. package/{runAgentClientLoop-NE5EHXSS.js → runAgentClientLoop-26DG6ZEY.js} +45 -45
  136. package/{runtimeDoctorCommands-CROTMULY.js → runtimeDoctorCommands-X6WDBEQX.js} +2 -2
  137. package/{setDialogExtraReferencesAction-AY4ZCF3A.js → setDialogExtraReferencesAction-X4HCPNZL.js} +9 -9
  138. package/{setPrimaryDialogAgentAction-HPMG7V3R.js → setPrimaryDialogAgentAction-4GMIQLOD.js} +11 -11
  139. package/{settingSlice-OEJA4NQO.js → settingSlice-ZQZVUPKK.js} +10 -10
  140. package/{spaceCommands-MRP5U3C3.js → spaceCommands-3QH2QFNW.js} +29 -27
  141. package/{streamAgentChatTurn-A6L6O22P.js → streamAgentChatTurn-BY7IPY5C.js} +57 -56
  142. package/{switchDialogAgentAction-HMDZTZ4I.js → switchDialogAgentAction-N52LRPA3.js} +8 -8
  143. package/{tableCommands-SUNTHAYX.js → tableCommands-O6NWHFKV.js} +1 -1
  144. package/{toolApiClient-VGYUB4P5.js → toolApiClient-QVJ6HDNN.js} +2 -2
  145. package/{tools-JS475NYO.js → tools-4Y2EYH5D.js} +41 -39
  146. package/tuiSummaryLlmCaller-T2SHYMDZ.js +127 -0
  147. package/{updateCommands-Y363MC3L.js → updateCommands-2M74UL7P.js} +2 -2
  148. package/{updateDialogTitleAction-GMZUT6RP.js → updateDialogTitleAction-2S4DCP35.js} +45 -28
  149. package/chunk-3IT2PFHL.js +0 -611
  150. package/chunk-I42VC5KR.js +0 -15
  151. package/chunk-NG4UT4K4.js +0 -79
  152. package/codingSkills-E6KSDNSJ.js +0 -48
  153. package/tuiSummaryLlmCaller-3Z24VUWM.js +0 -116
  154. package/{chunk-3RAG2NAD.js → chunk-UKWGR5SS.js} +3 -3
  155. package/{db-VQSAOWAO.js → db-WK5MDZVN.js} +1 -1
  156. package/{localRuntimeAuthority-R5UBODT3.js → localRuntimeAuthority-6IR6BBXE.js} +3 -3
@@ -0,0 +1,677 @@
1
+ import {
2
+ ANTIGRAVITY_CLOUD_CODE_BASE_URL
3
+ } from "./chunk-UZGQNTVW.js";
4
+ import {
5
+ kimiCodeModels,
6
+ moonshotModels,
7
+ opencodeGoModels,
8
+ qwenModels,
9
+ qwenTokenPlanModels,
10
+ stepfunModels,
11
+ stepfunStepPlanModels
12
+ } from "./chunk-OIVSQH2O.js";
13
+ import {
14
+ PLATFORM_HOSTED_DEEPSEEK_FLASH_OFF_PEAK_PRICE,
15
+ PLATFORM_HOSTED_DEEPSEEK_FLASH_PEAK_PRICE,
16
+ PLATFORM_HOSTED_DEEPSEEK_PRO_OFF_PEAK_PRICE,
17
+ PLATFORM_HOSTED_DEEPSEEK_PRO_PEAK_PRICE
18
+ } from "./chunk-Q67DOFOO.js";
19
+
20
+ // packages/integrations/commandcode/models.ts
21
+ var commandCodeModels = [
22
+ // ── DeepSeek ──
23
+ {
24
+ name: "deepseek/deepseek-v4-flash",
25
+ displayName: "DeepSeek V4 Flash",
26
+ hasVision: false,
27
+ price: { input: 0, output: 0 },
28
+ provider: "commandcode",
29
+ description: "CommandCode \u5B98\u65B9\u9ED8\u8BA4\u6A21\u578B\uFF0C\u5FEB\u901F\u6DF7\u5408\u6CE8\u610F\u529B\u63A8\u7406\u3002"
30
+ },
31
+ {
32
+ name: "deepseek/deepseek-v4-pro",
33
+ displayName: "DeepSeek V4 Pro",
34
+ hasVision: false,
35
+ price: { input: 0, output: 0 },
36
+ provider: "commandcode",
37
+ description: "\u6DF7\u5408\u6CE8\u610F\u529B\u957F\u4E0A\u4E0B\u6587\u63A8\u7406\u65D7\u8230\u3002"
38
+ },
39
+ {
40
+ name: "deepseek/deepseek-v4.1-flash",
41
+ displayName: "DeepSeek V4.1 Flash",
42
+ hasVision: true,
43
+ price: { input: 0, output: 0 },
44
+ provider: "commandcode",
45
+ description: "V4.1 \u6DF7\u5408\u6CE8\u610F\u529B\u63A8\u7406\uFF0C\u5E26\u89C6\u89C9\u3002"
46
+ },
47
+ // ── Moonshot ──
48
+ {
49
+ name: "moonshotai/Kimi-K3",
50
+ displayName: "Kimi K3",
51
+ hasVision: false,
52
+ price: { input: 0, output: 0 },
53
+ provider: "commandcode",
54
+ description: "Kimi K3\uFF0C\u6708\u4E4B\u6697\u9762\u65D7\u8230\u3002"
55
+ },
56
+ {
57
+ name: "moonshotai/Kimi-K2.7-Code",
58
+ displayName: "Kimi K2.7 Code",
59
+ hasVision: false,
60
+ price: { input: 0, output: 0 },
61
+ provider: "commandcode",
62
+ description: "Kimi K2.7 Code\uFF0C\u7F16\u7A0B\u7279\u5316\u3002"
63
+ },
64
+ // ── Qwen ──
65
+ {
66
+ name: "Qwen/Qwen3.8-Max",
67
+ displayName: "Qwen 3.8 Max",
68
+ hasVision: true,
69
+ price: { input: 0, output: 0 },
70
+ provider: "commandcode",
71
+ description: "\u81EA\u4E3B\u957F\u7A0B\u7F16\u7A0B\u4E0E\u4E13\u4E1A\u5DE5\u4F5C\u3002"
72
+ },
73
+ // ── Z AI ──
74
+ {
75
+ name: "zai-org/GLM-5.3",
76
+ displayName: "GLM 5.3",
77
+ hasVision: false,
78
+ price: { input: 0, output: 0 },
79
+ provider: "commandcode",
80
+ description: "\u524D\u6CBF\u7F16\u7A0B\u6A21\u578B\uFF0C1M \u4E0A\u4E0B\u6587\u3002"
81
+ },
82
+ {
83
+ name: "z-ai/glm-5.3-flash",
84
+ displayName: "GLM 5.3 Flash",
85
+ hasVision: true,
86
+ price: { input: 0, output: 0 },
87
+ provider: "commandcode",
88
+ description: "\u5FEB\u901F\u5B9E\u60E0\u7684 GLM \u7F16\u7A0B\u6A21\u578B\uFF0C1M \u4E0A\u4E0B\u6587\u3002"
89
+ },
90
+ // ── Xiaomi ──
91
+ {
92
+ name: "xiaomi/mimo-v2.5-pro",
93
+ displayName: "MiMo V2.5 Pro",
94
+ hasVision: false,
95
+ price: { input: 0, output: 0 },
96
+ provider: "commandcode",
97
+ description: "\u9AD8\u80FD\u529B\u957F\u4E0A\u4E0B\u6587 agentic \u7F16\u7A0B\u3002"
98
+ },
99
+ // ── MiniMax ──
100
+ {
101
+ name: "MiniMaxAI/MiniMax-M3",
102
+ displayName: "MiniMax M3",
103
+ hasVision: false,
104
+ price: { input: 0, output: 0 },
105
+ provider: "commandcode",
106
+ description: "MiniMax M3 \u63A8\u7406\u6A21\u578B\u3002"
107
+ },
108
+ // ── xAI ──
109
+ {
110
+ name: "xai/grok-4.6",
111
+ displayName: "Grok 4.6",
112
+ hasVision: true,
113
+ price: { input: 0, output: 0 },
114
+ provider: "commandcode",
115
+ description: "\u7F16\u7A0B\u3001\u77E5\u8BC6\u4E0E STEM \u524D\u6CBF\u8868\u73B0\u3002"
116
+ },
117
+ {
118
+ name: "xai/grok-4.5",
119
+ displayName: "Grok 4.5",
120
+ hasVision: true,
121
+ price: { input: 0, output: 0 },
122
+ provider: "commandcode",
123
+ description: "\u7F16\u7A0B\u4E0E agentic \u4EFB\u52A1\u667A\u80FD\u4E4B\u9009\u3002"
124
+ },
125
+ // ── Anthropic ──
126
+ {
127
+ name: "claude-sonnet-5",
128
+ displayName: "Claude Sonnet 5",
129
+ hasVision: false,
130
+ price: { input: 0, output: 0 },
131
+ provider: "commandcode",
132
+ description: "\u901F\u5EA6\u4E0E\u667A\u80FD\u7684\u6700\u4F73\u5E73\u8861\uFF08\u5B98\u65B9\u63A8\u8350\uFF09\u3002"
133
+ },
134
+ {
135
+ name: "claude-opus-5",
136
+ displayName: "Claude Opus 5",
137
+ hasVision: false,
138
+ price: { input: 0, output: 0 },
139
+ provider: "commandcode",
140
+ description: "\u6700\u667A\u80FD\u7684 Opus\uFF0Cagent \u4E0E\u7F16\u7A0B\u3002"
141
+ },
142
+ // ── OpenAI ──
143
+ {
144
+ name: "gpt-5.6-sol",
145
+ displayName: "GPT-5.6 Sol",
146
+ hasVision: false,
147
+ price: { input: 0, output: 0 },
148
+ provider: "commandcode",
149
+ description: "OpenAI GPT-5.6 Sol\u3002"
150
+ },
151
+ {
152
+ name: "gpt-6-astra",
153
+ displayName: "GPT-6 Astra",
154
+ hasVision: false,
155
+ price: { input: 0, output: 0 },
156
+ provider: "commandcode",
157
+ description: "OpenAI GPT-6 Astra \u65D7\u8230\u3002"
158
+ },
159
+ // ── Google ──
160
+ {
161
+ name: "google/gemini-3.8-flash",
162
+ displayName: "Gemini 3.8 Flash",
163
+ hasVision: true,
164
+ price: { input: 0, output: 0 },
165
+ provider: "commandcode",
166
+ description: "Gemini 3.8 Flash\uFF0C\u591A\u6A21\u6001\u3002"
167
+ }
168
+ ];
169
+
170
+ // packages/integrations/deepseek/models.ts
171
+ var deepseekModels = [
172
+ // ── 旗舰 ──
173
+ {
174
+ name: "deepseek-v4-pro",
175
+ displayName: "DeepSeek V4 Pro",
176
+ hasVision: false,
177
+ contextWindow: 1e6,
178
+ jsonOutput: true,
179
+ fnCall: true,
180
+ supportsTool: true,
181
+ supportsReasoningEffort: true,
182
+ price: { ...PLATFORM_HOSTED_DEEPSEEK_PRO_PEAK_PRICE },
183
+ peakPrice: { ...PLATFORM_HOSTED_DEEPSEEK_PRO_PEAK_PRICE },
184
+ offPeakPrice: { ...PLATFORM_HOSTED_DEEPSEEK_PRO_OFF_PEAK_PRICE },
185
+ provider: "deepseek",
186
+ description: "DeepSeek \u65D7\u8230\u63A8\u7406\u6A21\u578B\uFF0C1M \u4E0A\u4E0B\u6587\uFF0C\u601D\u8003\u6A21\u5F0F + \u5DE5\u5177\u8C03\u7528\uFF1B\u7EAF\u6587\u672C\u6A21\u578B\uFF0C\u4E0D\u652F\u6301\u56FE\u7247\u8F93\u5165\u3002"
187
+ },
188
+ // ── 高性价比 ──
189
+ {
190
+ name: "deepseek-flash",
191
+ displayName: "DeepSeek Flash",
192
+ hasVision: true,
193
+ contextWindow: 1e6,
194
+ jsonOutput: true,
195
+ fnCall: true,
196
+ supportsTool: true,
197
+ supportsReasoningEffort: true,
198
+ price: { ...PLATFORM_HOSTED_DEEPSEEK_FLASH_PEAK_PRICE },
199
+ peakPrice: { ...PLATFORM_HOSTED_DEEPSEEK_FLASH_PEAK_PRICE },
200
+ offPeakPrice: { ...PLATFORM_HOSTED_DEEPSEEK_FLASH_OFF_PEAK_PRICE },
201
+ provider: "deepseek",
202
+ description: "DeepSeek \u9AD8\u6027\u4EF7\u6BD4\u6A21\u578B\uFF0C1M \u4E0A\u4E0B\u6587\uFF0C\u652F\u6301\u89C6\u89C9\u8F93\u5165\u4E0E\u601D\u8003\u6A21\u5F0F\uFF0C\u957F\u7A0B\u7F16\u7A0B\u4E0E\u65E5\u5E38\u95EE\u7B54\u517C\u987E\u3002"
203
+ }
204
+ ];
205
+
206
+ // packages/ai/agent/providerRegistry.ts
207
+ var QWEN_MODEL_OPTIONS = qwenModels.map((m, i) => ({
208
+ id: m.name,
209
+ label: m.displayName ?? m.name,
210
+ hasVision: m.hasVision,
211
+ ...i === 0 ? { recommended: true } : {}
212
+ }));
213
+ var QWEN_TOKEN_PLAN_MODEL_OPTIONS = qwenTokenPlanModels.map((m, i) => ({
214
+ id: m.name,
215
+ label: m.displayName ?? m.name,
216
+ hasVision: m.hasVision,
217
+ ...i === 0 ? { recommended: true } : {}
218
+ }));
219
+ var MOONSHOT_MODEL_OPTIONS = moonshotModels.map((m, i) => ({
220
+ id: m.name,
221
+ label: m.displayName ?? m.name,
222
+ hasVision: m.hasVision,
223
+ ...i === 0 ? { recommended: true } : {}
224
+ }));
225
+ var KIMI_CODE_MODEL_OPTIONS = kimiCodeModels.map((m, i) => ({
226
+ id: m.name,
227
+ label: m.displayName ?? m.name,
228
+ hasVision: m.hasVision,
229
+ ...i === 0 ? { recommended: true } : {}
230
+ }));
231
+ var OPENCODE_GO_MODEL_OPTIONS = opencodeGoModels.map((m, i) => ({
232
+ id: m.name,
233
+ label: m.displayName ?? m.name,
234
+ hasVision: m.hasVision,
235
+ ...i === 0 ? { recommended: true } : {}
236
+ }));
237
+ var COMMAND_CODE_MODEL_OPTIONS = commandCodeModels.map((m, i) => ({
238
+ id: m.name,
239
+ label: m.displayName ?? m.name,
240
+ hasVision: m.hasVision,
241
+ ...i === 0 ? { recommended: true } : {}
242
+ }));
243
+ var DEEPSEEK_MODEL_OPTIONS = deepseekModels.map((m, i) => ({
244
+ id: m.name,
245
+ label: m.displayName ?? m.name,
246
+ hasVision: m.hasVision,
247
+ ...i === 0 ? { recommended: true } : {}
248
+ }));
249
+ var STEPFUN_MODEL_OPTIONS = stepfunModels.map((m, i) => ({
250
+ id: m.name,
251
+ label: m.displayName ?? m.name,
252
+ hasVision: m.hasVision,
253
+ ...i === 0 ? { recommended: true } : {}
254
+ }));
255
+ var MIMO_MODEL_OPTIONS = [
256
+ { id: "mimo-v2.6-flash", label: "MiMo V2.6 Flash", hasVision: true, recommended: true },
257
+ { id: "mimo-v2.6-pro", label: "MiMo V2.6 Pro", hasVision: true },
258
+ {
259
+ id: "mimo-v2.6-pro-ultraspeed",
260
+ label: "MiMo V2.6 Pro Ultraspeed",
261
+ hasVision: true
262
+ }
263
+ ];
264
+ var STEPFUN_STEP_PLAN_MODEL_OPTIONS = stepfunStepPlanModels.map((m, i) => ({
265
+ id: m.name,
266
+ label: m.displayName ?? m.name,
267
+ hasVision: m.hasVision,
268
+ ...i === 0 ? { recommended: true } : {}
269
+ }));
270
+ var SUBSCRIPTION_OAUTH_PROVIDERS = [
271
+ {
272
+ kind: "oauth",
273
+ id: "chatgpt",
274
+ label: "ChatGPT Plus/Pro",
275
+ description: "Codex Subscription",
276
+ apiKeyRef: "chatgpt",
277
+ provider: "openai",
278
+ defaultModel: "gpt-6-astra",
279
+ defaultReasoningEffort: "medium",
280
+ modelOptions: [
281
+ { id: "gpt-6-astra", label: "GPT-6 Astra", hasVision: true, recommended: true },
282
+ { id: "gpt-5.6-sol", label: "GPT-5.6 Sol", hasVision: true },
283
+ { id: "gpt-5.6-terra", label: "GPT-5.6 Terra", hasVision: true },
284
+ { id: "gpt-5.6-luna", label: "GPT-5.6 Luna", hasVision: true }
285
+ ]
286
+ },
287
+ {
288
+ kind: "oauth",
289
+ id: "xai-oauth",
290
+ label: "xAI Grok OAuth",
291
+ description: "SuperGrok Subscription",
292
+ apiKeyRef: "xai",
293
+ provider: "xai",
294
+ defaultModel: "grok-4.6",
295
+ defaultReasoningEffort: "high",
296
+ modelOptions: [
297
+ { id: "grok-4.6", label: "Grok 4.6", hasVision: true, recommended: true }
298
+ ]
299
+ },
300
+ {
301
+ kind: "oauth",
302
+ id: "antigravity",
303
+ label: "Antigravity",
304
+ description: "Gemini 3, Claude, GPT-OSS",
305
+ apiKeyRef: "antigravity",
306
+ provider: "google-antigravity",
307
+ defaultModel: "gemini-3.8-flash",
308
+ defaultReasoningEffort: "medium",
309
+ modelOptions: [
310
+ { id: "gemini-3.8-flash", label: "Gemini 3.8 Flash", hasVision: true, recommended: true },
311
+ { id: "gemini-3.7-flash", label: "Gemini 3.7 Flash", hasVision: true },
312
+ { id: "gemini-3.6-flash", label: "Gemini 3.6 Flash", hasVision: true },
313
+ { id: "gemini-3.1-pro", label: "Gemini 3.1 Pro", hasVision: true },
314
+ { id: "gemini-2.5-pro", label: "Gemini 2.5 Pro", hasVision: true },
315
+ { id: "claude-sonnet-5", label: "Claude Sonnet 5", hasVision: true },
316
+ { id: "claude-opus-4-6-thinking", label: "Claude Opus 4.6 Thinking", hasVision: true }
317
+ ],
318
+ cloudCodeBaseUrl: ANTIGRAVITY_CLOUD_CODE_BASE_URL
319
+ },
320
+ {
321
+ kind: "oauth",
322
+ id: "claude-oauth",
323
+ label: "Claude Pro/Max",
324
+ description: "Anthropic Subscription",
325
+ apiKeyRef: "claude",
326
+ provider: "anthropic",
327
+ defaultModel: "claude-sonnet-5",
328
+ defaultReasoningEffort: "high",
329
+ modelOptions: [
330
+ { id: "claude-sonnet-5", label: "Claude Sonnet 5", hasVision: true },
331
+ { id: "claude-opus-5", label: "Claude Opus 5", hasVision: true, recommended: true },
332
+ { id: "claude-opus-4-8", label: "Claude Opus 4.8", hasVision: true },
333
+ { id: "claude-fable-5", label: "Claude Fable 5", hasVision: true }
334
+ ]
335
+ },
336
+ {
337
+ kind: "oauth",
338
+ id: "cursor-oauth",
339
+ label: "Cursor Pro",
340
+ description: "Cursor Subscription",
341
+ apiKeyRef: "cursor",
342
+ provider: "cursor",
343
+ // Wire ids must match GetUsableModels. First-party Grok/Composer draw from
344
+ // the Cursor Models pool; everything else draws from Other Models.
345
+ defaultModel: "cursor-grok-4.5-high",
346
+ // Cursor 的 model id 已带 effort 后缀(-high/-medium/-fast),推理强度隐含在模型选择里;
347
+ // 这里给 medium 作为面板默认,避免与模型 id 里的后缀语义冲突。
348
+ defaultReasoningEffort: "medium",
349
+ modelOptions: [
350
+ { id: "cursor-grok-4.5-high", label: "Grok 4.5", hasVision: true, recommended: true },
351
+ { id: "cursor-grok-4.5-high-fast", label: "Grok 4.5 Fast", hasVision: true },
352
+ { id: "composer-2.5-fast", label: "Composer 2.5 Fast", hasVision: false },
353
+ { id: "composer-2.5", label: "Composer 2.5", hasVision: false },
354
+ { id: "gpt-5.3-codex", label: "GPT-5.3 Codex", hasVision: true },
355
+ { id: "gpt-5.3-codex-high", label: "GPT-5.3 Codex High", hasVision: true },
356
+ { id: "gpt-5.4-medium", label: "GPT-5.4 Medium", hasVision: true },
357
+ { id: "claude-4.6-sonnet-medium", label: "Claude 4.6 Sonnet", hasVision: true },
358
+ { id: "claude-4.6-opus-high", label: "Claude 4.6 Opus", hasVision: true },
359
+ { id: "gemini-3.1-pro", label: "Gemini 3.1 Pro", hasVision: true }
360
+ ]
361
+ },
362
+ {
363
+ kind: "oauth",
364
+ id: "devin-oauth",
365
+ label: "Devin Pro",
366
+ description: "Devin Pro $20/\u6708\uFF1A\u65E5/\u5468 quota \u8986\u76D6 sessions/CLI/Desktop\uFF0C\u8D85\u989D\u6309 API \u4EF7\u8D2D credits\uFF1BSWE-2 \u9650\u65F6\u514D\u8D39\u81F3 2026-10-10",
367
+ apiKeyRef: "devin",
368
+ provider: "devin",
369
+ defaultModel: "swe-2-max",
370
+ defaultReasoningEffort: "high",
371
+ modelOptions: [
372
+ // selector 全部来自上游 live catalog(GetCliModelConfigs)并逐個实测可调。
373
+ // 旧列表 9 个选项里 6 个是上游不存在的死 id(swe-2 / swe-1.7 /
374
+ // claude-3.7-sonnet / gpt-5.2 / gpt-4o / claude-sonnet-4.6 均
375
+ // permission_denied),已替换。注意 catalog selector 是连字符写法,
376
+ // 点号/裸写法上游不接受。
377
+ { id: "swe-2-max", label: "SWE-2 Max", hasVision: true, recommended: true },
378
+ { id: "swe-2-high", label: "SWE-2 High", hasVision: true },
379
+ { id: "swe-2-medium", label: "SWE-2 Medium", hasVision: true },
380
+ { id: "swe-1-7", label: "SWE-1.7 Max", hasVision: true },
381
+ { id: "swe-1-7-lightning", label: "SWE-1.7 Lightning Max", hasVision: true },
382
+ { id: "swe-1-6-fast", label: "SWE-1.6 Fast", hasVision: true },
383
+ // Opus 5.5 全档位于 2026-09-22 随上游 catalog 上线,逐档实测可调。
384
+ { id: "claude-opus-5-5-medium", label: "Claude Opus 5.5 Medium", hasVision: true },
385
+ { id: "claude-opus-5-5-high", label: "Claude Opus 5.5 High", hasVision: true },
386
+ { id: "claude-opus-5-5-low", label: "Claude Opus 5.5 Low", hasVision: true },
387
+ { id: "claude-opus-5-5-xhigh", label: "Claude Opus 5.5 XHigh", hasVision: true },
388
+ { id: "claude-opus-5-medium", label: "Claude Opus 5 Medium", hasVision: true },
389
+ { id: "claude-fable-5-1-medium", label: "Claude Fable 5.1 Medium", hasVision: true },
390
+ { id: "claude-sonnet-5-medium", label: "Claude Sonnet 5 Medium", hasVision: true },
391
+ { id: "claude-sonnet-4-6", label: "Claude Sonnet 4.6", hasVision: true },
392
+ { id: "gpt-6-astra-medium", label: "GPT-6 Astra Medium", hasVision: true },
393
+ { id: "gpt-6-astra-high", label: "GPT-6 Astra High", hasVision: true },
394
+ // GPT-6 Sol/Luna 已随上游上线(medium/high 档实测可调);chatgpt OAuth
395
+ // 的 Codex 后端目前只放出 gpt-6-astra,Sol/Luna 在该通道仍 400。
396
+ { id: "gpt-6-sol-medium", label: "GPT-6 Sol Medium", hasVision: true },
397
+ { id: "gpt-6-sol-high", label: "GPT-6 Sol High", hasVision: true },
398
+ { id: "gpt-6-luna-medium", label: "GPT-6 Luna Medium", hasVision: true },
399
+ { id: "gpt-6-luna-high", label: "GPT-6 Luna High", hasVision: true },
400
+ { id: "gpt-5-6-sol-medium", label: "GPT-5.6 Sol Medium", hasVision: true },
401
+ { id: "gpt-5-6-luna-medium", label: "GPT-5.6 Luna Medium", hasVision: true },
402
+ { id: "MODEL_GPT_5_2_MEDIUM", label: "GPT-5.2 Medium", hasVision: true },
403
+ { id: "gemini-3-8-flash-medium", label: "Gemini 3.8 Flash Medium", hasVision: true },
404
+ { id: "gemini-3-1-pro-high", label: "Gemini 3.1 Pro High", hasVision: true },
405
+ { id: "kimi-k3-high", label: "Kimi K3 High", hasVision: true },
406
+ { id: "glm-5-3-high", label: "GLM-5.3 High", hasVision: false },
407
+ { id: "glm-5-3-flash-high", label: "GLM-5.3 Flash High", hasVision: true }
408
+ ]
409
+ }
410
+ ];
411
+ var CUSTOM_API_KEY_TEMPLATES = [
412
+ {
413
+ kind: "api_key_template",
414
+ id: "token-plan",
415
+ label: "MiMo Token Plan",
416
+ description: "\u5C0F\u7C73 MiMo \u8BA2\u9605\uFF08API Key + Base URL\uFF09",
417
+ provider: "mimo",
418
+ baseUrl: "https://token-plan-cn.xiaomimimo.com/v1",
419
+ defaultModel: "mimo-v2.5-pro",
420
+ commercialKind: "subscription",
421
+ accessVariant: "token_plan_endpoint"
422
+ },
423
+ {
424
+ kind: "api_key_template",
425
+ id: "ollama-cloud",
426
+ label: "Ollama Cloud",
427
+ description: "Ollama Cloud \u8BA2\u9605\uFF08API Key + Base URL\uFF09",
428
+ provider: "ollama-cloud",
429
+ baseUrl: "https://ollama.com/v1",
430
+ keyFormatHint: "Key \u5F62\u5982 xxx.xxx\uFF08\u5728 ollama.com/settings/api-keys \u83B7\u53D6\u5B8C\u6574 Key\uFF0C\u542B\u70B9\u53F7\u540E\u534A\u6BB5\uFF09",
431
+ defaultModel: "deepseek-v4-flash:cloud",
432
+ modelOptions: [
433
+ { id: "glm-5.2:cloud", label: "GLM 5.2" },
434
+ { id: "deepseek-v4-flash:cloud", label: "DeepSeek V4 Flash", recommended: true },
435
+ { id: "deepseek-v4-pro:cloud", label: "DeepSeek V4 Pro" },
436
+ { id: "kimi-k3:cloud", label: "Kimi K3" }
437
+ ],
438
+ commercialKind: "subscription",
439
+ accessVariant: "token_plan_endpoint"
440
+ },
441
+ {
442
+ kind: "api_key_template",
443
+ id: "qwen-token-plan",
444
+ label: "\u5343\u95EE Token Plan",
445
+ description: "\u5343\u95EE Token Plan \u8BA2\u9605\uFF08Key \u987B\u4E3A Token Plan \u4E13\u5C5E\uFF0C\u975E\u6309\u91CF API Key\uFF09",
446
+ provider: "qwen",
447
+ baseUrl: "https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",
448
+ defaultModel: "qwen3.8-max",
449
+ modelOptions: QWEN_TOKEN_PLAN_MODEL_OPTIONS,
450
+ commercialKind: "subscription",
451
+ accessVariant: "token_plan_endpoint"
452
+ },
453
+ {
454
+ kind: "api_key_template",
455
+ id: "opencode-go",
456
+ label: "OpenCode Go",
457
+ description: "OpenCode Go \u8BA2\u9605\uFF08$5 \u9996\u6708 / $10 \u6708\uFF0C\u805A\u5408 Grok/Kimi/Qwen/GLM/MiMo/MiniMax/DeepSeek\uFF09",
458
+ provider: "opencode-go",
459
+ baseUrl: "https://opencode.ai/zen/go/v1",
460
+ defaultModel: "qwen3.8-max",
461
+ modelOptions: OPENCODE_GO_MODEL_OPTIONS,
462
+ commercialKind: "subscription",
463
+ accessVariant: "token_plan_endpoint"
464
+ },
465
+ {
466
+ kind: "api_key_template",
467
+ id: "step-plan",
468
+ label: "\u9636\u8DC3\u661F\u8FB0 Step Plan",
469
+ description: "\u9636\u8DC3\u661F\u8FB0 Step Plan \u8BA2\u9605\uFF08API Key + Base URL\uFF0C\u6708\u6C60 Credit \u989D\u5EA6\uFF09",
470
+ provider: "stepfun",
471
+ baseUrl: "https://api.stepfun.com/step_plan/v1",
472
+ defaultModel: "step-5-preview",
473
+ modelOptions: STEPFUN_STEP_PLAN_MODEL_OPTIONS,
474
+ keyFormatHint: "\u5728 platform.stepfun.com Step Plan \u63A7\u5236\u53F0\u521B\u5EFA\u4E13\u7528 API Key\uFF08\u5F62\u5982 sk-\u2026\uFF09\uFF1B\u4E0E\u5F00\u653E\u5E73\u53F0\u6309\u91CF Key \u72EC\u7ACB\u3002",
475
+ commercialKind: "subscription",
476
+ accessVariant: "token_plan_endpoint"
477
+ },
478
+ {
479
+ kind: "api_key_template",
480
+ id: "kimi-code-key",
481
+ label: "Kimi Code",
482
+ description: "Kimi \u4F1A\u5458\u8BA2\u9605\uFF08Kimi Code \u63A7\u5236\u53F0 API Key\uFF0C\u6700\u591A 5 \u4E2A\uFF09",
483
+ provider: "kimi-code",
484
+ baseUrl: "https://api.kimi.com/coding/v1",
485
+ defaultModel: "kimi-for-coding",
486
+ modelOptions: KIMI_CODE_MODEL_OPTIONS,
487
+ commercialKind: "subscription",
488
+ accessVariant: "token_plan_endpoint"
489
+ },
490
+ {
491
+ kind: "api_key_template",
492
+ id: "commandcode",
493
+ label: "CommandCode",
494
+ description: "CommandCode \u8BA2\u9605\uFF08Studio \u751F\u6210 API Key\uFF0CGOAT/Pro/Max/Team \u53EF\u7528\uFF0C\u805A\u5408 DeepSeek/Kimi/Qwen/GLM/Claude/GPT/Gemini\uFF09",
495
+ provider: "commandcode",
496
+ baseUrl: "https://api.commandcode.ai/provider/v1",
497
+ defaultModel: "deepseek/deepseek-v4-flash",
498
+ modelOptions: COMMAND_CODE_MODEL_OPTIONS,
499
+ commercialKind: "subscription",
500
+ accessVariant: "token_plan_endpoint"
501
+ },
502
+ {
503
+ kind: "api_key_template",
504
+ id: "zai-coding-plan",
505
+ label: "Z.AI GLM Coding Plan",
506
+ description: "\u667A\u8C31\u56FD\u9645\u7248\u8BA2\u9605\uFF08z.ai \u63A7\u5236\u53F0 API Key\uFF0CLite/Pro/Max \u6863\uFF09",
507
+ provider: "zai",
508
+ baseUrl: "https://api.z.ai/api/coding/paas/v4",
509
+ defaultModel: "glm-5.3-flash",
510
+ modelOptions: [
511
+ { id: "glm-5.3-flash", label: "GLM 5.3 Flash", hasVision: true, recommended: true },
512
+ { id: "glm-5.3", label: "GLM 5.3", hasVision: true },
513
+ { id: "glm-5-turbo", label: "GLM 5 Turbo" },
514
+ { id: "glm-4.7", label: "GLM 4.7" }
515
+ ],
516
+ commercialKind: "subscription",
517
+ accessVariant: "token_plan_endpoint"
518
+ },
519
+ {
520
+ kind: "api_key_template",
521
+ id: "bigmodel-coding-plan",
522
+ label: "\u667A\u8C31 BigModel Coding Plan",
523
+ description: "\u667A\u8C31\u56FD\u5185\u7248\u8BA2\u9605\uFF08bigmodel.cn \u63A7\u5236\u53F0 API Key\uFF0C\u4E0E\u56FD\u9645\u7248 Key \u4E0D\u901A\u7528\uFF09",
524
+ provider: "bigmodel",
525
+ baseUrl: "https://open.bigmodel.cn/api/coding/paas/v4",
526
+ defaultModel: "glm-5.3",
527
+ modelOptions: [
528
+ { id: "glm-5.3", label: "GLM 5.3", hasVision: true, recommended: true },
529
+ { id: "glm-5.3-flash", label: "GLM 5.3 Flash", hasVision: true },
530
+ { id: "glm-5-turbo", label: "GLM 5 Turbo" },
531
+ { id: "glm-4.7", label: "GLM 4.7" }
532
+ ],
533
+ commercialKind: "subscription",
534
+ accessVariant: "token_plan_endpoint"
535
+ },
536
+ {
537
+ kind: "api_key_template",
538
+ id: "openai-api",
539
+ label: "OpenAI API",
540
+ provider: "openai",
541
+ baseUrl: "https://api.openai.com/v1",
542
+ defaultModel: "gpt-6-astra",
543
+ commercialKind: "api",
544
+ accessVariant: "metered_key"
545
+ },
546
+ {
547
+ kind: "api_key_template",
548
+ id: "anthropic-api",
549
+ label: "Anthropic API",
550
+ provider: "anthropic",
551
+ baseUrl: "https://api.anthropic.com",
552
+ defaultModel: "claude-sonnet-5",
553
+ apiKeyHeader: "x-api-key",
554
+ commercialKind: "api",
555
+ accessVariant: "metered_key"
556
+ },
557
+ {
558
+ kind: "api_key_template",
559
+ id: "gemini-api",
560
+ label: "Gemini API",
561
+ provider: "google",
562
+ baseUrl: "https://generativelanguage.googleapis.com/v1beta",
563
+ defaultModel: "gemini-3.8-flash",
564
+ apiKeyHeader: "x-goog-api-key",
565
+ commercialKind: "api",
566
+ accessVariant: "metered_key"
567
+ },
568
+ {
569
+ kind: "api_key_template",
570
+ id: "xai-api",
571
+ label: "xAI API",
572
+ provider: "xai",
573
+ baseUrl: "https://api.x.ai/v1",
574
+ defaultModel: "grok-4.6",
575
+ commercialKind: "api",
576
+ accessVariant: "metered_key"
577
+ },
578
+ // DeepSeek 模型统一改走 nolo provider(Ollama Cloud,thinking=max 快 28-49%)。
579
+ // 现按用户选择回归:自带 Key 的 metered 通道与平台托管通道并存,互不影响。
580
+ {
581
+ kind: "api_key_template",
582
+ id: "deepseek-api",
583
+ label: "DeepSeek API \u7528\u91CF\u8BA1\u8D39",
584
+ description: "DeepSeek \u5B98\u65B9 API\uFF08OpenAI \u517C\u5BB9\uFF0C\u6309\u91CF\u8BA1\u8D39\uFF09",
585
+ provider: "deepseek",
586
+ baseUrl: "https://api.deepseek.com/v1",
587
+ defaultModel: "deepseek-v4-pro",
588
+ modelOptions: DEEPSEEK_MODEL_OPTIONS,
589
+ commercialKind: "api",
590
+ accessVariant: "metered_key"
591
+ },
592
+ {
593
+ kind: "api_key_template",
594
+ id: "qwen-api",
595
+ label: "\u5343\u95EE API \u7528\u91CF\u8BA1\u8D39",
596
+ description: "Qwen / DashScope\uFF08OpenAI \u517C\u5BB9\uFF0C\u6309\u91CF\u8BA1\u8D39\uFF09",
597
+ provider: "qwen",
598
+ baseUrl: "https://dashscope.aliyuncs.com/compatible-mode/v1",
599
+ defaultModel: "qwen3-max",
600
+ modelOptions: QWEN_MODEL_OPTIONS,
601
+ commercialKind: "api",
602
+ accessVariant: "metered_key"
603
+ },
604
+ // 小米 MiMo 官方按量计费 API(api.xiaomimimo.com):与上面的「MiMo Token Plan」
605
+ // 订阅模板是两条不同的通道(key 不通用);本条是用户自带 Key 的 metered 通道,
606
+ // 与平台托管(provider=nolo + mimo-v2.6-*,平台积分计费)并存、互不影响。
607
+ {
608
+ kind: "api_key_template",
609
+ id: "mimo-api",
610
+ label: "MiMo API \u7528\u91CF\u8BA1\u8D39",
611
+ description: "\u5C0F\u7C73 MiMo \u5B98\u65B9 API\uFF08OpenAI \u517C\u5BB9\uFF0C\u6309\u91CF\u8BA1\u8D39\uFF1BKey \u987B\u4E3A\u6309\u91CF\u8BA1\u8D39 Key\uFF0C\u975E Token Plan \u8BA2\u9605 Key\uFF09",
612
+ provider: "mimo",
613
+ baseUrl: "https://api.xiaomimimo.com/v1",
614
+ defaultModel: "mimo-v2.6-flash",
615
+ modelOptions: MIMO_MODEL_OPTIONS,
616
+ commercialKind: "api",
617
+ accessVariant: "metered_key"
618
+ },
619
+ {
620
+ kind: "api_key_template",
621
+ id: "kimi-api",
622
+ label: "Kimi API \u7528\u91CF\u8BA1\u8D39",
623
+ description: "Moonshot \u5F00\u653E\u5E73\u53F0\uFF08Key \u987B\u4E3A\u5F00\u653E\u5E73\u53F0\u751F\u6210\uFF0C\u975E Kimi Code \u63A7\u5236\u53F0 key\uFF09",
624
+ provider: "moonshot",
625
+ baseUrl: "https://api.moonshot.cn/v1",
626
+ defaultModel: "kimi-k3",
627
+ modelOptions: MOONSHOT_MODEL_OPTIONS,
628
+ commercialKind: "api",
629
+ accessVariant: "metered_key"
630
+ },
631
+ {
632
+ kind: "api_key_template",
633
+ id: "stepfun-api",
634
+ label: "\u9636\u8DC3\u661F\u8FB0 API \u7528\u91CF\u8BA1\u8D39",
635
+ description: "\u9636\u8DC3\u661F\u8FB0\u5F00\u653E\u5E73\u53F0\uFF08OpenAI \u517C\u5BB9\uFF0C\u6309\u91CF\u8BA1\u8D39\uFF09",
636
+ provider: "stepfun",
637
+ baseUrl: "https://api.stepfun.com/v1",
638
+ defaultModel: "step-5-preview",
639
+ modelOptions: STEPFUN_MODEL_OPTIONS,
640
+ commercialKind: "api",
641
+ accessVariant: "metered_key"
642
+ },
643
+ {
644
+ kind: "api_key_template",
645
+ id: "minimax-api",
646
+ label: "MiniMax API",
647
+ provider: "minimax",
648
+ baseUrl: "https://api.minimaxi.com/v1",
649
+ defaultModel: "MiniMax-Text-01",
650
+ commercialKind: "api",
651
+ accessVariant: "metered_key"
652
+ }
653
+ ];
654
+ var ALL_PROVIDER_REGISTRY = [
655
+ ...SUBSCRIPTION_OAUTH_PROVIDERS,
656
+ ...CUSTOM_API_KEY_TEMPLATES
657
+ ];
658
+ function findProviderById(id) {
659
+ return ALL_PROVIDER_REGISTRY.find((p) => p.id === id);
660
+ }
661
+ function isSubscriptionOAuthProvider(id) {
662
+ if (!id) return false;
663
+ return SUBSCRIPTION_OAUTH_PROVIDERS.some((p) => p.id === id);
664
+ }
665
+ function isCustomApiKeyTemplate(id) {
666
+ if (!id) return false;
667
+ return CUSTOM_API_KEY_TEMPLATES.some((p) => p.id === id);
668
+ }
669
+
670
+ export {
671
+ SUBSCRIPTION_OAUTH_PROVIDERS,
672
+ CUSTOM_API_KEY_TEMPLATES,
673
+ ALL_PROVIDER_REGISTRY,
674
+ findProviderById,
675
+ isSubscriptionOAuthProvider,
676
+ isCustomApiKeyTemplate
677
+ };