nolo-cli 0.79.0-alpha.1 → 0.79.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 (152) hide show
  1. package/README.md +2 -2
  2. package/{_executeModel-T3FPYFVF.js → _executeModel-U5V7LOJX.js} +46 -46
  3. package/{action-D22U6CTH.js → action-EXQVY3UO.js} +11 -11
  4. package/{addContentAction-XAPUTGL4.js → addContentAction-6IXQSRD2.js} +9 -9
  5. package/{addDialogAgentAction-M7VLLBZM.js → addDialogAgentAction-FZOB4BYM.js} +8 -8
  6. package/{agentDeleteCommand-2TYFURBN.js → agentDeleteCommand-4MIJFQQB.js} +30 -28
  7. package/{agentEmailCommands-7P35ZMUA.js → agentEmailCommands-JUXT36BY.js} +62 -60
  8. package/{agentGrantCommands-R3VQEZJR.js → agentGrantCommands-YW6PQAQ2.js} +2 -2
  9. package/{agentListCommands-IFUOWXP3.js → agentListCommands-MUVKMMZ5.js} +38 -30
  10. package/{agentMachineCommands-G46ZZ2ZQ.js → agentMachineCommands-56FTZLYV.js} +30 -28
  11. package/{agentProviderCommands-65ZC2WB4.js → agentProviderCommands-TOMVKJOV.js} +87 -0
  12. package/{agentPullCommand-N7L2CT7L.js → agentPullCommand-GLOOXJ2E.js} +3 -3
  13. package/{agentRecordCommands-R74LTQEQ.js → agentRecordCommands-FST3KAKG.js} +59 -57
  14. package/{agentRunCommand-IRSZYCEU.js → agentRunCommand-UMUEVIY2.js} +60 -58
  15. package/{agentRunControl-T44MESII.js → agentRunControl-XLGD3UZ5.js} +1 -1
  16. package/{agentRuntimeLocal-PUZINLWJ.js → agentRuntimeLocal-NH6GSGAJ.js} +28 -26
  17. package/{agentSlice-EACXUOWW.js → agentSlice-YZK6KG73.js} +10 -10
  18. package/{appDeleteCommands-U4NTEJYQ.js → appDeleteCommands-U45KXYX7.js} +30 -28
  19. package/{appDeployCommands-FXF45Q7F.js → appDeployCommands-LWQIQCFX.js} +30 -28
  20. package/{appDeployStatusCommands-KONVRM53.js → appDeployStatusCommands-LZO33PGD.js} +30 -28
  21. package/{appGetCommands-3VOGIZ7T.js → appGetCommands-OJSO6BCF.js} +30 -28
  22. package/{appListCommands-A6ROBW7P.js → appListCommands-NE56V7DI.js} +30 -28
  23. package/{authCommand-EVGFLAHO.js → authCommand-U5LA6H4Y.js} +164 -24
  24. package/{authCommands-ILTBI6JV.js → authCommands-RGOGCPP6.js} +4 -5
  25. package/builtinSkillRegistry-4NB7PCOF.js +33 -0
  26. package/{chatQueueReduxAdapter-XEIJO5WR.js → chatQueueReduxAdapter-FRMSYX7N.js} +24 -24
  27. package/{chunk-C3FZR5EC.js → chunk-2F7RJC6L.js} +1 -1
  28. package/{chunk-U6LKJRJB.js → chunk-377KM42Z.js} +42 -26
  29. package/{chunk-HQUORJTM.js → chunk-3BMYXEUW.js} +1 -1
  30. package/{chunk-AFIWC5NH.js → chunk-3XMOAYRC.js} +1 -1
  31. package/{chunk-UJ63UXGE.js → chunk-4CAPEGHN.js} +1077 -752
  32. package/{chunk-DWPNOYMB.js → chunk-4JBZUECA.js} +1 -1
  33. package/{chunk-NG4UT4K4.js → chunk-4QKBQHPQ.js} +1 -1
  34. package/{chunk-UZ6XXCVR.js → chunk-546FPOW3.js} +15 -2
  35. package/{chunk-5XTOKQLW.js → chunk-5UTFL4QJ.js} +6 -2
  36. package/chunk-5ZUL4CUO.js +10 -0
  37. package/{chunk-E6RGHPDR.js → chunk-6D6VBVEW.js} +4 -6
  38. package/{chunk-G3NT6BM3.js → chunk-7IBK6MYW.js} +142 -59
  39. package/{chunk-BYEJ7K2Z.js → chunk-7S4YWN7P.js} +1 -1
  40. package/{chunk-SREASRV5.js → chunk-ABQYVJBJ.js} +1 -1
  41. package/{chunk-H7UKKEIS.js → chunk-AQDH76OK.js} +1 -1
  42. package/{chunk-L2Y24GRM.js → chunk-B4S7MR5S.js} +16 -12
  43. package/{chunk-E36HZARC.js → chunk-BF2K6MRF.js} +3 -3
  44. package/{chunk-MGU5ADIQ.js → chunk-BKP7CFUD.js} +10 -10
  45. package/{chunk-2KDR4CWE.js → chunk-BYMV6QZG.js} +24 -1
  46. package/{chunk-AFIKMMGC.js → chunk-COM7GG76.js} +1 -1
  47. package/{chunk-HH65VA5U.js → chunk-CPH3W5A7.js} +15 -3
  48. package/{chunk-XWNRAIUL.js → chunk-DM4UNXPK.js} +6 -16
  49. package/{chunk-ZLPA7K55.js → chunk-DSX6K7C2.js} +29 -10
  50. package/{chunk-QA6YKM3H.js → chunk-E2NP7ZQU.js} +32 -4
  51. package/{chunk-FSFQ3A7S.js → chunk-E3VQ6S3A.js} +10 -10
  52. package/{chunk-YFADVSZE.js → chunk-F3UTRUDO.js} +6 -6
  53. package/{chunk-KIS76A2P.js → chunk-G5X57NDE.js} +38 -4
  54. package/{chunk-BJIRLHJR.js → chunk-GII32WZW.js} +1 -0
  55. package/{chunk-DSRXPQWA.js → chunk-GRDSMV4V.js} +43 -43
  56. package/{chunk-733J6D44.js → chunk-HGRDL36J.js} +6 -6
  57. package/{chunk-OZX2IPKM.js → chunk-HQCSU3DI.js} +1 -1
  58. package/{chunk-3JQ2NRYU.js → chunk-HVURBGF3.js} +4 -4
  59. package/{chunk-QC5LGHYP.js → chunk-HWZAXNO7.js} +10 -5
  60. package/{chunk-Q6FF2MCK.js → chunk-IIKPWSPX.js} +1 -1
  61. package/{chunk-KC5FAHVS.js → chunk-JEDZAO7L.js} +1 -1
  62. package/{chunk-6XIE5ZGI.js → chunk-JPGCXHNM.js} +1 -1
  63. package/{chunk-AJHEFRGJ.js → chunk-JTYPAMGP.js} +155 -1
  64. package/{chunk-UDQWGU7F.js → chunk-KR3YI36B.js} +1 -1
  65. package/{chunk-RXX4GDIH.js → chunk-LS2ZANRJ.js} +1 -1
  66. package/{chunk-SZLVDREM.js → chunk-LSSBA2TN.js} +3 -3
  67. package/{chunk-CMH2SYHX.js → chunk-MBEEYLGL.js} +2 -2
  68. package/{chunk-EVBFYPDC.js → chunk-MC4XLIJ7.js} +6 -2
  69. package/{chunk-PGSKWZCB.js → chunk-NKIH4Q7W.js} +1 -1
  70. package/{chunk-FPTQQSS6.js → chunk-OH7H6LPC.js} +26 -5
  71. package/{chunk-5J7W2VWW.js → chunk-OOLWKQSM.js} +6 -265
  72. package/{chunk-AETZ7AD6.js → chunk-Q554LLSI.js} +1 -1
  73. package/chunk-Q5FJJ6XI.js +103 -0
  74. package/{chunk-JYYZCK2Z.js → chunk-QFMFJZLO.js} +1 -1
  75. package/{chunk-P7FA2HMM.js → chunk-QMASIHYZ.js} +13 -15
  76. package/{chunk-ZY4K4CZR.js → chunk-R2YY6MWV.js} +909 -304
  77. package/chunk-RLEWGSM5.js +677 -0
  78. package/{chunk-PYXL2CJL.js → chunk-RZYQMSQA.js} +1 -1
  79. package/{chunk-XEEHSS64.js → chunk-S3UI4IUJ.js} +1200 -52
  80. package/{chunk-SPAQ4PVV.js → chunk-SAFZABH7.js} +1 -1
  81. package/{chunk-QRBAZ5PW.js → chunk-SASGLNUD.js} +3 -3
  82. package/{chunk-D74EWXL4.js → chunk-SUERPXJZ.js} +390 -47
  83. package/{chunk-3QPYFHAH.js → chunk-TMAZ3VHN.js} +1 -1
  84. package/{chunk-BJCWNHVU.js → chunk-U47DH2WO.js} +2 -2
  85. package/{chunk-MEVSATIF.js → chunk-UBNV6CS6.js} +66 -792
  86. package/{chunk-EXMHJN7C.js → chunk-UDEFS2PV.js} +4 -3
  87. package/{chunk-NHRQCXIQ.js → chunk-VMFTFOWF.js} +13 -3
  88. package/{chunk-4EJ5QYB5.js → chunk-VOOTT7HA.js} +1 -1
  89. package/{chunk-PZM3EENV.js → chunk-W2E6HIIK.js} +1 -1
  90. package/chunk-WKEUHK57.js +1625 -0
  91. package/{chunk-GBPZKFYK.js → chunk-WON762L4.js} +4 -4
  92. package/{chunk-X7Z7U4Z6.js → chunk-WP6BC7OF.js} +15 -15
  93. package/{chunk-QUH3XHL5.js → chunk-X2ZTVRXP.js} +7 -7
  94. package/{chunk-MYU3MJCF.js → chunk-XAQAF25W.js} +175 -7
  95. package/chunk-XGJAR4T5.js +283 -0
  96. package/{chunk-ZZCJUXUI.js → chunk-XLGHBHGP.js} +2 -2
  97. package/{chunk-V3ZKNK5D.js → chunk-YOXYA2GU.js} +10 -10
  98. package/{chunk-ALGK6TIE.js → chunk-YPYMGGPJ.js} +3 -3
  99. package/{chunk-K7AG465Q.js → chunk-ZHUTWJ3N.js} +4 -2
  100. package/{chunk-CDVGNZDA.js → chunk-ZKMYGRO7.js} +11 -173
  101. package/{contentThunks-3SPROFG5.js → contentThunks-TC3AENBY.js} +25 -25
  102. package/{createAgentAutomationAction-EIP2EG3O.js → createAgentAutomationAction-67EOD3WK.js} +25 -25
  103. package/{createDialogAction-RLUSTN4D.js → createDialogAction-4OCQC5MW.js} +28 -28
  104. package/{createPageAction-4Y52G7WG.js → createPageAction-JLGVP57B.js} +26 -26
  105. package/{dbSlice-GKGGFNOB.js → dbSlice-RDGCE5MU.js} +8 -8
  106. package/{deleteFile-LWSR674W.js → deleteFile-YG6QMJLU.js} +3 -3
  107. package/{dialogCommands-G223U5WU.js → dialogCommands-JHSDKCR5.js} +32 -30
  108. package/{dialogSlice-THY45JWM.js → dialogSlice-I2DK32ZT.js} +24 -24
  109. package/{docCreateCommands-2P47IJDK.js → docCreateCommands-QUL6VWK2.js} +31 -29
  110. package/{docDeleteCommands-N3EGDOIC.js → docDeleteCommands-DMQ2MU6I.js} +32 -30
  111. package/{docReadCommands-6BFV2HI7.js → docReadCommands-FVHENBU6.js} +31 -29
  112. package/{docStore-ZQ3ECOPY.js → docStore-OLC6MD7B.js} +9 -9
  113. package/{docUpdateCommands-ZTMPXHC5.js → docUpdateCommands-VA6V5C6L.js} +31 -29
  114. package/{fetchMessages-DRABNDPZ.js → fetchMessages-EIU7UFFK.js} +3 -4
  115. package/{getPricing-HRMSOF3E.js → getPricing-YYXTEPBP.js} +4 -4
  116. package/{handleSendMessageAction-CE4M5XIE.js → handleSendMessageAction-GRDIRXAK.js} +24 -24
  117. package/index.js +88 -80
  118. package/{localDialogRead-PUQKFI73.js → localDialogRead-BTFJ4V2I.js} +2 -2
  119. package/{localRuntimeDb-P37ZTX55.js → localRuntimeDb-SYQGUF4U.js} +1 -1
  120. package/{machineCommands-4OT7KVCD.js → machineCommands-IJJ66MYU.js} +59 -57
  121. package/{machineWsRunDispatch-TR3EYESP.js → machineWsRunDispatch-PP2ZBS6D.js} +57 -55
  122. package/{memberThunks-KATHH3F4.js → memberThunks-WQGQWYYT.js} +9 -9
  123. package/{models-GS72DVJS.js → models-UN7YGMPM.js} +2 -2
  124. package/{offlineMarxistsAgentCommand-GEH6SNNA.js → offlineMarxistsAgentCommand-JEWCIAWM.js} +1 -1
  125. package/package.json +1 -1
  126. package/providerPresetApply-NO73BG45.js +214 -0
  127. package/providerRegistry-OVY4VKNN.js +31 -0
  128. package/{read-LC6HVYBN.js → read-S4WC2OUK.js} +5 -4
  129. package/{readDocTool-N3ERJHHF.js → readDocTool-PQNM63KV.js} +1 -1
  130. package/{readlineWorkspace-GSL5CYNJ.js → readlineWorkspace-ASJECDJD.js} +196 -111
  131. package/{removeDialogAgentAction-F5GPTALR.js → removeDialogAgentAction-YJZ6XJV6.js} +11 -11
  132. package/{runAgentClientLoop-NE5EHXSS.js → runAgentClientLoop-KIOQSDRC.js} +45 -45
  133. package/{runtimeDoctorCommands-CROTMULY.js → runtimeDoctorCommands-X6WDBEQX.js} +2 -2
  134. package/{setDialogExtraReferencesAction-AY4ZCF3A.js → setDialogExtraReferencesAction-E6A3WL4E.js} +9 -9
  135. package/{setPrimaryDialogAgentAction-HPMG7V3R.js → setPrimaryDialogAgentAction-WBLIVICQ.js} +11 -11
  136. package/{settingSlice-OEJA4NQO.js → settingSlice-JR6S7TRD.js} +10 -10
  137. package/{spaceCommands-MRP5U3C3.js → spaceCommands-WDUNCAK5.js} +29 -27
  138. package/{streamAgentChatTurn-A6L6O22P.js → streamAgentChatTurn-EGQDPMAO.js} +57 -56
  139. package/{switchDialogAgentAction-HMDZTZ4I.js → switchDialogAgentAction-DTR36ZY2.js} +8 -8
  140. package/{tableCommands-SUNTHAYX.js → tableCommands-O6NWHFKV.js} +1 -1
  141. package/{toolApiClient-VGYUB4P5.js → toolApiClient-7PSIFQPJ.js} +2 -2
  142. package/{tools-JS475NYO.js → tools-AOVE5LKM.js} +41 -39
  143. package/tuiSummaryLlmCaller-XRQCSNYQ.js +127 -0
  144. package/{updateCommands-Y363MC3L.js → updateCommands-2M74UL7P.js} +2 -2
  145. package/{updateDialogTitleAction-GMZUT6RP.js → updateDialogTitleAction-T66TXHIR.js} +45 -28
  146. package/chunk-3IT2PFHL.js +0 -611
  147. package/chunk-I42VC5KR.js +0 -15
  148. package/codingSkills-E6KSDNSJ.js +0 -48
  149. package/tuiSummaryLlmCaller-3Z24VUWM.js +0 -116
  150. package/{chunk-3RAG2NAD.js → chunk-UKWGR5SS.js} +3 -3
  151. package/{db-VQSAOWAO.js → db-WK5MDZVN.js} +1 -1
  152. package/{localRuntimeAuthority-R5UBODT3.js → localRuntimeAuthority-6IR6BBXE.js} +3 -3
