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

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 (522) 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-BlAyZ4S3.js +943 -0
  18. package/assets/index-CzZQWA2P.js +1 -0
  19. package/{dist/assets/index-CpSzj-Sx.js → assets/index-DHK_n74G.js} +58 -73
  20. package/assets/index-DPA1HCWQ.js +1372 -0
  21. package/assets/index-DPyRygOA.js +745 -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/{dist/assets/style-CfNUqKAA.js → assets/style-D8ou48dh.js} +7 -7
  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/style2.css +0 -1
  66. package/dist/chat.js +0 -1
  67. package/dist/chatCompare.js +0 -1
  68. package/dist/database.js +0 -20
  69. package/dist/index.js +0 -1
  70. package/dist/modelManage.js +0 -1
  71. package/dist/package.json +0 -73
  72. package/dist/streamFilesReader.js +0 -1
  73. package/dist/worker/pdf.worker.min.js +0 -22
  74. package/doc_assets/images/1.png +0 -0
  75. package/doc_assets/images/3.png +0 -0
  76. package/doc_assets/images/component-screenshot.png +0 -1
  77. 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
  78. 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
  79. 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
  80. package/eslint.config.js +0 -92
  81. package/index.html +0 -13
  82. package/package.json.demo-backup +0 -109
  83. package/postcss.config.cjs +0 -19
  84. package/public/icons/answerAwartar.png +0 -0
  85. package/public/icons/docx-file.png +0 -0
  86. package/public/icons/folder.png +0 -0
  87. package/public/icons/html.png +0 -0
  88. package/public/icons/image.png +0 -0
  89. package/public/icons/jpg-file.png +0 -0
  90. package/public/icons/json.png +0 -0
  91. package/public/icons/md.png +0 -0
  92. package/public/icons/pdf.png +0 -0
  93. package/public/icons/pptx.png +0 -0
  94. package/public/icons/questionAwartar.png +0 -0
  95. package/public/icons/sheets.png +0 -0
  96. package/public/icons/txt.png +0 -0
  97. package/public/icons/xlsx.png +0 -0
  98. package/public/vite.svg +0 -1
  99. package/rag/assets/index.Bd0tNzw0.js +0 -2797
  100. package/rag/assets/index.D6t67hlu.css +0 -1
  101. package/rag/assets/left.KBHV5h7q.jpg +0 -0
  102. package/rag/assets/worker-BbpylX7l.DptbXke_.js +0 -13
  103. package/release-it.json +0 -21
  104. package/scripts/README.md +0 -133
  105. package/scripts/build-demo.js +0 -88
  106. package/scripts/check-changelog.cjs +0 -124
  107. package/scripts/check-version.cjs +0 -49
  108. package/scripts/decrypt-api-key.js +0 -95
  109. package/scripts/demo-selector.js +0 -216
  110. package/scripts/dev-demo.js +0 -85
  111. package/scripts/open-file.cjs +0 -61
  112. package/scripts/preview-demo.js +0 -130
  113. package/scripts/run-demo.bat +0 -34
  114. package/src/assets/img/close.png +0 -0
  115. package/src/assets/img/database.png +0 -0
  116. package/src/assets/img/downArrow.png +0 -0
  117. package/src/assets/img/downLoad.png +0 -0
  118. package/src/assets/img/excel.png +0 -0
  119. package/src/assets/img/graphIcon.png +0 -0
  120. package/src/assets/img/img.png +0 -0
  121. package/src/assets/img/pdf.png +0 -0
  122. package/src/assets/img/ppt.png +0 -0
  123. package/src/assets/img/search.svg +0 -3
  124. package/src/assets/img/selected.svg +0 -4
  125. package/src/assets/img/singleQa.png +0 -0
  126. package/src/assets/img/txt.png +0 -0
  127. package/src/assets/img/webSearch.png +0 -0
  128. package/src/assets/img/word.png +0 -0
  129. package/src/assets/login/homeBg.png +0 -0
  130. package/src/assets/login/left.jpg +0 -0
  131. package/src/assets/login/logoImg.png +0 -0
  132. package/src/examples/ConversationAssistantPage/index.tsx +0 -42
  133. package/src/examples/LoginPage/index.tsx +0 -20
  134. package/src/examples/chat/components/DrawerGraphPreview.tsx +0 -78
  135. package/src/examples/chat/index.tsx +0 -171
  136. package/src/examples/chat/logo03.png +0 -0
  137. package/src/examples/chatCompare/icons/rag_think.svg +0 -8
  138. package/src/examples/chatCompare/icons/wenda_lianwangsousuo.svg +0 -9
  139. package/src/examples/chatCompare/index.tsx +0 -154
  140. package/src/examples/gientechStreamFilesReader/index.tsx +0 -979
  141. package/src/examples/headlessChat/assets/mind.svg +0 -6
  142. package/src/examples/headlessChat/assets/net.svg +0 -7
  143. package/src/examples/headlessChat/index.tsx +0 -298
  144. package/src/examples/knowledgebaseDetails/index.tsx +0 -119
  145. package/src/examples/ragDatabaseDataPage/index.tsx +0 -40
  146. package/src/examples/ragDatabaseIdPage/index.tsx +0 -126
  147. package/src/examples/ragDatabasePage/index.tsx +0 -36
  148. package/src/examples/ragModelManagePage/index.tsx +0 -107
  149. package/src/examples/ragModelManagePage/style.css +0 -7
  150. package/src/examples/ragSearchPage/index.tsx +0 -0
  151. package/src/examples/ragSensitiveWordsPage/index.tsx +0 -117
  152. package/src/examples/ragSensitiveWordsPage/style.css +0 -16
  153. package/src/examples/sensitiveId/index.tsx +0 -41
  154. package/src/examples/streamFiles/index.tsx +0 -417
  155. package/src/examples/utils/demo_setting_pannel.ts +0 -0
  156. package/src/lib_enter.ts +0 -44
  157. package/src/main.tsx +0 -5
  158. package/src/main.tsx.backup +0 -5
  159. package/src/modules/CHAT_UNIFICATION_PLAN.md +0 -324
  160. package/src/modules/assistantConfig/assets/databse.svg +0 -6
  161. package/src/modules/assistantConfig/assets/empty.png +0 -0
  162. package/src/modules/assistantConfig/assets/graph.svg +0 -4
  163. package/src/modules/assistantConfig/assets/sensitive.svg +0 -5
  164. package/src/modules/assistantConfig/components/Database.tsx +0 -171
  165. package/src/modules/assistantConfig/components/Graph.tsx +0 -177
  166. package/src/modules/assistantConfig/components/Knowledge.tsx +0 -276
  167. package/src/modules/assistantConfig/components/NotFoundContent.tsx +0 -21
  168. package/src/modules/assistantConfig/components/Paragraph.tsx +0 -51
  169. package/src/modules/assistantConfig/components/ParamsItem.tsx +0 -40
  170. package/src/modules/assistantConfig/components/ResourceBinderItem.tsx +0 -133
  171. package/src/modules/assistantConfig/components/SearchableSelector.tsx +0 -500
  172. package/src/modules/assistantConfig/components/Sensitive.tsx +0 -221
  173. package/src/modules/assistantConfig/components/SliderInput.tsx +0 -66
  174. package/src/modules/assistantConfig/constants.tsx +0 -75
  175. package/src/modules/assistantConfig/index.tsx +0 -785
  176. package/src/modules/assistantConfig/server.ts +0 -262
  177. package/src/modules/chat/AllFiles.tsx +0 -158
  178. package/src/modules/chat/Conversations/Item.tsx +0 -169
  179. package/src/modules/chat/Conversations/List.tsx +0 -210
  180. package/src/modules/chat/Conversations/groupByTime.ts +0 -39
  181. package/src/modules/chat/Conversations/index.tsx +0 -255
  182. package/src/modules/chat/ReferenceBar.tsx +0 -659
  183. package/src/modules/chat/constants.tsx +0 -66
  184. package/src/modules/chat/i18n.ts +0 -151
  185. package/src/modules/chat/i18n.tsx +0 -151
  186. package/src/modules/chat/icons/rag_think.svg +0 -8
  187. package/src/modules/chat/icons/wenda_lianwangsousuo.svg +0 -9
  188. package/src/modules/chat/index.tsx +0 -2400
  189. package/src/modules/chat/referenceCom/DeleteModal.tsx +0 -75
  190. package/src/modules/chat/referenceCom/DrawerContent.tsx +0 -136
  191. package/src/modules/chat/referenceCom/DrawerDatabase.tsx +0 -102
  192. package/src/modules/chat/referenceCom/DrawerGraphPreview.tsx +0 -86
  193. package/src/modules/chat/referenceCom/DrawerPreview.tsx +0 -73
  194. package/src/modules/chat/referenceCom/DrawerTitle.tsx +0 -26
  195. package/src/modules/chat/referenceCom/RenameModal.tsx +0 -86
  196. package/src/modules/chat/referenceCom/TagCom.tsx +0 -30
  197. package/src/modules/chat/style.css +0 -6
  198. package/src/modules/chat/style.less +0 -7
  199. package/src/modules/chat/types.ts +0 -17
  200. package/src/modules/chat/utils/index.ts +0 -348
  201. package/src/modules/chatCompare/UseChatCompareHooks.ts +0 -103
  202. package/src/modules/chatCompare/components/AichatCompareUseController.tsx +0 -754
  203. package/src/modules/chatCompare/components/AssistantSelector.tsx +0 -127
  204. package/src/modules/chatCompare/components/ChatInputer.tsx +0 -67
  205. package/src/modules/chatCompare/components/ChatInstance.tsx +0 -426
  206. package/src/modules/chatCompare/components/ChatItem.tsx +0 -556
  207. package/src/modules/chatCompare/components/Sender/FileCardCommon.tsx +0 -97
  208. package/src/modules/chatCompare/components/Sender/FileUpload.tsx +0 -89
  209. package/src/modules/chatCompare/components/Sender/FilesDisplay.tsx +0 -309
  210. package/src/modules/chatCompare/components/Sender/VoiceInput.tsx +0 -80
  211. package/src/modules/chatCompare/components/Sender/contexts/BadgeContext.tsx +0 -36
  212. package/src/modules/chatCompare/components/Sender/fileIcon.tsx +0 -100
  213. package/src/modules/chatCompare/components/Sender/index.tsx +0 -850
  214. package/src/modules/chatCompare/components/UseChatInstanceHooks.ts +0 -406
  215. package/src/modules/chatCompare/components/UseScrollHooks.ts +0 -36
  216. package/src/modules/chatCompare/components/components/AllFiles.tsx +0 -156
  217. package/src/modules/chatCompare/components/components/DeleteModal.tsx +0 -75
  218. package/src/modules/chatCompare/components/components/DrawerContent.tsx +0 -138
  219. package/src/modules/chatCompare/components/components/DrawerDatabase.tsx +0 -110
  220. package/src/modules/chatCompare/components/components/DrawerGraphPreview.tsx +0 -95
  221. package/src/modules/chatCompare/components/components/DrawerPreview.tsx +0 -75
  222. package/src/modules/chatCompare/components/components/DrawerTitle.tsx +0 -26
  223. package/src/modules/chatCompare/components/components/DrawerVideo.tsx +0 -85
  224. package/src/modules/chatCompare/components/components/ReferenceBar.tsx +0 -659
  225. package/src/modules/chatCompare/components/components/RenameModal.tsx +0 -86
  226. package/src/modules/chatCompare/components/components/TagCom.tsx +0 -30
  227. package/src/modules/chatCompare/components/defaultStyleSet.tsx +0 -148
  228. package/src/modules/chatCompare/components/server.ts +0 -208
  229. package/src/modules/chatCompare/components/serverFn.ts +0 -172
  230. package/src/modules/chatCompare/components/style.less +0 -97
  231. package/src/modules/chatCompare/components/useFileManager.ts +0 -173
  232. package/src/modules/chatCompare/components/utils.ts +0 -31
  233. package/src/modules/chatCompare/data.ts +0 -842
  234. package/src/modules/chatCompare/index.tsx +0 -537
  235. package/src/modules/chatCompare/utils/AiChat.types.tsx +0 -110
  236. package/src/modules/chatCompare/utils/constants.tsx +0 -70
  237. package/src/modules/chatCompare/utils/fileUploadValidator.ts +0 -183
  238. package/src/modules/chatCompare/utils/icons/rag_think.svg +0 -8
  239. package/src/modules/chatCompare/utils/icons/wenda_lianwangsousuo.svg +0 -9
  240. package/src/modules/chatCompare/utils/index.ts +0 -46
  241. package/src/modules/database/CreateModal.tsx +0 -402
  242. package/src/modules/database/assets/Doris.png +0 -0
  243. package/src/modules/database/assets/PostgreSQL.png +0 -0
  244. package/src/modules/database/assets/SQLServer.png +0 -0
  245. package/src/modules/database/assets/database_connect.svg +0 -66
  246. package/src/modules/database/assets/database_upload.svg +0 -29
  247. package/src/modules/database/assets/empty.png +0 -0
  248. package/src/modules/database/index.tsx +0 -477
  249. package/src/modules/database/server.ts +0 -196
  250. package/src/modules/databaseId/CustomCom.tsx +0 -156
  251. package/src/modules/databaseId/EditConfig.tsx +0 -280
  252. package/src/modules/databaseId/UploadDrawer.tsx +0 -535
  253. package/src/modules/databaseId/assets/aiOptimize.svg +0 -10
  254. package/src/modules/databaseId/assets/empty.png +0 -0
  255. package/src/modules/databaseId/assets/template.svg +0 -6
  256. package/src/modules/databaseId/assets/upload.svg +0 -9
  257. package/src/modules/databaseId/assets/useTemp.svg +0 -6
  258. package/src/modules/databaseId/i18n.ts +0 -360
  259. package/src/modules/databaseId/index.tsx +0 -855
  260. package/src/modules/databaseId/server.ts +0 -286
  261. package/src/modules/databaseId/style.css +0 -5
  262. package/src/modules/databaseTable/EditRowDrawer.tsx +0 -124
  263. package/src/modules/databaseTable/index.tsx +0 -359
  264. package/src/modules/databaseTable/server.ts +0 -180
  265. package/src/modules/headlessChat/ReferenceBar.tsx +0 -783
  266. package/src/modules/headlessChat/constants.tsx +0 -54
  267. package/src/modules/headlessChat/index.tsx +0 -1903
  268. package/src/modules/headlessChat/referenceCom/DeleteModal.tsx +0 -75
  269. package/src/modules/headlessChat/referenceCom/DrawerContent.tsx +0 -136
  270. package/src/modules/headlessChat/referenceCom/DrawerDatabase.tsx +0 -102
  271. package/src/modules/headlessChat/referenceCom/DrawerGraphPreview.tsx +0 -86
  272. package/src/modules/headlessChat/referenceCom/DrawerPreview.tsx +0 -73
  273. package/src/modules/headlessChat/referenceCom/DrawerTitle.tsx +0 -26
  274. package/src/modules/headlessChat/referenceCom/RenameModal.tsx +0 -86
  275. package/src/modules/headlessChat/referenceCom/TagCom.tsx +0 -30
  276. package/src/modules/headlessChat/style.less +0 -3
  277. package/src/modules/headlessChat/types.ts +0 -23
  278. package/src/modules/headlessChat/utils/index.ts +0 -348
  279. package/src/modules/knowledgeBase/index.tsx +0 -58
  280. package/src/modules/knowledgeBase/server.ts +0 -196
  281. package/src/modules/knowledgebaseDetails/KnowledgeBaseDetails.tsx +0 -169
  282. package/src/modules/knowledgebaseDetails/components/KnowledgeBaseSummaryCard.tsx +0 -193
  283. package/src/modules/knowledgebaseDetails/components/fileManagementParts.tsx +0 -534
  284. package/src/modules/knowledgebaseDetails/components/index.ts +0 -3
  285. package/src/modules/knowledgebaseDetails/index.ts +0 -3
  286. package/src/modules/knowledgebaseDetails/modules/ConfigModule.tsx +0 -49
  287. package/src/modules/knowledgebaseDetails/modules/FaqModule.tsx +0 -47
  288. package/src/modules/knowledgebaseDetails/modules/KnowledgeParseModule.tsx +0 -771
  289. package/src/modules/knowledgebaseDetails/modules/RetrievalTestModule.tsx +0 -49
  290. package/src/modules/knowledgebaseDetails/modules/UploadManagementModule.tsx +0 -49
  291. package/src/modules/knowledgebaseDetails/modules/types.ts +0 -44
  292. package/src/modules/knowledgebaseDetails/modules-shim.d.ts +0 -14
  293. package/src/modules/knowledgebaseDetails/servers/analysis.ts +0 -5
  294. package/src/modules/knowledgebaseDetails/servers/index.ts +0 -318
  295. package/src/modules/login/components/Login/LoginBox/index.tsx +0 -105
  296. package/src/modules/login/components/Login/RegisterBox/index.tsx +0 -181
  297. package/src/modules/login/components/Login/index.tsx +0 -100
  298. package/src/modules/login/i18n.ts +0 -217
  299. package/src/modules/login/index.tsx +0 -113
  300. package/src/modules/login/style.css +0 -3
  301. package/src/modules/login/useServices.ts +0 -53
  302. package/src/modules/login/utils.ts +0 -42
  303. package/src/modules/modelManage/ConfigDrawer.tsx +0 -267
  304. package/src/modules/modelManage/ReplaceModal.tsx +0 -113
  305. package/src/modules/modelManage/assets/empty.png +0 -0
  306. package/src/modules/modelManage/const.ts +0 -51
  307. package/src/modules/modelManage/i18n.ts +0 -407
  308. package/src/modules/modelManage/index.tsx +0 -668
  309. package/src/modules/modelManage/server.ts +0 -231
  310. package/src/modules/nodegraph/index.tsx +0 -1
  311. package/src/modules/search/assets/Icon-history.svg +0 -8
  312. package/src/modules/search/assets/answerAwartar.png +0 -0
  313. package/src/modules/search/assets/doc.png +0 -0
  314. package/src/modules/search/assets/genera.gif +0 -0
  315. package/src/modules/search/assets/icon-robot.svg +0 -9
  316. package/src/modules/search/assets/icon-search-bar.svg +0 -14
  317. package/src/modules/search/assets/icon-sub-title.svg +0 -3
  318. package/src/modules/search/assets/icon-title.svg +0 -9
  319. package/src/modules/search/assets/icon-zoomOut.svg +0 -9
  320. package/src/modules/search/assets/iconAi.svg +0 -9
  321. package/src/modules/search/assets/pdf.png +0 -0
  322. package/src/modules/search/assets/ppt.png +0 -0
  323. package/src/modules/search/assets/search.svg +0 -3
  324. package/src/modules/search/assets/selected.svg +0 -4
  325. package/src/modules/search/assets/txt.png +0 -0
  326. package/src/modules/search/assets/xls.png +0 -0
  327. package/src/modules/search/components/AssisSelect.tsx +0 -137
  328. package/src/modules/search/components/Editor/ChatViewEditor.tsx +0 -261
  329. package/src/modules/search/components/Editor/aichat.css +0 -1
  330. package/src/modules/search/components/Editor/constant.ts +0 -13
  331. package/src/modules/search/components/Editor/index.tsx +0 -113
  332. package/src/modules/search/components/Editor/plugins/autofomatRules.ts +0 -332
  333. package/src/modules/search/components/Editor/plugins/convertImgPlugins.tsx +0 -20
  334. package/src/modules/search/components/Editor/plugins/createIndexes.tsx +0 -38
  335. package/src/modules/search/components/Editor/plugins/displayer.ts +0 -298
  336. package/src/modules/search/components/Editor/plugins/imageClick.tsx +0 -32
  337. package/src/modules/search/components/Editor/plugins/myplugin.tsx +0 -98
  338. package/src/modules/search/components/Editor/ui/avatar.tsx +0 -19
  339. package/src/modules/search/components/Editor/ui/blockquote-element.tsx +0 -21
  340. package/src/modules/search/components/Editor/ui/button.tsx +0 -58
  341. package/src/modules/search/components/Editor/ui/calendar.tsx +0 -68
  342. package/src/modules/search/components/Editor/ui/caption.tsx +0 -46
  343. package/src/modules/search/components/Editor/ui/checkbox.tsx +0 -27
  344. package/src/modules/search/components/Editor/ui/code-block-combobox.tsx +0 -188
  345. package/src/modules/search/components/Editor/ui/code-block-element.css +0 -434
  346. package/src/modules/search/components/Editor/ui/code-block-element.tsx +0 -39
  347. package/src/modules/search/components/Editor/ui/code-leaf.tsx +0 -24
  348. package/src/modules/search/components/Editor/ui/code-line-element.tsx +0 -10
  349. package/src/modules/search/components/Editor/ui/code-syntax-leaf.tsx +0 -21
  350. package/src/modules/search/components/Editor/ui/column-element.tsx +0 -30
  351. package/src/modules/search/components/Editor/ui/column-group-element.tsx +0 -94
  352. package/src/modules/search/components/Editor/ui/command.tsx +0 -75
  353. package/src/modules/search/components/Editor/ui/comment-avatar.tsx +0 -22
  354. package/src/modules/search/components/Editor/ui/comment-create-form.tsx +0 -37
  355. package/src/modules/search/components/Editor/ui/comment-item.tsx +0 -74
  356. package/src/modules/search/components/Editor/ui/comment-leaf.tsx +0 -49
  357. package/src/modules/search/components/Editor/ui/comment-more-dropdown.tsx +0 -42
  358. package/src/modules/search/components/Editor/ui/comment-reply-items.tsx +0 -22
  359. package/src/modules/search/components/Editor/ui/comment-resolve-button.tsx +0 -32
  360. package/src/modules/search/components/Editor/ui/comment-value.tsx +0 -34
  361. package/src/modules/search/components/Editor/ui/comments-popover.tsx +0 -63
  362. package/src/modules/search/components/Editor/ui/date-element.tsx +0 -83
  363. package/src/modules/search/components/Editor/ui/dialog.tsx +0 -63
  364. package/src/modules/search/components/Editor/ui/draggable.tsx +0 -177
  365. package/src/modules/search/components/Editor/ui/dropdown-menu.tsx +0 -180
  366. package/src/modules/search/components/Editor/ui/emoji-input-element.tsx +0 -85
  367. package/src/modules/search/components/Editor/ui/excalidraw-element.tsx +0 -28
  368. package/src/modules/search/components/Editor/ui/fixed-toolbar-buttons.tsx +0 -76
  369. package/src/modules/search/components/Editor/ui/fixed-toolbar.tsx +0 -8
  370. package/src/modules/search/components/Editor/ui/floating-toolbar-buttons.tsx +0 -51
  371. package/src/modules/search/components/Editor/ui/floating-toolbar.tsx +0 -77
  372. package/src/modules/search/components/Editor/ui/heading-element.tsx +0 -48
  373. package/src/modules/search/components/Editor/ui/highlight-leaf.tsx +0 -17
  374. package/src/modules/search/components/Editor/ui/hr-element.tsx +0 -30
  375. package/src/modules/search/components/Editor/ui/icons.tsx +0 -267
  376. package/src/modules/search/components/Editor/ui/image-element.tsx +0 -74
  377. package/src/modules/search/components/Editor/ui/inline-combobox.tsx +0 -368
  378. package/src/modules/search/components/Editor/ui/input.tsx +0 -25
  379. package/src/modules/search/components/Editor/ui/insert-dropdown-menu.tsx +0 -218
  380. package/src/modules/search/components/Editor/ui/kbd-leaf.tsx +0 -20
  381. package/src/modules/search/components/Editor/ui/link-element.tsx +0 -29
  382. package/src/modules/search/components/Editor/ui/link-floating-toolbar.tsx +0 -161
  383. package/src/modules/search/components/Editor/ui/list-element.tsx +0 -30
  384. package/src/modules/search/components/Editor/ui/mark-toolbar-button.tsx +0 -24
  385. package/src/modules/search/components/Editor/ui/media-embed-element.tsx +0 -133
  386. package/src/modules/search/components/Editor/ui/media-popover.tsx +0 -97
  387. package/src/modules/search/components/Editor/ui/mention-element.tsx +0 -43
  388. package/src/modules/search/components/Editor/ui/mention-input-element.tsx +0 -141
  389. package/src/modules/search/components/Editor/ui/mode-dropdown-menu.tsx +0 -93
  390. package/src/modules/search/components/Editor/ui/more-dropdown-menu.tsx +0 -67
  391. package/src/modules/search/components/Editor/ui/paragraph-element.tsx +0 -4
  392. package/src/modules/search/components/Editor/ui/placeholder.tsx +0 -52
  393. package/src/modules/search/components/Editor/ui/popover.tsx +0 -32
  394. package/src/modules/search/components/Editor/ui/resizable.tsx +0 -66
  395. package/src/modules/search/components/Editor/ui/separator.tsx +0 -25
  396. package/src/modules/search/components/Editor/ui/style.less +0 -12
  397. package/src/modules/search/components/Editor/ui/table-cell-element.tsx +0 -143
  398. package/src/modules/search/components/Editor/ui/table-element.tsx +0 -243
  399. package/src/modules/search/components/Editor/ui/table-row-element.tsx +0 -22
  400. package/src/modules/search/components/Editor/ui/tableValue.tsx +0 -135
  401. package/src/modules/search/components/Editor/ui/todo-list-element.tsx +0 -43
  402. package/src/modules/search/components/Editor/ui/toggle-element.tsx +0 -31
  403. package/src/modules/search/components/Editor/ui/toolbar.tsx +0 -157
  404. package/src/modules/search/components/Editor/ui/tooltip.tsx +0 -65
  405. package/src/modules/search/components/Editor/ui/turn-into-dropdown-menu.tsx +0 -160
  406. package/src/modules/search/components/Editor/ui/with-draggables.tsx +0 -175
  407. package/src/modules/search/components/FileList.tsx +0 -287
  408. package/src/modules/search/components/ImageGroupView/index.tsx +0 -85
  409. package/src/modules/search/components/ResultContent.tsx +0 -232
  410. package/src/modules/search/components/SearchInput.tsx +0 -232
  411. package/src/modules/search/components/SearchLanding.tsx +0 -74
  412. package/src/modules/search/components/SearchView.tsx +0 -563
  413. package/src/modules/search/components/SimpleEditor.tsx +0 -158
  414. package/src/modules/search/components/SimpleFileList.tsx +0 -215
  415. package/src/modules/search/index.tsx +0 -10
  416. package/src/modules/search/reademe.md +0 -1
  417. package/src/modules/search/servers/apis.tsx +0 -19
  418. package/src/modules/search/servers/index.ts +0 -184
  419. package/src/modules/search/style.less +0 -503
  420. package/src/modules/search/type.ts +0 -22
  421. package/src/modules/search/utils.ts +0 -34
  422. package/src/modules/sensitive/i18n.ts +0 -391
  423. package/src/modules/sensitive/index.tsx +0 -604
  424. package/src/modules/sensitive/sensitiveEditor.tsx +0 -543
  425. package/src/modules/sensitive/server.ts +0 -197
  426. package/src/modules/sensitiveId/AutoTag.tsx +0 -311
  427. package/src/modules/sensitiveId/UploadModal.tsx +0 -181
  428. package/src/modules/sensitiveId/VirtualWrap.tsx +0 -125
  429. package/src/modules/sensitiveId/index.tsx +0 -253
  430. package/src/modules/sensitiveId/server.ts +0 -142
  431. package/src/modules/streamFilesReader/GientechStreamReader.tsx +0 -1658
  432. package/src/modules/streamFilesReader/components/Header/Toolbar.tsx +0 -0
  433. package/src/modules/streamFilesReader/components/Header/index.tsx +0 -297
  434. package/src/modules/streamFilesReader/index.tsx +0 -3
  435. package/src/style.css +0 -6
  436. package/src/type.d.ts +0 -0
  437. package/src/utils/commonFn.tsx +0 -153
  438. package/src/utils/decryptApiKey.ts +0 -40
  439. package/src/utils/gientechCommon/components/AppError.tsx +0 -32
  440. package/src/utils/gientechCommon/components/AppLoading.tsx +0 -75
  441. package/src/utils/gientechCommon/components/DeleteModal.tsx +0 -75
  442. package/src/utils/gientechCommon/components/DisplayError.tsx +0 -33
  443. package/src/utils/gientechCommon/components/DisplayLoading.tsx +0 -38
  444. package/src/utils/gientechCommon/components/FeedBackModal.tsx +0 -319
  445. package/src/utils/gientechCommon/components/FileCardCommon.tsx +0 -82
  446. package/src/utils/gientechCommon/components/FileManager/index.tsx +0 -418
  447. package/src/utils/gientechCommon/components/FileManager/style.css +0 -5
  448. package/src/utils/gientechCommon/components/Messages/GientechNewChatWelcome.tsx +0 -583
  449. package/src/utils/gientechCommon/components/Messages/ReferenceCard.tsx +0 -359
  450. package/src/utils/gientechCommon/components/Messages/RetriveItem.tsx +0 -245
  451. package/src/utils/gientechCommon/components/Messages/WebRetriveItem.tsx +0 -209
  452. package/src/utils/gientechCommon/components/Messages/defaultBot.png +0 -0
  453. package/src/utils/gientechCommon/components/Messages/defaultStyleSet.tsx +0 -148
  454. package/src/utils/gientechCommon/components/Messages/defaultWeLogo.svg +0 -14
  455. package/src/utils/gientechCommon/components/RenameModal.tsx +0 -86
  456. package/src/utils/gientechCommon/components/style.less +0 -11
  457. package/src/utils/gientechCommon/configs/commonConfig.ts +0 -2
  458. package/src/utils/gientechCommon/configs/senderConfig.ts +0 -0
  459. package/src/utils/gientechCommon/configs/stylesConfig.ts +0 -142
  460. package/src/utils/gientechCommon/hooks/AichatUseController.tsx +0 -761
  461. package/src/utils/gientechCommon/hooks/style.less +0 -8
  462. package/src/utils/gientechCommon/hooks/useFileDisplayTools.tsx +0 -352
  463. package/src/utils/gientechCommon/hooks/useFileManager.ts +0 -169
  464. package/src/utils/gientechCommon/slate/converters/deserializers.ts +0 -763
  465. package/src/utils/gientechCommon/slate/converters/mockData.ts +0 -232
  466. package/src/utils/gientechCommon/slate/converters/slateConverters.ts +0 -258
  467. package/src/utils/gientechCommon/slate/richElements/index.tsx +0 -499
  468. package/src/utils/gientechCommon/utils/fileUtils.ts +0 -86
  469. package/src/utils/gientechCommon/utils/index.ts +0 -386
  470. package/src/utils/gientechCommon/utils/request.ts +0 -37
  471. package/src/utils/gientechCommon/utils/serverFn.ts +0 -172
  472. package/src/utils/index.tsx +0 -186
  473. package/src/utils/testconfigs/demologin/index.tsx +0 -32
  474. package/src/utils/testconfigs/index.ts +0 -66
  475. package/src/vite-env.d.ts +0 -49
  476. package/stats.html +0 -4949
  477. package/tailwind.config.js +0 -170
  478. package/tsconfig.app.json +0 -31
  479. package/tsconfig.app.tsbuildinfo +0 -11
  480. package/tsconfig.json +0 -17
  481. package/tsconfig.node.json +0 -23
  482. package/tsconfig.node.tsbuildinfo +0 -1
  483. package/vite.config.app.ts +0 -91
  484. package/vite.config.ts +0 -238
  485. /package/{dist/assets → assets}/Doris.png +0 -0
  486. /package/{dist/assets → assets}/PostgreSQL.png +0 -0
  487. /package/{dist/assets → assets}/SQLServer.png +0 -0
  488. /package/{dist/assets → assets}/empty.png +0 -0
  489. /package/{dist/assets → assets}/homeBg.png +0 -0
  490. /package/{dist/assets → assets}/index-CpW6Dhpp.js +0 -0
  491. /package/{dist/assets → assets}/left.jpg +0 -0
  492. /package/{dist/assets → assets}/logoImg.png +0 -0
  493. /package/{dist/assets → assets}/style.css +0 -0
  494. /package/{dist/assets → assets}/style3.css +0 -0
  495. /package/{dist/assets → assets}/style4.css +0 -0
  496. /package/{dist/assets → assets}/style5.css +0 -0
  497. /package/{dist/assets → assets}/worker-BbpylX7l.js +0 -0
  498. /package/{dist/assistantConfig.d.ts → assistantConfig.d.ts} +0 -0
  499. /package/{dist/chat.d.ts → chat.d.ts} +0 -0
  500. /package/{dist/chatCompare.d.ts → chatCompare.d.ts} +0 -0
  501. /package/{dist/database.d.ts → database.d.ts} +0 -0
  502. /package/{dist/databaseId.d.ts → databaseId.d.ts} +0 -0
  503. /package/{dist/databaseTable.d.ts → databaseTable.d.ts} +0 -0
  504. /package/{dist/icons → icons}/answerAwartar.png +0 -0
  505. /package/{dist/icons → icons}/docx-file.png +0 -0
  506. /package/{dist/icons → icons}/folder.png +0 -0
  507. /package/{dist/icons → icons}/html.png +0 -0
  508. /package/{dist/icons → icons}/image.png +0 -0
  509. /package/{dist/icons → icons}/jpg-file.png +0 -0
  510. /package/{dist/icons → icons}/json.png +0 -0
  511. /package/{dist/icons → icons}/md.png +0 -0
  512. /package/{dist/icons → icons}/pdf.png +0 -0
  513. /package/{dist/icons → icons}/pptx.png +0 -0
  514. /package/{dist/icons → icons}/questionAwartar.png +0 -0
  515. /package/{dist/icons → icons}/sheets.png +0 -0
  516. /package/{dist/icons → icons}/txt.png +0 -0
  517. /package/{dist/icons → icons}/xlsx.png +0 -0
  518. /package/{dist/index.d.ts → index.d.ts} +0 -0
  519. /package/{dist/modelManage.d.ts → modelManage.d.ts} +0 -0
  520. /package/{dist/sensitive.d.ts → sensitive.d.ts} +0 -0
  521. /package/{dist/streamFilesReader.d.ts → streamFilesReader.d.ts} +0 -0
  522. /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;