@henjicc/ai-sdk 0.2.8 → 0.4.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 (244) hide show
  1. package/CHANGELOG.md +157 -141
  2. package/README.md +497 -455
  3. package/dist/capabilities/embedding/bailian.d.ts +23 -0
  4. package/dist/capabilities/embedding/bailian.js +10 -0
  5. package/dist/capabilities/embedding/bigmodel.d.ts +9 -0
  6. package/dist/capabilities/embedding/bigmodel.js +5 -0
  7. package/dist/capabilities/embedding/index.d.ts +1 -0
  8. package/dist/capabilities/embedding/index.js +1 -0
  9. package/dist/capabilities/embedding/ppio.d.ts +7 -0
  10. package/dist/capabilities/embedding/ppio.js +5 -0
  11. package/dist/capabilities/embedding/siliconflow.d.ts +21 -0
  12. package/dist/capabilities/embedding/siliconflow.js +10 -0
  13. package/dist/capabilities/embedding/volcengine.d.ts +10 -0
  14. package/dist/capabilities/embedding/volcengine.js +6 -0
  15. package/dist/capabilities/rerank/bailian.d.ts +21 -0
  16. package/dist/capabilities/rerank/bailian.js +14 -0
  17. package/dist/capabilities/rerank/bigmodel.d.ts +9 -0
  18. package/dist/capabilities/rerank/bigmodel.js +5 -0
  19. package/dist/capabilities/rerank/index.d.ts +1 -0
  20. package/dist/capabilities/rerank/index.js +1 -0
  21. package/dist/capabilities/rerank/ppio.d.ts +7 -0
  22. package/dist/capabilities/rerank/ppio.js +5 -0
  23. package/dist/capabilities/rerank/siliconflow.d.ts +21 -0
  24. package/dist/capabilities/rerank/siliconflow.js +10 -0
  25. package/dist/capabilities/retrieval/http.d.ts +3 -0
  26. package/dist/capabilities/retrieval/http.js +48 -0
  27. package/dist/capabilities/retrieval/module.d.ts +11 -0
  28. package/dist/capabilities/retrieval/module.js +110 -0
  29. package/dist/capabilities/retrieval/types.d.ts +54 -0
  30. package/dist/capabilities/retrieval/types.js +1 -0
  31. package/dist/capabilities/retrieval/validation.d.ts +10 -0
  32. package/dist/capabilities/retrieval/validation.js +65 -0
  33. package/dist/capabilities/types.d.ts +1 -1
  34. package/dist/catalog/apimart/gpt-image-2.5.model.d.ts +2 -0
  35. package/dist/catalog/apimart/gpt-image-2.5.model.js +51 -0
  36. package/dist/catalog/fal/gpt-image-2.5.model.d.ts +2 -0
  37. package/dist/catalog/fal/gpt-image-2.5.model.js +53 -0
  38. package/dist/catalog/fal/ic-light-v2.model.js +9 -13
  39. package/dist/catalog/grsai/gpt-image-2.5.model.d.ts +2 -0
  40. package/dist/catalog/grsai/gpt-image-2.5.model.js +54 -0
  41. package/dist/catalog/grsai/gptImage25Sizes.d.ts +1 -0
  42. package/dist/catalog/grsai/gptImage25Sizes.js +76 -0
  43. package/dist/catalog/index.js +112 -104
  44. package/dist/catalog/kie/gpt-image-2.5.model.d.ts +2 -0
  45. package/dist/catalog/kie/gpt-image-2.5.model.js +38 -0
  46. package/dist/catalog/shared/gptImage25.d.ts +16 -0
  47. package/dist/catalog/shared/gptImage25.js +48 -0
  48. package/dist/catalog/shared/gptImage25Pricing.d.ts +12 -0
  49. package/dist/catalog/shared/gptImage25Pricing.js +508 -0
  50. package/dist/llm/defaults.d.ts +1 -1
  51. package/dist/llm/defaults.js +1 -1
  52. package/dist/llm/discovery.d.ts +2 -0
  53. package/dist/llm/discovery.js +16 -5
  54. package/dist/llm/modelCatalogEntries.js +32 -0
  55. package/dist/llm/providerPresets.d.ts +3 -1
  56. package/dist/llm/providerPresets.js +6 -3
  57. package/dist/llm/providerReasoningRequest.js +14 -1
  58. package/dist/llm/siliconflow/index.d.ts +21 -0
  59. package/dist/llm/siliconflow/index.js +32 -0
  60. package/dist/llm/siliconflow/preset.d.ts +6 -0
  61. package/dist/llm/siliconflow/preset.js +33 -0
  62. package/dist/packs/models/apimart/gpt-image-2.5.d.ts +6 -0
  63. package/dist/packs/models/apimart/gpt-image-2.5.js +7 -0
  64. package/dist/packs/models/fal/gpt-image-2.5.d.ts +6 -0
  65. package/dist/packs/models/fal/gpt-image-2.5.js +7 -0
  66. package/dist/packs/models/grsai/gpt-image-2.5.d.ts +6 -0
  67. package/dist/packs/models/grsai/gpt-image-2.5.js +7 -0
  68. package/dist/packs/models/kie/gpt-image-2.5.d.ts +6 -0
  69. package/dist/packs/models/kie/gpt-image-2.5.js +7 -0
  70. package/dist/packs/provider-packs/apimart.d.ts +1 -1
  71. package/dist/packs/provider-packs/apimart.js +21 -20
  72. package/dist/packs/provider-packs/fal.d.ts +1 -1
  73. package/dist/packs/provider-packs/fal.js +37 -36
  74. package/dist/packs/provider-packs/grsai.d.ts +1 -1
  75. package/dist/packs/provider-packs/grsai.js +6 -5
  76. package/dist/packs/provider-packs/kie.d.ts +1 -1
  77. package/dist/packs/provider-packs/kie.js +28 -27
  78. package/dist/packs/tool-models/fal/{qwen-image-edit-2509-multiple-angles.d.ts → qwen-image-edit-2511-multiple-angles.d.ts} +1 -1
  79. package/dist/packs/tool-models/fal/{qwen-image-edit-2509-multiple-angles.js → qwen-image-edit-2511-multiple-angles.js} +1 -1
  80. package/dist/packs/tool-packs/fal-multi-angle-tools.js +1 -1
  81. package/dist/tool-packs/fal-multi-angle/models/qwen-image-edit-2511-multiple-angles.model.d.ts +2 -0
  82. package/dist/tool-packs/fal-multi-angle/models/{qwen-image-edit-2509-multiple-angles.model.js → qwen-image-edit-2511-multiple-angles.model.js} +20 -17
  83. package/docs/README.md +26 -26
  84. package/docs/consumers.md +56 -48
  85. package/docs/llm-adaptation/README.md +139 -137
  86. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/DeepSeek.md +103 -91
  87. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/Kimi.md +75 -75
  88. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/MiniMax.md +84 -84
  89. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//345/260/217/347/261/263MiMo.md +85 -85
  90. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//346/231/272/350/260/261GLM.md +232 -232
  91. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//347/201/253/345/261/261/345/274/225/346/223/216.md +87 -87
  92. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//347/231/276/347/202/274Qwen.md +84 -84
  93. package/docs/llm-adaptation//346/226/207/346/241/243/351/207/207/351/233/206/346/211/213/345/206/214.md +88 -88
  94. package/docs/model-adaptation/Bria-Eraser/Bria-Eraser_Fal.md +32 -32
  95. package/docs/model-adaptation/Bria-/345/210/233/346/204/217/346/224/276/345/244/247/Bria-/345/210/233/346/204/217/346/224/276/345/244/247_Fal.md +31 -31
  96. package/docs/model-adaptation/ControlLight/ControlLight_Fal.md +85 -85
  97. package/docs/model-adaptation/FLUX-2-/345/244/232/350/247/222/345/272/246/FLUX-2-/345/244/232/350/247/222/345/272/246_Fal.md +107 -107
  98. package/docs/model-adaptation/Finegrain-Eraser/Finegrain-Eraser_Fal.md +31 -31
  99. package/docs/model-adaptation/Flux-Pro-Erase/Flux-Pro-Erase_Fal.md +34 -34
  100. package/docs/model-adaptation/Fun-ASR/Fun-ASR_/347/231/276/347/202/274.md +43 -43
  101. package/docs/model-adaptation/Fun-ASR-Flash-2026-06-15/Fun-ASR-Flash-2026-06-15_/347/231/276/347/202/274.md +41 -41
  102. package/docs/model-adaptation/Fun-ASR-Realtime/Fun-ASR-Realtime_/347/231/276/347/202/274.md +37 -37
  103. package/docs/model-adaptation/Fun-ASR-Realtime-2026-02-28/Fun-ASR-Realtime-2026-02-28_/347/231/276/347/202/274.md +39 -39
  104. package/docs/model-adaptation/GLM-5.3-Flash/GLM-5.3-Flash_/346/231/272/350/260/261.md +207 -207
  105. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_APIMart.md +173 -173
  106. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_Fal.md +94 -94
  107. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_Grsai.md +137 -137
  108. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_KIE.md +93 -93
  109. package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_APIMart.md +66 -0
  110. package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_Fal.md +55 -0
  111. package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_Grsai.md +53 -0
  112. package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_KIE.md +55 -0
  113. package/docs/model-adaptation/GPT-OSS-20B/GPT-OSS-20B_Groq.md +62 -62
  114. package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_APIMart.md +124 -124
  115. package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_Fal.md +84 -84
  116. package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_KIE.md +129 -129
  117. package/docs/model-adaptation/Grok-Imagine/Grok-Imagine_KIE.md +36 -36
  118. package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_APIMart.md +250 -250
  119. package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_Fal.md +84 -84
  120. package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_KIE.md +105 -105
  121. package/docs/model-adaptation/Hailuo-02/Hailuo-02_Fal.md +93 -93
  122. package/docs/model-adaptation/Hailuo-02/Hailuo-02_KIE.md +56 -56
  123. package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_Fal.md +88 -88
  124. package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_KIE.md +51 -51
  125. package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_/346/264/276/346/254/247/344/272/221.md +70 -70
  126. package/docs/model-adaptation/IC-Light-v2/IC-Light-v2_Fal.md +97 -94
  127. package/docs/model-adaptation/Ideogram-/345/233/276/347/211/207/346/224/276/345/244/247/Ideogram-/345/233/276/347/211/207/346/224/276/345/244/247_Fal.md +41 -41
  128. package/docs/model-adaptation/Image-Apps-v2-/345/225/206/345/223/201/346/221/204/345/275/261/Image-Apps-v2-/345/225/206/345/223/201/346/221/204/345/275/261_Fal.md +72 -72
  129. package/docs/model-adaptation/Image-Apps-v2-/346/211/251/345/233/276/Image-Apps-v2-/346/211/251/345/233/276_Fal.md +93 -93
  130. package/docs/model-adaptation/Image-Apps-v2-/347/205/247/347/211/207/344/277/256/345/244/215/Image-Apps-v2-/347/205/247/347/211/207/344/277/256/345/244/215_Fal.md +86 -86
  131. package/docs/model-adaptation/Image-Apps-v2-/351/207/215/346/211/223/345/205/211/Image-Apps-v2-/351/207/215/346/211/223/345/205/211_Fal.md +84 -84
  132. package/docs/model-adaptation/Kling-3.0/Kling-3.0_APIMart.md +112 -112
  133. package/docs/model-adaptation/Kling-3.0/Kling-3.0_Fal.md +89 -89
  134. package/docs/model-adaptation/Kling-3.0/Kling-3.0_KIE.md +106 -106
  135. package/docs/model-adaptation/Kling-3.0/Kling-3.0_/346/264/276/346/254/247/344/272/221.md +119 -119
  136. package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_APIMart.md +125 -125
  137. package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_Fal.md +107 -107
  138. package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_KIE.md +143 -143
  139. package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_APIMart.md +85 -85
  140. package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_Fal.md +83 -83
  141. package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_KIE.md +84 -84
  142. package/docs/model-adaptation/Midjourney/Midjourney_APIMart.md +396 -396
  143. package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_APIMart.md +234 -234
  144. package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_Fal.md +108 -108
  145. package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_KIE.md +111 -111
  146. package/docs/model-adaptation/MiniMax-Speech/MiniMax-Speech_/346/264/276/346/254/247/344/272/221.md +170 -170
  147. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_APIMart.md +89 -89
  148. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_Fal.md +99 -99
  149. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_Grsai.md +82 -82
  150. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_KIE.md +70 -70
  151. package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_APIMart.md +79 -79
  152. package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_Grsai.md +65 -65
  153. package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_KIE.md +64 -64
  154. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_APIMart.md +83 -83
  155. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_Fal.md +89 -89
  156. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_Grsai.md +82 -82
  157. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_KIE.md +64 -64
  158. package/docs/model-adaptation/Pixelcut-/350/203/214/346/231/257/347/247/273/351/231/244/Pixelcut-/350/203/214/346/231/257/347/247/273/351/231/244_Fal.md +79 -79
  159. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_APIMart.md +117 -117
  160. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_Fal.md +84 -84
  161. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_KIE.md +103 -103
  162. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_/347/231/276/347/202/274.md +138 -138
  163. package/docs/model-adaptation/Qwen-Image-Edit-2511-/345/244/232/350/247/222/345/272/246/Qwen-Image-Edit-2511-/345/244/232/350/247/222/345/272/246_Fal.md +57 -0
  164. package/docs/model-adaptation/Qwen-MT-Flash/Qwen-MT-Flash_/347/231/276/347/202/274.md +47 -47
  165. package/docs/model-adaptation/Qwen-MT-Lite/Qwen-MT-Lite_/347/231/276/347/202/274.md +39 -39
  166. package/docs/model-adaptation/Qwen-MT-Plus/Qwen-MT-Plus_/347/231/276/347/202/274.md +39 -39
  167. package/docs/model-adaptation/Qwen3-ASR-Flash/Qwen3-ASR-Flash_/347/231/276/347/202/274.md +40 -40
  168. package/docs/model-adaptation/Qwen3-ASR-Flash-2026-02-10/Qwen3-ASR-Flash-2026-02-10_/347/231/276/347/202/274.md +33 -33
  169. package/docs/model-adaptation/Qwen3-ASR-Flash-Filetrans/Qwen3-ASR-Flash-Filetrans_/347/231/276/347/202/274.md +41 -41
  170. package/docs/model-adaptation/Qwen3-ASR-Flash-Realtime/Qwen3-ASR-Flash-Realtime_/347/231/276/347/202/274.md +35 -35
  171. package/docs/model-adaptation/Qwen3-ASR-Flash-Realtime-2026-02-10/Qwen3-ASR-Flash-Realtime-2026-02-10_/347/231/276/347/202/274.md +37 -37
  172. package/docs/model-adaptation/README.md +313 -295
  173. package/docs/model-adaptation/SeedASR-2.0-File/SeedASR-2.0-File_/347/201/253/345/261/261/345/274/225/346/223/216.md +115 -115
  174. package/docs/model-adaptation/SeedASR-2.0-Realtime/SeedASR-2.0-Realtime_/347/201/253/345/261/261/345/274/225/346/223/216.md +143 -143
  175. package/docs/model-adaptation/SeedVR2-/345/233/276/347/211/207/346/224/276/345/244/247/SeedVR2-/345/233/276/347/211/207/346/224/276/345/244/247_Fal.md +45 -45
  176. package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_APIMart.md +121 -121
  177. package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_Fal.md +97 -97
  178. package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_KIE.md +86 -86
  179. package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_APIMart.md +89 -89
  180. package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_Fal.md +95 -95
  181. package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_KIE.md +78 -78
  182. package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_APIMart.md +89 -89
  183. package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_Fal.md +96 -96
  184. package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_KIE.md +78 -78
  185. package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_APIMart.md +212 -212
  186. package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_Fal.md +94 -94
  187. package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_KIE.md +89 -89
  188. package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_APIMart.md +106 -106
  189. package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_Fal.md +91 -91
  190. package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_KIE.md +89 -89
  191. package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_/347/201/253/345/261/261/345/274/225/346/223/216.md +108 -108
  192. package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_APIMart.md +194 -194
  193. package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_Fal.md +100 -100
  194. package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_KIE.md +141 -141
  195. package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_/347/201/253/345/261/261/345/274/225/346/223/216.md +137 -137
  196. package/docs/model-adaptation/SenseVoiceSmall/SenseVoiceSmall_/347/241/205/345/237/272/346/265/201/345/212/250.md +69 -69
  197. package/docs/model-adaptation/TeleSpeechASR/TeleSpeechASR_/347/241/205/345/237/272/346/265/201/345/212/250.md +72 -72
  198. package/docs/model-adaptation/Topaz-/345/233/276/347/211/207/346/224/276/345/244/247/Topaz-/345/233/276/347/211/207/346/224/276/345/244/247_Fal.md +87 -87
  199. package/docs/model-adaptation/Topaz-/351/200/217/346/230/216/345/233/276/346/224/276/345/244/247/Topaz-/351/200/217/346/230/216/345/233/276/346/224/276/345/244/247_Fal.md +34 -34
  200. package/docs/model-adaptation/Wan-2.5-Preview/Wan-2.5-Preview_/346/264/276/346/254/247/344/272/221.md +82 -82
  201. package/docs/model-adaptation/Wan-2.6/Wan-2.6_/346/264/276/346/254/247/344/272/221.md +84 -84
  202. package/docs/model-adaptation/Wan-2.7/Wan-2.7_/346/264/276/346/254/247/344/272/221.md +122 -122
  203. package/docs/model-adaptation/Whisper-Large-v3/Whisper-Large-v3_Groq.md +76 -76
  204. package/docs/model-adaptation/Whisper-Large-v3-Turbo/Whisper-Large-v3-Turbo_Groq.md +75 -75
  205. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_APIMart.md +88 -88
  206. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_Fal.md +95 -95
  207. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_KIE.md +71 -71
  208. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_/347/231/276/347/202/274.md +122 -122
  209. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_/351/255/224/346/220/255.md +97 -97
  210. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/APIMart.md +238 -238
  211. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Fal.md +172 -172
  212. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Groq.md +121 -121
  213. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Grsai.md +217 -217
  214. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/KIE.md +131 -131
  215. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//345/200/231/351/200/211/344/276/233/345/272/224/345/225/206/350/260/203/347/240/224-/345/233/276/347/211/207/345/267/245/345/205/267.md +151 -151
  216. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//345/277/253/351/200/237/351/200/202/351/205/215/344/276/233/345/272/224/345/225/206.md +65 -65
  217. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//346/264/276/346/254/247/344/272/221.md +147 -138
  218. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//347/201/253/345/261/261/345/274/225/346/223/216.md +181 -171
  219. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//347/231/276/347/202/274.md +237 -227
  220. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//347/241/205/345/237/272/346/265/201/345/212/250.md +140 -75
  221. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//351/255/224/346/220/255.md +207 -207
  222. package/docs/model-adaptation//346/226/207/346/241/243/351/207/207/351/233/206/346/211/213/345/206/214.md +338 -311
  223. package/docs/model-adaptation//351/200/217/350/247/206/345/217/230/346/215/242//351/200/217/350/247/206/345/217/230/346/215/242_Fal.md +59 -59
  224. package/docs//346/216/245/345/205/245/346/214/207/345/215/227/Electron.md +77 -77
  225. package/docs//346/216/245/345/205/245/346/214/207/345/215/227/Tauri.md +81 -81
  226. package/docs//346/216/245/345/205/245/346/214/207/345/215/227/UXP.md +169 -169
  227. package/docs//346/216/245/345/205/245/346/214/207/345/215/227//344/276/233/345/272/224/345/225/206/345/237/237/345/220/215.md +83 -83
  228. package/docs//346/216/245/345/205/245/346/214/207/345/215/227//351/224/231/350/257/257/345/244/204/347/220/206.md +72 -72
  229. package/examples/form-renderer/README.md +17 -17
  230. package/examples/form-renderer/cli.ts +32 -32
  231. package/examples/form-renderer/index.ts +144 -144
  232. package/examples/form-renderer/package.json +16 -16
  233. package/examples/form-renderer/tsconfig.json +14 -14
  234. package/examples/llm-chat/README.md +32 -32
  235. package/examples/llm-chat/index.ts +100 -100
  236. package/examples/llm-chat/package.json +19 -19
  237. package/examples/llm-chat/tsconfig.json +14 -14
  238. package/examples/minimal-node/README.md +31 -31
  239. package/examples/minimal-node/index.ts +138 -138
  240. package/examples/minimal-node/package.json +17 -17
  241. package/examples/minimal-node/tsconfig.json +14 -14
  242. package/package.json +255 -195
  243. package/dist/tool-packs/fal-multi-angle/models/qwen-image-edit-2509-multiple-angles.model.d.ts +0 -2
  244. package/docs/model-adaptation/Qwen-Image-Edit-2509-/345/244/232/350/247/222/345/272/246/Qwen-Image-Edit-2509-/345/244/232/350/247/222/345/272/246_Fal.md +0 -116