@@ -9,897 +9,689 @@ import {
9
9
  platformHostedModels,
10
10
  toCnyCredits,
11
11
  zaiModels
12
- } from "./chunk-AJHEFRGJ.js";
12
+ } from "./chunk-JTYPAMGP.js";
13
13
 
14
- // packages/integrations/anthropic/anthropicModels.ts
15
- var anthropicModels = [
14
+ // packages/integrations/qwen/models.ts
15
+ var qwenModels = [
16
+ // ── Qwen3 旗舰 ──
16
17
  {
17
- name: "claude-3-5-sonnet-latest",
18
- displayName: "Claude 3.5 Sonnet",
18
+ name: "qwen3.8-max",
19
+ displayName: "Qwen3.8 Max",
19
20
  hasVision: true,
20
- description: "Our most intelligent model to date",
21
- contextWindow: 2e5,
22
- maxOutputTokens: 8192,
23
- price: {
24
- input: 27,
25
- output: 135,
26
- cachingWrite: 33.75,
27
- cachingRead: 2.7
28
- }
21
+ contextWindow: 1e6,
22
+ maxOutputTokens: 131072,
23
+ jsonOutput: true,
24
+ fnCall: true,
25
+ supportsTool: true,
26
+ supportsReasoningEffort: true,
27
+ // 官方价:输入 ¥12/M、输出 ¥36/M;缓存命中 ¥1.5/M、显式缓存创建 ¥15/M、显式缓存命中 ¥1/M。
28
+ price: { input: toCnyCredits(12), output: toCnyCredits(36) },
29
+ provider: "qwen",
30
+ description: "2.4\u4E07\u4EBF\u53C2\u6570 MoE \u65D7\u8230\uFF0C1M \u4E0A\u4E0B\u6587\uFF08\u8F93\u5165 991K / \u8F93\u51FA 131K / \u601D\u7EF4\u94FE 262K\uFF09\uFF0C\u539F\u751F\u89C6\u89C9\u7406\u89E3\u8D2F\u7A7F\u89C4\u5212-\u6267\u884C-\u9A8C\u8BC1\uFF0C\u81EA\u4E3B\u7F16\u7A0B\u53EF\u4EA4\u4ED8\u5B8C\u6574\u9879\u76EE\u3002"
29
31
  },
30
32
  {
31
- name: "claude-3-7-sonnet-latest",
32
- displayName: "Claude 3.7 Sonnet",
33
+ name: "qwen3-max",
34
+ displayName: "Qwen3 Max",
33
35
  hasVision: true,
34
- description: "Our most intelligent model to date",
35
- contextWindow: 2e5,
36
- maxOutputTokens: 8192,
37
- price: {
38
- input: 27,
39
- output: 135,
40
- cachingWrite: 33.75,
41
- cachingRead: 2.7
42
- }
36
+ contextWindow: 262144,
37
+ maxOutputTokens: 32768,
38
+ jsonOutput: true,
39
+ fnCall: true,
40
+ supportsTool: true,
41
+ supportsReasoningEffort: true,
42
+ price: { input: toCnyCredits(6), output: toCnyCredits(24) },
43
+ provider: "qwen",
44
+ description: "\u5343\u95EE3 \u65D7\u8230\u6A21\u578B\uFF0C\u652F\u6301\u601D\u8003\u6A21\u5F0F\u3001\u51FD\u6570\u8C03\u7528\u3001\u7ED3\u6784\u5316\u8F93\u51FA\u3002"
43
45
  },
44
46
  {
45
- name: "claude-3-5-haiku-20241022",
46
- displayName: "Claude 3.5 Haiku",
47
- hasVision: false,
48
- description: "Fastest, most cost-effective model",
49
- contextWindow: 2e5,
50
- maxOutputTokens: 8192,
51
- price: {
52
- input: 7.2,
53
- output: 36,
54
- cachingWrite: 9,
55
- cachingRead: 0.72
56
- }
57
- }
58
- ];
59
-
60
- // packages/integrations/anthropic/anthropicOAuthModels.ts
61
- var oauthModel = ({ name, displayName, contextWindow, thinkingMode, maxOutputTokens }) => ({
62
- name,
63
- displayName,
64
- hasVision: true,
65
- description: `OAuth \u8BA2\u9605\u6A21\u578B\uFF08${displayName}\uFF0C${thinkingMode === "adaptive" ? "Adaptive thinking" : "Extended thinking"}\uFF09`,
66
- contextWindow,
67
- ...maxOutputTokens ? { maxOutputTokens } : {},
68
- supportsReasoningEffort: true,
69
- price: { input: 0, output: 0 }
70
- });
71
- var anthropicOAuthModels = [
72
- // 5 代(1M + Adaptive thinking always-on;官方 max output 128k)
73
- oauthModel({ name: "claude-fable-5", displayName: "Claude Fable 5", contextWindow: 1e6, thinkingMode: "adaptive", maxOutputTokens: 128e3 }),
74
- oauthModel({ name: "claude-opus-5", displayName: "Claude Opus 5", contextWindow: 1e6, thinkingMode: "adaptive", maxOutputTokens: 128e3 }),
75
- oauthModel({ name: "claude-sonnet-5", displayName: "Claude Sonnet 5", contextWindow: 1e6, thinkingMode: "adaptive", maxOutputTokens: 128e3 }),
76
- // 4.6/4.7/4.8 系(Adaptive thinking;context 官方未单列,参照 fuzzy claude-4.6→1M)
77
- oauthModel({ name: "claude-opus-4-8", displayName: "Claude Opus 4.8", contextWindow: 1e6, thinkingMode: "adaptive" }),
78
- oauthModel({ name: "claude-opus-4-7", displayName: "Claude Opus 4.7", contextWindow: 1e6, thinkingMode: "adaptive" }),
79
- oauthModel({ name: "claude-sonnet-4-6", displayName: "Claude Sonnet 4.6", contextWindow: 1e6, thinkingMode: "adaptive" }),
80
- oauthModel({ name: "claude-opus-4-6", displayName: "Claude Opus 4.6", contextWindow: 1e6, thinkingMode: "adaptive" }),
81
- // 4.5 系(Extended thinking;官方发布规格 1M)
82
- oauthModel({ name: "claude-opus-4-5-20251101", displayName: "Claude Opus 4.5", contextWindow: 1e6, thinkingMode: "extended" }),
83
- oauthModel({ name: "claude-sonnet-4-5-20250929", displayName: "Claude Sonnet 4.5", contextWindow: 1e6, thinkingMode: "extended" }),
84
- // haiku-4-5(官方明确 context=200k + Extended thinking)
85
- oauthModel({ name: "claude-haiku-4-5-20251001", displayName: "Claude Haiku 4.5", contextWindow: 2e5, thinkingMode: "extended" })
86
- ];
87
- var OAUTH_MODEL_THINKING_MODE = new Map(
88
- anthropicOAuthModels.map((m) => [m.name, m.thinkingMode])
89
- );
90
- function isAdaptiveThinkingModelId(model) {
91
- if (!model) return false;
92
- const tableMode = OAUTH_MODEL_THINKING_MODE.get(model);
93
- if (tableMode === "adaptive") return true;
94
- if (tableMode === "extended") return false;
95
- const n = model.toLowerCase();
96
- return n.includes("fable-5") || n.includes("opus-5") || n.includes("sonnet-5") || n.includes("opus-4-8") || n.includes("opus-4-7") || n.includes("sonnet-4-6") || n.includes("opus-4-6");
97
- }
98
-
99
- // packages/ai/agent/liveAudioModel.ts
100
- var DEFAULT_GOOGLE_LIVE_AUDIO_MODEL = "gemini-3.1-flash-live-preview";
101
-
102
- // packages/integrations/google/models.ts
103
- var googleModels = [
104
- {
105
- name: DEFAULT_GOOGLE_LIVE_AUDIO_MODEL,
106
- displayName: "Gemini 3.1 Flash Live",
107
- provider: "google",
108
- description: "Gemini Live API model for low-latency real-time voice conversations.",
47
+ name: "qwen3-max-preview",
48
+ displayName: "Qwen3 Max Preview",
109
49
  hasVision: true,
110
- hasAudio: true,
111
- contextWindow: 1048576,
112
- maxOutputTokens: 65500,
50
+ contextWindow: 81920,
51
+ maxOutputTokens: 32768,
52
+ jsonOutput: true,
53
+ fnCall: true,
113
54
  supportsTool: true,
114
- price: {
115
- input: 4,
116
- output: 24,
117
- cachingWrite: 0.4,
118
- cachingRead: 0.4
119
- }
55
+ supportsReasoningEffort: true,
56
+ price: { input: toCnyCredits(6), output: toCnyCredits(24) },
57
+ provider: "qwen"
120
58
  },
121
59
  {
122
- name: "gemini-3.6-flash",
123
- displayName: "Gemini 3.6 Flash",
124
- provider: "google",
125
- description: "Gemini 3.6 Flash model for fast frontier agentic, coding, and multimodal tasks.",
60
+ name: "qwen3-235b-a22b-instruct-2507",
61
+ displayName: "Qwen3 235B A22B Instruct",
126
62
  hasVision: true,
127
- hasAudio: true,
128
- contextWindow: 1048576,
129
- maxOutputTokens: 65536,
63
+ contextWindow: 262144,
64
+ maxOutputTokens: 32768,
65
+ jsonOutput: true,
66
+ fnCall: true,
130
67
  supportsTool: true,
131
68
  supportsReasoningEffort: true,
132
- price: {
133
- input: 12,
134
- output: 72,
135
- cachingWrite: 1.2,
136
- cachingRead: 1.2
137
- },
138
- serviceTierPriceMultipliers: {
139
- batch: { inputOutput: 0.5, cache: 0.5 },
140
- flex: { inputOutput: 0.5, cache: 0.08 / 0.15 },
141
- priority: { inputOutput: 1.8, cache: 1.8 }
142
- }
69
+ price: { input: toCnyCredits(4), output: toCnyCredits(12) },
70
+ provider: "qwen"
143
71
  },
144
72
  {
145
- name: "gemini-3.7-flash",
146
- displayName: "Gemini 3.7 Flash",
147
- provider: "google",
148
- description: "Gemini 3.7 Flash model for fast frontier agentic, coding, and multimodal tasks.",
73
+ name: "qwen3-next-80b-a3b-instruct",
74
+ displayName: "Qwen3 Next 80B A3B Instruct",
149
75
  hasVision: true,
150
- hasAudio: true,
76
+ contextWindow: 81920,
77
+ maxOutputTokens: 32768,
78
+ jsonOutput: true,
79
+ fnCall: true,
80
+ supportsTool: true,
81
+ supportsReasoningEffort: true,
82
+ price: { input: toCnyCredits(2), output: toCnyCredits(6) },
83
+ provider: "qwen"
84
+ },
85
+ // ── Qwen3-Coder 编程系列 ──
86
+ {
87
+ name: "qwen3-coder-plus",
88
+ displayName: "Qwen3 Coder Plus",
89
+ hasVision: false,
151
90
  contextWindow: 1048576,
152
91
  maxOutputTokens: 65536,
92
+ jsonOutput: true,
93
+ fnCall: true,
153
94
  supportsTool: true,
154
95
  supportsReasoningEffort: true,
155
- // Antigravity's subscription wire route is tiered; Gemini API uses this logical id.
156
- price: {
157
- input: 6,
158
- output: 30,
159
- cachingWrite: 0.6,
160
- cachingRead: 0.6
161
- }
96
+ price: { input: toCnyCredits(3), output: toCnyCredits(9) },
97
+ provider: "qwen",
98
+ description: "\u5343\u95EE3 \u7F16\u7A0B\u65D7\u8230\uFF0C1M \u957F\u4E0A\u4E0B\u6587\uFF0C\u9002\u5408\u4EE3\u7801\u751F\u6210\u4E0E Agent \u7F16\u7A0B\u3002"
162
99
  },
163
100
  {
164
- name: "gemini-3.8-flash",
165
- displayName: "Gemini 3.8 Flash",
166
- provider: "google",
167
- description: "Gemini 3.8 Flash model for fast frontier agentic, coding, and multimodal tasks.",
168
- hasVision: true,
169
- hasAudio: true,
101
+ name: "qwen3-coder-flash",
102
+ displayName: "Qwen3 Coder Flash",
103
+ hasVision: false,
170
104
  contextWindow: 1048576,
171
105
  maxOutputTokens: 65536,
106
+ jsonOutput: true,
107
+ fnCall: true,
172
108
  supportsTool: true,
173
109
  supportsReasoningEffort: true,
174
- price: {
175
- input: 6,
176
- output: 30,
177
- cachingWrite: 0.6,
178
- cachingRead: 0.6
179
- }
110
+ price: { input: toCnyCredits(1), output: toCnyCredits(3) },
111
+ provider: "qwen"
180
112
  },
181
113
  {
182
- name: "gemini-2.5-pro",
183
- displayName: "Gemini 2.5 Pro",
184
- provider: "google",
185
- description: "Gemini 2.5 Pro model for complex reasoning, coding, and large context multimodal tasks.",
186
- hasVision: true,
187
- hasAudio: true,
114
+ name: "qwen3-coder-480b-a35b-instruct",
115
+ displayName: "Qwen3 Coder 480B A35B Instruct",
116
+ hasVision: false,
188
117
  contextWindow: 1048576,
189
118
  maxOutputTokens: 65536,
119
+ jsonOutput: true,
120
+ fnCall: true,
190
121
  supportsTool: true,
191
122
  supportsReasoningEffort: true,
192
- price: {
193
- input: 10,
194
- output: 40,
195
- cachingWrite: 2.5,
196
- cachingRead: 2.5
197
- }
123
+ price: { input: toCnyCredits(5), output: toCnyCredits(15) },
124
+ provider: "qwen"
198
125
  },
126
+ // ── 长上下文 ──
199
127
  {
200
- name: "gemini-3.1-pro",
201
- displayName: "Gemini 3.1 Pro",
202
- provider: "google",
203
- description: "Gemini 3.1 Pro frontier reasoning, coding, and multimodal model.",
128
+ name: "qwen-long",
129
+ displayName: "Qwen Long",
130
+ hasVision: false,
131
+ contextWindow: 10485760,
132
+ maxOutputTokens: 8192,
133
+ jsonOutput: true,
134
+ fnCall: false,
135
+ supportsTool: false,
136
+ price: { input: toCnyCredits(0.5), output: toCnyCredits(2) },
137
+ provider: "qwen",
138
+ description: "10M \u8D85\u957F\u4E0A\u4E0B\u6587\uFF0C\u9002\u5408\u957F\u6587\u6863\u5904\u7406\u3002"
139
+ },
140
+ // ── 旧版主力(仍常用) ──
141
+ {
142
+ name: "qwen-plus",
143
+ displayName: "Qwen Plus",
204
144
  hasVision: true,
205
- hasAudio: true,
206
145
  contextWindow: 1048576,
207
- maxOutputTokens: 65536,
146
+ maxOutputTokens: 32768,
147
+ jsonOutput: true,
148
+ fnCall: true,
208
149
  supportsTool: true,
209
150
  supportsReasoningEffort: true,
210
- price: {
211
- input: 16,
212
- output: 96,
213
- cachingWrite: 4,
214
- cachingRead: 4
215
- }
151
+ price: { input: toCnyCredits(0.8), output: toCnyCredits(2) },
152
+ provider: "qwen"
153
+ },
154
+ {
155
+ name: "qwen-turbo",
156
+ displayName: "Qwen Turbo",
157
+ hasVision: false,
158
+ contextWindow: 131072,
159
+ maxOutputTokens: 8192,
160
+ jsonOutput: true,
161
+ fnCall: true,
162
+ supportsTool: true,
163
+ price: { input: toCnyCredits(0.3), output: toCnyCredits(0.6) },
164
+ provider: "qwen"
165
+ },
166
+ {
167
+ name: "qwen-flash",
168
+ displayName: "Qwen Flash",
169
+ hasVision: false,
170
+ contextWindow: 131072,
171
+ maxOutputTokens: 8192,
172
+ jsonOutput: true,
173
+ fnCall: true,
174
+ supportsTool: true,
175
+ price: { input: toCnyCredits(0.1), output: toCnyCredits(0.3) },
176
+ provider: "qwen"
177
+ },
178
+ // ── 推理(QwQ) ──
179
+ {
180
+ name: "qwq-plus",
181
+ displayName: "QwQ Plus",
182
+ hasVision: false,
183
+ contextWindow: 131072,
184
+ maxOutputTokens: 32768,
185
+ jsonOutput: true,
186
+ fnCall: true,
187
+ supportsTool: true,
188
+ supportsReasoningEffort: true,
189
+ price: { input: toCnyCredits(2), output: toCnyCredits(8) },
190
+ provider: "qwen",
191
+ description: "\u6DF1\u5EA6\u601D\u8003\u63A8\u7406\u6A21\u578B\u3002"
216
192
  }
217
193
  ];
218
-
219
- // packages/integrations/openai/models.ts
220
- var GPT_5_5_STANDARD_PRICE = {
221
- input: 40,
222
- output: 240,
223
- inputCacheHit: 4
224
- };
225
- var GPT_5_5_LONG_CONTEXT_PRICE = {
226
- input: 80,
227
- output: 360,
228
- inputCacheHit: 8
229
- };
230
- var GPT_5_5_PRO_STANDARD_PRICE = {
231
- input: 240,
232
- output: 1440,
233
- inputCacheHit: 0
234
- };
235
- var GPT_5_5_PRO_LONG_CONTEXT_PRICE = {
236
- input: 480,
237
- output: 2160,
238
- inputCacheHit: 0
239
- };
240
- var GPT_5_6_SOL_STANDARD_PRICE = {
241
- input: 40,
242
- output: 240,
243
- inputCacheHit: 4
244
- };
245
- var GPT_5_6_SOL_LONG_CONTEXT_PRICE = {
246
- input: 80,
247
- output: 360,
248
- inputCacheHit: 8
249
- };
250
- var GPT_5_6_TERRA_STANDARD_PRICE = {
251
- input: 16,
252
- output: 96,
253
- inputCacheHit: 1.6
254
- };
255
- var GPT_5_6_TERRA_LONG_CONTEXT_PRICE = {
256
- input: 32,
257
- output: 144,
258
- inputCacheHit: 3.2
259
- };
260
- var GPT_5_6_LUNA_PRICE = {
261
- input: 1.6,
262
- output: 9.6,
263
- inputCacheHit: 0.16
264
- };
265
- var GPT_6_ASTRA_STANDARD_PRICE = {
266
- input: 80,
267
- output: 400,
268
- inputCacheHit: 8
269
- };
270
- var GPT_6_ASTRA_LONG_CONTEXT_PRICE = {
271
- input: 160,
272
- output: 600,
273
- inputCacheHit: 16
274
- };
275
- var openAIModels = [
194
+ var qwenTokenPlanModels = [
195
+ // ── 千问 ──
276
196
  {
277
- name: "gpt-5.5",
278
- displayName: "GPT-5.5 Standard",
279
- endpointKey: "responses",
197
+ name: "qwen3.8-max",
198
+ displayName: "Qwen3.8 Max",
280
199
  hasVision: true,
281
- contextWindow: 1047576,
282
- maxOutputTokens: 128e3,
200
+ contextWindow: 1e6,
201
+ maxOutputTokens: 131072,
202
+ jsonOutput: true,
203
+ fnCall: true,
204
+ supportsTool: true,
283
205
  supportsReasoningEffort: true,
284
- price: GPT_5_5_STANDARD_PRICE,
285
- pricingStrategy: {
286
- type: "tiered_context",
287
- tiers: [
288
- {
289
- minContext: 272001,
290
- price: GPT_5_5_LONG_CONTEXT_PRICE
291
- }
292
- ]
293
- }
206
+ price: { input: 0, output: 0 },
207
+ provider: "qwen",
208
+ description: "2.4\u4E07\u4EBF\u53C2\u6570 MoE \u65D7\u8230\uFF0C\u63A8\u7406\u3001\u89C6\u89C9\u7406\u89E3\u3001\u6587\u672C\u751F\u6210\uFF1B1M \u4E0A\u4E0B\u6587\u3001131K \u8F93\u51FA\u3001262K \u601D\u7EF4\u94FE\u3002"
294
209
  },
295
210
  {
296
- name: "gpt-5.6-sol",
297
- displayName: "GPT-5.6 Sol (Flagship)",
298
- endpointKey: "responses",
299
- hasVision: true,
300
- contextWindow: 105e4,
301
- maxOutputTokens: 128e3,
211
+ name: "qwen3.7-max",
212
+ displayName: "Qwen3.7 Max",
213
+ hasVision: false,
214
+ contextWindow: 262144,
215
+ maxOutputTokens: 32768,
216
+ jsonOutput: true,
217
+ fnCall: true,
218
+ supportsTool: true,
302
219
  supportsReasoningEffort: true,
303
- price: GPT_5_6_SOL_STANDARD_PRICE,
304
- pricingStrategy: {
305
- type: "tiered_context",
306
- tiers: [
307
- {
308
- minContext: 272001,
309
- price: GPT_5_6_SOL_LONG_CONTEXT_PRICE
310
- }
311
- ]
312
- }
220
+ price: { input: 0, output: 0 },
221
+ provider: "qwen",
222
+ description: "\u63A8\u7406\u6A21\u578B\u3001\u6587\u672C\u751F\u6210\u3002"
313
223
  },
314
224
  {
315
- name: "gpt-5.6-terra",
316
- displayName: "GPT-5.6 Terra (Balanced)",
317
- endpointKey: "responses",
225
+ name: "qwen3.7-plus",
226
+ displayName: "Qwen3.7 Plus",
318
227
  hasVision: true,
319
- contextWindow: 105e4,
320
- maxOutputTokens: 128e3,
228
+ contextWindow: 262144,
229
+ maxOutputTokens: 32768,
230
+ jsonOutput: true,
231
+ fnCall: true,
232
+ supportsTool: true,
321
233
  supportsReasoningEffort: true,
322
- price: GPT_5_6_TERRA_STANDARD_PRICE,
323
- pricingStrategy: {
324
- type: "tiered_context",
325
- tiers: [
326
- {
327
- minContext: 272001,
328
- price: GPT_5_6_TERRA_LONG_CONTEXT_PRICE
329
- }
330
- ]
331
- }
234
+ price: { input: 0, output: 0 },
235
+ provider: "qwen",
236
+ description: "\u63A8\u7406\u6A21\u578B\u3001\u89C6\u89C9\u7406\u89E3\u3001\u6587\u672C\u751F\u6210\u3002"
332
237
  },
333
238
  {
334
- name: "gpt-5.6-luna",
335
- displayName: "GPT-5.6 Luna (Fast)",
336
- endpointKey: "responses",
239
+ name: "qwen3.6-flash",
240
+ displayName: "Qwen3.6 Flash",
337
241
  hasVision: true,
338
- contextWindow: 105e4,
339
- maxOutputTokens: 128e3,
242
+ contextWindow: 262144,
243
+ maxOutputTokens: 32768,
244
+ jsonOutput: true,
245
+ fnCall: true,
246
+ supportsTool: true,
340
247
  supportsReasoningEffort: true,
341
- price: GPT_5_6_LUNA_PRICE
248
+ price: { input: 0, output: 0 },
249
+ provider: "qwen",
250
+ description: "\u63A8\u7406\u6A21\u578B\u3001\u89C6\u89C9\u7406\u89E3\u3001\u6587\u672C\u751F\u6210\uFF08\u8F7B\u91CF\u5FEB\u901F\uFF09\u3002"
342
251
  },
252
+ // ── 智谱 AI ──
343
253
  {
344
- name: "gpt-6-astra",
345
- displayName: "GPT-6 Astra",
346
- endpointKey: "responses",
347
- hasVision: true,
348
- contextWindow: 105e4,
349
- maxOutputTokens: 128e3,
254
+ name: "glm-5.2",
255
+ displayName: "GLM 5.2",
256
+ hasVision: false,
257
+ contextWindow: 1e6,
258
+ maxOutputTokens: 16384,
259
+ jsonOutput: true,
260
+ fnCall: true,
261
+ supportsTool: true,
350
262
  supportsReasoningEffort: true,
351
- price: GPT_6_ASTRA_STANDARD_PRICE,
352
- pricingStrategy: {
353
- type: "tiered_context",
354
- tiers: [
355
- {
356
- minContext: 272001,
357
- price: GPT_6_ASTRA_LONG_CONTEXT_PRICE
358
- }
359
- ]
360
- }
263
+ price: { input: 0, output: 0 },
264
+ provider: "qwen",
265
+ description: "\u667A\u8C31 AI \u63A8\u7406\u6A21\u578B\u3001\u6587\u672C\u751F\u6210\u3002"
361
266
  },
267
+ // ── DeepSeek ──
362
268
  {
363
- name: "gpt-5.5-pro",
364
- displayName: "GPT-5.5 Pro",
365
- endpointKey: "responses",
366
- hasVision: true,
367
- contextWindow: 1047576,
368
- maxOutputTokens: 128e3,
269
+ name: "deepseek-v4-pro",
270
+ displayName: "DeepSeek V4 Pro",
271
+ hasVision: false,
272
+ contextWindow: 1e6,
273
+ maxOutputTokens: 384e3,
274
+ jsonOutput: true,
275
+ fnCall: true,
276
+ supportsTool: true,
369
277
  supportsReasoningEffort: true,
370
- price: GPT_5_5_PRO_STANDARD_PRICE,
371
- pricingStrategy: {
372
- type: "tiered_context",
373
- tiers: [
374
- {
375
- minContext: 272001,
376
- price: GPT_5_5_PRO_LONG_CONTEXT_PRICE
377
- }
378
- ]
379
- }
380
- }
381
- ];
382
-
383
- // packages/ai/llm/deepinfra.ts
384
- var DEEPINFRA_CLAUDE_HAIKU_PRICE = {
385
- input: 1 * 9,
386
- output: 5 * 9
387
- };
388
- var DEEPINFRA_CLAUDE_SONNET_PRICE = {
389
- input: 3 * 9,
390
- output: 15 * 9
391
- };
392
- var DEEPINFRA_CLAUDE_OPUS_PRICE = {
393
- input: 5 * 9,
394
- output: 25 * 9
395
- };
396
- var DEEPINFRA_CLAUDE_FABLE_PRICE = {
397
- input: 10 * 9,
398
- output: 50 * 9
399
- };
400
- var deepinfraModels = [
401
- {
402
- name: "anthropic/claude-haiku-4-5",
403
- displayName: "Anthropic: Claude Haiku 4.5",
404
- hasVision: true,
405
- price: { ...DEEPINFRA_CLAUDE_HAIKU_PRICE },
406
- contextWindow: 195e3,
407
- maxOutputTokens: 4092,
408
- supportsTool: false
409
- },
410
- {
411
- name: "anthropic/claude-sonnet-5",
412
- displayName: "Anthropic: Claude Sonnet 5",
413
- hasVision: true,
414
- price: { ...DEEPINFRA_CLAUDE_SONNET_PRICE },
415
- contextWindow: 976e3,
416
- maxOutputTokens: 4092,
417
- supportsTool: false
278
+ price: { input: 0, output: 0 },
279
+ provider: "qwen",
280
+ description: "DeepSeek \u63A8\u7406\u6A21\u578B\u3001\u6587\u672C\u751F\u6210\u3002"
418
281
  },
282
+ // ── 万相(图片生成)──
419
283
  {
420
- name: "anthropic/claude-opus-5",
421
- displayName: "Anthropic: Claude Opus 5",
422
- hasVision: true,
423
- price: { ...DEEPINFRA_CLAUDE_OPUS_PRICE },
424
- contextWindow: 976e3,
425
- maxOutputTokens: 4092,
426
- supportsTool: false
284
+ name: "wan2.7-image",
285
+ displayName: "Wan2.7 Image",
286
+ hasVision: false,
287
+ hasImageOutput: true,
288
+ contextWindow: 0,
289
+ maxOutputTokens: 0,
290
+ price: { input: 0, output: 0 },
291
+ provider: "qwen",
292
+ description: "\u4E07\u76F8\u56FE\u7247\u751F\u6210\u3002"
427
293
  },
428
294
  {
429
- name: "anthropic/claude-fable-5",
430
- displayName: "Anthropic: Claude Fable 5",
431
- hasVision: true,
432
- price: { ...DEEPINFRA_CLAUDE_FABLE_PRICE },
433
- contextWindow: 976e3,
434
- maxOutputTokens: 4092,
435
- supportsTool: false
436
- }
437
- ];
438
-
439
- // packages/ai/llm/baseten.ts
440
- var BASETEN_GLM_53_FLASH_MODEL = "zai-org/GLM-5.3-Flash";
441
- var BASETEN_GLM_53_FLASH_PRICE = {
442
- input: 1.2,
443
- inputCacheHit: 0.24,
444
- output: 4
445
- };
446
- var basetenModels = [
447
- {
448
- name: BASETEN_GLM_53_FLASH_MODEL,
449
- displayName: "GLM 5.3 Flash",
450
- hasVision: true,
451
- price: { ...BASETEN_GLM_53_FLASH_PRICE },
452
- maxOutputTokens: 131072,
453
- contextWindow: 1048576,
454
- supportsTool: true,
455
- supportsReasoningEffort: true
295
+ name: "wan2.7-image-pro",
296
+ displayName: "Wan2.7 Image Pro",
297
+ hasVision: false,
298
+ hasImageOutput: true,
299
+ contextWindow: 0,
300
+ maxOutputTokens: 0,
301
+ price: { input: 0, output: 0 },
302
+ provider: "qwen",
303
+ description: "\u4E07\u76F8\u56FE\u7247\u751F\u6210\uFF08Pro\uFF09\u3002"
456
304
  }
457
305
  ];
458
306
 
459
- // packages/ai/llm/runinfra.ts
460
- var RUNINFRA_GLM_53_FLASH_MODEL = "glm-5-3-flash";
461
- var RUNINFRA_GLM_53_FLASH_PRICE = {
462
- input: 0.8,
463
- inputCacheHit: 0.08,
464
- output: 3.2
465
- };
466
- var runinfraModels = [
307
+ // packages/integrations/moonshot/models.ts
308
+ var moonshotModels = [
309
+ // ── 旗舰 ──
467
310
  {
468
- name: RUNINFRA_GLM_53_FLASH_MODEL,
469
- displayName: "GLM 5.3 Flash",
311
+ name: "kimi-k3",
312
+ displayName: "Kimi K3",
470
313
  hasVision: true,
471
- price: { ...RUNINFRA_GLM_53_FLASH_PRICE },
472
- maxOutputTokens: 1048576,
473
- contextWindow: 1048576,
314
+ contextWindow: 1e6,
315
+ maxOutputTokens: 262144,
316
+ jsonOutput: true,
317
+ fnCall: true,
474
318
  supportsTool: true,
475
- supportsReasoningEffort: true
476
- }
477
- ];
478
-
479
- // packages/integrations/xai/models.ts
480
- var xaiModels = [
319
+ supportsReasoningEffort: true,
320
+ price: { input: 24, output: 120 },
321
+ provider: "moonshot",
322
+ description: "Moonshot \u65D7\u8230\u6A21\u578B\uFF0C\u539F\u751F\u591A\u6A21\u6001\uFF0C1M \u4E0A\u4E0B\u6587\uFF0C\u957F\u7A0B\u7F16\u7A0B\u4E0E\u6DF1\u5EA6\u63A8\u7406\u3002"
323
+ },
324
+ // ── 通用 ──
481
325
  {
482
- name: "grok-4.6",
483
- displayName: "Grok 4.6",
326
+ name: "kimi-k2.6",
327
+ displayName: "Kimi K2.6",
484
328
  hasVision: true,
485
- contextWindow: 5e5,
486
- price: { input: 16, output: 48, inputCacheHit: 4 },
487
- pricingStrategy: {
488
- type: "tiered_context",
489
- tiers: [
490
- {
491
- minContext: 200001,
492
- price: { input: 32, output: 96, inputCacheHit: 8 }
493
- }
494
- ]
495
- },
329
+ contextWindow: 262144,
330
+ maxOutputTokens: 262144,
331
+ jsonOutput: true,
496
332
  fnCall: true,
497
- jsonOutput: true
498
- }
499
- ];
500
-
501
- // packages/ai/llm/fireworks.ts
502
- var fireworksModels = [
503
- {
504
- name: "accounts/fireworks/models/minimax-m3",
505
- displayName: "MiniMax: MiniMax M3",
506
- hasVision: true,
507
- price: {
508
- input: 2.4,
509
- output: 9.6,
510
- cachingRead: 0.48
511
- },
512
- contextWindow: 512e3,
513
- supportsTool: true
333
+ supportsTool: true,
334
+ supportsReasoningEffort: true,
335
+ price: { input: 4.8, output: 19.2 },
336
+ provider: "moonshot",
337
+ description: "Moonshot \u9AD8\u6027\u80FD\u901A\u7528\u6A21\u578B\u3002"
514
338
  }
515
339
  ];
516
-
517
- // packages/integrations/qwen/models.ts
518
- var qwenModels = [
519
- // ── Qwen3 旗舰 ──
340
+ var kimiCodeModels = [
341
+ // ── 旗舰编程 ──
520
342
  {
521
- name: "qwen3.8-max",
522
- displayName: "Qwen3.8 Max",
343
+ name: "k3",
344
+ displayName: "Kimi K3",
523
345
  hasVision: true,
524
346
  contextWindow: 1e6,
525
- maxOutputTokens: 131072,
347
+ maxOutputTokens: 262144,
526
348
  jsonOutput: true,
527
349
  fnCall: true,
528
350
  supportsTool: true,
529
351
  supportsReasoningEffort: true,
530
- // 官方价:输入 ¥12/M、输出 ¥36/M;缓存命中 ¥1.5/M、显式缓存创建 ¥15/M、显式缓存命中 ¥1/M。
531
- price: { input: toCnyCredits(12), output: toCnyCredits(36) },
532
- provider: "qwen",
533
- description: "2.4\u4E07\u4EBF\u53C2\u6570 MoE \u65D7\u8230\uFF0C1M \u4E0A\u4E0B\u6587\uFF08\u8F93\u5165 991K / \u8F93\u51FA 131K / \u601D\u7EF4\u94FE 262K\uFF09\uFF0C\u539F\u751F\u89C6\u89C9\u7406\u89E3\u8D2F\u7A7F\u89C4\u5212-\u6267\u884C-\u9A8C\u8BC1\uFF0C\u81EA\u4E3B\u7F16\u7A0B\u53EF\u4EA4\u4ED8\u5B8C\u6574\u9879\u76EE\u3002"
352
+ price: { input: 0, output: 0 },
353
+ provider: "moonshot",
354
+ description: "Kimi \u6700\u5F3A\u65D7\u8230\u7F16\u7A0B\u6A21\u578B\uFF0C2.8T \u53C2\u6570\uFF0C1M \u4E0A\u4E0B\u6587\uFF0Clow/high/max \u4E09\u6863\u601D\u8003\u6DF1\u5EA6\uFF0C\u64C5\u957F\u590D\u6742\u5DE5\u7A0B\u4E0E\u957F\u7A0B\u63A8\u7406\u3002Moderato \u53CA\u4EE5\u4E0A\u53EF\u7528\u3002"
534
355
  },
356
+ // ── 旗舰编程(256K 上下文版)──
535
357
  {
536
- name: "qwen3-max",
537
- displayName: "Qwen3 Max",
358
+ name: "k3-256k",
359
+ displayName: "Kimi K3 256K",
538
360
  hasVision: true,
539
361
  contextWindow: 262144,
540
- maxOutputTokens: 32768,
362
+ maxOutputTokens: 262144,
541
363
  jsonOutput: true,
542
364
  fnCall: true,
543
365
  supportsTool: true,
544
366
  supportsReasoningEffort: true,
545
- price: { input: toCnyCredits(6), output: toCnyCredits(24) },
546
- provider: "qwen",
547
- description: "\u5343\u95EE3 \u65D7\u8230\u6A21\u578B\uFF0C\u652F\u6301\u601D\u8003\u6A21\u5F0F\u3001\u51FD\u6570\u8C03\u7528\u3001\u7ED3\u6784\u5316\u8F93\u51FA\u3002"
367
+ price: { input: 0, output: 0 },
368
+ provider: "moonshot",
369
+ description: "K3 \u7684 256K \u4E0A\u4E0B\u6587\u7248\uFF0C\u6D88\u8017\u7EA6\u4E3A k3 \u7684\u4E00\u534A\uFF0C\u9002\u5408\u65E5\u5E38\u95EE\u7B54\u4E0E\u4EE3\u7801\u8865\u5168\u3002\u4E0D\u652F\u6301\u89C6\u9891\u8F93\u5165\u3002Moderato \u53CA\u4EE5\u4E0A\u53EF\u7528\u3002"
548
370
  },
371
+ // ── 成熟编程 ──
549
372
  {
550
- name: "qwen3-max-preview",
551
- displayName: "Qwen3 Max Preview",
373
+ name: "kimi-for-coding",
374
+ displayName: "Kimi K2.7 Code",
552
375
  hasVision: true,
553
- contextWindow: 81920,
554
- maxOutputTokens: 32768,
376
+ contextWindow: 262144,
377
+ maxOutputTokens: 262144,
555
378
  jsonOutput: true,
556
379
  fnCall: true,
557
380
  supportsTool: true,
558
381
  supportsReasoningEffort: true,
559
- price: { input: toCnyCredits(6), output: toCnyCredits(24) },
560
- provider: "qwen"
382
+ price: { input: 0, output: 0 },
383
+ provider: "moonshot",
384
+ description: "\u6210\u719F\u7A33\u5B9A\u7684 Coding \u6A21\u578B\uFF0CThinking \u5F00\u542F\u4E0B\u53EF\u9760\u9075\u5FAA\u6307\u4EE4\uFF0C\u7F16\u7A0B\u4EFB\u52A1\u6210\u529F\u7387\u9AD8\u3002\u6240\u6709\u4F1A\u5458\u53EF\u7528\u3002"
561
385
  },
386
+ // ── 高速编程 ──
562
387
  {
563
- name: "qwen3-235b-a22b-instruct-2507",
564
- displayName: "Qwen3 235B A22B Instruct",
388
+ name: "kimi-for-coding-highspeed",
389
+ displayName: "Kimi K2.7 Code \u9AD8\u901F\u7248",
565
390
  hasVision: true,
566
391
  contextWindow: 262144,
567
- maxOutputTokens: 32768,
392
+ maxOutputTokens: 262144,
568
393
  jsonOutput: true,
569
394
  fnCall: true,
570
395
  supportsTool: true,
571
396
  supportsReasoningEffort: true,
572
- price: { input: toCnyCredits(4), output: toCnyCredits(12) },
573
- provider: "qwen"
574
- },
397
+ price: { input: 0, output: 0 },
398
+ provider: "moonshot",
399
+ description: "K2.7 Code \u9AD8\u901F\u7248\uFF0C\u7F16\u7801\u80FD\u529B\u4E00\u81F4\uFF0C\u8F93\u51FA\u901F\u5EA6\u7EA6 6 \u500D\u3001\u6D88\u8017\u7EA6 3 \u500D\u3002Allegretto \u53CA\u4EE5\u4E0A\u53EF\u7528\u3002"
400
+ }
401
+ ];
402
+
403
+ // packages/integrations/stepfun/models.ts
404
+ var stepfunModels = [
405
+ // ── 旗舰多模态推理 ──
575
406
  {
576
- name: "qwen3-next-80b-a3b-instruct",
577
- displayName: "Qwen3 Next 80B A3B Instruct",
407
+ name: "step-3.7-flash",
408
+ displayName: "Step 3.7 Flash",
578
409
  hasVision: true,
579
- contextWindow: 81920,
580
- maxOutputTokens: 32768,
410
+ contextWindow: 262144,
411
+ maxOutputTokens: 65536,
581
412
  jsonOutput: true,
582
413
  fnCall: true,
583
414
  supportsTool: true,
584
415
  supportsReasoningEffort: true,
585
- price: { input: toCnyCredits(2), output: toCnyCredits(6) },
586
- provider: "qwen"
416
+ // 官方价:输入 ¥1.35/M、缓存命中 ¥0.27/M、输出 ¥8.1/M
417
+ price: {
418
+ input: toCnyCredits(1.35),
419
+ output: toCnyCredits(8.1),
420
+ inputCacheHit: toCnyCredits(0.27)
421
+ },
422
+ provider: "stepfun",
423
+ description: "\u9636\u8DC3\u661F\u8FB0\u65D7\u8230\u591A\u6A21\u6001\u63A8\u7406\u6A21\u578B\uFF0C256K \u4E0A\u4E0B\u6587\uFF0C\u9AD8\u901F\u63A8\u7406 + \u539F\u751F\u591A\u6A21\u6001 + \u5DE5\u5177\u8C03\u7528\uFF0C\u9488\u5BF9 Agent \u4E0E Coding \u6DF1\u5EA6\u4F18\u5316\u3002"
587
424
  },
588
- // ── Qwen3-Coder 编程系列 ──
589
425
  {
590
- name: "qwen3-coder-plus",
591
- displayName: "Qwen3 Coder Plus",
592
- hasVision: false,
593
- contextWindow: 1048576,
426
+ name: "step-5-preview",
427
+ displayName: "Step 5 Preview",
428
+ hasVision: true,
429
+ // 官方规格:1M context window / 64k max output(600B 总参 / 27B 激活 MoE)
430
+ contextWindow: 1e6,
594
431
  maxOutputTokens: 65536,
595
432
  jsonOutput: true,
596
433
  fnCall: true,
597
434
  supportsTool: true,
598
435
  supportsReasoningEffort: true,
599
- price: { input: toCnyCredits(3), output: toCnyCredits(9) },
600
- provider: "qwen",
601
- description: "\u5343\u95EE3 \u7F16\u7A0B\u65D7\u8230\uFF0C1M \u957F\u4E0A\u4E0B\u6587\uFF0C\u9002\u5408\u4EE3\u7801\u751F\u6210\u4E0E Agent \u7F16\u7A0B\u3002"
436
+ // 官方价:输入 ¥7/M、缓存命中 ¥0.35/M、输出 ¥20/M
437
+ price: {
438
+ input: toCnyCredits(7),
439
+ output: toCnyCredits(20),
440
+ inputCacheHit: toCnyCredits(0.35)
441
+ },
442
+ provider: "stepfun",
443
+ description: "\u9636\u8DC3\u661F\u8FB0\u65B0\u4E00\u4EE3\u65D7\u8230\u591A\u6A21\u6001\u63A8\u7406\u6A21\u578B\uFF0C1M \u4E0A\u4E0B\u6587\uFF0C\u652F\u6301\u590D\u6742\u903B\u8F91\u5206\u89E3\u4E0E\u957F\u7A0B\u89C4\u5212\u3002"
602
444
  },
445
+ // ── 旗舰语言推理 ──
603
446
  {
604
- name: "qwen3-coder-flash",
605
- displayName: "Qwen3 Coder Flash",
447
+ name: "step-3.5-flash",
448
+ displayName: "Step 3.5 Flash",
606
449
  hasVision: false,
607
- contextWindow: 1048576,
450
+ contextWindow: 262144,
608
451
  maxOutputTokens: 65536,
609
452
  jsonOutput: true,
610
453
  fnCall: true,
611
454
  supportsTool: true,
612
455
  supportsReasoningEffort: true,
613
- price: { input: toCnyCredits(1), output: toCnyCredits(3) },
614
- provider: "qwen"
456
+ // 官方价:输入 ¥0.7/M、缓存命中 ¥0.14/M、输出 ¥2.1/M
457
+ price: {
458
+ input: toCnyCredits(0.7),
459
+ output: toCnyCredits(2.1),
460
+ inputCacheHit: toCnyCredits(0.14)
461
+ },
462
+ provider: "stepfun",
463
+ description: "\u9636\u8DC3\u661F\u8FB0\u65D7\u8230\u8BED\u8A00\u63A8\u7406\u6A21\u578B\uFF0C196B \u603B\u53C2\u6570 / 11B \u6FC0\u6D3B\u53C2\u6570 MoE\uFF0C\u9AD8\u901F\u63A8\u7406\u4E0E\u5DE5\u5177\u8C03\u7528\u3002"
615
464
  },
616
465
  {
617
- name: "qwen3-coder-480b-a35b-instruct",
618
- displayName: "Qwen3 Coder 480B A35B Instruct",
466
+ name: "step-3.5-flash-2603",
467
+ displayName: "Step 3.5 Flash (Agent\u4F18\u5316\u7248)",
619
468
  hasVision: false,
620
- contextWindow: 1048576,
469
+ contextWindow: 262144,
621
470
  maxOutputTokens: 65536,
622
471
  jsonOutput: true,
623
472
  fnCall: true,
624
473
  supportsTool: true,
625
474
  supportsReasoningEffort: true,
626
- price: { input: toCnyCredits(5), output: toCnyCredits(15) },
627
- provider: "qwen"
475
+ price: {
476
+ input: toCnyCredits(0.7),
477
+ output: toCnyCredits(2.1),
478
+ inputCacheHit: toCnyCredits(0.14)
479
+ },
480
+ provider: "stepfun",
481
+ description: "\u9488\u5BF9\u9AD8\u9891 Agent \u573A\u666F\u4F18\u5316\uFF0CToken \u6548\u7387\u4E0E\u63A8\u7406\u901F\u5EA6\u66F4\u4F73\uFF0C\u652F\u6301 low/high reasoning_effort\u3002"
628
482
  },
629
- // ── 长上下文 ──
483
+ // ── 经典视觉模型 ──
630
484
  {
631
- name: "qwen-long",
632
- displayName: "Qwen Long",
633
- hasVision: false,
634
- contextWindow: 10485760,
485
+ name: "step-1o-turbo-vision",
486
+ displayName: "Step 1o Turbo Vision",
487
+ hasVision: true,
488
+ contextWindow: 65536,
635
489
  maxOutputTokens: 8192,
636
490
  jsonOutput: true,
637
- fnCall: false,
638
- supportsTool: false,
639
- price: { input: toCnyCredits(0.5), output: toCnyCredits(2) },
640
- provider: "qwen",
641
- description: "10M \u8D85\u957F\u4E0A\u4E0B\u6587\uFF0C\u9002\u5408\u957F\u6587\u6863\u5904\u7406\u3002"
491
+ fnCall: true,
492
+ supportsTool: true,
493
+ price: {
494
+ input: toCnyCredits(2.5),
495
+ output: toCnyCredits(8),
496
+ inputCacheHit: toCnyCredits(0.5)
497
+ },
498
+ provider: "stepfun",
499
+ description: "\u9AD8\u54CD\u5E94\u901F\u5EA6\u89C6\u89C9\u6A21\u578B\uFF0C\u652F\u6301\u56FE\u7247\u4E0E\u6587\u6863\u7406\u89E3\u3002"
642
500
  },
643
- // ── 旧版主力(仍常用) ──
501
+ // ── 经典通用语言模型 ──
644
502
  {
645
- name: "qwen-plus",
646
- displayName: "Qwen Plus",
647
- hasVision: true,
648
- contextWindow: 1048576,
649
- maxOutputTokens: 32768,
503
+ name: "step-2-16k",
504
+ displayName: "Step 2 16K",
505
+ hasVision: false,
506
+ contextWindow: 16384,
507
+ maxOutputTokens: 4096,
650
508
  jsonOutput: true,
651
509
  fnCall: true,
652
510
  supportsTool: true,
653
- supportsReasoningEffort: true,
654
- price: { input: toCnyCredits(0.8), output: toCnyCredits(2) },
655
- provider: "qwen"
511
+ price: { input: toCnyCredits(38), output: toCnyCredits(120) },
512
+ provider: "stepfun",
513
+ description: "\u5343\u4EBF\u53C2\u6570 MoE \u8BED\u8A00\u5927\u6A21\u578B\uFF0C\u9002\u5408\u903B\u8F91\u590D\u6742\u957F\u6587\u672C\u751F\u6210\u3002"
656
514
  },
657
515
  {
658
- name: "qwen-turbo",
659
- displayName: "Qwen Turbo",
516
+ name: "step-1-flash",
517
+ displayName: "Step 1 Flash",
660
518
  hasVision: false,
661
- contextWindow: 131072,
662
- maxOutputTokens: 8192,
519
+ contextWindow: 8192,
520
+ maxOutputTokens: 4096,
663
521
  jsonOutput: true,
664
522
  fnCall: true,
665
523
  supportsTool: true,
666
- price: { input: toCnyCredits(0.3), output: toCnyCredits(0.6) },
667
- provider: "qwen"
524
+ price: { input: toCnyCredits(1), output: toCnyCredits(4) },
525
+ provider: "stepfun"
668
526
  },
669
527
  {
670
- name: "qwen-flash",
671
- displayName: "Qwen Flash",
528
+ name: "step-1-8k",
529
+ displayName: "Step 1 8K",
672
530
  hasVision: false,
673
- contextWindow: 131072,
674
- maxOutputTokens: 8192,
531
+ contextWindow: 8192,
532
+ maxOutputTokens: 4096,
675
533
  jsonOutput: true,
676
534
  fnCall: true,
677
535
  supportsTool: true,
678
- price: { input: toCnyCredits(0.1), output: toCnyCredits(0.3) },
679
- provider: "qwen"
536
+ price: { input: toCnyCredits(5), output: toCnyCredits(20) },
537
+ provider: "stepfun"
680
538
  },
681
- // ── 推理(QwQ) ──
682
539
  {
683
- name: "qwq-plus",
684
- displayName: "QwQ Plus",
540
+ name: "step-1-32k",
541
+ displayName: "Step 1 32K",
685
542
  hasVision: false,
686
- contextWindow: 131072,
687
- maxOutputTokens: 32768,
543
+ contextWindow: 32768,
544
+ maxOutputTokens: 4096,
688
545
  jsonOutput: true,
689
546
  fnCall: true,
690
547
  supportsTool: true,
691
- supportsReasoningEffort: true,
692
- price: { input: toCnyCredits(2), output: toCnyCredits(8) },
693
- provider: "qwen",
694
- description: "\u6DF1\u5EA6\u601D\u8003\u63A8\u7406\u6A21\u578B\u3002"
695
- }
696
- ];
697
- var qwenTokenPlanModels = [
698
- // ── 千问 ──
548
+ price: { input: toCnyCredits(15), output: toCnyCredits(70) },
549
+ provider: "stepfun"
550
+ },
699
551
  {
700
- name: "qwen3.8-max",
701
- displayName: "Qwen3.8 Max",
702
- hasVision: true,
703
- contextWindow: 1e6,
704
- maxOutputTokens: 131072,
552
+ name: "step-1-128k",
553
+ displayName: "Step 1 128K",
554
+ hasVision: false,
555
+ contextWindow: 131072,
556
+ maxOutputTokens: 4096,
705
557
  jsonOutput: true,
706
558
  fnCall: true,
707
559
  supportsTool: true,
708
- supportsReasoningEffort: true,
709
- price: { input: 0, output: 0 },
710
- provider: "qwen",
711
- description: "2.4\u4E07\u4EBF\u53C2\u6570 MoE \u65D7\u8230\uFF0C\u63A8\u7406\u3001\u89C6\u89C9\u7406\u89E3\u3001\u6587\u672C\u751F\u6210\uFF1B1M \u4E0A\u4E0B\u6587\u3001131K \u8F93\u51FA\u3001262K \u601D\u7EF4\u94FE\u3002"
560
+ price: { input: toCnyCredits(40), output: toCnyCredits(200) },
561
+ provider: "stepfun"
712
562
  },
713
563
  {
714
- name: "qwen3.7-max",
715
- displayName: "Qwen3.7 Max",
564
+ name: "step-1-256k",
565
+ displayName: "Step 1 256K",
716
566
  hasVision: false,
717
567
  contextWindow: 262144,
718
- maxOutputTokens: 32768,
568
+ maxOutputTokens: 4096,
719
569
  jsonOutput: true,
720
570
  fnCall: true,
721
571
  supportsTool: true,
722
- supportsReasoningEffort: true,
723
- price: { input: 0, output: 0 },
724
- provider: "qwen",
725
- description: "\u63A8\u7406\u6A21\u578B\u3001\u6587\u672C\u751F\u6210\u3002"
572
+ price: { input: toCnyCredits(60), output: toCnyCredits(300) },
573
+ provider: "stepfun"
726
574
  },
727
575
  {
728
- name: "qwen3.7-plus",
729
- displayName: "Qwen3.7 Plus",
576
+ name: "step-1v-8k",
577
+ displayName: "Step 1V 8K",
730
578
  hasVision: true,
731
- contextWindow: 262144,
732
- maxOutputTokens: 32768,
579
+ contextWindow: 8192,
580
+ maxOutputTokens: 4096,
733
581
  jsonOutput: true,
734
582
  fnCall: true,
735
583
  supportsTool: true,
736
- supportsReasoningEffort: true,
737
- price: { input: 0, output: 0 },
738
- provider: "qwen",
739
- description: "\u63A8\u7406\u6A21\u578B\u3001\u89C6\u89C9\u7406\u89E3\u3001\u6587\u672C\u751F\u6210\u3002"
584
+ price: { input: toCnyCredits(5), output: toCnyCredits(20) },
585
+ provider: "stepfun"
740
586
  },
741
587
  {
742
- name: "qwen3.6-flash",
743
- displayName: "Qwen3.6 Flash",
588
+ name: "step-1v-32k",
589
+ displayName: "Step 1V 32K",
744
590
  hasVision: true,
745
- contextWindow: 262144,
746
- maxOutputTokens: 32768,
591
+ contextWindow: 32768,
592
+ maxOutputTokens: 4096,
747
593
  jsonOutput: true,
748
594
  fnCall: true,
749
595
  supportsTool: true,
750
- supportsReasoningEffort: true,
751
- price: { input: 0, output: 0 },
752
- provider: "qwen",
753
- description: "\u63A8\u7406\u6A21\u578B\u3001\u89C6\u89C9\u7406\u89E3\u3001\u6587\u672C\u751F\u6210\uFF08\u8F7B\u91CF\u5FEB\u901F\uFF09\u3002"
754
- },
755
- // ── 智谱 AI ──
596
+ price: { input: toCnyCredits(15), output: toCnyCredits(70) },
597
+ provider: "stepfun"
598
+ }
599
+ ];
600
+ var stepfunStepPlanModels = [
756
601
  {
757
- name: "glm-5.2",
758
- displayName: "GLM 5.2",
759
- hasVision: false,
602
+ name: "step-5-preview",
603
+ displayName: "Step 5 Preview",
604
+ hasVision: true,
605
+ // Step Plan 订阅端同样开放 1M context(见 Step Plan / Claude Code 接入文档)
760
606
  contextWindow: 1e6,
761
- maxOutputTokens: 16384,
607
+ maxOutputTokens: 65536,
762
608
  jsonOutput: true,
763
609
  fnCall: true,
764
610
  supportsTool: true,
765
611
  supportsReasoningEffort: true,
766
612
  price: { input: 0, output: 0 },
767
- provider: "qwen",
768
- description: "\u667A\u8C31 AI \u63A8\u7406\u6A21\u578B\u3001\u6587\u672C\u751F\u6210\u3002"
613
+ provider: "stepfun",
614
+ description: "\u9636\u8DC3\u661F\u8FB0\u65B0\u4E00\u4EE3\u65D7\u8230\u591A\u6A21\u6001\u63A8\u7406\u6A21\u578B\uFF0C1M \u4E0A\u4E0B\u6587\uFF0C\u64C5\u957F\u590D\u6742\u4EFB\u52A1\u5206\u89E3\u4E0E\u591A\u6B65\u8BA1\u5212\u3002"
769
615
  },
770
- // ── DeepSeek ──
771
616
  {
772
- name: "deepseek-v4-pro",
773
- displayName: "DeepSeek V4 Pro",
774
- hasVision: false,
775
- contextWindow: 1e6,
776
- maxOutputTokens: 384e3,
617
+ name: "step-3.7-flash",
618
+ displayName: "Step 3.7 Flash",
619
+ hasVision: true,
620
+ contextWindow: 262144,
621
+ maxOutputTokens: 65536,
777
622
  jsonOutput: true,
778
623
  fnCall: true,
779
624
  supportsTool: true,
780
625
  supportsReasoningEffort: true,
781
626
  price: { input: 0, output: 0 },
782
- provider: "qwen",
783
- description: "DeepSeek \u63A8\u7406\u6A21\u578B\u3001\u6587\u672C\u751F\u6210\u3002"
784
- },
785
- // ── 万相(图片生成)──
786
- {
787
- name: "wan2.7-image",
788
- displayName: "Wan2.7 Image",
789
- hasVision: false,
790
- hasImageOutput: true,
791
- contextWindow: 0,
792
- maxOutputTokens: 0,
793
- price: { input: 0, output: 0 },
794
- provider: "qwen",
795
- description: "\u4E07\u76F8\u56FE\u7247\u751F\u6210\u3002"
627
+ provider: "stepfun",
628
+ description: "\u9636\u8DC3\u661F\u8FB0\u65D7\u8230\u591A\u6A21\u6001\u63A8\u7406\u6A21\u578B\uFF0C256K \u4E0A\u4E0B\u6587\uFF0C\u9AD8\u901F\u63A8\u7406 + \u539F\u751F\u591A\u6A21\u6001 + \u5DE5\u5177\u8C03\u7528\uFF0CAgent \u6DF1\u5EA6\u9002\u914D\u3002"
796
629
  },
797
630
  {
798
- name: "wan2.7-image-pro",
799
- displayName: "Wan2.7 Image Pro",
631
+ name: "step-3.5-flash",
632
+ displayName: "Step 3.5 Flash",
800
633
  hasVision: false,
801
- hasImageOutput: true,
802
- contextWindow: 0,
803
- maxOutputTokens: 0,
804
- price: { input: 0, output: 0 },
805
- provider: "qwen",
806
- description: "\u4E07\u76F8\u56FE\u7247\u751F\u6210\uFF08Pro\uFF09\u3002"
807
- }
808
- ];
809
-
810
- // packages/integrations/moonshot/models.ts
811
- var moonshotModels = [
812
- // ── 旗舰 ──
813
- {
814
- name: "kimi-k3",
815
- displayName: "Kimi K3",
816
- hasVision: true,
817
- contextWindow: 1e6,
818
- maxOutputTokens: 262144,
634
+ contextWindow: 262144,
635
+ maxOutputTokens: 65536,
819
636
  jsonOutput: true,
820
637
  fnCall: true,
821
638
  supportsTool: true,
822
639
  supportsReasoningEffort: true,
823
- price: { input: 24, output: 120 },
824
- provider: "moonshot",
825
- description: "Moonshot \u65D7\u8230\u6A21\u578B\uFF0C\u539F\u751F\u591A\u6A21\u6001\uFF0C1M \u4E0A\u4E0B\u6587\uFF0C\u957F\u7A0B\u7F16\u7A0B\u4E0E\u6DF1\u5EA6\u63A8\u7406\u3002"
640
+ price: { input: 0, output: 0 },
641
+ provider: "stepfun",
642
+ description: "\u9636\u8DC3\u661F\u8FB0\u65D7\u8230\u8BED\u8A00\u63A8\u7406\u6A21\u578B\uFF0C196B MoE \u67B6\u6784\uFF0C\u9AD8\u901F\u63A8\u7406\u4E0E\u5DE5\u5177\u8C03\u7528\u3002"
826
643
  },
827
- // ── 通用 ──
828
644
  {
829
- name: "kimi-k2.6",
830
- displayName: "Kimi K2.6",
831
- hasVision: true,
645
+ name: "step-3.5-flash-2603",
646
+ displayName: "Step 3.5 Flash (Agent\u4F18\u5316\u7248)",
647
+ hasVision: false,
832
648
  contextWindow: 262144,
833
- maxOutputTokens: 262144,
834
- jsonOutput: true,
835
- fnCall: true,
836
- supportsTool: true,
837
- supportsReasoningEffort: true,
838
- price: { input: 4.8, output: 19.2 },
839
- provider: "moonshot",
840
- description: "Moonshot \u9AD8\u6027\u80FD\u901A\u7528\u6A21\u578B\u3002"
841
- }
842
- ];
843
- var kimiCodeModels = [
844
- // ── 旗舰编程 ──
845
- {
846
- name: "k3",
847
- displayName: "Kimi K3",
848
- hasVision: true,
849
- contextWindow: 1e6,
850
- maxOutputTokens: 262144,
649
+ maxOutputTokens: 65536,
851
650
  jsonOutput: true,
852
651
  fnCall: true,
853
652
  supportsTool: true,
854
653
  supportsReasoningEffort: true,
855
654
  price: { input: 0, output: 0 },
856
- provider: "moonshot",
857
- description: "Kimi \u6700\u5F3A\u65D7\u8230\u7F16\u7A0B\u6A21\u578B\uFF0C2.8T \u53C2\u6570\uFF0C1M \u4E0A\u4E0B\u6587\uFF0Clow/high/max \u4E09\u6863\u601D\u8003\u6DF1\u5EA6\uFF0C\u64C5\u957F\u590D\u6742\u5DE5\u7A0B\u4E0E\u957F\u7A0B\u63A8\u7406\u3002Moderato \u53CA\u4EE5\u4E0A\u53EF\u7528\u3002"
655
+ provider: "stepfun",
656
+ description: "\u9488\u5BF9\u9AD8\u9891 Agent \u573A\u666F\u4F18\u5316\uFF0C\u66F4\u4F73 Token \u6548\u7387\u4E0E\u63A8\u7406\u901F\u5EA6\uFF0C\u652F\u6301 low/high \u63A8\u7406\u5F3A\u5EA6\u3002"
858
657
  },
859
- // ── 旗舰编程(256K 上下文版)──
860
658
  {
861
- name: "k3-256k",
862
- displayName: "Kimi K3 256K",
659
+ name: "step-1o-turbo-vision",
660
+ displayName: "Step 1o Turbo Vision",
863
661
  hasVision: true,
864
- contextWindow: 262144,
865
- maxOutputTokens: 262144,
662
+ contextWindow: 65536,
663
+ maxOutputTokens: 8192,
866
664
  jsonOutput: true,
867
665
  fnCall: true,
868
666
  supportsTool: true,
869
- supportsReasoningEffort: true,
870
667
  price: { input: 0, output: 0 },
871
- provider: "moonshot",
872
- description: "K3 \u7684 256K \u4E0A\u4E0B\u6587\u7248\uFF0C\u6D88\u8017\u7EA6\u4E3A k3 \u7684\u4E00\u534A\uFF0C\u9002\u5408\u65E5\u5E38\u95EE\u7B54\u4E0E\u4EE3\u7801\u8865\u5168\u3002\u4E0D\u652F\u6301\u89C6\u9891\u8F93\u5165\u3002Moderato \u53CA\u4EE5\u4E0A\u53EF\u7528\u3002"
668
+ provider: "stepfun"
873
669
  },
874
- // ── 成熟编程 ──
875
670
  {
876
- name: "kimi-for-coding",
877
- displayName: "Kimi K2.7 Code",
878
- hasVision: true,
879
- contextWindow: 262144,
880
- maxOutputTokens: 262144,
671
+ name: "step-2-16k",
672
+ displayName: "Step 2 16K",
673
+ hasVision: false,
674
+ contextWindow: 16384,
675
+ maxOutputTokens: 4096,
881
676
  jsonOutput: true,
882
677
  fnCall: true,
883
678
  supportsTool: true,
884
- supportsReasoningEffort: true,
885
679
  price: { input: 0, output: 0 },
886
- provider: "moonshot",
887
- description: "\u6210\u719F\u7A33\u5B9A\u7684 Coding \u6A21\u578B\uFF0CThinking \u5F00\u542F\u4E0B\u53EF\u9760\u9075\u5FAA\u6307\u4EE4\uFF0C\u7F16\u7A0B\u4EFB\u52A1\u6210\u529F\u7387\u9AD8\u3002\u6240\u6709\u4F1A\u5458\u53EF\u7528\u3002"
680
+ provider: "stepfun"
888
681
  },
889
- // ── 高速编程 ──
890
682
  {
891
- name: "kimi-for-coding-highspeed",
892
- displayName: "Kimi K2.7 Code \u9AD8\u901F\u7248",
893
- hasVision: true,
683
+ name: "step-router-v1",
684
+ displayName: "Step Router V1",
685
+ hasVision: false,
894
686
  contextWindow: 262144,
895
- maxOutputTokens: 262144,
687
+ maxOutputTokens: 65536,
896
688
  jsonOutput: true,
897
689
  fnCall: true,
898
690
  supportsTool: true,
899
691
  supportsReasoningEffort: true,
900
692
  price: { input: 0, output: 0 },
901
- provider: "moonshot",
902
- description: "K2.7 Code \u9AD8\u901F\u7248\uFF0C\u7F16\u7801\u80FD\u529B\u4E00\u81F4\uFF0C\u8F93\u51FA\u901F\u5EA6\u7EA6 6 \u500D\u3001\u6D88\u8017\u7EA6 3 \u500D\u3002Allegretto \u53CA\u4EE5\u4E0A\u53EF\u7528\u3002"
693
+ provider: "stepfun",
694
+ description: "\u667A\u80FD\u8DEF\u7531\u6A21\u578B\uFF0C\u81EA\u52A8\u5728 Step \u7CFB\u5217\u6A21\u578B\u95F4\u8C03\u5EA6\uFF0C\u8BA2\u9605\u53EF\u7528\u3002"
903
695
  }
904
696
  ];
