@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,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;