@gientech/modual 2.2.3-fix.6 → 2.2.3-fix.8

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 (523) hide show
  1. package/README.md +761 -761
  2. package/{dist/assets/GientechStreamReader-Bae2-4f7.js → assets/GientechStreamReader-r5ZTSZk2.js} +1 -1
  3. package/{dist/assets/LeftOutlined-COk0w5nY.js → assets/LeftOutlined-DZMeGbKk.js} +1 -1
  4. package/{dist/assets/circle-plus-DOKqXUMk.js → assets/circle-plus-B73z_SUN.js} +1 -1
  5. package/{src/modules/database/assets → assets}/database.svg +11 -11
  6. package/{src/modules/database/assets → assets}/database_add.svg +53 -53
  7. package/{dist/assets → assets}/database_connect.svg +66 -66
  8. package/{dist/assets → assets}/database_upload.svg +29 -29
  9. package/{dist/assets → assets}/databse.svg +6 -6
  10. package/{dist/assets → assets}/defaultWeLogo.svg +14 -14
  11. package/{dist/assets → assets}/graph.svg +4 -4
  12. package/{src/assets/img → assets}/iconAi.svg +9 -9
  13. package/{dist/assets/index-BKbpfN9S.js → assets/index-97Oe7YBe.js} +1 -1
  14. package/{dist/assets/index-BXdyn2W3.js → assets/index-B4k3tK0f.js} +1 -1
  15. package/{dist/assets/index-Bin0NZwF.js → assets/index-BDc2zBbG.js} +7 -3
  16. package/assets/index-BIEKgWu0.js +27 -0
  17. package/assets/index-CzZQWA2P.js +1 -0
  18. package/{dist/assets/index-CpSzj-Sx.js → assets/index-DHK_n74G.js} +58 -73
  19. package/assets/index-DPA1HCWQ.js +1372 -0
  20. package/assets/index-DPyRygOA.js +745 -0
  21. package/assets/index-YHUI3QVz.js +943 -0
  22. package/{dist/assets/index-vfI1_Qg0.js → assets/index-iOuQJ8vu.js} +1 -1
  23. package/{dist/assets/index-Ct_k24Ar.js → assets/index-usBlUHOb.js} +1 -1
  24. package/{src/modules/assistantConfig/assets → assets}/knowledge.svg +4 -4
  25. package/{src/modules/database/assets → assets}/mysql.svg +14 -14
  26. package/assets/plus-BICgMvz9.js +6 -0
  27. package/assets/search-CD5YKija.js +6 -0
  28. package/{dist/assets → assets}/sensitive.svg +5 -5
  29. package/assets/style-Blt3Kyyt.js +196 -0
  30. package/assets/style2.css +1 -0
  31. package/{dist/assets/triangle-alert-CaJaaCaZ.js → assets/triangle-alert-C4Z1AkGW.js} +1 -1
  32. package/{dist/assets/x-B65AntWN.js → assets/x-DWGzNb9c.js} +1 -1
  33. package/{dist/assistantConfig.js → assistantConfig.js} +14 -9
  34. package/chat.js +1 -0
  35. package/chatCompare.js +1 -0
  36. package/database.js +20 -0
  37. package/{dist/databaseId.js → databaseId.js} +1 -1
  38. package/{dist/databaseTable.js → databaseTable.js} +1 -1
  39. package/index.js +1 -0
  40. package/modelManage.js +1 -0
  41. package/package.json +44 -125
  42. package/{dist/sensitive.js → sensitive.js} +6 -6
  43. package/streamFilesReader.js +1 -0
  44. package/{public/worker → worker}/pdf.worker.min.js +21 -21
  45. package/.editorconfig +0 -38
  46. package/.prettierignore +0 -16
  47. package/.prettierrc +0 -17
  48. package/CHANGELOG.md +0 -162
  49. package/Dockerfile +0 -15
  50. package/USAGE.md +0 -247
  51. package/bash.exe.stackdump +0 -40
  52. package/components.json +0 -21
  53. package/default.conf +0 -19
  54. package/dist/README.md +0 -761
  55. package/dist/assets/database.svg +0 -11
  56. package/dist/assets/database_add.svg +0 -53
  57. package/dist/assets/iconAi.svg +0 -9
  58. package/dist/assets/index-1PwCuRjv.js +0 -1061
  59. package/dist/assets/index-7QvYA6eT.js +0 -1
  60. package/dist/assets/index-BhUNGJOe.js +0 -27
  61. package/dist/assets/index-DT3qkjJ3.js +0 -750
  62. package/dist/assets/index-lFBFf_0k.js +0 -1890
  63. package/dist/assets/knowledge.svg +0 -4
  64. package/dist/assets/mysql.svg +0 -14
  65. package/dist/assets/style-CfNUqKAA.js +0 -196
  66. package/dist/assets/style2.css +0 -1
  67. package/dist/chat.js +0 -1
  68. package/dist/chatCompare.js +0 -1
  69. package/dist/database.js +0 -20
  70. package/dist/index.js +0 -1
  71. package/dist/modelManage.js +0 -1
  72. package/dist/package.json +0 -73
  73. package/dist/streamFilesReader.js +0 -1
  74. package/dist/worker/pdf.worker.min.js +0 -22
  75. package/doc_assets/images/1.png +0 -0
  76. package/doc_assets/images/3.png +0 -0
  77. package/doc_assets/images/component-screenshot.png +0 -1
  78. package/doc_assets//346/226/271/346/241/210/v2.0.7/345/217/230/346/233/264/346/200/273/347/273/223.md +0 -115
  79. package/doc_assets//346/226/271/346/241/210//344/274/230/345/214/226/346/226/271/346/241/210-/345/244/232/344/274/232/350/257/235SSE/350/277/236/346/216/245/347/256/241/347/220/206.md +0 -504
  80. package/doc_assets//346/226/271/346/241/210//346/215/242/350/241/214/346/240/274/345/274/217/344/277/235/346/214/201/344/274/230/345/214/226/346/226/271/346/241/210.md +0 -359
  81. package/eslint.config.js +0 -92
  82. package/index.html +0 -13
  83. package/package.json.demo-backup +0 -109
  84. package/postcss.config.cjs +0 -19
  85. package/public/icons/answerAwartar.png +0 -0
  86. package/public/icons/docx-file.png +0 -0
  87. package/public/icons/folder.png +0 -0
  88. package/public/icons/html.png +0 -0
  89. package/public/icons/image.png +0 -0
  90. package/public/icons/jpg-file.png +0 -0
  91. package/public/icons/json.png +0 -0
  92. package/public/icons/md.png +0 -0
  93. package/public/icons/pdf.png +0 -0
  94. package/public/icons/pptx.png +0 -0
  95. package/public/icons/questionAwartar.png +0 -0
  96. package/public/icons/sheets.png +0 -0
  97. package/public/icons/txt.png +0 -0
  98. package/public/icons/xlsx.png +0 -0
  99. package/public/vite.svg +0 -1
  100. package/rag/assets/index.Bd0tNzw0.js +0 -2797
  101. package/rag/assets/index.D6t67hlu.css +0 -1
  102. package/rag/assets/left.KBHV5h7q.jpg +0 -0
  103. package/rag/assets/worker-BbpylX7l.DptbXke_.js +0 -13
  104. package/release-it.json +0 -21
  105. package/scripts/README.md +0 -133
  106. package/scripts/build-demo.js +0 -88
  107. package/scripts/check-changelog.cjs +0 -124
  108. package/scripts/check-version.cjs +0 -49
  109. package/scripts/decrypt-api-key.js +0 -95
  110. package/scripts/demo-selector.js +0 -216
  111. package/scripts/dev-demo.js +0 -85
  112. package/scripts/open-file.cjs +0 -61
  113. package/scripts/preview-demo.js +0 -130
  114. package/scripts/run-demo.bat +0 -34
  115. package/src/assets/img/close.png +0 -0
  116. package/src/assets/img/database.png +0 -0
  117. package/src/assets/img/downArrow.png +0 -0
  118. package/src/assets/img/downLoad.png +0 -0
  119. package/src/assets/img/excel.png +0 -0
  120. package/src/assets/img/graphIcon.png +0 -0
  121. package/src/assets/img/img.png +0 -0
  122. package/src/assets/img/pdf.png +0 -0
  123. package/src/assets/img/ppt.png +0 -0
  124. package/src/assets/img/search.svg +0 -3
  125. package/src/assets/img/selected.svg +0 -4
  126. package/src/assets/img/singleQa.png +0 -0
  127. package/src/assets/img/txt.png +0 -0
  128. package/src/assets/img/webSearch.png +0 -0
  129. package/src/assets/img/word.png +0 -0
  130. package/src/assets/login/homeBg.png +0 -0
  131. package/src/assets/login/left.jpg +0 -0
  132. package/src/assets/login/logoImg.png +0 -0
  133. package/src/examples/ConversationAssistantPage/index.tsx +0 -42
  134. package/src/examples/LoginPage/index.tsx +0 -20
  135. package/src/examples/chat/components/DrawerGraphPreview.tsx +0 -78
  136. package/src/examples/chat/index.tsx +0 -171
  137. package/src/examples/chat/logo03.png +0 -0
  138. package/src/examples/chatCompare/icons/rag_think.svg +0 -8
  139. package/src/examples/chatCompare/icons/wenda_lianwangsousuo.svg +0 -9
  140. package/src/examples/chatCompare/index.tsx +0 -154
  141. package/src/examples/gientechStreamFilesReader/index.tsx +0 -979
  142. package/src/examples/headlessChat/assets/mind.svg +0 -6
  143. package/src/examples/headlessChat/assets/net.svg +0 -7
  144. package/src/examples/headlessChat/index.tsx +0 -298
  145. package/src/examples/knowledgebaseDetails/index.tsx +0 -119
  146. package/src/examples/ragDatabaseDataPage/index.tsx +0 -40
  147. package/src/examples/ragDatabaseIdPage/index.tsx +0 -126
  148. package/src/examples/ragDatabasePage/index.tsx +0 -36
  149. package/src/examples/ragModelManagePage/index.tsx +0 -107
  150. package/src/examples/ragModelManagePage/style.css +0 -7
  151. package/src/examples/ragSearchPage/index.tsx +0 -0
  152. package/src/examples/ragSensitiveWordsPage/index.tsx +0 -117
  153. package/src/examples/ragSensitiveWordsPage/style.css +0 -16
  154. package/src/examples/sensitiveId/index.tsx +0 -41
  155. package/src/examples/streamFiles/index.tsx +0 -417
  156. package/src/examples/utils/demo_setting_pannel.ts +0 -0
  157. package/src/lib_enter.ts +0 -44
  158. package/src/main.tsx +0 -5
  159. package/src/main.tsx.backup +0 -5
  160. package/src/modules/CHAT_UNIFICATION_PLAN.md +0 -324
  161. package/src/modules/assistantConfig/assets/databse.svg +0 -6
  162. package/src/modules/assistantConfig/assets/empty.png +0 -0
  163. package/src/modules/assistantConfig/assets/graph.svg +0 -4
  164. package/src/modules/assistantConfig/assets/sensitive.svg +0 -5
  165. package/src/modules/assistantConfig/components/Database.tsx +0 -171
  166. package/src/modules/assistantConfig/components/Graph.tsx +0 -177
  167. package/src/modules/assistantConfig/components/Knowledge.tsx +0 -276
  168. package/src/modules/assistantConfig/components/NotFoundContent.tsx +0 -21
  169. package/src/modules/assistantConfig/components/Paragraph.tsx +0 -51
  170. package/src/modules/assistantConfig/components/ParamsItem.tsx +0 -40
  171. package/src/modules/assistantConfig/components/ResourceBinderItem.tsx +0 -133
  172. package/src/modules/assistantConfig/components/SearchableSelector.tsx +0 -500
  173. package/src/modules/assistantConfig/components/Sensitive.tsx +0 -221
  174. package/src/modules/assistantConfig/components/SliderInput.tsx +0 -66
  175. package/src/modules/assistantConfig/constants.tsx +0 -75
  176. package/src/modules/assistantConfig/index.tsx +0 -785
  177. package/src/modules/assistantConfig/server.ts +0 -262
  178. package/src/modules/chat/AllFiles.tsx +0 -158
  179. package/src/modules/chat/Conversations/Item.tsx +0 -169
  180. package/src/modules/chat/Conversations/List.tsx +0 -210
  181. package/src/modules/chat/Conversations/groupByTime.ts +0 -39
  182. package/src/modules/chat/Conversations/index.tsx +0 -255
  183. package/src/modules/chat/ReferenceBar.tsx +0 -659
  184. package/src/modules/chat/constants.tsx +0 -66
  185. package/src/modules/chat/i18n.ts +0 -151
  186. package/src/modules/chat/i18n.tsx +0 -151
  187. package/src/modules/chat/icons/rag_think.svg +0 -8
  188. package/src/modules/chat/icons/wenda_lianwangsousuo.svg +0 -9
  189. package/src/modules/chat/index.tsx +0 -2400
  190. package/src/modules/chat/referenceCom/DeleteModal.tsx +0 -75
  191. package/src/modules/chat/referenceCom/DrawerContent.tsx +0 -136
  192. package/src/modules/chat/referenceCom/DrawerDatabase.tsx +0 -102
  193. package/src/modules/chat/referenceCom/DrawerGraphPreview.tsx +0 -86
  194. package/src/modules/chat/referenceCom/DrawerPreview.tsx +0 -73
  195. package/src/modules/chat/referenceCom/DrawerTitle.tsx +0 -26
  196. package/src/modules/chat/referenceCom/RenameModal.tsx +0 -86
  197. package/src/modules/chat/referenceCom/TagCom.tsx +0 -30
  198. package/src/modules/chat/style.css +0 -6
  199. package/src/modules/chat/style.less +0 -7
  200. package/src/modules/chat/types.ts +0 -17
  201. package/src/modules/chat/utils/index.ts +0 -348
  202. package/src/modules/chatCompare/UseChatCompareHooks.ts +0 -103
  203. package/src/modules/chatCompare/components/AichatCompareUseController.tsx +0 -754
  204. package/src/modules/chatCompare/components/AssistantSelector.tsx +0 -127
  205. package/src/modules/chatCompare/components/ChatInputer.tsx +0 -67
  206. package/src/modules/chatCompare/components/ChatInstance.tsx +0 -426
  207. package/src/modules/chatCompare/components/ChatItem.tsx +0 -556
  208. package/src/modules/chatCompare/components/Sender/FileCardCommon.tsx +0 -97
  209. package/src/modules/chatCompare/components/Sender/FileUpload.tsx +0 -89
  210. package/src/modules/chatCompare/components/Sender/FilesDisplay.tsx +0 -309
  211. package/src/modules/chatCompare/components/Sender/VoiceInput.tsx +0 -80
  212. package/src/modules/chatCompare/components/Sender/contexts/BadgeContext.tsx +0 -36
  213. package/src/modules/chatCompare/components/Sender/fileIcon.tsx +0 -100
  214. package/src/modules/chatCompare/components/Sender/index.tsx +0 -850
  215. package/src/modules/chatCompare/components/UseChatInstanceHooks.ts +0 -406
  216. package/src/modules/chatCompare/components/UseScrollHooks.ts +0 -36
  217. package/src/modules/chatCompare/components/components/AllFiles.tsx +0 -156
  218. package/src/modules/chatCompare/components/components/DeleteModal.tsx +0 -75
  219. package/src/modules/chatCompare/components/components/DrawerContent.tsx +0 -138
  220. package/src/modules/chatCompare/components/components/DrawerDatabase.tsx +0 -110
  221. package/src/modules/chatCompare/components/components/DrawerGraphPreview.tsx +0 -95
  222. package/src/modules/chatCompare/components/components/DrawerPreview.tsx +0 -75
  223. package/src/modules/chatCompare/components/components/DrawerTitle.tsx +0 -26
  224. package/src/modules/chatCompare/components/components/DrawerVideo.tsx +0 -85
  225. package/src/modules/chatCompare/components/components/ReferenceBar.tsx +0 -659
  226. package/src/modules/chatCompare/components/components/RenameModal.tsx +0 -86
  227. package/src/modules/chatCompare/components/components/TagCom.tsx +0 -30
  228. package/src/modules/chatCompare/components/defaultStyleSet.tsx +0 -148
  229. package/src/modules/chatCompare/components/server.ts +0 -208
  230. package/src/modules/chatCompare/components/serverFn.ts +0 -172
  231. package/src/modules/chatCompare/components/style.less +0 -97
  232. package/src/modules/chatCompare/components/useFileManager.ts +0 -173
  233. package/src/modules/chatCompare/components/utils.ts +0 -31
  234. package/src/modules/chatCompare/data.ts +0 -842
  235. package/src/modules/chatCompare/index.tsx +0 -537
  236. package/src/modules/chatCompare/utils/AiChat.types.tsx +0 -110
  237. package/src/modules/chatCompare/utils/constants.tsx +0 -70
  238. package/src/modules/chatCompare/utils/fileUploadValidator.ts +0 -183
  239. package/src/modules/chatCompare/utils/icons/rag_think.svg +0 -8
  240. package/src/modules/chatCompare/utils/icons/wenda_lianwangsousuo.svg +0 -9
  241. package/src/modules/chatCompare/utils/index.ts +0 -46
  242. package/src/modules/database/CreateModal.tsx +0 -402
  243. package/src/modules/database/assets/Doris.png +0 -0
  244. package/src/modules/database/assets/PostgreSQL.png +0 -0
  245. package/src/modules/database/assets/SQLServer.png +0 -0
  246. package/src/modules/database/assets/database_connect.svg +0 -66
  247. package/src/modules/database/assets/database_upload.svg +0 -29
  248. package/src/modules/database/assets/empty.png +0 -0
  249. package/src/modules/database/index.tsx +0 -477
  250. package/src/modules/database/server.ts +0 -196
  251. package/src/modules/databaseId/CustomCom.tsx +0 -156
  252. package/src/modules/databaseId/EditConfig.tsx +0 -280
  253. package/src/modules/databaseId/UploadDrawer.tsx +0 -535
  254. package/src/modules/databaseId/assets/aiOptimize.svg +0 -10
  255. package/src/modules/databaseId/assets/empty.png +0 -0
  256. package/src/modules/databaseId/assets/template.svg +0 -6
  257. package/src/modules/databaseId/assets/upload.svg +0 -9
  258. package/src/modules/databaseId/assets/useTemp.svg +0 -6
  259. package/src/modules/databaseId/i18n.ts +0 -360
  260. package/src/modules/databaseId/index.tsx +0 -855
  261. package/src/modules/databaseId/server.ts +0 -286
  262. package/src/modules/databaseId/style.css +0 -5
  263. package/src/modules/databaseTable/EditRowDrawer.tsx +0 -124
  264. package/src/modules/databaseTable/index.tsx +0 -359
  265. package/src/modules/databaseTable/server.ts +0 -180
  266. package/src/modules/headlessChat/ReferenceBar.tsx +0 -783
  267. package/src/modules/headlessChat/constants.tsx +0 -54
  268. package/src/modules/headlessChat/index.tsx +0 -1903
  269. package/src/modules/headlessChat/referenceCom/DeleteModal.tsx +0 -75
  270. package/src/modules/headlessChat/referenceCom/DrawerContent.tsx +0 -136
  271. package/src/modules/headlessChat/referenceCom/DrawerDatabase.tsx +0 -102
  272. package/src/modules/headlessChat/referenceCom/DrawerGraphPreview.tsx +0 -86
  273. package/src/modules/headlessChat/referenceCom/DrawerPreview.tsx +0 -73
  274. package/src/modules/headlessChat/referenceCom/DrawerTitle.tsx +0 -26
  275. package/src/modules/headlessChat/referenceCom/RenameModal.tsx +0 -86
  276. package/src/modules/headlessChat/referenceCom/TagCom.tsx +0 -30
  277. package/src/modules/headlessChat/style.less +0 -3
  278. package/src/modules/headlessChat/types.ts +0 -23
  279. package/src/modules/headlessChat/utils/index.ts +0 -348
  280. package/src/modules/knowledgeBase/index.tsx +0 -58
  281. package/src/modules/knowledgeBase/server.ts +0 -196
  282. package/src/modules/knowledgebaseDetails/KnowledgeBaseDetails.tsx +0 -169
  283. package/src/modules/knowledgebaseDetails/components/KnowledgeBaseSummaryCard.tsx +0 -193
  284. package/src/modules/knowledgebaseDetails/components/fileManagementParts.tsx +0 -534
  285. package/src/modules/knowledgebaseDetails/components/index.ts +0 -3
  286. package/src/modules/knowledgebaseDetails/index.ts +0 -3
  287. package/src/modules/knowledgebaseDetails/modules/ConfigModule.tsx +0 -49
  288. package/src/modules/knowledgebaseDetails/modules/FaqModule.tsx +0 -47
  289. package/src/modules/knowledgebaseDetails/modules/KnowledgeParseModule.tsx +0 -771
  290. package/src/modules/knowledgebaseDetails/modules/RetrievalTestModule.tsx +0 -49
  291. package/src/modules/knowledgebaseDetails/modules/UploadManagementModule.tsx +0 -49
  292. package/src/modules/knowledgebaseDetails/modules/types.ts +0 -44
  293. package/src/modules/knowledgebaseDetails/modules-shim.d.ts +0 -14
  294. package/src/modules/knowledgebaseDetails/servers/analysis.ts +0 -5
  295. package/src/modules/knowledgebaseDetails/servers/index.ts +0 -318
  296. package/src/modules/login/components/Login/LoginBox/index.tsx +0 -105
  297. package/src/modules/login/components/Login/RegisterBox/index.tsx +0 -181
  298. package/src/modules/login/components/Login/index.tsx +0 -100
  299. package/src/modules/login/i18n.ts +0 -217
  300. package/src/modules/login/index.tsx +0 -113
  301. package/src/modules/login/style.css +0 -3
  302. package/src/modules/login/useServices.ts +0 -53
  303. package/src/modules/login/utils.ts +0 -42
  304. package/src/modules/modelManage/ConfigDrawer.tsx +0 -267
  305. package/src/modules/modelManage/ReplaceModal.tsx +0 -113
  306. package/src/modules/modelManage/assets/empty.png +0 -0
  307. package/src/modules/modelManage/const.ts +0 -51
  308. package/src/modules/modelManage/i18n.ts +0 -407
  309. package/src/modules/modelManage/index.tsx +0 -668
  310. package/src/modules/modelManage/server.ts +0 -231
  311. package/src/modules/nodegraph/index.tsx +0 -1
  312. package/src/modules/search/assets/Icon-history.svg +0 -8
  313. package/src/modules/search/assets/answerAwartar.png +0 -0
  314. package/src/modules/search/assets/doc.png +0 -0
  315. package/src/modules/search/assets/genera.gif +0 -0
  316. package/src/modules/search/assets/icon-robot.svg +0 -9
  317. package/src/modules/search/assets/icon-search-bar.svg +0 -14
  318. package/src/modules/search/assets/icon-sub-title.svg +0 -3
  319. package/src/modules/search/assets/icon-title.svg +0 -9
  320. package/src/modules/search/assets/icon-zoomOut.svg +0 -9
  321. package/src/modules/search/assets/iconAi.svg +0 -9
  322. package/src/modules/search/assets/pdf.png +0 -0
  323. package/src/modules/search/assets/ppt.png +0 -0
  324. package/src/modules/search/assets/search.svg +0 -3
  325. package/src/modules/search/assets/selected.svg +0 -4
  326. package/src/modules/search/assets/txt.png +0 -0
  327. package/src/modules/search/assets/xls.png +0 -0
  328. package/src/modules/search/components/AssisSelect.tsx +0 -137
  329. package/src/modules/search/components/Editor/ChatViewEditor.tsx +0 -261
  330. package/src/modules/search/components/Editor/aichat.css +0 -1
  331. package/src/modules/search/components/Editor/constant.ts +0 -13
  332. package/src/modules/search/components/Editor/index.tsx +0 -113
  333. package/src/modules/search/components/Editor/plugins/autofomatRules.ts +0 -332
  334. package/src/modules/search/components/Editor/plugins/convertImgPlugins.tsx +0 -20
  335. package/src/modules/search/components/Editor/plugins/createIndexes.tsx +0 -38
  336. package/src/modules/search/components/Editor/plugins/displayer.ts +0 -298
  337. package/src/modules/search/components/Editor/plugins/imageClick.tsx +0 -32
  338. package/src/modules/search/components/Editor/plugins/myplugin.tsx +0 -98
  339. package/src/modules/search/components/Editor/ui/avatar.tsx +0 -19
  340. package/src/modules/search/components/Editor/ui/blockquote-element.tsx +0 -21
  341. package/src/modules/search/components/Editor/ui/button.tsx +0 -58
  342. package/src/modules/search/components/Editor/ui/calendar.tsx +0 -68
  343. package/src/modules/search/components/Editor/ui/caption.tsx +0 -46
  344. package/src/modules/search/components/Editor/ui/checkbox.tsx +0 -27
  345. package/src/modules/search/components/Editor/ui/code-block-combobox.tsx +0 -188
  346. package/src/modules/search/components/Editor/ui/code-block-element.css +0 -434
  347. package/src/modules/search/components/Editor/ui/code-block-element.tsx +0 -39
  348. package/src/modules/search/components/Editor/ui/code-leaf.tsx +0 -24
  349. package/src/modules/search/components/Editor/ui/code-line-element.tsx +0 -10
  350. package/src/modules/search/components/Editor/ui/code-syntax-leaf.tsx +0 -21
  351. package/src/modules/search/components/Editor/ui/column-element.tsx +0 -30
  352. package/src/modules/search/components/Editor/ui/column-group-element.tsx +0 -94
  353. package/src/modules/search/components/Editor/ui/command.tsx +0 -75
  354. package/src/modules/search/components/Editor/ui/comment-avatar.tsx +0 -22
  355. package/src/modules/search/components/Editor/ui/comment-create-form.tsx +0 -37
  356. package/src/modules/search/components/Editor/ui/comment-item.tsx +0 -74
  357. package/src/modules/search/components/Editor/ui/comment-leaf.tsx +0 -49
  358. package/src/modules/search/components/Editor/ui/comment-more-dropdown.tsx +0 -42
  359. package/src/modules/search/components/Editor/ui/comment-reply-items.tsx +0 -22
  360. package/src/modules/search/components/Editor/ui/comment-resolve-button.tsx +0 -32
  361. package/src/modules/search/components/Editor/ui/comment-value.tsx +0 -34
  362. package/src/modules/search/components/Editor/ui/comments-popover.tsx +0 -63
  363. package/src/modules/search/components/Editor/ui/date-element.tsx +0 -83
  364. package/src/modules/search/components/Editor/ui/dialog.tsx +0 -63
  365. package/src/modules/search/components/Editor/ui/draggable.tsx +0 -177
  366. package/src/modules/search/components/Editor/ui/dropdown-menu.tsx +0 -180
  367. package/src/modules/search/components/Editor/ui/emoji-input-element.tsx +0 -85
  368. package/src/modules/search/components/Editor/ui/excalidraw-element.tsx +0 -28
  369. package/src/modules/search/components/Editor/ui/fixed-toolbar-buttons.tsx +0 -76
  370. package/src/modules/search/components/Editor/ui/fixed-toolbar.tsx +0 -8
  371. package/src/modules/search/components/Editor/ui/floating-toolbar-buttons.tsx +0 -51
  372. package/src/modules/search/components/Editor/ui/floating-toolbar.tsx +0 -77
  373. package/src/modules/search/components/Editor/ui/heading-element.tsx +0 -48
  374. package/src/modules/search/components/Editor/ui/highlight-leaf.tsx +0 -17
  375. package/src/modules/search/components/Editor/ui/hr-element.tsx +0 -30
  376. package/src/modules/search/components/Editor/ui/icons.tsx +0 -267
  377. package/src/modules/search/components/Editor/ui/image-element.tsx +0 -74
  378. package/src/modules/search/components/Editor/ui/inline-combobox.tsx +0 -368
  379. package/src/modules/search/components/Editor/ui/input.tsx +0 -25
  380. package/src/modules/search/components/Editor/ui/insert-dropdown-menu.tsx +0 -218
  381. package/src/modules/search/components/Editor/ui/kbd-leaf.tsx +0 -20
  382. package/src/modules/search/components/Editor/ui/link-element.tsx +0 -29
  383. package/src/modules/search/components/Editor/ui/link-floating-toolbar.tsx +0 -161
  384. package/src/modules/search/components/Editor/ui/list-element.tsx +0 -30
  385. package/src/modules/search/components/Editor/ui/mark-toolbar-button.tsx +0 -24
  386. package/src/modules/search/components/Editor/ui/media-embed-element.tsx +0 -133
  387. package/src/modules/search/components/Editor/ui/media-popover.tsx +0 -97
  388. package/src/modules/search/components/Editor/ui/mention-element.tsx +0 -43
  389. package/src/modules/search/components/Editor/ui/mention-input-element.tsx +0 -141
  390. package/src/modules/search/components/Editor/ui/mode-dropdown-menu.tsx +0 -93
  391. package/src/modules/search/components/Editor/ui/more-dropdown-menu.tsx +0 -67
  392. package/src/modules/search/components/Editor/ui/paragraph-element.tsx +0 -4
  393. package/src/modules/search/components/Editor/ui/placeholder.tsx +0 -52
  394. package/src/modules/search/components/Editor/ui/popover.tsx +0 -32
  395. package/src/modules/search/components/Editor/ui/resizable.tsx +0 -66
  396. package/src/modules/search/components/Editor/ui/separator.tsx +0 -25
  397. package/src/modules/search/components/Editor/ui/style.less +0 -12
  398. package/src/modules/search/components/Editor/ui/table-cell-element.tsx +0 -143
  399. package/src/modules/search/components/Editor/ui/table-element.tsx +0 -243
  400. package/src/modules/search/components/Editor/ui/table-row-element.tsx +0 -22
  401. package/src/modules/search/components/Editor/ui/tableValue.tsx +0 -135
  402. package/src/modules/search/components/Editor/ui/todo-list-element.tsx +0 -43
  403. package/src/modules/search/components/Editor/ui/toggle-element.tsx +0 -31
  404. package/src/modules/search/components/Editor/ui/toolbar.tsx +0 -157
  405. package/src/modules/search/components/Editor/ui/tooltip.tsx +0 -65
  406. package/src/modules/search/components/Editor/ui/turn-into-dropdown-menu.tsx +0 -160
  407. package/src/modules/search/components/Editor/ui/with-draggables.tsx +0 -175
  408. package/src/modules/search/components/FileList.tsx +0 -287
  409. package/src/modules/search/components/ImageGroupView/index.tsx +0 -85
  410. package/src/modules/search/components/ResultContent.tsx +0 -232
  411. package/src/modules/search/components/SearchInput.tsx +0 -232
  412. package/src/modules/search/components/SearchLanding.tsx +0 -74
  413. package/src/modules/search/components/SearchView.tsx +0 -563
  414. package/src/modules/search/components/SimpleEditor.tsx +0 -158
  415. package/src/modules/search/components/SimpleFileList.tsx +0 -215
  416. package/src/modules/search/index.tsx +0 -10
  417. package/src/modules/search/reademe.md +0 -1
  418. package/src/modules/search/servers/apis.tsx +0 -19
  419. package/src/modules/search/servers/index.ts +0 -184
  420. package/src/modules/search/style.less +0 -503
  421. package/src/modules/search/type.ts +0 -22
  422. package/src/modules/search/utils.ts +0 -34
  423. package/src/modules/sensitive/i18n.ts +0 -391
  424. package/src/modules/sensitive/index.tsx +0 -604
  425. package/src/modules/sensitive/sensitiveEditor.tsx +0 -543
  426. package/src/modules/sensitive/server.ts +0 -197
  427. package/src/modules/sensitiveId/AutoTag.tsx +0 -311
  428. package/src/modules/sensitiveId/UploadModal.tsx +0 -181
  429. package/src/modules/sensitiveId/VirtualWrap.tsx +0 -125
  430. package/src/modules/sensitiveId/index.tsx +0 -253
  431. package/src/modules/sensitiveId/server.ts +0 -142
  432. package/src/modules/streamFilesReader/GientechStreamReader.tsx +0 -1658
  433. package/src/modules/streamFilesReader/components/Header/Toolbar.tsx +0 -0
  434. package/src/modules/streamFilesReader/components/Header/index.tsx +0 -297
  435. package/src/modules/streamFilesReader/index.tsx +0 -3
  436. package/src/style.css +0 -6
  437. package/src/type.d.ts +0 -0
  438. package/src/utils/commonFn.tsx +0 -153
  439. package/src/utils/decryptApiKey.ts +0 -40
  440. package/src/utils/gientechCommon/components/AppError.tsx +0 -32
  441. package/src/utils/gientechCommon/components/AppLoading.tsx +0 -75
  442. package/src/utils/gientechCommon/components/DeleteModal.tsx +0 -75
  443. package/src/utils/gientechCommon/components/DisplayError.tsx +0 -33
  444. package/src/utils/gientechCommon/components/DisplayLoading.tsx +0 -38
  445. package/src/utils/gientechCommon/components/FeedBackModal.tsx +0 -319
  446. package/src/utils/gientechCommon/components/FileCardCommon.tsx +0 -82
  447. package/src/utils/gientechCommon/components/FileManager/index.tsx +0 -418
  448. package/src/utils/gientechCommon/components/FileManager/style.css +0 -5
  449. package/src/utils/gientechCommon/components/Messages/GientechNewChatWelcome.tsx +0 -583
  450. package/src/utils/gientechCommon/components/Messages/ReferenceCard.tsx +0 -359
  451. package/src/utils/gientechCommon/components/Messages/RetriveItem.tsx +0 -245
  452. package/src/utils/gientechCommon/components/Messages/WebRetriveItem.tsx +0 -209
  453. package/src/utils/gientechCommon/components/Messages/defaultBot.png +0 -0
  454. package/src/utils/gientechCommon/components/Messages/defaultStyleSet.tsx +0 -148
  455. package/src/utils/gientechCommon/components/Messages/defaultWeLogo.svg +0 -14
  456. package/src/utils/gientechCommon/components/RenameModal.tsx +0 -86
  457. package/src/utils/gientechCommon/components/style.less +0 -11
  458. package/src/utils/gientechCommon/configs/commonConfig.ts +0 -2
  459. package/src/utils/gientechCommon/configs/senderConfig.ts +0 -0
  460. package/src/utils/gientechCommon/configs/stylesConfig.ts +0 -142
  461. package/src/utils/gientechCommon/hooks/AichatUseController.tsx +0 -761
  462. package/src/utils/gientechCommon/hooks/style.less +0 -8
  463. package/src/utils/gientechCommon/hooks/useFileDisplayTools.tsx +0 -352
  464. package/src/utils/gientechCommon/hooks/useFileManager.ts +0 -169
  465. package/src/utils/gientechCommon/slate/converters/deserializers.ts +0 -763
  466. package/src/utils/gientechCommon/slate/converters/mockData.ts +0 -232
  467. package/src/utils/gientechCommon/slate/converters/slateConverters.ts +0 -258
  468. package/src/utils/gientechCommon/slate/richElements/index.tsx +0 -499
  469. package/src/utils/gientechCommon/utils/fileUtils.ts +0 -86
  470. package/src/utils/gientechCommon/utils/index.ts +0 -386
  471. package/src/utils/gientechCommon/utils/request.ts +0 -37
  472. package/src/utils/gientechCommon/utils/serverFn.ts +0 -172
  473. package/src/utils/index.tsx +0 -186
  474. package/src/utils/testconfigs/demologin/index.tsx +0 -32
  475. package/src/utils/testconfigs/index.ts +0 -66
  476. package/src/vite-env.d.ts +0 -49
  477. package/stats.html +0 -4949
  478. package/tailwind.config.js +0 -170
  479. package/tsconfig.app.json +0 -31
  480. package/tsconfig.app.tsbuildinfo +0 -11
  481. package/tsconfig.json +0 -17
  482. package/tsconfig.node.json +0 -23
  483. package/tsconfig.node.tsbuildinfo +0 -1
  484. package/vite.config.app.ts +0 -91
  485. package/vite.config.ts +0 -238
  486. /package/{dist/assets → assets}/Doris.png +0 -0
  487. /package/{dist/assets → assets}/PostgreSQL.png +0 -0
  488. /package/{dist/assets → assets}/SQLServer.png +0 -0
  489. /package/{dist/assets → assets}/empty.png +0 -0
  490. /package/{dist/assets → assets}/homeBg.png +0 -0
  491. /package/{dist/assets → assets}/index-CpW6Dhpp.js +0 -0
  492. /package/{dist/assets → assets}/left.jpg +0 -0
  493. /package/{dist/assets → assets}/logoImg.png +0 -0
  494. /package/{dist/assets → assets}/style.css +0 -0
  495. /package/{dist/assets → assets}/style3.css +0 -0
  496. /package/{dist/assets → assets}/style4.css +0 -0
  497. /package/{dist/assets → assets}/style5.css +0 -0
  498. /package/{dist/assets → assets}/worker-BbpylX7l.js +0 -0
  499. /package/{dist/assistantConfig.d.ts → assistantConfig.d.ts} +0 -0
  500. /package/{dist/chat.d.ts → chat.d.ts} +0 -0
  501. /package/{dist/chatCompare.d.ts → chatCompare.d.ts} +0 -0
  502. /package/{dist/database.d.ts → database.d.ts} +0 -0
  503. /package/{dist/databaseId.d.ts → databaseId.d.ts} +0 -0
  504. /package/{dist/databaseTable.d.ts → databaseTable.d.ts} +0 -0
  505. /package/{dist/icons → icons}/answerAwartar.png +0 -0
  506. /package/{dist/icons → icons}/docx-file.png +0 -0
  507. /package/{dist/icons → icons}/folder.png +0 -0
  508. /package/{dist/icons → icons}/html.png +0 -0
  509. /package/{dist/icons → icons}/image.png +0 -0
  510. /package/{dist/icons → icons}/jpg-file.png +0 -0
  511. /package/{dist/icons → icons}/json.png +0 -0
  512. /package/{dist/icons → icons}/md.png +0 -0
  513. /package/{dist/icons → icons}/pdf.png +0 -0
  514. /package/{dist/icons → icons}/pptx.png +0 -0
  515. /package/{dist/icons → icons}/questionAwartar.png +0 -0
  516. /package/{dist/icons → icons}/sheets.png +0 -0
  517. /package/{dist/icons → icons}/txt.png +0 -0
  518. /package/{dist/icons → icons}/xlsx.png +0 -0
  519. /package/{dist/index.d.ts → index.d.ts} +0 -0
  520. /package/{dist/modelManage.d.ts → modelManage.d.ts} +0 -0
  521. /package/{dist/sensitive.d.ts → sensitive.d.ts} +0 -0
  522. /package/{dist/streamFilesReader.d.ts → streamFilesReader.d.ts} +0 -0
  523. /package/{dist/vite.svg → vite.svg} +0 -0