905
697
 
@@ -1475,107 +1267,616 @@ function record(key, value$1, message$1) {
1475
1267
  if (!keyDataset.typed || !valueDataset.typed) dataset.typed = false;
1476
1268
  if (keyDataset.typed) dataset.value[keyDataset.value] = valueDataset.value;
1477
1269
  }
1478
- } else _addIssue(this, "type", dataset, config$1);
1479
- return dataset;
1480
- }
1481
- });
1482
- }
1483
- // @__NO_SIDE_EFFECTS__
1484
- function string(message$1) {
1485
- return _standardSchema({
1486
- kind: "schema",
1487
- type: "string",
1488
- reference: string,
1489
- expects: "string",
1490
- async: false,
1491
- message: message$1,
1492
- "~run"(dataset, config$1) {
1493
- if (typeof dataset.value === "string") dataset.typed = true;
1494
- else _addIssue(this, "type", dataset, config$1);
1495
- return dataset;
1270
+ } else _addIssue(this, "type", dataset, config$1);
1271
+ return dataset;
1272
+ }
1273
+ });
1274
+ }
1275
+ // @__NO_SIDE_EFFECTS__
1276
+ function string(message$1) {
1277
+ return _standardSchema({
1278
+ kind: "schema",
1279
+ type: "string",
1280
+ reference: string,
1281
+ expects: "string",
1282
+ async: false,
1283
+ message: message$1,
1284
+ "~run"(dataset, config$1) {
1285
+ if (typeof dataset.value === "string") dataset.typed = true;
1286
+ else _addIssue(this, "type", dataset, config$1);
1287
+ return dataset;
1288
+ }
1289
+ });
1290
+ }
1291
+ // @__NO_SIDE_EFFECTS__
1292
+ function pipe(...pipe$1) {
1293
+ return _standardSchema({
1294
+ ...pipe$1[0],
1295
+ pipe: pipe$1,
1296
+ "~run"(dataset, config$1) {
1297
+ for (const item of pipe$1) if (item.kind !== "metadata") {
1298
+ if (dataset.issues && (item.kind === "schema" || item.kind === "transformation")) {
1299
+ dataset.typed = false;
1300
+ break;
1301
+ }
1302
+ if (!dataset.issues || !config$1.abortEarly && !config$1.abortPipeEarly) dataset = item["~run"](dataset, config$1);
1303
+ }
1304
+ return dataset;
1305
+ }
1306
+ });
1307
+ }
1308
+
1309
+ // packages/ai/agent/createAgentSchema.ts
1310
+ var DEFAULT_REASONING_EFFORT = "medium";
1311
+ var PROVIDER_REASONING_EFFORT_VALUES = {
1312
+ openai: ["none", "minimal", "low", "medium", "high", "xhigh", "max"],
1313
+ deepseek: ["low", "high", "max"],
1314
+ // nolo (Ollama Cloud) 支持 DeepSeek/Kimi/GLM 等 thinking 模型,
1315
+ // reasoning_effort 通过 OpenAI 兼容端点透传到 Ollama Cloud。
1316
+ nolo: ["low", "high", "max"],
1317
+ xai: ["low", "medium", "high"],
1318
+ grok: ["low", "medium", "high"],
1319
+ // none:关闭思考;必须保留,否则上游 clamp 会把 none 抬成 low,
1320
+ // kimi-code proxy 的 none/off → thinking.disabled 分支永远接不到。
1321
+ kimi: ["none", "low", "high", "max"],
1322
+ moonshot: ["none", "low", "high", "max"],
1323
+ // Qwen 用 enable_thinking (bool) 而非 reasoning_effort → 隐藏下拉
1324
+ qwen: [],
1325
+ // MiniMax M3: 接受这些值但所有非 none 效果相同
1326
+ minimax: ["none", "low", "medium", "high"],
1327
+ // Cursor: 推理强度在模型名后缀 (如 -high),不走独立参数
1328
+ cursor: [],
1329
+ // MiMo: 保守默认
1330
+ mimo: ["low", "medium", "high"],
1331
+ // CommandCode Provider API 透传 reasoning_effort(low/medium/high/xhigh/max),
1332
+ // 端点按各模型支持的子集自动 clamp(见 commandcode.ai/docs/provider-api)。
1333
+ commandcode: ["low", "medium", "high", "xhigh", "max"],
1334
+ // 阶跃星辰(StepFun)推理模型(step-3.5-flash-2603 / step-3.7-flash 等)支持 low / medium / high
1335
+ stepfun: ["none", "low", "medium", "high"]
1336
+ };
1337
+ var greetingMenuItemSchema = object({
1338
+ id: pipe(string(), minLength(1)),
1339
+ label: pipe(string(), minLength(1)),
1340
+ userMessage: optional(string())
1341
+ });
1342
+ var greetingConfigSchema = object({
1343
+ text: optional(pipe(string(), trim())),
1344
+ menu: optional(array(greetingMenuItemSchema))
1345
+ });
1346
+ var runtimeToolPolicySchema = looseObject({
1347
+ version: optional(literal(1)),
1348
+ agentTools: optional(array(string())),
1349
+ runtimeTools: optional(array(string())),
1350
+ workspace: optional(
1351
+ object({
1352
+ mode: optional(picklist(["none", "current", "lease"])),
1353
+ writableRoots: optional(array(string())),
1354
+ cwd: optional(string())
1355
+ })
1356
+ ),
1357
+ shell: optional(record(string(), string())),
1358
+ isolation: optional(record(string(), string())),
1359
+ git: optional(record(string(), string())),
1360
+ budget: optional(record(string(), string())),
1361
+ audit: optional(record(string(), string()))
1362
+ });
1363
+ var referenceItemSchema = pipe(
1364
+ object({
1365
+ dbKey: string(),
1366
+ title: string(),
1367
+ type: picklist(["knowledge", "instruction", "page"])
1368
+ }),
1369
+ transform((data) => ({
1370
+ ...data,
1371
+ type: data.type === "page" ? "knowledge" : data.type
1372
+ }))
1373
+ );
1374
+
1375
+ // packages/integrations/anthropic/anthropicModels.ts
1376
+ var anthropicModels = [
1377
+ {
1378
+ name: "claude-3-5-sonnet-latest",
1379
+ displayName: "Claude 3.5 Sonnet",
1380
+ hasVision: true,
1381
+ description: "Our most intelligent model to date",
1382
+ contextWindow: 2e5,
1383
+ maxOutputTokens: 8192,
1384
+ price: {
1385
+ input: 27,
1386
+ output: 135,
1387
+ cachingWrite: 33.75,
1388
+ cachingRead: 2.7
1389
+ }
1390
+ },
1391
+ {
1392
+ name: "claude-3-7-sonnet-latest",
1393
+ displayName: "Claude 3.7 Sonnet",
1394
+ hasVision: true,
1395
+ description: "Our most intelligent model to date",
1396
+ contextWindow: 2e5,
1397
+ maxOutputTokens: 8192,
1398
+ price: {
1399
+ input: 27,
1400
+ output: 135,
1401
+ cachingWrite: 33.75,
1402
+ cachingRead: 2.7
1403
+ }
1404
+ },
1405
+ {
1406
+ name: "claude-3-5-haiku-20241022",
1407
+ displayName: "Claude 3.5 Haiku",
1408
+ hasVision: false,
1409
+ description: "Fastest, most cost-effective model",
1410
+ contextWindow: 2e5,
1411
+ maxOutputTokens: 8192,
1412
+ price: {
1413
+ input: 7.2,
1414
+ output: 36,
1415
+ cachingWrite: 9,
1416
+ cachingRead: 0.72
1417
+ }
1418
+ }
1419
+ ];
1420
+
1421
+ // packages/integrations/anthropic/anthropicOAuthModels.ts
1422
+ var oauthModel = ({ name, displayName, contextWindow, thinkingMode, maxOutputTokens }) => ({
1423
+ name,
1424
+ displayName,
1425
+ hasVision: true,
1426
+ description: `OAuth \u8BA2\u9605\u6A21\u578B\uFF08${displayName}\uFF0C${thinkingMode === "adaptive" ? "Adaptive thinking" : "Extended thinking"}\uFF09`,
1427
+ contextWindow,
1428
+ ...maxOutputTokens ? { maxOutputTokens } : {},
1429
+ supportsReasoningEffort: true,
1430
+ price: { input: 0, output: 0 }
1431
+ });
1432
+ var anthropicOAuthModels = [
1433
+ // 5 代(1M + Adaptive thinking always-on;官方 max output 128k)
1434
+ oauthModel({ name: "claude-fable-5", displayName: "Claude Fable 5", contextWindow: 1e6, thinkingMode: "adaptive", maxOutputTokens: 128e3 }),
1435
+ oauthModel({ name: "claude-opus-5", displayName: "Claude Opus 5", contextWindow: 1e6, thinkingMode: "adaptive", maxOutputTokens: 128e3 }),
1436
+ oauthModel({ name: "claude-sonnet-5", displayName: "Claude Sonnet 5", contextWindow: 1e6, thinkingMode: "adaptive", maxOutputTokens: 128e3 }),
1437
+ // 4.6/4.7/4.8 系(Adaptive thinking;context 官方未单列,参照 fuzzy claude-4.6→1M)
1438
+ oauthModel({ name: "claude-opus-4-8", displayName: "Claude Opus 4.8", contextWindow: 1e6, thinkingMode: "adaptive" }),
1439
+ oauthModel({ name: "claude-opus-4-7", displayName: "Claude Opus 4.7", contextWindow: 1e6, thinkingMode: "adaptive" }),
1440
+ oauthModel({ name: "claude-sonnet-4-6", displayName: "Claude Sonnet 4.6", contextWindow: 1e6, thinkingMode: "adaptive" }),
1441
+ oauthModel({ name: "claude-opus-4-6", displayName: "Claude Opus 4.6", contextWindow: 1e6, thinkingMode: "adaptive" }),
1442
+ // 4.5 系(Extended thinking;官方发布规格 1M)
1443
+ oauthModel({ name: "claude-opus-4-5-20251101", displayName: "Claude Opus 4.5", contextWindow: 1e6, thinkingMode: "extended" }),
1444
+ oauthModel({ name: "claude-sonnet-4-5-20250929", displayName: "Claude Sonnet 4.5", contextWindow: 1e6, thinkingMode: "extended" }),
1445
+ // haiku-4-5(官方明确 context=200k + Extended thinking)
1446
+ oauthModel({ name: "claude-haiku-4-5-20251001", displayName: "Claude Haiku 4.5", contextWindow: 2e5, thinkingMode: "extended" })
1447
+ ];
1448
+ var OAUTH_MODEL_THINKING_MODE = new Map(
1449
+ anthropicOAuthModels.map((m) => [m.name, m.thinkingMode])
1450
+ );
1451
+ function isAdaptiveThinkingModelId(model) {
1452
+ if (!model) return false;
1453
+ const tableMode = OAUTH_MODEL_THINKING_MODE.get(model);
1454
+ if (tableMode === "adaptive") return true;
1455
+ if (tableMode === "extended") return false;
1456
+ const n = model.toLowerCase();
1457
+ return n.includes("fable-5") || n.includes("opus-5") || n.includes("sonnet-5") || n.includes("opus-4-8") || n.includes("opus-4-7") || n.includes("sonnet-4-6") || n.includes("opus-4-6");
1458
+ }
1459
+
1460
+ // packages/ai/agent/liveAudioModel.ts
1461
+ var DEFAULT_GOOGLE_LIVE_AUDIO_MODEL = "gemini-3.1-flash-live-preview";
1462
+
1463
+ // packages/integrations/google/models.ts
1464
+ var googleModels = [
1465
+ {
1466
+ name: DEFAULT_GOOGLE_LIVE_AUDIO_MODEL,
1467
+ displayName: "Gemini 3.1 Flash Live",
1468
+ provider: "google",
1469
+ description: "Gemini Live API model for low-latency real-time voice conversations.",
1470
+ hasVision: true,
1471
+ hasAudio: true,
1472
+ contextWindow: 1048576,
1473
+ maxOutputTokens: 65500,
1474
+ supportsTool: true,
1475
+ price: {
1476
+ input: 4,
1477
+ output: 24,
1478
+ cachingWrite: 0.4,
1479
+ cachingRead: 0.4
1480
+ }
1481
+ },
1482
+ {
1483
+ name: "gemini-3.6-flash",
1484
+ displayName: "Gemini 3.6 Flash",
1485
+ provider: "google",
1486
+ description: "Gemini 3.6 Flash model for fast frontier agentic, coding, and multimodal tasks.",
1487
+ hasVision: true,
1488
+ hasAudio: true,
1489
+ contextWindow: 1048576,
1490
+ maxOutputTokens: 65536,
1491
+ supportsTool: true,
1492
+ supportsReasoningEffort: true,
1493
+ price: {
1494
+ input: 12,
1495
+ output: 72,
1496
+ cachingWrite: 1.2,
1497
+ cachingRead: 1.2
1498
+ },
1499
+ serviceTierPriceMultipliers: {
1500
+ batch: { inputOutput: 0.5, cache: 0.5 },
1501
+ flex: { inputOutput: 0.5, cache: 0.08 / 0.15 },
1502
+ priority: { inputOutput: 1.8, cache: 1.8 }
1503
+ }
1504
+ },
1505
+ {
1506
+ name: "gemini-3.7-flash",
1507
+ displayName: "Gemini 3.7 Flash",
1508
+ provider: "google",
1509
+ description: "Gemini 3.7 Flash model for fast frontier agentic, coding, and multimodal tasks.",
1510
+ hasVision: true,
1511
+ hasAudio: true,
1512
+ contextWindow: 1048576,
1513
+ maxOutputTokens: 65536,
1514
+ supportsTool: true,
1515
+ supportsReasoningEffort: true,
1516
+ // Antigravity's subscription wire route is tiered; Gemini API uses this logical id.
1517
+ price: {
1518
+ input: 6,
1519
+ output: 30,
1520
+ cachingWrite: 0.6,
1521
+ cachingRead: 0.6
1522
+ }
1523
+ },
1524
+ {
1525
+ name: "gemini-3.8-flash",
1526
+ displayName: "Gemini 3.8 Flash",
1527
+ provider: "google",
1528
+ description: "Gemini 3.8 Flash model for fast frontier agentic, coding, and multimodal tasks.",
1529
+ hasVision: true,
1530
+ hasAudio: true,
1531
+ contextWindow: 1048576,
1532
+ maxOutputTokens: 65536,
1533
+ supportsTool: true,
1534
+ supportsReasoningEffort: true,
1535
+ price: {
1536
+ input: 6,
1537
+ output: 30,
1538
+ cachingWrite: 0.6,
1539
+ cachingRead: 0.6
1540
+ }
1541
+ },
1542
+ {
1543
+ name: "gemini-2.5-pro",
1544
+ displayName: "Gemini 2.5 Pro",
1545
+ provider: "google",
1546
+ description: "Gemini 2.5 Pro model for complex reasoning, coding, and large context multimodal tasks.",
1547
+ hasVision: true,
1548
+ hasAudio: true,
1549
+ contextWindow: 1048576,
1550
+ maxOutputTokens: 65536,
1551
+ supportsTool: true,
1552
+ supportsReasoningEffort: true,
1553
+ price: {
1554
+ input: 10,
1555
+ output: 40,
1556
+ cachingWrite: 2.5,
1557
+ cachingRead: 2.5
1558
+ }
1559
+ },
1560
+ {
1561
+ name: "gemini-3.1-pro",
1562
+ displayName: "Gemini 3.1 Pro",
1563
+ provider: "google",
1564
+ description: "Gemini 3.1 Pro frontier reasoning, coding, and multimodal model.",
1565
+ hasVision: true,
1566
+ hasAudio: true,
1567
+ contextWindow: 1048576,
1568
+ maxOutputTokens: 65536,
1569
+ supportsTool: true,
1570
+ supportsReasoningEffort: true,
1571
+ price: {
1572
+ input: 16,
1573
+ output: 96,
1574
+ cachingWrite: 4,
1575
+ cachingRead: 4
1576
+ }
1577
+ }
1578
+ ];
1579
+
1580
+ // packages/integrations/openai/models.ts
1581
+ var GPT_5_5_STANDARD_PRICE = {
1582
+ input: 40,
1583
+ output: 240,
1584
+ inputCacheHit: 4
1585
+ };
1586
+ var GPT_5_5_LONG_CONTEXT_PRICE = {
1587
+ input: 80,
1588
+ output: 360,
1589
+ inputCacheHit: 8
1590
+ };
1591
+ var GPT_5_5_PRO_STANDARD_PRICE = {
1592
+ input: 240,
1593
+ output: 1440,
1594
+ inputCacheHit: 0
1595
+ };
1596
+ var GPT_5_5_PRO_LONG_CONTEXT_PRICE = {
1597
+ input: 480,
1598
+ output: 2160,
1599
+ inputCacheHit: 0
1600
+ };
1601
+ var GPT_5_6_SOL_STANDARD_PRICE = {
1602
+ input: 32,
1603
+ output: 160,
1604
+ inputCacheHit: 3.2
1605
+ };
1606
+ var GPT_5_6_SOL_LONG_CONTEXT_PRICE = {
1607
+ input: 64,
1608
+ output: 240,
1609
+ inputCacheHit: 6.4
1610
+ };
1611
+ var GPT_5_6_TERRA_STANDARD_PRICE = {
1612
+ input: 16,
1613
+ output: 96,
1614
+ inputCacheHit: 1.6
1615
+ };
1616
+ var GPT_5_6_TERRA_LONG_CONTEXT_PRICE = {
1617
+ input: 32,
1618
+ output: 144,
1619
+ inputCacheHit: 3.2
1620
+ };
1621
+ var GPT_5_6_LUNA_PRICE = {
1622
+ input: 1.6,
1623
+ output: 9.6,
1624
+ inputCacheHit: 0.16
1625
+ };
1626
+ var GPT_6_ASTRA_STANDARD_PRICE = {
1627
+ input: 80,
1628
+ output: 400,
1629
+ inputCacheHit: 8
1630
+ };
1631
+ var GPT_6_ASTRA_LONG_CONTEXT_PRICE = {
1632
+ input: 160,
1633
+ output: 600,
1634
+ inputCacheHit: 16
1635
+ };
1636
+ var openAIModels = [
1637
+ {
1638
+ name: "gpt-5.5",
1639
+ displayName: "GPT-5.5 Standard",
1640
+ endpointKey: "responses",
1641
+ hasVision: true,
1642
+ contextWindow: 1047576,
1643
+ maxOutputTokens: 128e3,
1644
+ supportsReasoningEffort: true,
1645
+ price: GPT_5_5_STANDARD_PRICE,
1646
+ pricingStrategy: {
1647
+ type: "tiered_context",
1648
+ tiers: [
1649
+ {
1650
+ minContext: 272001,
1651
+ price: GPT_5_5_LONG_CONTEXT_PRICE
1652
+ }
1653
+ ]
1654
+ }
1655
+ },
1656
+ {
1657
+ name: "gpt-5.6-sol",
1658
+ displayName: "GPT-5.6 Sol (Flagship)",
1659
+ endpointKey: "responses",
1660
+ hasVision: true,
1661
+ contextWindow: 105e4,
1662
+ maxOutputTokens: 128e3,
1663
+ supportsReasoningEffort: true,
1664
+ price: GPT_5_6_SOL_STANDARD_PRICE,
1665
+ pricingStrategy: {
1666
+ type: "tiered_context",
1667
+ tiers: [
1668
+ {
1669
+ minContext: 272001,
1670
+ price: GPT_5_6_SOL_LONG_CONTEXT_PRICE
1671
+ }
1672
+ ]
1673
+ }
1674
+ },
1675
+ {
1676
+ name: "gpt-5.6-terra",
1677
+ displayName: "GPT-5.6 Terra (Balanced)",
1678
+ endpointKey: "responses",
1679
+ hasVision: true,
1680
+ contextWindow: 105e4,
1681
+ maxOutputTokens: 128e3,
1682
+ supportsReasoningEffort: true,
1683
+ price: GPT_5_6_TERRA_STANDARD_PRICE,
1684
+ pricingStrategy: {
1685
+ type: "tiered_context",
1686
+ tiers: [
1687
+ {
1688
+ minContext: 272001,
1689
+ price: GPT_5_6_TERRA_LONG_CONTEXT_PRICE
1690
+ }
1691
+ ]
1692
+ }
1693
+ },
1694
+ {
1695
+ name: "gpt-5.6-luna",
1696
+ displayName: "GPT-5.6 Luna (Fast)",
1697
+ // 已知缺口(2026-09-24 官网核对):官方对 >272K 输入有 2x/1.5x 规则,本条目
1698
+ // 未建模档位;平台托管侧又明确「价不随档位浮动」。是否给 BYO 档位属于计费
1699
+ // 策略决定,留待 owner 决策,不在此顺手改。
1700
+ endpointKey: "responses",
1701
+ hasVision: true,
1702
+ contextWindow: 105e4,
1703
+ maxOutputTokens: 128e3,
1704
+ supportsReasoningEffort: true,
1705
+ price: GPT_5_6_LUNA_PRICE
1706
+ },
1707
+ {
1708
+ name: "gpt-6-astra",
1709
+ displayName: "GPT-6 Astra",
1710
+ endpointKey: "responses",
1711
+ hasVision: true,
1712
+ contextWindow: 105e4,
1713
+ maxOutputTokens: 128e3,
1714
+ supportsReasoningEffort: true,
1715
+ price: GPT_6_ASTRA_STANDARD_PRICE,
1716
+ pricingStrategy: {
1717
+ type: "tiered_context",
1718
+ tiers: [
1719
+ {
1720
+ minContext: 272001,
1721
+ price: GPT_6_ASTRA_LONG_CONTEXT_PRICE
1722
+ }
1723
+ ]
1496
1724
  }
1497
- });
1498
- }
1499
- // @__NO_SIDE_EFFECTS__
1500
- function pipe(...pipe$1) {
1501
- return _standardSchema({
1502
- ...pipe$1[0],
1503
- pipe: pipe$1,
1504
- "~run"(dataset, config$1) {
1505
- for (const item of pipe$1) if (item.kind !== "metadata") {
1506
- if (dataset.issues && (item.kind === "schema" || item.kind === "transformation")) {
1507
- dataset.typed = false;
1508
- break;
1725
+ },
1726
+ {
1727
+ name: "gpt-5.5-pro",
1728
+ displayName: "GPT-5.5 Pro",
1729
+ endpointKey: "responses",
1730
+ hasVision: true,
1731
+ contextWindow: 1047576,
1732
+ maxOutputTokens: 128e3,
1733
+ supportsReasoningEffort: true,
1734
+ price: GPT_5_5_PRO_STANDARD_PRICE,
1735
+ pricingStrategy: {
1736
+ type: "tiered_context",
1737
+ tiers: [
1738
+ {
1739
+ minContext: 272001,
1740
+ price: GPT_5_5_PRO_LONG_CONTEXT_PRICE
1509
1741
  }
1510
- if (!dataset.issues || !config$1.abortEarly && !config$1.abortPipeEarly) dataset = item["~run"](dataset, config$1);
1511
- }
1512
- return dataset;
1742
+ ]
1513
1743
  }
1514
- });
1515
- }
1744
+ }
1745
+ ];
1516
1746
 
