@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
Binary file
Binary file
@@ -1,115 +0,0 @@
1
- # AIChat v2.0.0 变更总结
2
-
3
- > 📅 **版本**: v2.0.0
4
- > 🎯 **类型**: Major(主版本升级)
5
-
6
- ## 📊 变更统计
7
-
8
- ### 删除的文件和目录
9
-
10
- | 目录/文件 | 说明 | 迁移位置 |
11
- |----------|------|----------|
12
- | `src/LoginPage/` | 登录/注册页面组件 | `gientech/src/modules/login/` 或 `web/src/shared/login/` |
13
- | `src/servers/` | 业务 API 调用层 | 业务项目的 API 层 |
14
- | `src/adopters/` | 业务适配器组件 | 业务项目的组件目录 |
15
- | `src/core/` | 旧的核心组件目录 | 已统一到 `src/components/` |
16
-
17
- ### 新增的文件
18
-
19
- | 文件 | 说明 |
20
- |------|------|
21
- | `src/utils/fileIcon.tsx` | 文件类型图标工具函数 |
22
- | `doc_assets/更新说明/v2.0.0升级指南.md` | v2.0.0 升级指南文档 |
23
- | `doc_assets/更新说明/v2.0.0变更总结.md` | 本文档 |
24
-
25
- ### 修改的文件
26
-
27
- | 文件 | 变更内容 |
28
- |------|----------|
29
- | `package.json` | 版本号更新到 2.0.0 |
30
- | `src/lib_enter.ts` | 移除业务适配器的导出 |
31
- | `src/components/Sender/FilesDisplay.tsx` | 使用新的 `fileIcon` 工具函数 |
32
- | `src/components/Sender/FileUpload.tsx` | 使用新的 `fileIcon` 工具函数 |
33
- | `README.md` | 更新项目结构说明,添加 v2.0.0 说明 |
34
- | `doc_assets/更新说明/CHANGELOG.md` | 添加 v2.0.0 版本说明 |
35
-
36
- ## 🎯 核心变更
37
-
38
- ### 1. 架构简化
39
-
40
- **变更前**:
41
- - 存在 `core/` 和 `components/` 两个组件目录
42
- - 业务层代码和 UI 组件库代码混合
43
- - 组件依赖关系复杂
44
-
45
- **变更后**:
46
- - 统一组件目录到 `components/`
47
- - 完全移除业务层代码
48
- - 简化组件依赖关系
49
-
50
- ### 2. 职责明确
51
-
52
- **变更前**:
53
- - UI 组件库包含业务逻辑
54
- - 业务适配器和核心组件混合
55
-
56
- **变更后**:
57
- - UI 组件库专注于展示层
58
- - 业务逻辑完全分离到业务项目
59
-
60
- ### 3. 工具函数提取
61
-
62
- **新增功能**:
63
- - `getFileTypeIcon()` 函数:统一的文件类型图标获取
64
- - 支持主题配置自定义图标
65
- - 提供默认图标兜底
66
-
67
- ## 📦 包大小影响
68
-
69
- 移除业务层代码后:
70
- - **减少包体积**:移除不必要的业务代码
71
- - **提升加载速度**:减少依赖和代码量
72
- - **更清晰的职责**:专注于 UI 组件功能
73
-
74
- ## 🔄 兼容性
75
-
76
- ### 破坏性变更
77
-
78
- - ❌ 移除了 `LoginPage` 组件
79
- - ❌ 移除了 `servers` API 调用层
80
- - ❌ 移除了 `adopters` 业务适配器
81
- - ❌ 移除了 `core` 目录
82
-
83
- ### 保持兼容
84
-
85
- - ✅ `AiChat` 核心组件 API 保持不变
86
- - ✅ 事件系统保持不变
87
- - ✅ 主题配置保持不变
88
- - ✅ 样式文件路径保持不变
89
-
90
- ## 📝 迁移检查清单
91
-
92
- 升级到 v2.0.0 前,请检查:
93
-
94
- - [ ] 项目中是否使用了 `LoginPage` 组件
95
- - [ ] 项目中是否使用了 `servers/` 下的 API
96
- - [ ] 项目中是否使用了 `adopters/` 下的组件
97
- - [ ] 项目中是否使用了 `core/` 目录下的组件
98
- - [ ] 是否已准备好迁移业务层代码到业务项目
99
-
100
- ## 🎉 升级收益
101
-
102
- 1. **更清晰的架构**:UI 组件库和业务逻辑分离
103
- 2. **更小的包体积**:移除不必要的业务代码
104
- 3. **更好的维护性**:组件结构统一,依赖关系简化
105
- 4. **更强的扩展性**:业务层可以独立演进
106
-
107
- ## 📚 相关文档
108
-
109
- - [v2.0.0 升级指南](./v2.0.0升级指南.md) - 详细的升级步骤和迁移指南
110
- - [CHANGELOG.md](./CHANGELOG.md) - 完整的更新日志
111
- - [AiChat API](../接口/AiChat.md) - API 文档
112
-
113
- ---
114
-
115
- > 💡 **提示**:建议在升级前仔细阅读 [v2.0.0 升级指南](./v2.0.0升级指南.md),确保了解所有变更和迁移步骤。
@@ -1,504 +0,0 @@
1
- # 优化方案:多会话 SSE 连接管理
2
-
3
- ## 📋 文档信息
4
-
5
- - **创建日期**: 2025-01-XX
6
- - **方案状态**: 待实施
7
- - **优先级**: 中
8
- - **预计工作量**: 2-3 天
9
-
10
- ---
11
-
12
- ## 🎯 问题描述
13
-
14
- ### 当前问题
15
-
16
- 1. **数据错位问题**:当一个对话发起请求后,在流式输出还没有开始的时候,如果用户切换历史聊天栏 item,输出的内容会直接打到切换到的历史聊天页面上。
17
-
18
- 2. **用户体验问题**:
19
- - 切换会话时会中断正在进行的流式输出
20
- - 切换回来无法看到完整的输出内容
21
- - 无法支持多会话并发处理
22
-
23
- ### 当前方案
24
-
25
- - ✅ 已实现:流输出时禁止切换历史聊天
26
- - ✅ 已实现:切换会话时取消正在进行的流式请求(快速修复方案)
27
-
28
- ### 当前方案的局限性
29
-
30
- - ❌ 切换会话会中断输出,用户无法继续查看
31
- - ❌ 无法支持多会话并发处理
32
- - ❌ 数据路由依赖 `activeSessionId`,存在时序问题
33
-
34
- ---
35
-
36
- ## 💡 优化方案设计
37
-
38
- ### 核心目标
39
-
40
- 1. **每个对话维护自己的 SSE 连接**
41
- 2. **切换回来还可以继续输出**
42
- 3. **切换走不会错误把输出打到别的对话**
43
-
44
- ### 方案架构
45
-
46
- ```
47
- ┌─────────────────────────────────────────────────────────┐
48
- │ 多会话 SSE 连接管理架构 │
49
- ├─────────────────────────────────────────────────────────┤
50
- │ │
51
- │ Session A ──┐ │
52
- │ │ │
53
- │ Session B ──┼──> StreamControllerMap │
54
- │ │ { │
55
- │ Session C ──┘ sessionId_A: AbortController, │
56
- │ sessionId_B: AbortController, │
57
- │ sessionId_C: AbortController │
58
- │ } │
59
- │ │
60
- │ ┌──────────────────────────────────────────────┐ │
61
- │ │ 数据路由:根据接收到的 sessionId 精确路由 │ │
62
- │ │ reset_chat(sessionId, data) │ │
63
- │ └──────────────────────────────────────────────┘ │
64
- │ │
65
- └─────────────────────────────────────────────────────────┘
66
- ```
67
-
68
- ---
69
-
70
- ## 🔧 技术实现方案
71
-
72
- ### 1. 数据结构改造
73
-
74
- #### 当前实现
75
- ```typescript
76
- let currentStreamController: AbortController | null = null;
77
- let currentStreamSessionId: string | null = null;
78
- ```
79
-
80
- #### 优化后
81
- ```typescript
82
- interface StreamInfo {
83
- controller: AbortController;
84
- sessionId: string;
85
- queryId?: string;
86
- startTime: number;
87
- onSuccess?: (gmtModified: number) => void;
88
- }
89
-
90
- const streamControllers = new Map<string, StreamInfo>();
91
- ```
92
-
93
- ### 2. 核心函数改造
94
-
95
- #### 2.1 `reset_chat` 函数改造
96
-
97
- **当前问题**:
98
- ```typescript
99
- const reset_chat = ({ ... }) => {
100
- setChatData((chatList: any) => {
101
- const current = chatList[0]; // ❌ 假设第一个是当前对话
102
- // ...
103
- });
104
- };
105
- ```
106
-
107
- **优化后**:
108
- ```typescript
109
- const reset_chat = ({
110
- sessionId, // ✅ 新增:明确指定会话ID
111
- content,
112
- status,
113
- // ... 其他参数
114
- }) => {
115
- setChatData((chatList: any) => {
116
- // ✅ 根据 sessionId 精确查找
117
- const targetChat = chatList.find(chat => chat.id === sessionId);
118
- if (!targetChat) {
119
- console.warn(`[reset_chat] 未找到会话: ${sessionId}`);
120
- return chatList;
121
- }
122
-
123
- const messages = targetChat.messages || [];
124
- const lastIndex = messages.length - 1;
125
- if (lastIndex < 0) return chatList;
126
-
127
- const lastMessage = messages[lastIndex];
128
- if (lastMessage.istype !== 'ai') return chatList;
129
-
130
- // 更新找到的对话
131
- const newMessages = messages.slice();
132
- // ... 更新逻辑
133
-
134
- // ✅ 更新目标对话,保持数组结构
135
- const updatedChat = { ...targetChat, messages: newMessages };
136
- return chatList.map(chat =>
137
- chat.id === sessionId ? updatedChat : chat
138
- );
139
- });
140
- };
141
- ```
142
-
143
- #### 2.2 `api_startChat_re` 函数改造
144
-
145
- **优化后**:
146
- ```typescript
147
- const api_startChat_re = (data: Api_Chat, onSuccess?: (gmtModified: number) => void) => {
148
- const { sessionId, queryId } = data;
149
-
150
- // ✅ 同一会话:取消旧请求
151
- if (streamControllers.has(sessionId)) {
152
- const oldStream = streamControllers.get(sessionId);
153
- oldStream?.controller.abort();
154
- streamControllers.delete(sessionId);
155
- }
156
-
157
- // ✅ 创建新连接
158
- const controller = new AbortController();
159
- const streamInfo: StreamInfo = {
160
- controller,
161
- sessionId,
162
- queryId,
163
- startTime: Date.now(),
164
- onSuccess,
165
- };
166
- streamControllers.set(sessionId, streamInfo);
167
-
168
- // ✅ 发起 SSE 请求
169
- fetchEventSource(eventSourceUrl, {
170
- // ... 配置
171
- onmessage: event => {
172
- const curData = JSON.parse(event.data);
173
-
174
- // ✅ 根据接收到的 sessionId 路由,不依赖 activeSessionId
175
- if (curData.sessionId !== sessionId) {
176
- console.warn(`[api_startChat_re] sessionId 不匹配`, {
177
- expected: sessionId,
178
- received: curData.sessionId,
179
- });
180
- return;
181
- }
182
-
183
- // ✅ 调用 reset_chat 时传入 sessionId
184
- reset_chat({
185
- sessionId, // ✅ 明确指定
186
- content: reply.content || '',
187
- status,
188
- // ... 其他参数
189
- });
190
-
191
- // ✅ 状态管理:只更新当前激活会话的状态
192
- if (activeSessionId === sessionId) {
193
- setAppStatus((pre: any) => ({
194
- ...pre,
195
- display: status === StatusType.Done ? 'ready' : 'processing',
196
- sender: status === StatusType.Done ? 'ready' : 'processing',
197
- }));
198
- }
199
- },
200
- onclose: () => {
201
- // ✅ 清理连接
202
- if (streamControllers.get(sessionId)?.controller === controller) {
203
- streamControllers.delete(sessionId);
204
- }
205
- },
206
- onerror: (err) => {
207
- // ✅ 错误隔离:只影响对应会话
208
- if (streamControllers.get(sessionId)?.controller === controller) {
209
- streamControllers.delete(sessionId);
210
- if (activeSessionId === sessionId) {
211
- setAppStatus((pre: any) => ({ ...pre, display: 'error', sender: 'ready' }));
212
- }
213
- }
214
- onErrorCallback(err);
215
- },
216
- });
217
- };
218
- ```
219
-
220
- #### 2.3 `stopStream` 函数改造
221
-
222
- **优化后**:
223
- ```typescript
224
- // 停止指定会话的流式请求
225
- const stopStream = (sessionId?: string) => {
226
- if (sessionId) {
227
- // ✅ 停止指定会话
228
- const stream = streamControllers.get(sessionId);
229
- if (stream) {
230
- stream.controller.abort();
231
- streamControllers.delete(sessionId);
232
- if (activeSessionId === sessionId) {
233
- setAppStatus((pre: any) => ({ ...pre, display: 'ready', sender: 'ready' }));
234
- }
235
- }
236
- } else {
237
- // ✅ 停止所有会话(兼容旧接口)
238
- streamControllers.forEach((stream) => {
239
- stream.controller.abort();
240
- });
241
- streamControllers.clear();
242
- setAppStatus((pre: any) => ({ ...pre, display: 'ready', sender: 'ready' }));
243
- }
244
- };
245
- ```
246
-
247
- #### 2.4 `handleItemClick` 函数改造
248
-
249
- **当前实现**:
250
- ```typescript
251
- function handleItemClick(data: any) {
252
- if (data?.sessionId && data.sessionId !== activeSessionId) {
253
- // ❌ 取消当前会话的请求
254
- if (activeSessionId) {
255
- cancelStreamBySessionId(activeSessionId);
256
- }
257
- setActiveSessionId(data.sessionId);
258
- // ...
259
- }
260
- }
261
- ```
262
-
263
- **优化后**:
264
- ```typescript
265
- function handleItemClick(data: any) {
266
- if (data?.sessionId && data.sessionId !== activeSessionId) {
267
- // ✅ 不取消请求,让后台继续接收数据
268
- setActiveSessionId(data.sessionId);
269
- setAppStatus(prev => ({ ...prev, sender: 'ready' }));
270
- // ... 其他逻辑
271
- }
272
- }
273
- ```
274
-
275
- ---
276
-
277
- ## 📝 改动范围
278
-
279
- ### 需要改动的文件
280
-
281
- #### 1. `gientech/src/utils/gientechCommon/hooks/AichatUseController.tsx`
282
-
283
- **改动点**:
284
- - [ ] 数据结构:单连接 → Map 管理
285
- - [ ] `reset_chat`:添加 `sessionId` 参数,改为精确查找
286
- - [ ] `api_startChat_re`:多连接管理,数据路由改造
287
- - [ ] `stopStream`:支持指定会话停止
288
- - [ ] `addEmptyMessage`:可能需要调整(检查是否依赖 `chatList[0]`)
289
- - [ ] `updateUserFilesMessage`:可能需要调整(检查是否依赖 `chatList[0]`)
290
- - [ ] `setLastEmptyMessage`:可能需要调整(检查是否依赖 `chatList[0]`)
291
-
292
- #### 2. `gientech/src/modules/chat/index.tsx`
293
-
294
- **改动点**:
295
- - [ ] `handleItemClick`:移除 `cancelStreamBySessionId` 调用
296
- - [ ] 状态管理:确保 `appStatus` 只反映当前激活会话
297
-
298
- #### 3. 其他可能受影响的文件
299
-
300
- - [ ] 检查是否有其他地方依赖 `chatList[0]` 的假设
301
- - [ ] 检查是否有其他地方调用 `stopStream`,需要适配新接口
302
-
303
- ---
304
-
305
- ## ⚠️ 风险评估与应对
306
-
307
- ### 风险 1:内存和连接数管理
308
-
309
- **风险描述**:
310
- - 用户打开很多会话时,每个会话都维护一个 SSE 连接
311
- - 可能导致内存和网络资源浪费
312
- - 浏览器对同一域名的并发连接数有限制(通常 6 个)
313
-
314
- **应对方案**:
315
- ```typescript
316
- // 限制最大并发连接数
317
- const MAX_CONCURRENT_STREAMS = 5;
318
-
319
- const api_startChat_re = (data: Api_Chat, onSuccess?: (gmtModified: number) => void) => {
320
- // 如果超过限制,关闭最久未激活的会话连接
321
- if (streamControllers.size >= MAX_CONCURRENT_STREAMS) {
322
- const oldestSessionId = findOldestInactiveSession();
323
- if (oldestSessionId) {
324
- stopStream(oldestSessionId);
325
- }
326
- }
327
- // ... 继续创建新连接
328
- };
329
- ```
330
-
331
- ### 风险 2:同一会话的并发请求
332
-
333
- **风险描述**:
334
- - 用户快速发送多条消息时,可能产生多个并发请求
335
- - 需要决定是否允许同一会话多个并发请求
336
-
337
- **应对方案**:
338
- ```typescript
339
- // 方案:同一会话只允许一个请求,新请求取消旧请求
340
- const api_startChat_re = (data: Api_Chat, onSuccess?: (gmtModified: number) => void) => {
341
- const { sessionId } = data;
342
-
343
- // ✅ 同一会话:取消旧请求
344
- if (streamControllers.has(sessionId)) {
345
- const oldStream = streamControllers.get(sessionId);
346
- oldStream?.controller.abort();
347
- streamControllers.delete(sessionId);
348
- }
349
-
350
- // 创建新连接...
351
- };
352
- ```
353
-
354
- ### 风险 3:错误隔离
355
-
356
- **风险描述**:
357
- - 某个会话的 SSE 连接出错,不应该影响其他会话
358
-
359
- **应对方案**:
360
- ```typescript
361
- onerror: (err) => {
362
- // ✅ 错误隔离:只影响对应会话
363
- if (streamControllers.get(sessionId)?.controller === controller) {
364
- streamControllers.delete(sessionId);
365
- // 只更新对应会话的状态
366
- if (activeSessionId === sessionId) {
367
- setAppStatus((pre: any) => ({ ...pre, display: 'error', sender: 'ready' }));
368
- }
369
- }
370
- onErrorCallback(err);
371
- },
372
- ```
373
-
374
- ### 风险 4:数据一致性
375
-
376
- **风险描述**:
377
- - `reset_chat` 改为根据 sessionId 查找,需要确保数据结构的正确性
378
-
379
- **应对方案**:
380
- - 添加防御性检查
381
- - 添加日志记录
382
- - 单元测试覆盖
383
-
384
- ---
385
-
386
- ## 🧪 测试方案
387
-
388
- ### 测试用例
389
-
390
- #### 1. 基础功能测试
391
- - [ ] 单个会话正常发送和接收
392
- - [ ] 多个会话并发发送和接收
393
- - [ ] 切换会话时,后台会话继续接收数据
394
- - [ ] 切换回来时,能看到完整的输出
395
-
396
- #### 2. 边界情况测试
397
- - [ ] 快速切换多个会话
398
- - [ ] 同一会话快速发送多条消息
399
- - [ ] 会话连接出错时的错误隔离
400
- - [ ] 超过最大连接数时的处理
401
-
402
- #### 3. 数据准确性测试
403
- - [ ] 数据不会写入错误的会话
404
- - [ ] 切换会话时数据路由正确
405
- - [ ] 多个会话同时有流式输出时,数据不混乱
406
-
407
- #### 4. 性能测试
408
- - [ ] 内存占用(多个会话时)
409
- - [ ] 网络连接数
410
- - [ ] 响应时间
411
-
412
- ---
413
-
414
- ## 📅 实施步骤
415
-
416
- ### Phase 1: 准备阶段(0.5 天)
417
- 1. 代码审查,确认所有依赖点
418
- 2. 创建功能分支
419
- 3. 编写单元测试用例
420
-
421
- ### Phase 2: 核心改造(1.5 天)
422
- 1. 数据结构改造
423
- 2. `reset_chat` 函数改造
424
- 3. `api_startChat_re` 函数改造
425
- 4. `stopStream` 函数改造
426
- 5. `handleItemClick` 函数改造
427
-
428
- ### Phase 3: 测试与优化(1 天)
429
- 1. 单元测试
430
- 2. 集成测试
431
- 3. 性能测试
432
- 4. Bug 修复
433
-
434
- ### Phase 4: 代码审查与发布(0.5 天)
435
- 1. Code Review
436
- 2. 文档更新
437
- 3. 发布
438
-
439
- ---
440
-
441
- ## 📊 预期收益
442
-
443
- ### 用户体验提升
444
- - ✅ 切换会话不中断输出
445
- - ✅ 切换回来能看到完整内容
446
- - ✅ 支持多会话并发处理
447
-
448
- ### 技术架构优化
449
- - ✅ 数据路由更精确
450
- - ✅ 避免数据写入错误会话
451
- - ✅ 架构更合理,易于维护
452
-
453
- ### 代码质量
454
- - ✅ 职责更清晰
455
- - ✅ 错误隔离更好
456
- - ✅ 可扩展性更强
457
-
458
- ---
459
-
460
- ## 🔗 相关文档
461
-
462
- - [当前实现代码](../src/utils/gientechCommon/hooks/AichatUseController.tsx)
463
- - [业务层调用代码](../src/modules/chat/index.tsx)
464
- - [快速修复方案记录](./bugfix-切换会话取消SSE请求.md)(如有)
465
-
466
- ---
467
-
468
- ## 📌 注意事项
469
-
470
- 1. **向后兼容**:确保 `stopStream()` 无参数调用时,停止所有会话(兼容旧代码)
471
-
472
- 2. **日志记录**:添加详细的日志,便于问题排查
473
- ```typescript
474
- console.log('[AichatUseController] 创建流式连接', { sessionId, queryId });
475
- console.log('[AichatUseController] 数据路由', { sessionId, contentLength });
476
- console.log('[AichatUseController] 关闭流式连接', { sessionId });
477
- ```
478
-
479
- 3. **性能监控**:监控连接数和内存占用
480
-
481
- 4. **渐进式发布**:可以考虑先发布到测试环境,观察一段时间再全量
482
-
483
- ---
484
-
485
- ## ✅ 检查清单
486
-
487
- 实施前检查:
488
- - [ ] 代码审查完成
489
- - [ ] 测试用例编写完成
490
- - [ ] 风险评估完成
491
- - [ ] 回滚方案准备
492
-
493
- 实施后检查:
494
- - [ ] 所有测试用例通过
495
- - [ ] 性能测试通过
496
- - [ ] 代码审查通过
497
- - [ ] 文档更新完成
498
-
499
- ---
500
-
501
- **文档版本**: v1.0
502
- **最后更新**: 2025-01-XX
503
- **维护者**: 开发团队
504
-