@@ -1,232 +1,232 @@
1
- # 智谱 GLM(国内 BigModel / 国际 Z.AI)
2
-
3
- > 最后核对:2026-08-28。信息来源见文末「官方来源索引」,均为无需登录的官方页面。
4
-
5
- `glm-5.3-flash` 的模型级请求、事件、fixture、价格和编码门槛以
6
- [GLM-5.3-Flash_智谱.md](../../model-adaptation/GLM-5.3-Flash/GLM-5.3-Flash_智谱.md) 为唯一详细来源;
7
- 本文件只承担智谱供应商级协议汇总。若两处摘要不一致,以模型级文件为准并同步修正本页。
8
-
9
- ## 1. 摘要
10
-
11
- | 项目 | 取值 |
12
- |---|---|
13
- | 现有 `providerId` | `bigmodel`;当前预设明确指向**国内 BigModel**,不是国际 Z.AI |
14
- | 供应商族设计 | 继续共用 `bigmodel` provider family / 协议内核,新增 `cn` / `global` endpoint profile;不复制两个 provider 实现 |
15
- | 品牌与 SDK 名称 | 国内智谱 BigModel 与国际 Z.AI 是两个官方平台入口;官方 Python SDK 名称不是运行时 provider alias |
16
- | 对应项目 `adapter` | `openai`(Chat Completions);`glm-5.3` 官方还提供 Responses 与 Anthropic 协议 |
17
- | 鉴权 | `Authorization: Bearer <API Key>` |
18
- | `glm-5.3-flash` 接入结论 | 既有 `bigmodel` 供应商下的**新增独立原生多模态模型**,不是 `glm-5.3` 的别名,也不触发供应商重命名 |
19
- | 本轮状态 | 官方资料已核对;SDK 尚未登记 `glm-5.3-flash`,完整能力编码仍受第 9 节冲突项阻断 |
20
-
21
- `glm-5.3-flash` 的展示名为 `GLM-5.3-Flash`,官方 API Model Code 为小写的
22
- `glm-5.3-flash`。公开资料没有给出第二个 API 别名,不要把展示名、`Z.ai` 或 SDK 包名当成别名注册。
23
-
24
- ## 2. 国内 / 国际区域矩阵与协议边界
25
-
26
- | profile | 官方平台 / 文档 | Chat Base URL | API Key 入口 | `glm-5.3-flash` | 价格币种 |
27
- |---|---|---|---|---|---|
28
- | `cn` | 智谱 BigModel / `docs.bigmodel.cn` | `https://open.bigmodel.cn/api/paas/v4` | `https://bigmodel.cn/usercenter/proj-mgmt/apikeys` | 官方模型页与 Quick Start 均列出 | CNY |
29
- | `global` | Z.AI / `docs.z.ai` | `https://api.z.ai/api/paas/v4` | `https://z.ai/manage-apikey/apikey-list` | 官方模型页、Quick Start 与价格页均列出 | USD |
30
-
31
- 两站的 Flash 模型页确认相同的 model ID、text/image/video/file → text、1M / 128K、强制思考、
32
- Chat/SSE、Function Calling、缓存与推荐参数。它们不是同一个 API 域名,价格和账户入口也不同。
33
- 官方没有声明国内与国际账号、余额或 API Key 可以互通;在没有官方依据和真网验证时,必须按
34
- **不互通**设计,分别保存凭据,不能把国内 key 自动发送到国际端点或反向尝试。
35
-
36
- 当前仓库 `providerPresets.ts` 的 `bigmodel` 使用国内 Base URL 与国内 Key 页面,现有用户配置、
37
- 凭据和模型调用都属于 `cn` profile。此前文档标题把 BigModel / Z.AI 并列写在一起,容易误读为
38
- 现有预设使用国际站,本轮已纠正;不得把存量 `bigmodel` 默认端点改成国际域名。
39
-
40
- 国内 `glm-5.3` 另外确认以下协议,Flash 不能从它外推:
41
-
42
- | 协议 | 国内 Base URL | 已确认模型范围 |
43
- |---|---|---|
44
- | OpenAI Responses | `https://open.bigmodel.cn/api/v1` | `glm-5.3`;Flash 模型页未列出 |
45
- | Anthropic Messages | `https://open.bigmodel.cn/api/anthropic` | `glm-5.3`;Flash 模型页未列出 |
46
-
47
- `glm-5.3-flash` 官方模型页只链接 `POST /paas/v4/chat/completions`,本项目只能把
48
- Chat Completions 视为已确认协议,不能因同一供应商的 `glm-5.3` 支持另外两种协议而外推。
49
-
50
- **账号限制**:订阅过 GLM Coding Plan(含已过期)的账号,官方文档写明暂时只能通过
51
- Chat Completions 调用模型 API。同一账号在不同协议上的可用性可能不同。
52
-
53
- ## 3. 模型清单
54
-
55
- | 模型 ID | 简介 | 输入 → 输出 | 上下文 / 最大输出 | 国内标准价(CNY/M tokens) | 国际标准价(USD/M tokens) |
56
- |---|---|---|---|---|---|
57
- | `glm-5.3` | 最新旗舰文本模型,面向软件工程与 Agent 任务 | 文本 → 文本 | 1M / 128K | 输入 8;输出 28;缓存命中 2 | 见国际价格页,发布前核对 |
58
- | `glm-5.3-flash` | GLM-5 系列首个原生多模态模型;2026-08-26 上线 | 文本、图片、视频、文件 → 文本 | 1M / 128K | 输入 0.8;输出 2.8;缓存命中 0.23 | 输入 0.15;输出 0.50;缓存命中 0.03 |
59
- | `glm-5v-turbo` | 面向看图、看视频写代码的多模态 Coding 基座 | 文本、图片、视频、文件 → 文本 | 200K / 128K | 官方模型页未直接列出,发布前重新查价格页 | 是否在国际站提供及价格未在本轮核对 |
60
-
61
- 2026-08-28 价格页对 `glm-5.3-flash` 显示“5 折限时两周”:输入 0.4、输出 1.4、
62
- 缓存命中 0.115 元/百万 tokens,缓存存储限时免费。页面没有显示促销开始日或绝对结束日,
63
- 所以这里把划线前价格记录为标准价,促销价只作为带核对日期的动态事实,发布或展示前必须重新核对。
64
-
65
- `glm-5.3-flash` 的模型页还写明 API 价格为 `glm-5.3` 的 1/10、限时价格为 1/20;
66
- 与价格页上述数值一致。Coding Plan 中按 3 倍用量扣减属于订阅额度规则,不是 API token 单价。
67
-
68
- 国际价格页显示 2026-08-28 的 5 折价为输入 $0.075、输出 $0.25、缓存命中 $0.015 / M tokens,
69
- 并明确促销至 2026-09-09 24:00(UTC+8,新加坡时间)。国内页面只写“限时两周”,没有绝对日期;
70
- 两区价格必须随 endpoint profile 展示,不能换算后合并成一个计价真相。
71
-
72
- ## 4. `glm-5.3-flash` 输入契约
73
-
74
- ### 4.1 通用请求
75
-
76
- - 端点:`POST /paas/v4/chat/completions`。
77
- - `messages[].content` 可以是文本字符串,或多模态内容块数组。
78
- - 输出仅为文本;公开模型页没有声明音频输入,不能因对话端点的通用 schema 含音频类型就给本模型登记音频能力。
79
- - 推荐参数:`temperature: 1`、`top_p: 0.95`、`reasoning_effort: "max"`、
80
- `thinking: {"type":"enabled"}`。官方建议不要同时调整 `temperature` 与 `top_p`。
81
- - `max_tokens` 最大 131072,官方建议不低于 1024。
82
- - `stop` 最多 4 个字符串。
83
-
84
- ### 4.2 图片
85
-
86
- - 内容块为 `{"type":"image_url","image_url":{"url":"..."}}`。
87
- - 支持公网 URL 或 Base64 Data URL;每张小于 5 MB,最大 6000×6000,格式为 JPG/PNG/JPEG,
88
- 最多 50 张。
89
- - SDK 与宿主必须继续遵守媒体上传约束:消费界面不得提供手动 URL 文本框;URL/Base64 由媒体选择、
90
- 上传或宿主转换链路产生。
91
-
92
- ### 4.3 视频
93
-
94
- - 内容块为 `{"type":"video_url","video_url":{"url":"..."}}`。
95
- - 官方 Chat 示例确认公网 URL;文件不超过 200 MB,格式为 MP4/MKV/MOV。
96
- - 官方页面没有给出本模型的视频时长上限,也没有给出视频 Base64 写法,均保持未知,不得猜测。
97
-
98
- ### 4.4 文件
99
-
100
- - 推荐内容块类型是 `file`;旧 `file_url` 仍可用但官方标记为不推荐。
101
- - `file` 中 `file_id`、`file_url`、`file_data` 三选一;单文件最大 50 MB,最多 50 个文件。
102
- - `file_data` 是带 MIME 的 Base64 Data URL;`file_url` 页面列举 PDF/TXT/Word/JSONL/XLSX/PPTX 等。
103
- - 官方 Chat 文档说 `file_id` 由文件上传接口取得,但文件上传接口的公开 `purpose` 仅列
104
- `batch`、`code-interpreter`、`agent`、`voice-clone-input`,没有 Chat 用途。13.2 不得猜一个
105
- `purpose`;这个分支必须等官方补充或经授权的真实请求验证。
106
-
107
- 公开资料没有说明图片、视频、文件能否跨模态混合,也没有给出混合后的总数量/体积上限;
108
- 不要套用 `glm-5v-turbo`“三者不能同时理解”的限制,也不要反向假定 Flash 一定支持任意混合。
109
-
110
- ## 5. 思考模式与工具调用
111
-
112
- - `glm-5.3` 与 `glm-5.3-flash` 都是强制思考模型,`thinking.type` 只能是 `enabled`。
113
- - `reasoning_effort` 支持 `low` / `high` / `max`,默认 `max`。
114
- - 官方对标准 API 建议显式传 `thinking.clear_thinking: false` 保留跨轮思考;Coding Plan 默认保留,
115
- 标准 API 默认清除。现有项目仅有供应商级思考映射,13.2 需要先确认如何只对需要的模型下发,
116
- 不能无差别改变同供应商旧模型。
117
- - Function Calling 已确认;工具最多 128 个,`tool_choice` 的公开说明只给出 `auto`,不要显式发送
118
- 其他取值。工具由宿主执行,再以 `role: "tool"` 与 `tool_call_id` 回传。
119
- - 交错思考的多轮工具调用必须把上一轮完整、原序的 `reasoning_content` 与工具调用一起回传;
120
- 不得只保留可见文本。
121
-
122
- 模型页建议流式工具调用时同时传 `stream: true` 与 `tool_stream: true`,但对话 OpenAPI 的视觉请求
123
- schema 未暴露 `tool_stream`,通用字段说明列出的支持模型也未包含 `glm-5.3-flash`。基础工具调用已确认,
124
- 专有的 `tool_stream` 优化暂不可登记为稳定能力,见第 9 节。
125
-
126
- ## 6. Chat Completions 事件契约矩阵
127
-
128
- 下表区分官方 schema 的可空性与项目解析策略。官方没有给某些字段标 `required` 时保持 optional,
129
- 不能把示例中“恰好存在”提升为协议必填。
130
-
131
- | 事件 / 响应 | 前置状态 | required / optional / nullable | 空值与缺字段语义 | 状态迁移、输出与副作用 | 终态 / 连接 |
132
- |---|---|---|---|---|---|
133
- | 非流式 HTTP 成功 | 请求已发送 | 响应对象包含 `choices`;`message.content` 在工具调用时可为 `null`;`reasoning_content`、`tool_calls`、`usage` 按场景可选 | 工具调用时无文本是合法响应,不能报“结果无文本” | 发出非空文本/思考,收集工具调用与 usage | 单次 HTTP 终态,响应消费后释放 |
134
- | SSE 普通增量 | 流已建立、尚未终止 | `choices` 可能缺失或为空;`delta.content`、`delta.reasoning_content`、`delta.tool_calls` 均可选,content 可为 `null` 或空串 | 无 choice/空内容块合法,忽略而不是制造 token | 非空文本/思考按序追加;工具参数按 `index` 拼接 | 非终态,保持连接 |
135
- | SSE 工具增量 | 流已建立、工具参数未完成 | `delta.tool_calls[]` 分片含 `index`;`id`、函数名、arguments 会分块出现 | 单片不完整合法,不能逐片解析完整 JSON | 按 index 保留顺序并拼接;本事件不执行工具 | 非终态,保持连接 |
136
- | SSE 完成块 | 已有零到多个增量 | `finish_reason` 只在最终块出现;`delta.content` 可为空;`usage` 通常只在最终块出现 | “空文本 + finish_reason + usage”是合法终态;无有效文本但有工具调用同样合法 | 保存开放字符串形式的 finish reason 与 usage,不额外发空 token | 语义终态,但仍应消费 `[DONE]` |
137
- | `data: [DONE]` | 最终块之后,或供应商直接终止 | 非 JSON 哨兵 | 不解析为对象 | 停止读取并释放 reader/连接 | 流终态 |
138
- | HTTP 错误 | 请求被端点拒绝 | 官方错误对象含 `error.code` 与 `error.message` | 不应把错误正文当增量事件 | 转换为脱敏 SDK 错误,保留状态码与可诊断代码 | 终态,释放响应 |
139
- | 中途断线 / Abort / timeout | 流已建立 | 官方没有定义专用恢复事件 | 不能把断线当 `[DONE]` 或成功终态 | 传播取消/超时/网络错误,停止工具副作用 | 终态;是否连接复用未由官方说明,宿主必须释放 |
140
- | 工具结果续轮 | 上一轮 `finish_reason=tool_calls` | assistant 历史需保留完整 `reasoning_content`、`tool_calls`;工具消息需 `tool_call_id` | 丢掉思考或工具 id 会破坏后续推理 | 宿主执行工具,把结果作为新消息发起下一次请求 | 新 HTTP/SSE 会话,不是旧连接复用 |
141
-
142
- 官方流式示例还显示:最终增量可只有空 `content`、`finish_reason` 与 usage,随后再发 `[DONE]`;
143
- 官方 SDK 示例会先判断 `choices` 是否为空再读取。因此合法空块、无 choices 块必须进入 fixture 和解析测试。
144
-
145
- `finish_reason` 的 schema 枚举列出 `stop`、`length`、`tool_calls`、`sensitive`、`network_error`,
146
- 但同页字段说明还提到 `model_context_window_exceeded`。这是官方页面内部不一致;解析器必须接受并保留
147
- 未知字符串,不能用封闭枚举拒绝服务器返回。
148
-
149
- ## 7. 结构化输出与流式能力
150
-
151
- - 普通文本流式已确认:SSE `data:` JSON 帧、最终 `finish_reason`/usage、`data: [DONE]`。
152
- - 思考过程通过增量 `reasoning_content` 返回。
153
- - 模型页声称支持结构化输出,但视觉请求 OpenAPI 未暴露 `response_format`,通用字段说明又写
154
- “仅文本模型支持”。在官方澄清前,13.2 必须保守登记为不支持结构化输出,不能宣称 JSON schema。
155
- - 模型页建议 `tool_stream: true`,但 API schema 的模型支持清单未包含本模型;基础流式和基础工具调用
156
- 不受此冲突影响,只有 `tool_stream` 专有优化被阻断。
157
-
158
- ## 8. 联网搜索
159
-
160
- 智谱有三套不同产品,不要混为一谈:
161
-
162
- | 产品 | 调用方式 | 边界 |
163
- |---|---|---|
164
- | Web Search API | `POST /paas/v4/web_search` | 独立检索端点,拿结构化结果后由宿主拼入 prompt |
165
- | Chat Completions 网络搜索工具 | `tools[].type = "web_search"`,另带 `web_search` 嵌套配置 | 让模型结合搜索结果作答;不是 OpenAI 扁平工具 schema |
166
- | Search Agent | Assistant API 的 `assistant.conversation()` | 更重的调研式工作流,不属于普通 Chat 工具 |
167
-
168
- 搜索引擎价格:`search_std` ¥0.01/次、`search_pro` ¥0.03/次、
169
- `search_pro_sogou` / `search_pro_quark` ¥0.05/次。搜索是独立计费工具,不含在模型 token 单价中。
170
-
171
- ## 9. 未决项与 13.2 编码门槛
172
-
173
- 按“官方资料先行”规则,当前**不可按完整能力进入 13.2 编码**。若 13.2 接受保守降级,
174
- 可只实现已经确认的子集;否则必须先取得官方澄清或用户授权真实请求验证:
175
-
176
- | 未决项 | 官方冲突 / 缺口 | 13.2 保守边界 |
177
- |---|---|---|
178
- | 结构化输出 | 模型页称支持;Vision OpenAPI 不含 `response_format`,通用说明称仅文本模型支持 | `structuredOutputMode: none`,不得发送 `response_format` |
179
- | `tool_stream` | 模型页建议开启;OpenAPI Vision schema 缺字段,通用支持模型清单缺 Flash | 只支持普通 Function Calling;不发送 `tool_stream` |
180
- | `file_id` 上传 | Chat 接口允许 `file_id`,上传接口 `purpose` 无 Chat 枚举 | 不实现/不测试 `file_id`;若扩文件能力只能先走官方明确的 `file_url`/`file_data`,且继续遵守宿主上传与无 URL 文本框规则 |
181
- | 跨模态混合 | 未说明图片/视频/文件能否混合及总量限制 | 不承诺混合;测试和 UI 不自动开放任意组合 |
182
- | 模型专属流式样本 | 官方字面 SSE/工具流样本使用 `glm-5.2`/`glm-5.3`,不是 Flash | 可作为“同端点官方相关模型样本”验证通用 parser,不能冒充 Flash 专属 fixture;模型专属事件正确性仍需官方样本或授权真网 |
183
-
184
- ## 10. 13.2 精确代码与测试输入
185
-
186
- 确认采用上表保守边界后,13.2 至少需要检查并改动:
187
-
188
- - `packages/ai-sdk/src/llm/modelCatalogEntries.ts`:新增独立 `glm-5.3-flash` 条目;
189
- `image=true`、`video=true`、`audio=false`,1M / 128K;结构化输出保持保守值。
190
- - `packages/ai-sdk/src/llm/providerPresets.ts`:现有 `bigmodel` 国内 preset 保持原 Base URL 与凭据不变;
191
- 新增同一供应商族的 `cn` / `global` endpoint profile 数据,国际 profile 使用 Z.AI Base URL 和 Key 页面。
192
- - `packages/ai-sdk/src/llm/types.ts`:补供应商族、endpoint profile 与 credential identity;不要用模型 ID
193
- 或 UI 条件分支判断区域。
194
- - 凭据:当前 SDK 用 `credentials.get('llm', providerId)`,Electron keystore 也按 providerId 存取。
195
- 13.2 必须让国内/国际配置实例使用不同凭据槽;国内存量 `bigmodel` 原槽原值保留并默认 profile=cn。
196
- - `packages/ai-sdk/src/llm/providerReasoningRequest.ts`:现有 `bigmodel` 是供应商级规则;需要模型感知后再决定
197
- `thinking.clear_thinking=false`,不得为 Flash 修改而误伤 `glm-5v-turbo`。
198
- - `packages/ai-sdk/src/llm/streaming.ts` 与 `packages/ai-sdk/src/llm/chatTypes.ts`:核对工具调用增量、
199
- 无 choices/合法空块、finish reason 开放字符串与 reasoning 保留;当前文本 parser 不能被模型目录登记替代。
200
- - `packages/ai-sdk/src/llm/sdk/provider.ts` 及模型步骤输入转换:确认 image/video 在两个正式消费路径的真实能力;
201
- 智能助手路径当前不支持视频,目录与 UI 不得静默宣称全路径可用。
202
- - 文件输入若进入范围,先扩统一 LLM 输入种类、宿主 media/upload 接口与安全边界;不能在 UI 添加 URL 文本框,
203
- 也不能仅为 Flash 写专属旁路。
204
- - fixture:逐项保存官方 Flash 图片、视频、文件字面请求;通用 SSE/工具流样本必须标注实际示例模型 ID。
205
- - 精确测试:目录/预设/思考请求、多模态序列化、合法空 SSE、无 choices、空终态、无有效 final、
206
- 工具参数分块、重复/乱序、错误、Abort/timeout/断线与资源释放,并执行断牙验证。
207
-
208
- ## 官方来源索引
209
-
210
- 以下页面均于 2026-08-28 核对:
211
-
212
- - [GLM-5.3-Flash 模型说明](https://docs.bigmodel.cn/cn/guide/models/vlm/glm-5.3-flash)(用户指定来源;模型 ID、模态、上下文、参数、能力与相对价格)
213
- - [新模型发布记录](https://docs.bigmodel.cn/cn/update/new-releases)(2026-08-26 上线日期)
214
- - [模型总览](https://docs.bigmodel.cn/cn/guide/start/model-overview)(模型定位、上下文、最大输出与价格入口)
215
- - [对话补全 API](https://docs.bigmodel.cn/api-reference/模型-api/对话补全)(端点、请求/响应 schema、Flash 多模态字面示例与限制)
216
- - [流式输出](https://docs.bigmodel.cn/cn/guide/capabilities/streaming)(SSE、空最终块、usage 与 `[DONE]`)
217
- - [流式工具调用](https://docs.bigmodel.cn/cn/guide/capabilities/stream-tool)(工具参数分块、`tool_stream` 与宿主续轮)
218
- - [Function Calling](https://docs.bigmodel.cn/cn/guide/capabilities/function-calling)(工具声明、执行与 `tool_call_id`)
219
- - [思考模式](https://docs.bigmodel.cn/cn/guide/capabilities/thinking-mode)(强制思考、交错思考与 `clear_thinking`)
220
- - [文件上传 API](https://docs.bigmodel.cn/api-reference/文件-api/上传文件)(上传端点与 purpose 缺口)
221
- - [错误码](https://docs.bigmodel.cn/cn/faq/api-code)(认证、限流、参数、内容安全与服务错误)
222
- - [智谱模型价格](https://open.bigmodel.cn/pricing)(标准价与 2026-08-28 可见的限时价)
223
- - [智谱文档全量索引](https://docs.bigmodel.cn/llms.txt)(相关页面发现与交叉核对)
224
- - [GLM-5.3 模型说明](https://docs.bigmodel.cn/cn/guide/models/text/glm-5.3)
225
- - [GLM-5V-Turbo 模型说明](https://docs.bigmodel.cn/cn/guide/models/vlm/glm-5v-turbo)
226
- - [联网搜索](https://docs.bigmodel.cn/cn/guide/tools/web-search)
227
- - [国内 Quick Start](https://docs.bigmodel.cn/cn/guide/start/quick-start)(国内 Base URL、Key 管理入口与 Flash)
228
- - [国际 GLM-5.3-Flash](https://docs.z.ai/guides/vlm/glm-5.3-flash)(国际站模型身份、模态与参数)
229
- - [国际 Quick Start](https://docs.z.ai/guides/overview/quick-start)(国际 Base URL、Key 管理入口与 Flash)
230
- - [国际 HTTP API](https://docs.z.ai/guides/develop/http/introduction)(国际通用端点与 Bearer 鉴权)
231
- - [国际价格](https://docs.z.ai/guides/overview/pricing)(USD 标准/促销价与截止时间)
232
- - [国际文档索引](https://docs.z.ai/llms.txt)(国际站页面覆盖)
1
+ # 智谱 GLM(国内 BigModel / 国际 Z.AI)
2
+
3
+ > 最后核对:2026-08-28。信息来源见文末「官方来源索引」,均为无需登录的官方页面。
4
+
5
+ `glm-5.3-flash` 的模型级请求、事件、fixture、价格和编码门槛以
6
+ [GLM-5.3-Flash_智谱.md](../../model-adaptation/GLM-5.3-Flash/GLM-5.3-Flash_智谱.md) 为唯一详细来源;
7
+ 本文件只承担智谱供应商级协议汇总。若两处摘要不一致,以模型级文件为准并同步修正本页。
8
+
9
+ ## 1. 摘要
10
+
11
+ | 项目 | 取值 |
12
+ |---|---|
13
+ | 现有 `providerId` | `bigmodel`;当前预设明确指向**国内 BigModel**,不是国际 Z.AI |
14
+ | 供应商族设计 | 继续共用 `bigmodel` provider family / 协议内核,新增 `cn` / `global` endpoint profile;不复制两个 provider 实现 |
15
+ | 品牌与 SDK 名称 | 国内智谱 BigModel 与国际 Z.AI 是两个官方平台入口;官方 Python SDK 名称不是运行时 provider alias |
16
+ | 对应项目 `adapter` | `openai`(Chat Completions);`glm-5.3` 官方还提供 Responses 与 Anthropic 协议 |
17
+ | 鉴权 | `Authorization: Bearer <API Key>` |
18
+ | `glm-5.3-flash` 接入结论 | 既有 `bigmodel` 供应商下的**新增独立原生多模态模型**,不是 `glm-5.3` 的别名,也不触发供应商重命名 |
19
+ | 本轮状态 | 官方资料已核对;SDK 尚未登记 `glm-5.3-flash`,完整能力编码仍受第 9 节冲突项阻断 |
20
+
21
+ `glm-5.3-flash` 的展示名为 `GLM-5.3-Flash`,官方 API Model Code 为小写的
22
+ `glm-5.3-flash`。公开资料没有给出第二个 API 别名,不要把展示名、`Z.ai` 或 SDK 包名当成别名注册。
23
+
24
+ ## 2. 国内 / 国际区域矩阵与协议边界
25
+
26
+ | profile | 官方平台 / 文档 | Chat Base URL | API Key 入口 | `glm-5.3-flash` | 价格币种 |
27
+ |---|---|---|---|---|---|
28
+ | `cn` | 智谱 BigModel / `docs.bigmodel.cn` | `https://open.bigmodel.cn/api/paas/v4` | `https://bigmodel.cn/usercenter/proj-mgmt/apikeys` | 官方模型页与 Quick Start 均列出 | CNY |
29
+ | `global` | Z.AI / `docs.z.ai` | `https://api.z.ai/api/paas/v4` | `https://z.ai/manage-apikey/apikey-list` | 官方模型页、Quick Start 与价格页均列出 | USD |
30
+
31
+ 两站的 Flash 模型页确认相同的 model ID、text/image/video/file → text、1M / 128K、强制思考、
32
+ Chat/SSE、Function Calling、缓存与推荐参数。它们不是同一个 API 域名,价格和账户入口也不同。
33
+ 官方没有声明国内与国际账号、余额或 API Key 可以互通;在没有官方依据和真网验证时,必须按
34
+ **不互通**设计,分别保存凭据,不能把国内 key 自动发送到国际端点或反向尝试。
35
+
36
+ 当前仓库 `providerPresets.ts` 的 `bigmodel` 使用国内 Base URL 与国内 Key 页面,现有用户配置、
37
+ 凭据和模型调用都属于 `cn` profile。此前文档标题把 BigModel / Z.AI 并列写在一起,容易误读为
38
+ 现有预设使用国际站,本轮已纠正;不得把存量 `bigmodel` 默认端点改成国际域名。
39
+
40
+ 国内 `glm-5.3` 另外确认以下协议,Flash 不能从它外推:
41
+
42
+ | 协议 | 国内 Base URL | 已确认模型范围 |
43
+ |---|---|---|
44
+ | OpenAI Responses | `https://open.bigmodel.cn/api/v1` | `glm-5.3`;Flash 模型页未列出 |
45
+ | Anthropic Messages | `https://open.bigmodel.cn/api/anthropic` | `glm-5.3`;Flash 模型页未列出 |
46
+
47
+ `glm-5.3-flash` 官方模型页只链接 `POST /paas/v4/chat/completions`,本项目只能把
48
+ Chat Completions 视为已确认协议,不能因同一供应商的 `glm-5.3` 支持另外两种协议而外推。
49
+
50
+ **账号限制**:订阅过 GLM Coding Plan(含已过期)的账号,官方文档写明暂时只能通过
51
+ Chat Completions 调用模型 API。同一账号在不同协议上的可用性可能不同。
52
+
53
+ ## 3. 模型清单
54
+
55
+ | 模型 ID | 简介 | 输入 → 输出 | 上下文 / 最大输出 | 国内标准价(CNY/M tokens) | 国际标准价(USD/M tokens) |
56
+ |---|---|---|---|---|---|
57
+ | `glm-5.3` | 最新旗舰文本模型,面向软件工程与 Agent 任务 | 文本 → 文本 | 1M / 128K | 输入 8;输出 28;缓存命中 2 | 见国际价格页,发布前核对 |
58
+ | `glm-5.3-flash` | GLM-5 系列首个原生多模态模型;2026-08-26 上线 | 文本、图片、视频、文件 → 文本 | 1M / 128K | 输入 0.8;输出 2.8;缓存命中 0.23 | 输入 0.15;输出 0.50;缓存命中 0.03 |
59
+ | `glm-5v-turbo` | 面向看图、看视频写代码的多模态 Coding 基座 | 文本、图片、视频、文件 → 文本 | 200K / 128K | 官方模型页未直接列出,发布前重新查价格页 | 是否在国际站提供及价格未在本轮核对 |
60
+
61
+ 2026-08-28 价格页对 `glm-5.3-flash` 显示“5 折限时两周”:输入 0.4、输出 1.4、
62
+ 缓存命中 0.115 元/百万 tokens,缓存存储限时免费。页面没有显示促销开始日或绝对结束日,
63
+ 所以这里把划线前价格记录为标准价,促销价只作为带核对日期的动态事实,发布或展示前必须重新核对。
64
+
65
+ `glm-5.3-flash` 的模型页还写明 API 价格为 `glm-5.3` 的 1/10、限时价格为 1/20;
66
+ 与价格页上述数值一致。Coding Plan 中按 3 倍用量扣减属于订阅额度规则,不是 API token 单价。
67
+
68
+ 国际价格页显示 2026-08-28 的 5 折价为输入 $0.075、输出 $0.25、缓存命中 $0.015 / M tokens,
69
+ 并明确促销至 2026-09-09 24:00(UTC+8,新加坡时间)。国内页面只写“限时两周”,没有绝对日期;
70
+ 两区价格必须随 endpoint profile 展示,不能换算后合并成一个计价真相。
71
+
72
+ ## 4. `glm-5.3-flash` 输入契约
73
+
74
+ ### 4.1 通用请求
75
+
76
+ - 端点:`POST /paas/v4/chat/completions`。
77
+ - `messages[].content` 可以是文本字符串,或多模态内容块数组。
78
+ - 输出仅为文本;公开模型页没有声明音频输入,不能因对话端点的通用 schema 含音频类型就给本模型登记音频能力。
79
+ - 推荐参数:`temperature: 1`、`top_p: 0.95`、`reasoning_effort: "max"`、
80
+ `thinking: {"type":"enabled"}`。官方建议不要同时调整 `temperature` 与 `top_p`。
81
+ - `max_tokens` 最大 131072,官方建议不低于 1024。
82
+ - `stop` 最多 4 个字符串。
83
+
84
+ ### 4.2 图片
85
+
86
+ - 内容块为 `{"type":"image_url","image_url":{"url":"..."}}`。
87
+ - 支持公网 URL 或 Base64 Data URL;每张小于 5 MB,最大 6000×6000,格式为 JPG/PNG/JPEG,
88
+ 最多 50 张。
89
+ - SDK 与宿主必须继续遵守媒体上传约束:消费界面不得提供手动 URL 文本框;URL/Base64 由媒体选择、
90
+ 上传或宿主转换链路产生。
91
+
92
+ ### 4.3 视频
93
+
94
+ - 内容块为 `{"type":"video_url","video_url":{"url":"..."}}`。
95
+ - 官方 Chat 示例确认公网 URL;文件不超过 200 MB,格式为 MP4/MKV/MOV。
96
+ - 官方页面没有给出本模型的视频时长上限,也没有给出视频 Base64 写法,均保持未知,不得猜测。
97
+
98
+ ### 4.4 文件
99
+
100
+ - 推荐内容块类型是 `file`;旧 `file_url` 仍可用但官方标记为不推荐。
101
+ - `file` 中 `file_id`、`file_url`、`file_data` 三选一;单文件最大 50 MB,最多 50 个文件。
102
+ - `file_data` 是带 MIME 的 Base64 Data URL;`file_url` 页面列举 PDF/TXT/Word/JSONL/XLSX/PPTX 等。
103
+ - 官方 Chat 文档说 `file_id` 由文件上传接口取得,但文件上传接口的公开 `purpose` 仅列
104
+ `batch`、`code-interpreter`、`agent`、`voice-clone-input`,没有 Chat 用途。13.2 不得猜一个
105
+ `purpose`;这个分支必须等官方补充或经授权的真实请求验证。
106
+
107
+ 公开资料没有说明图片、视频、文件能否跨模态混合,也没有给出混合后的总数量/体积上限;
108
+ 不要套用 `glm-5v-turbo`“三者不能同时理解”的限制,也不要反向假定 Flash 一定支持任意混合。
109
+
110
+ ## 5. 思考模式与工具调用
111
+
112
+ - `glm-5.3` 与 `glm-5.3-flash` 都是强制思考模型,`thinking.type` 只能是 `enabled`。
113
+ - `reasoning_effort` 支持 `low` / `high` / `max`,默认 `max`。
114
+ - 官方对标准 API 建议显式传 `thinking.clear_thinking: false` 保留跨轮思考;Coding Plan 默认保留,
115
+ 标准 API 默认清除。现有项目仅有供应商级思考映射,13.2 需要先确认如何只对需要的模型下发,
116
+ 不能无差别改变同供应商旧模型。
117
+ - Function Calling 已确认;工具最多 128 个,`tool_choice` 的公开说明只给出 `auto`,不要显式发送
118
+ 其他取值。工具由宿主执行,再以 `role: "tool"` 与 `tool_call_id` 回传。
119
+ - 交错思考的多轮工具调用必须把上一轮完整、原序的 `reasoning_content` 与工具调用一起回传;
120
+ 不得只保留可见文本。
121
+
122
+ 模型页建议流式工具调用时同时传 `stream: true` 与 `tool_stream: true`,但对话 OpenAPI 的视觉请求
123
+ schema 未暴露 `tool_stream`,通用字段说明列出的支持模型也未包含 `glm-5.3-flash`。基础工具调用已确认,
124
+ 专有的 `tool_stream` 优化暂不可登记为稳定能力,见第 9 节。
125
+
126
+ ## 6. Chat Completions 事件契约矩阵
127
+
128
+ 下表区分官方 schema 的可空性与项目解析策略。官方没有给某些字段标 `required` 时保持 optional,
129
+ 不能把示例中“恰好存在”提升为协议必填。
130
+
131
+ | 事件 / 响应 | 前置状态 | required / optional / nullable | 空值与缺字段语义 | 状态迁移、输出与副作用 | 终态 / 连接 |
132
+ |---|---|---|---|---|---|
133
+ | 非流式 HTTP 成功 | 请求已发送 | 响应对象包含 `choices`;`message.content` 在工具调用时可为 `null`;`reasoning_content`、`tool_calls`、`usage` 按场景可选 | 工具调用时无文本是合法响应,不能报“结果无文本” | 发出非空文本/思考,收集工具调用与 usage | 单次 HTTP 终态,响应消费后释放 |
134
+ | SSE 普通增量 | 流已建立、尚未终止 | `choices` 可能缺失或为空;`delta.content`、`delta.reasoning_content`、`delta.tool_calls` 均可选,content 可为 `null` 或空串 | 无 choice/空内容块合法,忽略而不是制造 token | 非空文本/思考按序追加;工具参数按 `index` 拼接 | 非终态,保持连接 |
135
+ | SSE 工具增量 | 流已建立、工具参数未完成 | `delta.tool_calls[]` 分片含 `index`;`id`、函数名、arguments 会分块出现 | 单片不完整合法,不能逐片解析完整 JSON | 按 index 保留顺序并拼接;本事件不执行工具 | 非终态,保持连接 |
136
+ | SSE 完成块 | 已有零到多个增量 | `finish_reason` 只在最终块出现;`delta.content` 可为空;`usage` 通常只在最终块出现 | “空文本 + finish_reason + usage”是合法终态;无有效文本但有工具调用同样合法 | 保存开放字符串形式的 finish reason 与 usage,不额外发空 token | 语义终态,但仍应消费 `[DONE]` |
137
+ | `data: [DONE]` | 最终块之后,或供应商直接终止 | 非 JSON 哨兵 | 不解析为对象 | 停止读取并释放 reader/连接 | 流终态 |
138
+ | HTTP 错误 | 请求被端点拒绝 | 官方错误对象含 `error.code` 与 `error.message` | 不应把错误正文当增量事件 | 转换为脱敏 SDK 错误,保留状态码与可诊断代码 | 终态,释放响应 |
139
+ | 中途断线 / Abort / timeout | 流已建立 | 官方没有定义专用恢复事件 | 不能把断线当 `[DONE]` 或成功终态 | 传播取消/超时/网络错误,停止工具副作用 | 终态;是否连接复用未由官方说明,宿主必须释放 |
140
+ | 工具结果续轮 | 上一轮 `finish_reason=tool_calls` | assistant 历史需保留完整 `reasoning_content`、`tool_calls`;工具消息需 `tool_call_id` | 丢掉思考或工具 id 会破坏后续推理 | 宿主执行工具,把结果作为新消息发起下一次请求 | 新 HTTP/SSE 会话,不是旧连接复用 |
141
+
142
+ 官方流式示例还显示:最终增量可只有空 `content`、`finish_reason` 与 usage,随后再发 `[DONE]`;
143
+ 官方 SDK 示例会先判断 `choices` 是否为空再读取。因此合法空块、无 choices 块必须进入 fixture 和解析测试。
144
+
145
+ `finish_reason` 的 schema 枚举列出 `stop`、`length`、`tool_calls`、`sensitive`、`network_error`,
146
+ 但同页字段说明还提到 `model_context_window_exceeded`。这是官方页面内部不一致;解析器必须接受并保留
147
+ 未知字符串,不能用封闭枚举拒绝服务器返回。
148
+
149
+ ## 7. 结构化输出与流式能力
150
+
151
+ - 普通文本流式已确认:SSE `data:` JSON 帧、最终 `finish_reason`/usage、`data: [DONE]`。
152
+ - 思考过程通过增量 `reasoning_content` 返回。
153
+ - 模型页声称支持结构化输出,但视觉请求 OpenAPI 未暴露 `response_format`,通用字段说明又写
154
+ “仅文本模型支持”。在官方澄清前,13.2 必须保守登记为不支持结构化输出,不能宣称 JSON schema。
155
+ - 模型页建议 `tool_stream: true`,但 API schema 的模型支持清单未包含本模型;基础流式和基础工具调用
156
+ 不受此冲突影响,只有 `tool_stream` 专有优化被阻断。
157
+
158
+ ## 8. 联网搜索
159
+
160
+ 智谱有三套不同产品,不要混为一谈:
161
+
162
+ | 产品 | 调用方式 | 边界 |
163
+ |---|---|---|
164
+ | Web Search API | `POST /paas/v4/web_search` | 独立检索端点,拿结构化结果后由宿主拼入 prompt |
165
+ | Chat Completions 网络搜索工具 | `tools[].type = "web_search"`,另带 `web_search` 嵌套配置 | 让模型结合搜索结果作答;不是 OpenAI 扁平工具 schema |
166
+ | Search Agent | Assistant API 的 `assistant.conversation()` | 更重的调研式工作流,不属于普通 Chat 工具 |
167
+
168
+ 搜索引擎价格:`search_std` ¥0.01/次、`search_pro` ¥0.03/次、
169
+ `search_pro_sogou` / `search_pro_quark` ¥0.05/次。搜索是独立计费工具,不含在模型 token 单价中。
170
+
171
+ ## 9. 未决项与 13.2 编码门槛
172
+
173
+ 按“官方资料先行”规则,当前**不可按完整能力进入 13.2 编码**。若 13.2 接受保守降级,
174
+ 可只实现已经确认的子集;否则必须先取得官方澄清或用户授权真实请求验证:
175
+
176
+ | 未决项 | 官方冲突 / 缺口 | 13.2 保守边界 |
177
+ |---|---|---|
178
+ | 结构化输出 | 模型页称支持;Vision OpenAPI 不含 `response_format`,通用说明称仅文本模型支持 | `structuredOutputMode: none`,不得发送 `response_format` |
179
+ | `tool_stream` | 模型页建议开启;OpenAPI Vision schema 缺字段,通用支持模型清单缺 Flash | 只支持普通 Function Calling;不发送 `tool_stream` |
180
+ | `file_id` 上传 | Chat 接口允许 `file_id`,上传接口 `purpose` 无 Chat 枚举 | 不实现/不测试 `file_id`;若扩文件能力只能先走官方明确的 `file_url`/`file_data`,且继续遵守宿主上传与无 URL 文本框规则 |
181
+ | 跨模态混合 | 未说明图片/视频/文件能否混合及总量限制 | 不承诺混合;测试和 UI 不自动开放任意组合 |
182
+ | 模型专属流式样本 | 官方字面 SSE/工具流样本使用 `glm-5.2`/`glm-5.3`,不是 Flash | 可作为“同端点官方相关模型样本”验证通用 parser,不能冒充 Flash 专属 fixture;模型专属事件正确性仍需官方样本或授权真网 |
183
+
184
+ ## 10. 13.2 精确代码与测试输入
185
+
186
+ 确认采用上表保守边界后,13.2 至少需要检查并改动:
187
+
188
+ - `packages/ai-sdk/src/llm/modelCatalogEntries.ts`:新增独立 `glm-5.3-flash` 条目;
189
+ `image=true`、`video=true`、`audio=false`,1M / 128K;结构化输出保持保守值。
190
+ - `packages/ai-sdk/src/llm/providerPresets.ts`:现有 `bigmodel` 国内 preset 保持原 Base URL 与凭据不变;
191
+ 新增同一供应商族的 `cn` / `global` endpoint profile 数据,国际 profile 使用 Z.AI Base URL 和 Key 页面。
192
+ - `packages/ai-sdk/src/llm/types.ts`:补供应商族、endpoint profile 与 credential identity;不要用模型 ID
193
+ 或 UI 条件分支判断区域。
194
+ - 凭据:当前 SDK 用 `credentials.get('llm', providerId)`,Electron keystore 也按 providerId 存取。
195
+ 13.2 必须让国内/国际配置实例使用不同凭据槽;国内存量 `bigmodel` 原槽原值保留并默认 profile=cn。
196
+ - `packages/ai-sdk/src/llm/providerReasoningRequest.ts`:现有 `bigmodel` 是供应商级规则;需要模型感知后再决定
197
+ `thinking.clear_thinking=false`,不得为 Flash 修改而误伤 `glm-5v-turbo`。
198
+ - `packages/ai-sdk/src/llm/streaming.ts` 与 `packages/ai-sdk/src/llm/chatTypes.ts`:核对工具调用增量、
199
+ 无 choices/合法空块、finish reason 开放字符串与 reasoning 保留;当前文本 parser 不能被模型目录登记替代。
200
+ - `packages/ai-sdk/src/llm/sdk/provider.ts` 及模型步骤输入转换:确认 image/video 在两个正式消费路径的真实能力;
201
+ 智能助手路径当前不支持视频,目录与 UI 不得静默宣称全路径可用。
202
+ - 文件输入若进入范围,先扩统一 LLM 输入种类、宿主 media/upload 接口与安全边界;不能在 UI 添加 URL 文本框,
203
+ 也不能仅为 Flash 写专属旁路。
204
+ - fixture:逐项保存官方 Flash 图片、视频、文件字面请求;通用 SSE/工具流样本必须标注实际示例模型 ID。
205
+ - 精确测试:目录/预设/思考请求、多模态序列化、合法空 SSE、无 choices、空终态、无有效 final、
206
+ 工具参数分块、重复/乱序、错误、Abort/timeout/断线与资源释放,并执行断牙验证。
207
+
208
+ ## 官方来源索引
209
+
210
+ 以下页面均于 2026-08-28 核对:
211
+
212
+ - [GLM-5.3-Flash 模型说明](https://docs.bigmodel.cn/cn/guide/models/vlm/glm-5.3-flash)(用户指定来源;模型 ID、模态、上下文、参数、能力与相对价格)
213
+ - [新模型发布记录](https://docs.bigmodel.cn/cn/update/new-releases)(2026-08-26 上线日期)
214
+ - [模型总览](https://docs.bigmodel.cn/cn/guide/start/model-overview)(模型定位、上下文、最大输出与价格入口)
215
+ - [对话补全 API](https://docs.bigmodel.cn/api-reference/模型-api/对话补全)(端点、请求/响应 schema、Flash 多模态字面示例与限制)
216
+ - [流式输出](https://docs.bigmodel.cn/cn/guide/capabilities/streaming)(SSE、空最终块、usage 与 `[DONE]`)
217
+ - [流式工具调用](https://docs.bigmodel.cn/cn/guide/capabilities/stream-tool)(工具参数分块、`tool_stream` 与宿主续轮)
218
+ - [Function Calling](https://docs.bigmodel.cn/cn/guide/capabilities/function-calling)(工具声明、执行与 `tool_call_id`)
219
+ - [思考模式](https://docs.bigmodel.cn/cn/guide/capabilities/thinking-mode)(强制思考、交错思考与 `clear_thinking`)
220
+ - [文件上传 API](https://docs.bigmodel.cn/api-reference/文件-api/上传文件)(上传端点与 purpose 缺口)
221
+ - [错误码](https://docs.bigmodel.cn/cn/faq/api-code)(认证、限流、参数、内容安全与服务错误)
222
+ - [智谱模型价格](https://open.bigmodel.cn/pricing)(标准价与 2026-08-28 可见的限时价)
223
+ - [智谱文档全量索引](https://docs.bigmodel.cn/llms.txt)(相关页面发现与交叉核对)
224
+ - [GLM-5.3 模型说明](https://docs.bigmodel.cn/cn/guide/models/text/glm-5.3)
225
+ - [GLM-5V-Turbo 模型说明](https://docs.bigmodel.cn/cn/guide/models/vlm/glm-5v-turbo)
226
+ - [联网搜索](https://docs.bigmodel.cn/cn/guide/tools/web-search)
227
+ - [国内 Quick Start](https://docs.bigmodel.cn/cn/guide/start/quick-start)(国内 Base URL、Key 管理入口与 Flash)
228
+ - [国际 GLM-5.3-Flash](https://docs.z.ai/guides/vlm/glm-5.3-flash)(国际站模型身份、模态与参数)
229
+ - [国际 Quick Start](https://docs.z.ai/guides/overview/quick-start)(国际 Base URL、Key 管理入口与 Flash)
230
+ - [国际 HTTP API](https://docs.z.ai/guides/develop/http/introduction)(国际通用端点与 Bearer 鉴权)
231
+ - [国际价格](https://docs.z.ai/guides/overview/pricing)(USD 标准/促销价与截止时间)
232
+ - [国际文档索引](https://docs.z.ai/llms.txt)(国际站页面覆盖)