1517
- // packages/ai/agent/createAgentSchema.ts
1518
- var PROVIDER_REASONING_EFFORT_VALUES = {
1519
- openai: ["none", "minimal", "low", "medium", "high", "xhigh", "max"],
1520
- deepseek: ["low", "high", "max"],
1521
- // nolo (Ollama Cloud) 支持 DeepSeek/Kimi/GLM 等 thinking 模型,
1522
- // reasoning_effort 通过 OpenAI 兼容端点透传到 Ollama Cloud。
1523
- nolo: ["low", "high", "max"],
1524
- xai: ["low", "medium", "high"],
1525
- grok: ["low", "medium", "high"],
1526
- // none:关闭思考;必须保留,否则上游 clamp 会把 none 抬成 low,
1527
- // kimi-code proxy 的 none/off → thinking.disabled 分支永远接不到。
1528
- kimi: ["none", "low", "high", "max"],
1529
- moonshot: ["none", "low", "high", "max"],
1530
- // Qwen 用 enable_thinking (bool) 而非 reasoning_effort → 隐藏下拉
1531
- qwen: [],
1532
- // MiniMax M3: 接受这些值但所有非 none 效果相同
1533
- minimax: ["none", "low", "medium", "high"],
1534
- // Cursor: 推理强度在模型名后缀 (如 -high),不走独立参数
1535
- cursor: [],
1536
- // MiMo: 保守默认
1537
- mimo: ["low", "medium", "high"],
1538
- // CommandCode Provider API 透传 reasoning_effort(low/medium/high/xhigh/max),
1539
- // 端点按各模型支持的子集自动 clamp(见 commandcode.ai/docs/provider-api)。
1540
- commandcode: ["low", "medium", "high", "xhigh", "max"]
1747
+ // packages/ai/llm/deepinfra.ts
1748
+ var DEEPINFRA_CLAUDE_HAIKU_PRICE = {
1749
+ input: 1 * 9,
1750
+ output: 5 * 9
1541
1751
  };
1542
- var greetingMenuItemSchema = object({
1543
- id: pipe(string(), minLength(1)),
1544
- label: pipe(string(), minLength(1)),
1545
- userMessage: optional(string())
1546
- });
1547
- var greetingConfigSchema = object({
1548
- text: optional(pipe(string(), trim())),
1549
- menu: optional(array(greetingMenuItemSchema))
1550
- });
1551
- var runtimeToolPolicySchema = looseObject({
1552
- version: optional(literal(1)),
1553
- agentTools: optional(array(string())),
1554
- runtimeTools: optional(array(string())),
1555
- workspace: optional(
1556
- object({
1557
- mode: optional(picklist(["none", "current", "lease"])),
1558
- writableRoots: optional(array(string())),
1559
- cwd: optional(string())
1560
- })
1561
- ),
1562
- shell: optional(record(string(), string())),
1563
- isolation: optional(record(string(), string())),
1564
- git: optional(record(string(), string())),
1565
- budget: optional(record(string(), string())),
1566
- audit: optional(record(string(), string()))
1567
- });
1568
- var referenceItemSchema = pipe(
1569
- object({
1570
- dbKey: string(),
1571
- title: string(),
1572
- type: picklist(["knowledge", "instruction", "page"])
1573
- }),
1574
- transform((data) => ({
1575
- ...data,
1576
- type: data.type === "page" ? "knowledge" : data.type
1577
- }))
1578
- );
1752
+ var DEEPINFRA_CLAUDE_SONNET_PRICE = {
1753
+ input: 3 * 9,
1754
+ output: 15 * 9
1755
+ };
1756
+ var DEEPINFRA_CLAUDE_OPUS_PRICE = {
1757
+ input: 5 * 9,
1758
+ output: 25 * 9
1759
+ };
1760
+ var DEEPINFRA_CLAUDE_FABLE_PRICE = {
1761
+ input: 10 * 9,
1762
+ output: 50 * 9
1763
+ };
1764
+ var deepinfraModels = [
1765
+ {
1766
+ name: "anthropic/claude-haiku-4-5",
1767
+ displayName: "Anthropic: Claude Haiku 4.5",
1768
+ hasVision: true,
1769
+ price: { ...DEEPINFRA_CLAUDE_HAIKU_PRICE },
1770
+ contextWindow: 195e3,
1771
+ maxOutputTokens: 4092,
1772
+ supportsTool: false
1773
+ },
1774
+ {
1775
+ name: "anthropic/claude-sonnet-5",
1776
+ displayName: "Anthropic: Claude Sonnet 5",
1777
+ hasVision: true,
1778
+ price: { ...DEEPINFRA_CLAUDE_SONNET_PRICE },
1779
+ contextWindow: 976e3,
1780
+ maxOutputTokens: 4092,
1781
+ supportsTool: false
1782
+ },
1783
+ {
1784
+ name: "anthropic/claude-opus-5",
1785
+ displayName: "Anthropic: Claude Opus 5",
1786
+ hasVision: true,
1787
+ price: { ...DEEPINFRA_CLAUDE_OPUS_PRICE },
1788
+ contextWindow: 976e3,
1789
+ maxOutputTokens: 4092,
1790
+ supportsTool: false
1791
+ },
1792
+ {
1793
+ name: "anthropic/claude-fable-5",
1794
+ displayName: "Anthropic: Claude Fable 5",
1795
+ hasVision: true,
1796
+ price: { ...DEEPINFRA_CLAUDE_FABLE_PRICE },
1797
+ contextWindow: 976e3,
1798
+ maxOutputTokens: 4092,
1799
+ supportsTool: false
1800
+ }
1801
+ ];
1802
+
1803
+ // packages/ai/llm/baseten.ts
1804
+ var BASETEN_GLM_53_FLASH_MODEL = "zai-org/GLM-5.3-Flash";
1805
+ var BASETEN_GLM_53_FLASH_PRICE = {
1806
+ input: 1.2,
1807
+ inputCacheHit: 0.24,
1808
+ output: 4
1809
+ };
1810
+ var basetenModels = [
1811
+ {
1812
+ name: BASETEN_GLM_53_FLASH_MODEL,
1813
+ displayName: "GLM 5.3 Flash",
1814
+ hasVision: true,
1815
+ price: { ...BASETEN_GLM_53_FLASH_PRICE },
1816
+ maxOutputTokens: 131072,
1817
+ contextWindow: 1048576,
1818
+ supportsTool: true,
1819
+ supportsReasoningEffort: true
1820
+ }
1821
+ ];
1822
+
1823
+ // packages/ai/llm/runinfra.ts
1824
+ var RUNINFRA_GLM_53_FLASH_MODEL = "glm-5-3-flash";
1825
+ var RUNINFRA_GLM_53_FLASH_PRICE = {
1826
+ input: 0.8,
1827
+ inputCacheHit: 0.08,
1828
+ output: 3.2
1829
+ };
1830
+ var runinfraModels = [
1831
+ {
1832
+ name: RUNINFRA_GLM_53_FLASH_MODEL,
1833
+ displayName: "GLM 5.3 Flash",
1834
+ hasVision: true,
1835
+ price: { ...RUNINFRA_GLM_53_FLASH_PRICE },
1836
+ maxOutputTokens: 1048576,
1837
+ contextWindow: 1048576,
1838
+ supportsTool: true,
1839
+ supportsReasoningEffort: true
1840
+ }
1841
+ ];
1842
+
1843
+ // packages/integrations/xai/models.ts
1844
+ var xaiModels = [
1845
+ {
1846
+ name: "grok-4.6",
1847
+ displayName: "Grok 4.6",
1848
+ hasVision: true,
1849
+ contextWindow: 5e5,
1850
+ price: { input: 16, output: 48, inputCacheHit: 4 },
1851
+ pricingStrategy: {
1852
+ type: "tiered_context",
1853
+ tiers: [
1854
+ {
1855
+ minContext: 200001,
1856
+ price: { input: 32, output: 96, inputCacheHit: 8 }
1857
+ }
1858
+ ]
1859
+ },
1860
+ fnCall: true,
1861
+ jsonOutput: true
1862
+ }
1863
+ ];
1864
+
1865
+ // packages/ai/llm/fireworks.ts
1866
+ var fireworksModels = [
1867
+ {
1868
+ name: "accounts/fireworks/models/minimax-m3",
1869
+ displayName: "MiniMax: MiniMax M3",
1870
+ hasVision: true,
1871
+ price: {
1872
+ input: 2.4,
1873
+ output: 9.6,
1874
+ cachingRead: 0.48
1875
+ },
1876
+ contextWindow: 512e3,
1877
+ supportsTool: true
1878
+ }
1879
+ ];
1579
1880
 
1580
1881
  // packages/ai/llm/reasoningModels.ts
1581
1882
  var REASONING_MODEL_NAMES = /* @__PURE__ */ new Set([
@@ -1591,6 +1892,7 @@ var REASONING_MODEL_NAMES = /* @__PURE__ */ new Set([
1591
1892
  "gemini-3.1-pro-preview",
1592
1893
  "gpt-5.5-pro",
1593
1894
  "gpt-6-astra",
1895
+ "gpt-6-luna",
1594
1896
  "gpt-5.6-sol",
1595
1897
  "gpt-5.6-terra",
1596
1898
  "gpt-5.6-luna",
@@ -1664,8 +1966,17 @@ function clampReasoningEffort(effort, provider) {
1664
1966
  }
1665
1967
 
1666
1968
  // packages/ai/llm/providers.ts
1969
+ var stepfunAllModels = [...stepfunModels, ...stepfunStepPlanModels];
1667
1970
  var moonshotAllModels = [...moonshotModels, ...kimiCodeModels];
1668
1971
  var qwenAllModels = [...qwenModels, ...qwenTokenPlanModels];
1972
+ var devinModels = [
1973
+ { name: "swe-2-max", displayName: "SWE-2 Max", hasVision: true, contextWindow: 262e3, price: { input: 0, output: 0 } },
1974
+ { name: "swe-2-high", displayName: "SWE-2 High", hasVision: true, contextWindow: 262e3, price: { input: 0, output: 0 } },
1975
+ { name: "swe-2-medium", displayName: "SWE-2 Medium", hasVision: true, contextWindow: 262e3, price: { input: 0, output: 0 } },
1976
+ { name: "swe-1-7", displayName: "SWE-1.7 Max", hasVision: true, contextWindow: 262e3, price: { input: 0, output: 0 } },
1977
+ { name: "swe-1-7-lightning", displayName: "SWE-1.7 Lightning Max", hasVision: true, contextWindow: 202752, price: { input: 0, output: 0 } },
1978
+ { name: "swe-1-6-fast", displayName: "SWE-1.6 Fast", hasVision: true, contextWindow: 2e5, price: { input: 0, output: 0 } }
1979
+ ];
1669
1980
  var MODEL_MAP = {
1670
1981
  // anthropic: anthropicModels,
1671
1982
  google: googleModels,
@@ -1680,10 +1991,12 @@ var MODEL_MAP = {
1680
1991
  gmi: gmiModels,
1681
1992
  zai: zaiModels,
1682
1993
  qwen: qwenAllModels,
1683
- moonshot: moonshotAllModels
1994
+ moonshot: moonshotAllModels,
1995
+ stepfun: stepfunAllModels
1684
1996
  };
1685
1997
  var MODEL_LOOKUP_MAP = {
1686
1998
  anthropic: [...anthropicModels, ...anthropicOAuthModels],
1999
+ devin: devinModels,
1687
2000
  xai: xaiModels,
1688
2001
  "opencode-go": opencodeGoModels,
1689
2002
  opencode: opencodeGoModels,
@@ -1818,6 +2131,10 @@ var API_ENDPOINTS = {
1818
2131
  moonshot: {
1819
2132
  // Moonshot AI(月之暗面)开放平台 OpenAI 兼容模式(按量计费)
1820
2133
  default: "https://api.moonshot.cn/v1/chat/completions"
2134
+ },
2135
+ stepfun: {
2136
+ // 阶跃星辰(StepFun)开放平台 OpenAI 兼容模式
2137
+ default: "https://api.stepfun.com/v1/chat/completions"
1821
2138
  }
1822
2139
  };
1823
2140
  function getModelConfig(provider, name) {
@@ -1901,6 +2218,14 @@ function getApiEndpoint(agent) {
1901
2218
 
1902
2219
  export {
1903
2220
  isAdaptiveThinkingModelId,
2221
+ qwenModels,
2222
+ qwenTokenPlanModels,
2223
+ moonshotModels,
2224
+ kimiCodeModels,
2225
+ stepfunModels,
2226
+ stepfunStepPlanModels,
2227
+ opencodeGoModels,
2228
+ DEFAULT_REASONING_EFFORT,
1904
2229
  isModelSupportReasoningEffort,
1905
2230
  clampReasoningEffort,
1906
2231
  MODEL_LOOKUP_MAP,