@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,761 +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
-
8
- interface Api_Chat {
9
- sessionId: string;
10
- queryId: string;
11
- name: string;
12
- lastDate: string | number;
13
- type: string;
14
- content: string;
15
- configId: string;
16
- audioUrl: string;
17
- fileUids: any[];
18
- signal?: AbortSignal;
19
- sysType?: 'KNO_INDEX' | 'INT_SESSION' | 'TEMPORARY';
20
- }
21
-
22
- export enum StatusType {
23
- Pending = 0,
24
- Process, // 1: 对话正文输出中
25
- Done, // 2: 整个对话完成
26
- Error, // 3: 整个对话出现异常
27
- ThoughtChain = 4, // 4: 思维链输出中
28
- }
29
-
30
- class FatalError extends Error {}
31
-
32
- let currentStreamController: AbortController | null = null;
33
- // 记录当前流式请求的 sessionId,用于在切换会话时判断是否需要取消请求
34
- let currentStreamSessionId: string | null = null;
35
- // 记录当前流式请求的 queryId,用于调用停止接口
36
- let currentQueryId: string | null = null;
37
- // 记录当前流式请求的思维链节点,用于实时聚合
38
- let currentThoughtNodes: ThoughtNode[] = [];
39
- // 记录当前流式请求的 enableCot 和 chainRespTime
40
- let currentEnableCot: number | undefined = undefined;
41
- let currentChainRespTime: number | undefined = undefined;
42
- // 记录每个节点的 chainRespTime,用于最后累加计算总耗时
43
- let nodeChainRespTimes: Map<string, number> = new Map();
44
-
45
- const AichatUseController = ({
46
- baseUrl,
47
- token,
48
- CSRFToken,
49
- setChatData,
50
- activeSessionId,
51
- setAppStatus,
52
- setConversationList,
53
- }: {
54
- baseUrl: string;
55
- token: string;
56
- CSRFToken?: string;
57
- setChatData: (arg: any[] | ((prev: any[]) => any[])) => void;
58
- activeSessionId: string | undefined;
59
- setAppStatus: React.Dispatch<React.SetStateAction<AppStatusManager>>;
60
- setConversationList: React.Dispatch<React.SetStateAction<any[]>>;
61
- }) => {
62
- // 判断 graphReference 是否有有效值
63
- const isValidGraphReference = (ref: any): boolean => {
64
- if (!ref) return false;
65
- if (typeof ref === 'string') {
66
- const trimmed = ref.trim();
67
- return trimmed !== '' && trimmed !== '[]' && trimmed !== 'null';
68
- }
69
- return true;
70
- };
71
-
72
- const reset_chat = ({
73
- content,
74
- status,
75
- respTime,
76
- filePaths,
77
- reference,
78
- webReference,
79
- knowledgeBases,
80
- graphReference,
81
- databaseReference,
82
- llmType,
83
- resultType,
84
- queryId,
85
- tokens,
86
- chain,
87
- thoughtChainNodes,
88
- enableCot,
89
- chainRespTime,
90
- }: {
91
- content: string;
92
- status: StatusType;
93
- respTime: number;
94
- filePaths: any[];
95
- reference: string;
96
- knowledgeBases: string;
97
- webReference: string;
98
- graphReference?: string;
99
- databaseReference?: any;
100
- llmType: number;
101
- resultType: number;
102
- queryId?: string;
103
- tokens: number;
104
- chain?: any[];
105
- thoughtChainNodes?: ThoughtNode[];
106
- enableCot?: number;
107
- chainRespTime?: number;
108
- [key: string]: any;
109
- }) => {
110
- setChatData((chatList: any) => {
111
- if (!chatList[0]) return chatList;
112
- const current = chatList[0];
113
- const messages = current.messages || [];
114
- const lastIndex = messages.length - 1;
115
- if (lastIndex < 0) return chatList;
116
- const lastMessage = messages[lastIndex];
117
- if (lastMessage.istype !== 'ai') return chatList;
118
-
119
- // 更新上一条 user 的 filePaths(不可变)
120
- let newMessages = messages.slice();
121
- if (filePaths?.length) {
122
- const lastSecondIndex = messages.length - 2;
123
- if (lastSecondIndex >= 0 && messages[lastSecondIndex]?.istype === 'user') {
124
- const lastSecond = { ...messages[lastSecondIndex], filePaths };
125
- newMessages[lastSecondIndex] = lastSecond;
126
- }
127
- }
128
-
129
- // 检测是否是新的 queryId(新消息开始)
130
- const isNewQuery = queryId && queryId !== lastMessage.queryId;
131
-
132
- const isRestart = status === StatusType.Process && lastMessage.status === StatusType.Done;
133
-
134
- // 只有当 graphReference 有有效值时才更新,否则保留之前的值
135
- // 如果传入的 graphReference 是 undefined,说明本次没有更新,保留之前的值
136
- // 如果传入的 graphReference 是 null 或无效值,也保留之前的值
137
- // 但是,如果是新的 queryId 或重新开始,应该清空 graphReference
138
- const finalGraphReference =
139
- isNewQuery || isRestart
140
- ? isValidGraphReference(graphReference)
141
- ? graphReference
142
- : null
143
- : graphReference !== undefined
144
- ? isValidGraphReference(graphReference)
145
- ? graphReference
146
- : lastMessage.graphReference
147
- : lastMessage.graphReference;
148
- // 调试:检查 reset_chat 中的 graphReference 处理
149
- if (status === StatusType.Done && graphReference !== undefined) {
150
- console.log('[AichatUseController] reset_chat status=2 时的 graphReference:', {
151
- graphReference,
152
- isValid: isValidGraphReference(graphReference),
153
- lastMessageGraphReference: lastMessage.graphReference,
154
- finalGraphReference,
155
- isNewQuery,
156
- isRestart,
157
- });
158
- }
159
-
160
- // status=4 (思维链输出中) 时,不累加 content,只更新思维链数据
161
- // 注意:status=4 时,如果传入的 content 是空字符串,应该保持之前的正文内容不变
162
- // 但如果之前错误地累加了思维链内容到正文,这里需要确保不会继续累加
163
- const shouldUpdateContent = status !== StatusType.ThoughtChain;
164
-
165
- // status=4 时,如果传入的 content 是空字符串,保持之前的正文内容不变
166
- // 但如果传入的 content 不是空字符串(理论上不应该发生),则使用传入的值
167
- // 如果是新的 queryId(新消息开始),应该重置 content
168
- let finalContent: string;
169
- if (isNewQuery) {
170
- // 新消息开始,使用新的 content
171
- finalContent = content;
172
- } else if (isRestart) {
173
- // 重新开始,清空 content
174
- finalContent = '';
175
- } else if (status === StatusType.ThoughtChain) {
176
- // status=4 时,不累加 content,保持之前的正文内容不变
177
- finalContent = lastMessage.content || '';
178
- } else {
179
- // status=1 或其他状态时,累加 content
180
- // status=2 且 content 为空字符串时,表示只是收尾,不应清空或追加“undefined”,保持之前的正文
181
- if (status === StatusType.Done && !content) {
182
- finalContent = lastMessage.content || '';
183
- } else {
184
- finalContent = (lastMessage.content || '') + content;
185
- }
186
- }
187
-
188
- const updatedLast = {
189
- ...lastMessage,
190
- content: finalContent,
191
- status,
192
- respTime,
193
- filePaths,
194
- // 如果是新的 queryId 或重新开始,应该清空引用数据
195
- reference: isNewQuery || isRestart ? reference || '[]' : reference,
196
- webReference: isNewQuery || isRestart ? webReference || '[]' : webReference,
197
- knowledgeBases: isNewQuery || isRestart ? knowledgeBases || '[]' : knowledgeBases,
198
- graphReference: finalGraphReference,
199
- // 流式阶段若后端带来了 databaseReference,写入当前 AI 消息
200
- // 如果是新的 queryId 或重新开始,应该清空 databaseReference
201
- // 如果 databaseReference 是 null,应该清空(不使用 ?? 运算符,因为 null 也是有效值)
202
- databaseReference:
203
- isNewQuery || isRestart
204
- ? databaseReference !== undefined
205
- ? databaseReference
206
- : null
207
- : databaseReference !== undefined
208
- ? databaseReference
209
- : lastMessage.databaseReference,
210
- resultType,
211
- llmType,
212
- tokens,
213
- queryId: queryId || lastMessage.queryId || uid(32),
214
- // 思维链数据:如果有传入 chain,使用传入的;否则保留之前的
215
- // 如果是新的 queryId 或重新开始,应该清空 chain
216
- // 如果 chain 是 undefined,应该清空(不使用 ?? 运算符,因为 undefined 也是有效值)
217
- chain:
218
- isNewQuery || isRestart
219
- ? chain !== undefined
220
- ? chain
221
- : undefined
222
- : chain !== undefined
223
- ? chain
224
- : lastMessage.chain,
225
- // 实时思维链节点(用于实时流式场景,优先使用此字段)
226
- thoughtChainNodes:
227
- isNewQuery || isRestart
228
- ? thoughtChainNodes !== undefined
229
- ? thoughtChainNodes
230
- : undefined
231
- : thoughtChainNodes !== undefined
232
- ? thoughtChainNodes
233
- : lastMessage.thoughtChainNodes,
234
- // enableCot 和 chainRespTime:从 SSE 流中获取,用于控制思维链渲染模式
235
- enableCot: enableCot !== undefined ? enableCot : lastMessage.enableCot,
236
- chainRespTime: chainRespTime !== undefined ? chainRespTime : lastMessage.chainRespTime,
237
- } as any;
238
- updatedLast.clientSideId = updatedLast.clientSideId || updatedLast.queryId + '-ai';
239
- newMessages[lastIndex] = updatedLast;
240
-
241
- const newChat0 = { ...current, isNew: false, messages: newMessages };
242
- return [newChat0, ...chatList.slice(1)];
243
- });
244
- };
245
-
246
- const onErrorCallback = (err: any) => {
247
- if (err instanceof FatalError) {
248
- setAppStatus((pre: any) => ({ ...pre, display: 'error', sender: 'ready' }));
249
- if (currentStreamController) {
250
- currentStreamController.abort();
251
- currentStreamController = null;
252
- }
253
- currentStreamSessionId = null;
254
- currentQueryId = null;
255
- throw err;
256
- }
257
- // 其他错误可选处理
258
- };
259
-
260
- const api_startChat_re = (data: Api_Chat, onSuccess?: (gmtModified: number) => void) => {
261
- if (currentStreamController) {
262
- currentStreamController.abort();
263
- }
264
- currentStreamController = new AbortController();
265
- // 记录当前流式请求的 sessionId 和 queryId
266
- currentStreamSessionId = data.sessionId;
267
- currentQueryId = data.queryId;
268
- // 重置思维链节点和相关状态,为新请求做准备
269
- currentThoughtNodes = [];
270
- currentEnableCot = undefined;
271
- currentChainRespTime = undefined;
272
- nodeChainRespTimes = new Map();
273
- const eventSourceUrl = `${baseUrl}/qa/ai/question_re`;
274
- //const eventSourceUrl = `${baseUrl}/qa/ai/question_re`;
275
- console.log('data', data);
276
- const params = { ...data };
277
- fetchEventSource(eventSourceUrl, {
278
- method: 'post',
279
- signal: currentStreamController.signal,
280
- headers: {
281
- 'Content-Type': 'application/json',
282
- Accept: 'text/event-stream',
283
- Authorization: token || '',
284
- 'X-CSRF-TOKEN-IN': CSRFToken || '',
285
- },
286
- openWhenHidden: true,
287
- body: JSON.stringify(params),
288
- onopen: async response => {
289
- if (response.status === 500) {
290
- throw new FatalError('Internal Server Error');
291
- }
292
- if (!response.ok) {
293
- throw new FatalError(`HTTP error: ${response.status}`);
294
- }
295
- // 其他状态可根据需要处理
296
- },
297
- onmessage: event => {
298
- const curData = JSON.parse(event.data);
299
- // 检查当前请求的 sessionId 是否仍然匹配,如果不匹配则忽略所有后续数据
300
- if (currentStreamSessionId !== curData.sessionId) {
301
- console.log('[AichatUseController] 流式请求的 sessionId 已不匹配,忽略数据', {
302
- currentStreamSessionId,
303
- receivedSessionId: curData.sessionId,
304
- activeSessionId,
305
- });
306
- return;
307
- }
308
- if (activeSessionId !== curData.sessionId) return;
309
- const {
310
- reply,
311
- resultType,
312
- respTime,
313
- reference,
314
- webReference,
315
- graphReference,
316
- knowledgeBases,
317
- filePaths,
318
- status,
319
- docs,
320
- llmType,
321
- databaseReference,
322
- businessType,
323
- nodeStatus,
324
- enableCot,
325
- chainRespTime,
326
- } = curData;
327
-
328
- // 处理思维链数据:只有 status=4 (思维链输出中) 时才聚合思维链数据
329
- // status=1 (对话正文输出中) 时,即使有 businessType,也不应该聚合到思维链节点
330
- // 注意:status=1 时,businessType 只是标识当前处于哪个阶段,但内容应该去正文,不是思维链
331
- if (status === StatusType.ThoughtChain && businessType) {
332
- // 只有 status=4 时才聚合思维链数据
333
- // 当节点完成(nodeStatus=2)时,提取该节点的 chainRespTime 作为独立时间
334
- if (nodeStatus === 2 && typeof chainRespTime === 'number' && chainRespTime > 0) {
335
- // 保存节点的独立时间
336
- nodeChainRespTimes.set(businessType, chainRespTime);
337
- }
338
-
339
- // 当节点完成(nodeStatus=2)时,提取该节点的 chainRespTime 作为独立时间
340
- const nodeRespTime =
341
- nodeStatus === 2 && typeof chainRespTime === 'number' && chainRespTime > 0
342
- ? chainRespTime
343
- : undefined;
344
-
345
- currentThoughtNodes = mergeLiveChunkToNodes(currentThoughtNodes, {
346
- businessType,
347
- nodeStatus,
348
- reply,
349
- respTime: nodeRespTime, // mergeLiveChunkToNodes 使用 respTime 字段
350
- chainRespTime: nodeRespTime, // 兼容字段
351
- });
352
- console.log('[AichatUseController] status=4 聚合思维链数据:', {
353
- businessType,
354
- nodeStatus,
355
- content: reply?.content?.substring(0, 50),
356
- currentThoughtNodesCount: currentThoughtNodes.length,
357
- chainRespTime: nodeStatus === 2 ? chainRespTime : undefined,
358
- });
359
- } else if (status === StatusType.Process && businessType) {
360
- // status=1 时,即使有 businessType,也不聚合到思维链,只用于调试日志
361
- console.log('[AichatUseController] status=1 跳过思维链聚合:', {
362
- businessType,
363
- content: reply?.content?.substring(0, 50),
364
- note: 'status=1 的内容应该去正文,不是思维链',
365
- });
366
- }
367
-
368
- // 收集 enableCot
369
- if (typeof enableCot === 'number') {
370
- currentEnableCot = enableCot;
371
- }
372
-
373
- // 在 status=1 或 status=2 时,累加所有节点的 chainRespTime 作为总耗时
374
- if (status === StatusType.Process || status === StatusType.Done) {
375
- // 累加所有节点的 chainRespTime
376
- const totalTime = Array.from(nodeChainRespTimes.values()).reduce(
377
- (sum, time) => sum + time,
378
- 0
379
- );
380
- if (totalTime > 0) {
381
- currentChainRespTime = totalTime;
382
- }
383
- }
384
-
385
- const _filePaths = filePaths ? JSON.parse(filePaths) : [];
386
- // === 新增:流式错误兜底 ===
387
- if (
388
- status === StatusType.Done &&
389
- reply &&
390
- reply.content &&
391
- (reply.content.includes('模型暂无法返回') ||
392
- reply.content.includes('失败') ||
393
- reply.content.includes('错误') ||
394
- reply.content.includes('请稍后再试'))
395
- ) {
396
- setAppStatus((pre: any) => ({ ...pre, display: 'ready', sender: 'ready' }));
397
- }
398
- // 处理 graphReference:只有当有有效值时才传递,否则传递 undefined 让 reset_chat 保留之前的值
399
- const finalGraphReference = isValidGraphReference(graphReference)
400
- ? graphReference
401
- : undefined;
402
- // 调试:检查最后一条消息的 graphReference
403
- if (status === StatusType.Done) {
404
- console.log('[AichatUseController] status=2 时的 graphReference:', {
405
- graphReference,
406
- type: typeof graphReference,
407
- isValid: isValidGraphReference(graphReference),
408
- finalGraphReference,
409
- });
410
- }
411
-
412
- // status=4 (思维链输出中):只更新思维链数据,不更新对话正文 content
413
- if (status === StatusType.ThoughtChain) {
414
- // 将实时聚合的思维链节点转换为 chain 格式
415
- const chain =
416
- currentThoughtNodes.length > 0
417
- ? currentThoughtNodes.map(node => ({
418
- businessType: node.businessType,
419
- nodeStatus: node.nodeStatus,
420
- content: node.content,
421
- }))
422
- : undefined;
423
-
424
- console.log('[AichatUseController] status=4 更新思维链:', {
425
- businessType,
426
- chainLength: chain?.length || 0,
427
- replyContentLength: reply?.content?.length || 0,
428
- note: 'status=4 时,reply.content 应该聚合到思维链,不更新正文',
429
- });
430
-
431
- reset_chat({
432
- content: '', // status=4 时,不更新对话正文,只更新思维链
433
- status: status,
434
- respTime: respTime,
435
- filePaths: _filePaths,
436
- reference: reference || docs || '',
437
- webReference: webReference || '',
438
- knowledgeBases: knowledgeBases || '',
439
- graphReference: finalGraphReference,
440
- databaseReference,
441
- llmType,
442
- resultType,
443
- queryId: curData.queryId,
444
- tokens: curData.tokens,
445
- chain,
446
- thoughtChainNodes: currentThoughtNodes.length > 0 ? [...currentThoughtNodes] : undefined, // 传递实时思维链节点
447
- enableCot: currentEnableCot,
448
- chainRespTime: currentChainRespTime,
449
- });
450
- } else if (status === StatusType.Process) {
451
- // status=1 (对话正文输出中):只更新对话正文,不更新思维链数据
452
- // 同时,将思维链节点的状态更新为完成(nodeStatus = 2),因为思维链已经结束,开始输出正文
453
- // 注意:即使有 businessType,status=1 时也不应该聚合到思维链节点
454
- // 因为 status=1 的 reply.content 是对话正文,不是思维链内容
455
- if (currentThoughtNodes.length > 0) {
456
- // 将所有思维链节点状态更新为完成(nodeStatus = 2)
457
- currentThoughtNodes = currentThoughtNodes.map(node => ({
458
- ...node,
459
- nodeStatus: 2 as const, // 标记为完成
460
- }));
461
- }
462
-
463
- console.log('[AichatUseController] status=1 更新正文:', {
464
- businessType,
465
- content: reply?.content?.substring(0, 50),
466
- thoughtNodesCount: currentThoughtNodes.length,
467
- note: 'status=1 时,reply.content 应该去正文,思维链节点状态更新为完成',
468
- });
469
-
470
- // 将更新后的思维链节点转换为 chain 格式
471
- const chain =
472
- currentThoughtNodes.length > 0
473
- ? currentThoughtNodes.map(node => ({
474
- businessType: node.businessType,
475
- nodeStatus: node.nodeStatus,
476
- content: node.content,
477
- }))
478
- : undefined;
479
-
480
- reset_chat({
481
- content: reply.content || '',
482
- status: status,
483
- respTime: respTime,
484
- filePaths: _filePaths,
485
- reference: reference || docs || '',
486
- webReference: webReference || '',
487
- graphReference: finalGraphReference,
488
- knowledgeBases: knowledgeBases || '',
489
- // 如果 databaseReference 是 undefined,传入 null 以清空旧值
490
- databaseReference: databaseReference ?? null,
491
- llmType,
492
- resultType,
493
- queryId: curData.queryId,
494
- tokens: curData.tokens,
495
- // status=1 时,更新思维链节点状态为完成,并传递更新后的 chain
496
- // 如果 chain 是 undefined,传入 undefined 以清空旧值
497
- chain: chain ?? undefined,
498
- thoughtChainNodes: currentThoughtNodes.length > 0 ? [...currentThoughtNodes] : undefined, // 传递实时思维链节点
499
- enableCot: currentEnableCot,
500
- chainRespTime: currentChainRespTime,
501
- });
502
- } else if (status === StatusType.Done) {
503
- // status=2 (整个对话完成):确保所有思维链节点状态都是完成
504
- if (currentThoughtNodes.length > 0) {
505
- currentThoughtNodes = currentThoughtNodes.map(node => ({
506
- ...node,
507
- nodeStatus: 2 as const, // 标记为完成
508
- }));
509
- }
510
-
511
- // 将聚合后的思维链节点转换为 chain 格式
512
- const chain =
513
- currentThoughtNodes.length > 0
514
- ? currentThoughtNodes.map(node => ({
515
- businessType: node.businessType,
516
- nodeStatus: node.nodeStatus,
517
- content: node.content,
518
- }))
519
- : undefined;
520
-
521
- reset_chat({
522
- // 注意:有些后端实现中,最后一条 status=2 的 SSE 只用于收尾,
523
- // reply.content 可能是空串,此时应该保持之前累积的正文不变。
524
- // reset_chat 内部会在 status=Done 且 content 为空字符串时,保留 lastMessage.content。
525
- content: reply.content || '',
526
- status: StatusType.Done, // 流式完成时,消息状态应该是 Done
527
- respTime: respTime,
528
- filePaths: _filePaths,
529
- reference: reference || docs || '',
530
- webReference: webReference || '',
531
- knowledgeBases: knowledgeBases || '',
532
- graphReference: finalGraphReference,
533
- databaseReference,
534
- llmType,
535
- resultType,
536
- queryId: curData.queryId,
537
- tokens: curData.tokens,
538
- chain,
539
- thoughtChainNodes: currentThoughtNodes.length > 0 ? [...currentThoughtNodes] : undefined, // 传递实时思维链节点
540
- enableCot: currentEnableCot,
541
- chainRespTime: currentChainRespTime,
542
- });
543
-
544
- // 重置思维链节点,为下次请求做准备
545
- currentThoughtNodes = [];
546
- setAppStatus((pre: any) => {
547
- return {
548
- ...pre,
549
- display: 'ready',
550
- sender: 'ready',
551
- };
552
- });
553
- if (onSuccess) {
554
- const gmtModified = respTime || Date.now();
555
- console.log('[AichatUseController] 消息发送成功,gmtModified:', gmtModified);
556
- onSuccess(gmtModified);
557
- }
558
- } else {
559
- // 流式过程中,将实时聚合的思维链节点转换为 chain 格式
560
- // 包含 respTime(节点的独立时间)和 chainRespTime(用于兼容)
561
- const chain =
562
- currentThoughtNodes.length > 0
563
- ? currentThoughtNodes.map(node => ({
564
- businessType: node.businessType,
565
- nodeStatus: node.nodeStatus,
566
- content: node.content,
567
- respTime: node.respTime,
568
- chainRespTime: node.respTime, // 兼容字段
569
- }))
570
- : undefined;
571
-
572
- reset_chat({
573
- content: reply.content || '',
574
- status: status,
575
- respTime: respTime,
576
- filePaths: _filePaths,
577
- reference: reference || docs || '',
578
- knowledgeBases: knowledgeBases || '',
579
- webReference: webReference || '',
580
- graphReference: finalGraphReference, // 流式过程中保持之前的graphReference值
581
- databaseReference,
582
- llmType,
583
- resultType,
584
- queryId: curData.queryId,
585
- tokens: curData.tokens,
586
- chain,
587
- thoughtChainNodes: currentThoughtNodes.length > 0 ? [...currentThoughtNodes] : undefined, // 传递实时思维链节点
588
- enableCot: currentEnableCot,
589
- chainRespTime: currentChainRespTime,
590
- });
591
- }
592
- },
593
- onerror: onErrorCallback,
594
- onclose: () => {
595
- // 流式请求结束时,清理 sessionId 和 queryId 记录
596
- if (currentStreamSessionId === data.sessionId) {
597
- currentStreamSessionId = null;
598
- currentQueryId = null;
599
- }
600
- },
601
- });
602
- };
603
-
604
- const setLastEmptyMessage = ({ now }: { now: number }) => {
605
- setChatData((chatList: any[]) => {
606
- if (!chatList[0]) return chatList;
607
- const current = chatList[0];
608
- const messages = current.messages || [];
609
- if (!messages.length) return chatList;
610
- const lastIndex = messages.length - 1;
611
- if (lastIndex < 0) return chatList;
612
- const lastMessage = messages[lastIndex];
613
- if (lastMessage.istype !== 'ai') return chatList;
614
- const newMessages = messages.slice();
615
- newMessages[lastIndex] = {
616
- ...lastMessage,
617
- istype: 'ai',
618
- content: '',
619
- time: now,
620
- streaming: true,
621
- status: StatusType.Pending,
622
- } as any;
623
- const newChat0 = { ...current, messages: newMessages };
624
- return [newChat0, ...chatList.slice(1)];
625
- });
626
- };
627
-
628
- const addEmptyMessage = ({
629
- queryId,
630
- content,
631
- filePaths,
632
- currentFiles,
633
- }: {
634
- queryId: string;
635
- content: string;
636
- filePaths?: string;
637
- currentFiles?: any[];
638
- }) => {
639
- setChatData((chatList: any[]) => {
640
- const now = new Date().toISOString();
641
- const _queryId = queryId || uid(32); // 保证只生成一次
642
- const userMessage = {
643
- istype: 'user',
644
- content: content,
645
- time: now,
646
- queryId: _queryId,
647
- clientSideId: _queryId + '-user',
648
- filePaths: filePaths || '',
649
- currentFiles: currentFiles || [],
650
- };
651
- const aiMessage = {
652
- istype: 'ai',
653
- content: '', // AI回复流式填充
654
- time: new Date(Date.now() + 1).toISOString(),
655
- streaming: true,
656
- status: StatusType.Pending,
657
- queryId: _queryId,
658
- clientSideId: _queryId + '-ai',
659
- };
660
-
661
- // 找到当前激活的对话
662
- const activeChat = chatList.find(chat => chat.id === activeSessionId);
663
-
664
- if (activeChat) {
665
- // 如果激活的对话存在,则向其添加新消息
666
- activeChat.messages.push(userMessage, aiMessage);
667
- } else {
668
- // 如果没有激活的对话(例如首次加载),则需要特殊处理
669
- // 这里的逻辑可能需要根据产品需求调整,是创建新对话还是报错
670
- // 假设我们总是有一个激活的对话
671
- console.warn('addEmptyMessage called without an active session.');
672
- }
673
- return [...chatList];
674
- });
675
- };
676
-
677
- // 主动终止当前 stream(调用后端接口)
678
- const stopStream = async () => {
679
- // 调用后端接口停止流式请求
680
- if (currentQueryId) {
681
- try {
682
- await axios.delete(`${baseUrl}/qa/ai/abortStream?queryId=${currentQueryId}`, {
683
- headers: {
684
- Authorization: token || '',
685
- 'X-CSRF-TOKEN-IN': CSRFToken || '',
686
- },
687
- });
688
- console.log('[AichatUseController] 已调用后端接口停止流式请求', currentQueryId);
689
- } catch (error) {
690
- console.error('[AichatUseController] 调用停止接口失败', error);
691
- }
692
- } else {
693
- console.warn('[AichatUseController] 停止流式请求时未找到 queryId');
694
- }
695
-
696
- // 清理状态
697
- currentStreamController = null;
698
- currentStreamSessionId = null;
699
- currentQueryId = null;
700
- setAppStatus((pre: any) => ({ ...pre, display: 'ready', sender: 'ready' }));
701
- };
702
-
703
- // 根据 sessionId 取消流式请求(用于切换会话时)
704
- const cancelStreamBySessionId = async (sessionId: string) => {
705
- if (currentStreamController && currentStreamSessionId === sessionId) {
706
- console.log('[AichatUseController] 切换会话,取消正在进行的流式请求', sessionId);
707
-
708
- // 调用后端接口停止流式请求
709
- if (currentQueryId) {
710
- try {
711
- await axios.delete(`${baseUrl}/qa/ai/abortStream?queryId=${currentQueryId}`, {
712
- headers: {
713
- Authorization: token || '',
714
- 'X-CSRF-TOKEN-IN': CSRFToken || '',
715
- },
716
- });
717
- console.log('[AichatUseController] 切换会话时已调用后端接口停止流式请求', currentQueryId);
718
- } catch (error) {
719
- console.error('[AichatUseController] 切换会话时调用停止接口失败', error);
720
- }
721
- } else {
722
- console.warn('[AichatUseController] 切换会话时未找到 queryId');
723
- }
724
-
725
- currentStreamController = null;
726
- currentStreamSessionId = null;
727
- currentQueryId = null;
728
- setAppStatus((pre: any) => ({ ...pre, display: 'ready', sender: 'ready' }));
729
- return true;
730
- }
731
- return false;
732
- };
733
-
734
- const updateUserFilesMessage = ({ currentFiles }: { currentFiles: any[] }) => {
735
- setChatData((chatList: any[]) => {
736
- if (!chatList[0]) return chatList;
737
- const current = chatList[0];
738
- const messages = current.messages || [];
739
- if (!messages.length) return chatList;
740
- const lastIndex = messages.length - 2;
741
- if (lastIndex < 0) return chatList;
742
- const lastMessage = messages[lastIndex];
743
- if (lastMessage.istype !== 'user') return chatList;
744
- const newMessages = messages.slice();
745
- newMessages[lastIndex] = { ...messages[lastIndex], currentFiles } as any;
746
- const newChat0 = { ...current, messages: newMessages };
747
- return [newChat0, ...chatList.slice(1)];
748
- });
749
- };
750
-
751
- return {
752
- updateUserFilesMessage,
753
- api_startChat_re,
754
- addEmptyMessage,
755
- setLastEmptyMessage,
756
- stopStream,
757
- cancelStreamBySessionId,
758
- };
759
- };
760
-
761
- export default AichatUseController;