@@ -1,754 +0,0 @@
1
- import { EventSourceMessage, fetchEventSource } from '@microsoft/fetch-event-source';
2
- import axios from 'axios';
3
- import { uid } from 'uid';
4
- import { AppStatusManager } from '@mxmweb/aichat';
5
- import { mergeLiveChunkToNodes } from '@mxmweb/rtext';
6
- import type { ThoughtNode } from '@mxmweb/rtext';
7
- import { useRef } from 'react';
8
-
9
- interface Api_Chat {
10
- sessionId: string;
11
- queryId: string;
12
- name: string;
13
- lastDate: string | number;
14
- type: string;
15
- content: string;
16
- configId: string;
17
- audioUrl: string;
18
- fileUids: any[];
19
- signal?: AbortSignal;
20
- sysType?: 'KNO_INDEX' | 'INT_SESSION' | 'TEMPORARY';
21
- }
22
-
23
- export enum StatusType {
24
- Pending = 0,
25
- Process, // 1: 对话正文输出中
26
- Done, // 2: 整个对话完成
27
- Error, // 3: 整个对话出现异常
28
- ThoughtChain = 4, // 4: 思维链输出中
29
- }
30
-
31
- class FatalError extends Error {}
32
-
33
- const AichatUseController = ({
34
- baseUrl,
35
- token,
36
- CSRFToken,
37
- setCurrentChatData,
38
- activeSessionId,
39
- setAppStatus,
40
- }: {
41
- baseUrl: string;
42
- token: string;
43
- CSRFToken?: string;
44
- setCurrentChatData: (arg: any | ((prev: any) => any)) => void;
45
- activeSessionId: string | undefined;
46
- setAppStatus: React.Dispatch<React.SetStateAction<AppStatusManager>>;
47
- }) => {
48
- const currentStreamController = useRef<any>(null);
49
- const currentStreamSessionId = useRef<string | null>(null);
50
- const currentQueryId = useRef<string | null>(null);
51
- const currentThoughtNodes = useRef<ThoughtNode[]>([]);
52
- const currentEnableCot = useRef<number | undefined>(undefined);
53
- const currentChainRespTime = useRef<number | undefined>(undefined);
54
- const nodeChainRespTimes = useRef<Map<string, number>>(new Map());
55
- // 判断 graphReference 是否有有效值
56
- const isValidGraphReference = (ref: any): boolean => {
57
- if (!ref) return false;
58
- if (typeof ref === 'string') {
59
- const trimmed = ref.trim();
60
- return trimmed !== '' && trimmed !== '[]' && trimmed !== 'null';
61
- }
62
- return true;
63
- };
64
-
65
- const reset_chat = ({
66
- content,
67
- status,
68
- respTime,
69
- filePaths,
70
- reference,
71
- webReference,
72
- knowledgeBases,
73
- graphReference,
74
- databaseReference,
75
- llmType,
76
- resultType,
77
- queryId,
78
- tokens,
79
- chain,
80
- thoughtChainNodes,
81
- enableCot,
82
- chainRespTime,
83
- }: {
84
- content: string;
85
- status: StatusType;
86
- respTime: number;
87
- filePaths: any[];
88
- reference: string;
89
- knowledgeBases: string;
90
- webReference: string;
91
- graphReference?: string;
92
- databaseReference?: any;
93
- llmType: number;
94
- resultType: number;
95
- queryId?: string;
96
- tokens: number;
97
- chain?: any[];
98
- thoughtChainNodes?: ThoughtNode[];
99
- enableCot?: number;
100
- chainRespTime?: number;
101
- [key: string]: any;
102
- }) => {
103
- setCurrentChatData((chatList: any) => {
104
- if (!chatList) return chatList;
105
- const current = chatList;
106
- const messages = current.messages || [];
107
- const lastIndex = messages.length - 1;
108
- if (lastIndex < 0) return chatList;
109
- const lastMessage = messages[lastIndex];
110
- if (lastMessage.istype !== 'ai') return chatList;
111
-
112
- // 更新上一条 user 的 filePaths(不可变)
113
- let newMessages = messages.slice();
114
- if (filePaths?.length) {
115
- const lastSecondIndex = messages.length - 2;
116
- if (lastSecondIndex >= 0 && messages[lastSecondIndex]?.istype === 'user') {
117
- const lastSecond = { ...messages[lastSecondIndex], filePaths };
118
- newMessages[lastSecondIndex] = lastSecond;
119
- }
120
- }
121
-
122
- // 检测是否是新的 queryId(新消息开始)
123
- const isNewQuery = queryId && queryId !== lastMessage.queryId;
124
-
125
- const isRestart = status === StatusType.Process && lastMessage.status === StatusType.Done;
126
-
127
- // 只有当 graphReference 有有效值时才更新,否则保留之前的值
128
- // 如果传入的 graphReference 是 undefined,说明本次没有更新,保留之前的值
129
- // 如果传入的 graphReference 是 null 或无效值,也保留之前的值
130
- // 但是,如果是新的 queryId 或重新开始,应该清空 graphReference
131
- const finalGraphReference =
132
- isNewQuery || isRestart
133
- ? isValidGraphReference(graphReference)
134
- ? graphReference
135
- : null
136
- : graphReference !== undefined
137
- ? isValidGraphReference(graphReference)
138
- ? graphReference
139
- : lastMessage.graphReference
140
- : lastMessage.graphReference;
141
- // 调试:检查 reset_chat 中的 graphReference 处理
142
- if (status === StatusType.Done && graphReference !== undefined) {
143
- console.log('[AichatUseController] reset_chat status=2 时的 graphReference:', {
144
- graphReference,
145
- isValid: isValidGraphReference(graphReference),
146
- lastMessageGraphReference: lastMessage.graphReference,
147
- finalGraphReference,
148
- isNewQuery,
149
- isRestart,
150
- });
151
- }
152
-
153
- let finalContent: string;
154
- if (isNewQuery) {
155
- // 新消息开始,使用新的 content
156
- finalContent = content;
157
- } else if (isRestart) {
158
- // 重新开始,清空 content
159
- finalContent = '';
160
- } else if (status === StatusType.ThoughtChain) {
161
- // status=4 时,不累加 content,保持之前的正文内容不变
162
- finalContent = lastMessage.content || '';
163
- } else {
164
- // status=1 或其他状态时,累加 content
165
- // status=2 且 content 为空字符串时,表示只是收尾,不应清空或追加“undefined”,保持之前的正文
166
- if (status === StatusType.Done && !content) {
167
- finalContent = lastMessage.content || '';
168
- } else {
169
- finalContent = (lastMessage.content || '') + content;
170
- }
171
- }
172
-
173
- const updatedLast = {
174
- ...lastMessage,
175
- content: finalContent,
176
- status,
177
- respTime,
178
- filePaths,
179
- // 如果是新的 queryId 或重新开始,应该清空引用数据
180
- reference: isNewQuery || isRestart ? reference || '[]' : reference,
181
- webReference: isNewQuery || isRestart ? webReference || '[]' : webReference,
182
- knowledgeBases: isNewQuery || isRestart ? knowledgeBases || '[]' : knowledgeBases,
183
- graphReference: finalGraphReference,
184
- // 流式阶段若后端带来了 databaseReference,写入当前 AI 消息
185
- // 如果是新的 queryId 或重新开始,应该清空 databaseReference
186
- // 如果 databaseReference 是 null,应该清空(不使用 ?? 运算符,因为 null 也是有效值)
187
- databaseReference:
188
- isNewQuery || isRestart
189
- ? databaseReference !== undefined
190
- ? databaseReference
191
- : null
192
- : databaseReference !== undefined
193
- ? databaseReference
194
- : lastMessage.databaseReference,
195
- resultType,
196
- llmType,
197
- tokens,
198
- queryId: queryId || lastMessage.queryId || uid(32),
199
- // 思维链数据:如果有传入 chain,使用传入的;否则保留之前的
200
- // 如果是新的 queryId 或重新开始,应该清空 chain
201
- // 如果 chain 是 undefined,应该清空(不使用 ?? 运算符,因为 undefined 也是有效值)
202
- chain:
203
- isNewQuery || isRestart
204
- ? chain !== undefined
205
- ? chain
206
- : undefined
207
- : chain !== undefined
208
- ? chain
209
- : lastMessage.chain,
210
- // 实时思维链节点(用于实时流式场景,优先使用此字段)
211
- thoughtChainNodes:
212
- isNewQuery || isRestart
213
- ? thoughtChainNodes !== undefined
214
- ? thoughtChainNodes
215
- : undefined
216
- : thoughtChainNodes !== undefined
217
- ? thoughtChainNodes
218
- : lastMessage.thoughtChainNodes,
219
- // enableCot 和 chainRespTime:从 SSE 流中获取,用于控制思维链渲染模式
220
- enableCot: enableCot !== undefined ? enableCot : lastMessage.enableCot,
221
- chainRespTime: chainRespTime !== undefined ? chainRespTime : lastMessage.chainRespTime,
222
- } as any;
223
- updatedLast.clientSideId = updatedLast.clientSideId || updatedLast.queryId + '-ai';
224
- newMessages[lastIndex] = updatedLast;
225
-
226
- const newChat0 = { ...current, isNew: false, messages: newMessages };
227
- return newChat0;
228
- });
229
- };
230
-
231
- const onErrorCallback = (err: any) => {
232
- if (err instanceof FatalError) {
233
- setAppStatus((pre: any) => ({ ...pre, display: 'error', sender: 'ready' }));
234
- if (currentStreamController.current) {
235
- currentStreamController.current.abort();
236
- currentStreamController.current = null;
237
- }
238
- currentStreamSessionId.current = null;
239
- currentQueryId.current = null;
240
- throw err;
241
- }
242
- // 其他错误可选处理
243
- };
244
-
245
- const api_startChat_re = (data: Api_Chat, onSuccess?: (gmtModified: number) => void) => {
246
- if (currentStreamController.current) {
247
- currentStreamController.current.abort();
248
- }
249
- currentStreamController.current = new AbortController();
250
- // 记录当前流式请求的 sessionId 和 queryId
251
- currentStreamSessionId.current = data.sessionId;
252
- currentQueryId.current = data.queryId;
253
- // 重置思维链节点和相关状态,为新请求做准备
254
- currentThoughtNodes.current = [];
255
- currentEnableCot.current = undefined;
256
- currentChainRespTime.current = undefined;
257
- nodeChainRespTimes.current = new Map();
258
- const eventSourceUrl = `${baseUrl}/qa/ai/question_re`;
259
- //const eventSourceUrl = `${baseUrl}/qa/ai/question_re`;
260
- console.log('data', data);
261
- const params = { ...data };
262
- fetchEventSource(eventSourceUrl, {
263
- method: 'post',
264
- signal: currentStreamController.current.signal,
265
- headers: {
266
- 'Content-Type': 'application/json',
267
- Accept: 'text/event-stream',
268
- Authorization: token || '',
269
- 'X-CSRF-TOKEN-IN': CSRFToken || '',
270
- },
271
- openWhenHidden: true,
272
- body: JSON.stringify(params),
273
- onopen: async response => {
274
- if (response.status === 500) {
275
- throw new FatalError('Internal Server Error');
276
- }
277
- if (!response.ok) {
278
- throw new FatalError(`HTTP error: ${response.status}`);
279
- }
280
- // 其他状态可根据需要处理
281
- },
282
- onmessage: event => {
283
- const curData = JSON.parse(event.data);
284
- // 检查当前请求的 sessionId 是否仍然匹配,如果不匹配则忽略所有后续数据
285
- if (currentStreamSessionId.current !== curData.sessionId) {
286
- console.log('[AichatUseController] 流式请求的 sessionId 已不匹配,忽略数据', {
287
- currentStreamSessionId: currentStreamSessionId.current,
288
- receivedSessionId: curData.sessionId,
289
- activeSessionId,
290
- });
291
- return;
292
- }
293
- if (activeSessionId !== curData.sessionId) return;
294
- const {
295
- reply,
296
- resultType,
297
- respTime,
298
- reference,
299
- webReference,
300
- graphReference,
301
- knowledgeBases,
302
- filePaths,
303
- status,
304
- docs,
305
- llmType,
306
- databaseReference,
307
- businessType,
308
- nodeStatus,
309
- enableCot,
310
- chainRespTime,
311
- } = curData;
312
-
313
- // 处理思维链数据:只有 status=4 (思维链输出中) 时才聚合思维链数据
314
- // status=1 (对话正文输出中) 时,即使有 businessType,也不应该聚合到思维链节点
315
- // 注意:status=1 时,businessType 只是标识当前处于哪个阶段,但内容应该去正文,不是思维链
316
- if (status === StatusType.ThoughtChain && businessType) {
317
- // 只有 status=4 时才聚合思维链数据
318
- // 当节点完成(nodeStatus=2)时,提取该节点的 chainRespTime 作为独立时间
319
- if (nodeStatus === 2 && typeof chainRespTime === 'number' && chainRespTime > 0) {
320
- // 保存节点的独立时间
321
- nodeChainRespTimes.current.set(businessType, chainRespTime);
322
- }
323
-
324
- // 当节点完成(nodeStatus=2)时,提取该节点的 chainRespTime 作为独立时间
325
- const nodeRespTime =
326
- nodeStatus === 2 && typeof chainRespTime === 'number' && chainRespTime > 0
327
- ? chainRespTime
328
- : undefined;
329
-
330
- currentThoughtNodes.current = mergeLiveChunkToNodes(currentThoughtNodes.current, {
331
- businessType,
332
- nodeStatus,
333
- reply,
334
- respTime: nodeRespTime, // mergeLiveChunkToNodes 使用 respTime 字段
335
- chainRespTime: nodeRespTime, // 兼容字段
336
- });
337
- console.log('[AichatUseController] status=4 聚合思维链数据:', {
338
- businessType,
339
- nodeStatus,
340
- content: reply?.content?.substring(0, 50),
341
- currentThoughtNodesCount: currentThoughtNodes.current.length,
342
- chainRespTime: nodeStatus === 2 ? chainRespTime : undefined,
343
- });
344
- } else if (status === StatusType.Process && businessType) {
345
- // status=1 时,即使有 businessType,也不聚合到思维链,只用于调试日志
346
- console.log('[AichatUseController] status=1 跳过思维链聚合:', {
347
- businessType,
348
- content: reply?.content?.substring(0, 50),
349
- note: 'status=1 的内容应该去正文,不是思维链',
350
- });
351
- }
352
-
353
- // 收集 enableCot
354
- if (typeof enableCot === 'number') {
355
- currentEnableCot.current = enableCot;
356
- }
357
-
358
- // 在 status=1 或 status=2 时,累加所有节点的 chainRespTime 作为总耗时
359
- if (status === StatusType.Process || status === StatusType.Done) {
360
- // 累加所有节点的 chainRespTime
361
- const totalTime = Array.from(nodeChainRespTimes.current.values()).reduce(
362
- (sum, time) => sum + time,
363
- 0
364
- );
365
- if (totalTime > 0) {
366
- currentChainRespTime.current = totalTime;
367
- }
368
- }
369
-
370
- const _filePaths = filePaths ? JSON.parse(filePaths) : [];
371
- // === 新增:流式错误兜底 ===
372
- if (
373
- status === StatusType.Done &&
374
- reply &&
375
- reply.content &&
376
- (reply.content.includes('模型暂无法返回') ||
377
- reply.content.includes('失败') ||
378
- reply.content.includes('错误') ||
379
- reply.content.includes('请稍后再试'))
380
- ) {
381
- setAppStatus((pre: any) => ({ ...pre, display: 'ready', sender: 'ready' }));
382
- }
383
- // 处理 graphReference:只有当有有效值时才传递,否则传递 undefined 让 reset_chat 保留之前的值
384
- const finalGraphReference = isValidGraphReference(graphReference)
385
- ? graphReference
386
- : undefined;
387
- // 调试:检查最后一条消息的 graphReference
388
- if (status === StatusType.Done) {
389
- console.log('[AichatUseController] status=2 时的 graphReference:', {
390
- graphReference,
391
- type: typeof graphReference,
392
- isValid: isValidGraphReference(graphReference),
393
- finalGraphReference,
394
- });
395
- }
396
-
397
- // status=4 (思维链输出中):只更新思维链数据,不更新对话正文 content
398
- if (status === StatusType.ThoughtChain) {
399
- // 将实时聚合的思维链节点转换为 chain 格式
400
- const chain =
401
- currentThoughtNodes.current.length > 0
402
- ? currentThoughtNodes.current.map(node => ({
403
- businessType: node.businessType,
404
- nodeStatus: node.nodeStatus,
405
- content: node.content,
406
- }))
407
- : undefined;
408
-
409
- console.log('[AichatUseController] status=4 更新思维链:', {
410
- businessType,
411
- chainLength: chain?.length || 0,
412
- replyContentLength: reply?.content?.length || 0,
413
- note: 'status=4 时,reply.content 应该聚合到思维链,不更新正文',
414
- });
415
-
416
- reset_chat({
417
- content: '', // status=4 时,不更新对话正文,只更新思维链
418
- status: status,
419
- respTime: respTime,
420
- filePaths: _filePaths,
421
- reference: reference || docs || '',
422
- webReference: webReference || '',
423
- knowledgeBases: knowledgeBases || '',
424
- graphReference: finalGraphReference,
425
- databaseReference,
426
- llmType,
427
- resultType,
428
- queryId: curData.queryId,
429
- tokens: curData.tokens,
430
- chain,
431
- thoughtChainNodes:
432
- currentThoughtNodes.current.length > 0 ? [...currentThoughtNodes.current] : undefined, // 传递实时思维链节点
433
- enableCot: currentEnableCot.current,
434
- chainRespTime: currentChainRespTime.current,
435
- });
436
- } else if (status === StatusType.Process) {
437
- // status=1 (对话正文输出中):只更新对话正文,不更新思维链数据
438
- // 同时,将思维链节点的状态更新为完成(nodeStatus = 2),因为思维链已经结束,开始输出正文
439
- // 注意:即使有 businessType,status=1 时也不应该聚合到思维链节点
440
- // 因为 status=1 的 reply.content 是对话正文,不是思维链内容
441
- if (currentThoughtNodes.current.length > 0) {
442
- // 将所有思维链节点状态更新为完成(nodeStatus = 2)
443
- currentThoughtNodes.current = currentThoughtNodes.current.map(node => ({
444
- ...node,
445
- nodeStatus: 2 as const, // 标记为完成
446
- }));
447
- }
448
-
449
- console.log('[AichatUseController] status=1 更新正文:', {
450
- businessType,
451
- content: reply?.content?.substring(0, 50),
452
- thoughtNodesCount: currentThoughtNodes.current.length,
453
- note: 'status=1 时,reply.content 应该去正文,思维链节点状态更新为完成',
454
- });
455
-
456
- // 将更新后的思维链节点转换为 chain 格式
457
- const chain =
458
- currentThoughtNodes.current.length > 0
459
- ? currentThoughtNodes.current.map(node => ({
460
- businessType: node.businessType,
461
- nodeStatus: node.nodeStatus,
462
- content: node.content,
463
- }))
464
- : undefined;
465
-
466
- reset_chat({
467
- content: reply.content || '',
468
- status: status,
469
- respTime: respTime,
470
- filePaths: _filePaths,
471
- reference: reference || docs || '',
472
- webReference: webReference || '',
473
- graphReference: finalGraphReference,
474
- knowledgeBases: knowledgeBases || '',
475
- // 如果 databaseReference 是 undefined,传入 null 以清空旧值
476
- databaseReference: databaseReference ?? null,
477
- llmType,
478
- resultType,
479
- queryId: curData.queryId,
480
- tokens: curData.tokens,
481
- // status=1 时,更新思维链节点状态为完成,并传递更新后的 chain
482
- // 如果 chain 是 undefined,传入 undefined 以清空旧值
483
- chain: chain ?? undefined,
484
- thoughtChainNodes:
485
- currentThoughtNodes.current.length > 0 ? [...currentThoughtNodes.current] : undefined, // 传递实时思维链节点
486
- enableCot: currentEnableCot.current,
487
- chainRespTime: currentChainRespTime.current,
488
- });
489
- } else if (status === StatusType.Done) {
490
- // status=2 (整个对话完成):确保所有思维链节点状态都是完成
491
- if (currentThoughtNodes.current.length > 0) {
492
- currentThoughtNodes.current = currentThoughtNodes.current.map(node => ({
493
- ...node,
494
- nodeStatus: 2 as const, // 标记为完成
495
- }));
496
- }
497
-
498
- // 将聚合后的思维链节点转换为 chain 格式
499
- const chain =
500
- currentThoughtNodes.current.length > 0
501
- ? currentThoughtNodes.current.map(node => ({
502
- businessType: node.businessType,
503
- nodeStatus: node.nodeStatus,
504
- content: node.content,
505
- }))
506
- : undefined;
507
-
508
- reset_chat({
509
- // 注意:有些后端实现中,最后一条 status=2 的 SSE 只用于收尾,
510
- // reply.content 可能是空串,此时应该保持之前累积的正文不变。
511
- // reset_chat 内部会在 status=Done 且 content 为空字符串时,保留 lastMessage.content。
512
- content: reply.content || '',
513
- status: StatusType.Done, // 流式完成时,消息状态应该是 Done
514
- respTime: respTime,
515
- filePaths: _filePaths,
516
- reference: reference || docs || '',
517
- webReference: webReference || '',
518
- knowledgeBases: knowledgeBases || '',
519
- graphReference: finalGraphReference,
520
- databaseReference,
521
- llmType,
522
- resultType,
523
- queryId: curData.queryId,
524
- tokens: curData.tokens,
525
- chain,
526
- thoughtChainNodes:
527
- currentThoughtNodes.current.length > 0 ? [...currentThoughtNodes.current] : undefined, // 传递实时思维链节点
528
- enableCot: currentEnableCot.current,
529
- chainRespTime: currentChainRespTime.current,
530
- });
531
-
532
- // 重置思维链节点,为下次请求做准备
533
- currentThoughtNodes.current = [];
534
- setAppStatus((pre: any) => {
535
- return {
536
- ...pre,
537
- display: 'ready',
538
- sender: 'ready',
539
- };
540
- });
541
- if (onSuccess) {
542
- const gmtModified = respTime || Date.now();
543
- console.log('[AichatUseController] 消息发送成功,gmtModified:', gmtModified);
544
- onSuccess(gmtModified);
545
- }
546
- } else {
547
- // 流式过程中,将实时聚合的思维链节点转换为 chain 格式
548
- // 包含 respTime(节点的独立时间)和 chainRespTime(用于兼容)
549
- const chain =
550
- currentThoughtNodes.current.length > 0
551
- ? currentThoughtNodes.current.map(node => ({
552
- businessType: node.businessType,
553
- nodeStatus: node.nodeStatus,
554
- content: node.content,
555
- respTime: node.respTime,
556
- chainRespTime: node.respTime, // 兼容字段
557
- }))
558
- : undefined;
559
-
560
- reset_chat({
561
- content: reply.content || '',
562
- status: status,
563
- respTime: respTime,
564
- filePaths: _filePaths,
565
- reference: reference || docs || '',
566
- knowledgeBases: knowledgeBases || '',
567
- webReference: webReference || '',
568
- graphReference: finalGraphReference, // 流式过程中保持之前的graphReference值
569
- databaseReference,
570
- llmType,
571
- resultType,
572
- queryId: curData.queryId,
573
- tokens: curData.tokens,
574
- chain,
575
- thoughtChainNodes:
576
- currentThoughtNodes.current.length > 0 ? [...currentThoughtNodes.current] : undefined, // 传递实时思维链节点
577
- enableCot: currentEnableCot.current,
578
- chainRespTime: currentChainRespTime.current,
579
- });
580
- }
581
- },
582
- onerror: onErrorCallback,
583
- onclose: () => {
584
- setAppStatus((pre: any) => ({ ...pre, display: 'ready', sender: 'ready' }));
585
- // 流式请求结束时,清理 sessionId 和 queryId 记录
586
- if (currentStreamSessionId.current === data.sessionId) {
587
- currentStreamSessionId.current = null;
588
- currentQueryId.current = null;
589
- }
590
- },
591
- });
592
- };
593
-
594
- const setLastEmptyMessage = ({ now }: { now: number }) => {
595
- setCurrentChatData((chatList: any) => {
596
- if (!chatList) return chatList;
597
- const current = chatList;
598
- const messages = current.messages || [];
599
- if (!messages.length) return chatList;
600
- const lastIndex = messages.length - 1;
601
- if (lastIndex < 0) return chatList;
602
- const lastMessage = messages[lastIndex];
603
- if (lastMessage.istype !== 'ai') return chatList;
604
- const newMessages = messages.slice();
605
- newMessages[lastIndex] = {
606
- ...lastMessage,
607
- istype: 'ai',
608
- content: '',
609
- time: now,
610
- streaming: true,
611
- status: StatusType.Pending,
612
- } as any;
613
- const newChat0 = { ...current, messages: newMessages };
614
- return newChat0;
615
- });
616
- };
617
-
618
- const addEmptyMessage = ({
619
- queryId,
620
- content,
621
- filePaths,
622
- currentFiles,
623
- }: {
624
- queryId: string;
625
- content: string;
626
- filePaths?: string;
627
- currentFiles?: any[];
628
- }) => {
629
- setCurrentChatData((chatList: any) => {
630
- const now = new Date().toISOString();
631
- const _queryId = queryId || uid(32); // 保证只生成一次
632
- const userMessage = {
633
- istype: 'user',
634
- content: content,
635
- time: now,
636
- queryId: _queryId,
637
- clientSideId: _queryId + '-user',
638
- filePaths: filePaths || '',
639
- currentFiles: currentFiles || [],
640
- };
641
- const aiMessage = {
642
- istype: 'ai',
643
- content: '', // AI回复流式填充
644
- time: new Date(Date.now() + 1).toISOString(),
645
- streaming: true,
646
- status: StatusType.Pending,
647
- queryId: _queryId,
648
- clientSideId: _queryId + '-ai',
649
- };
650
-
651
- // 找到当前激活的对话
652
- const activeChat = chatList;
653
-
654
- if (activeChat) {
655
- // 如果激活的对话存在,则向其添加新消息
656
- activeChat.messages.push(userMessage, aiMessage);
657
- } else {
658
- // 如果没有激活的对话(例如首次加载),则需要特殊处理
659
- // 这里的逻辑可能需要根据产品需求调整,是创建新对话还是报错
660
- // 假设我们总是有一个激活的对话
661
- console.warn('addEmptyMessage called without an active session.');
662
- }
663
- return chatList;
664
- });
665
- };
666
-
667
- // 主动终止当前 stream(调用后端接口)
668
- const stopStream = async () => {
669
- // 调用后端接口停止流式请求
670
- if (currentQueryId.current) {
671
- try {
672
- await axios.delete(`${baseUrl}/qa/ai/abortStream?queryId=${currentQueryId.current}`, {
673
- headers: {
674
- Authorization: token || '',
675
- 'X-CSRF-TOKEN-IN': CSRFToken || '',
676
- },
677
- });
678
- console.log('[AichatUseController] 已调用后端接口停止流式请求', currentQueryId.current);
679
- } catch (error) {
680
- console.error('[AichatUseController] 调用停止接口失败', error);
681
- }
682
- } else {
683
- console.warn('[AichatUseController] 停止流式请求时未找到 queryId');
684
- }
685
-
686
- // 清理状态
687
- currentStreamController.current = null;
688
- currentStreamSessionId.current = null;
689
- currentQueryId.current = null;
690
- setAppStatus((pre: any) => ({ ...pre, display: 'ready', sender: 'ready' }));
691
- };
692
-
693
- // 根据 sessionId 取消流式请求(用于切换会话时)
694
- const cancelStreamBySessionId = async (sessionId: string) => {
695
- if (currentStreamController.current && currentStreamSessionId.current === sessionId) {
696
- console.log('[AichatUseController] 切换会话,取消正在进行的流式请求', sessionId);
697
-
698
- // 调用后端接口停止流式请求
699
- if (currentQueryId.current) {
700
- try {
701
- await axios.delete(`${baseUrl}/qa/ai/abortStream?queryId=${currentQueryId.current}`, {
702
- headers: {
703
- Authorization: token || '',
704
- 'X-CSRF-TOKEN-IN': CSRFToken || '',
705
- },
706
- });
707
- console.log(
708
- '[AichatUseController] 切换会话时已调用后端接口停止流式请求',
709
- currentQueryId.current
710
- );
711
- } catch (error) {
712
- console.error('[AichatUseController] 切换会话时调用停止接口失败', error);
713
- }
714
- } else {
715
- console.warn('[AichatUseController] 切换会话时未找到 queryId');
716
- }
717
-
718
- currentStreamController.current = null;
719
- currentStreamSessionId.current = null;
720
- currentQueryId.current = null;
721
- setAppStatus((pre: any) => ({ ...pre, display: 'ready', sender: 'ready' }));
722
- return true;
723
- }
724
- return false;
725
- };
726
-
727
- const updateUserFilesMessage = ({ currentFiles }: { currentFiles: any[] }) => {
728
- setCurrentChatData((chatList: any) => {
729
- if (!chatList) return chatList;
730
- const current = chatList;
731
- const messages = current.messages || [];
732
- if (!messages.length) return chatList;
733
- const lastIndex = messages.length - 2;
734
- if (lastIndex < 0) return chatList;
735
- const lastMessage = messages[lastIndex];
736
- if (lastMessage.istype !== 'user') return chatList;
737
- const newMessages = messages.slice();
738
- newMessages[lastIndex] = { ...messages[lastIndex], currentFiles } as any;
739
- const newChat0 = { ...current, messages: newMessages };
740
- return newChat0;
741
- });
742
- };
743
-
744
- return {
745
- updateUserFilesMessage,
746
- api_startChat_re,
747
- addEmptyMessage,
748
- setLastEmptyMessage,
749
- stopStream,
750
- cancelStreamBySessionId,
751
- };
752
- };
753
-
754
- export default AichatUseController;