zxhlyh 11 mēneši atpakaļ
vecāks
revīzija
2328ed8ffa
100 mainītis faili ar 266 papildinājumiem un 393 dzēšanām
  1. 18 10
      web/app/(commonLayout)/app/(appDetailLayout)/[appId]/layout.tsx
  2. 2 2
      web/app/(commonLayout)/apps/AppCard.tsx
  3. 10 10
      web/app/(commonLayout)/apps/Apps.tsx
  4. 4 2
      web/app/(commonLayout)/datasets/DatasetCard.tsx
  5. 4 2
      web/app/(commonLayout)/datasets/NewDatasetCard.tsx
  6. 2 2
      web/app/(commonLayout)/list.module.css
  7. 2 2
      web/app/components/app-sidebar/app-info.tsx
  8. 2 2
      web/app/components/app/annotation/batch-add-annotation-modal/csv-uploader.tsx
  9. 2 2
      web/app/components/app/annotation/batch-add-annotation-modal/index.tsx
  10. 3 2
      web/app/components/app/annotation/edit-annotation-modal/edit-item/index.tsx
  11. 4 2
      web/app/components/app/annotation/header-opts/index.tsx
  12. 3 2
      web/app/components/app/annotation/list.tsx
  13. 2 2
      web/app/components/app/app-publisher/index.tsx
  14. 2 2
      web/app/components/app/app-publisher/publish-with-multiple-model.tsx
  15. 2 2
      web/app/components/app/chat/citation/index.tsx
  16. 6 4
      web/app/components/app/chat/thought/tool.tsx
  17. 12 6
      web/app/components/app/configuration/config-prompt/advanced-prompt-input.tsx
  18. 4 2
      web/app/components/app/configuration/config-prompt/index.tsx
  19. 4 2
      web/app/components/app/configuration/config-prompt/simple-prompt-input.tsx
  20. 7 3
      web/app/components/app/configuration/config-var/index.tsx
  21. 4 2
      web/app/components/app/configuration/config-vision/index.tsx
  22. 4 2
      web/app/components/app/configuration/config-vision/param-config-content.tsx
  23. 4 2
      web/app/components/app/configuration/config-voice/param-config-content.tsx
  24. 2 2
      web/app/components/app/configuration/config/agent/agent-setting/index.tsx
  25. 2 2
      web/app/components/app/configuration/config/agent/agent-setting/item-panel.tsx
  26. 10 6
      web/app/components/app/configuration/config/agent/agent-tools/index.tsx
  27. 4 1
      web/app/components/app/configuration/config/agent/prompt-editor.tsx
  28. 2 2
      web/app/components/app/configuration/config/assistant-type-picker/index.tsx
  29. 3 2
      web/app/components/app/configuration/dataset-config/card-item/item.tsx
  30. 4 2
      web/app/components/app/configuration/dataset-config/context-var/index.tsx
  31. 4 2
      web/app/components/app/configuration/dataset-config/params-config/config-content.tsx
  32. 3 3
      web/app/components/app/configuration/dataset-config/settings-modal/index.tsx
  33. 2 2
      web/app/components/app/configuration/debug/debug-with-multiple-model/model-parameter-trigger.tsx
  34. 4 2
      web/app/components/app/configuration/debug/index.tsx
  35. 6 3
      web/app/components/app/configuration/features/chat-group/opening-statement/index.tsx
  36. 4 2
      web/app/components/app/configuration/features/chat-group/suggested-questions-after-answer/index.tsx
  37. 6 3
      web/app/components/app/configuration/prompt-value-panel/index.tsx
  38. 5 2
      web/app/components/app/configuration/toolbox/annotation/config-param.tsx
  39. 10 8
      web/app/components/app/configuration/tools/index.tsx
  40. 2 2
      web/app/components/app/create-app-dialog/index.tsx
  41. 7 4
      web/app/components/app/create-app-modal/index.tsx
  42. 2 2
      web/app/components/app/create-from-dsl-modal/index.tsx
  43. 5 2
      web/app/components/app/create-from-dsl-modal/uploader.tsx
  44. 6 3
      web/app/components/app/log/var-panel.tsx
  45. 3 2
      web/app/components/app/overview/apikey-info-panel/index.tsx
  46. 2 2
      web/app/components/app/switch-app-modal/index.tsx
  47. 5 2
      web/app/components/app/text-generate/item/index.tsx
  48. 2 2
      web/app/components/app/type-selector/index.tsx
  49. 2 2
      web/app/components/app/workflow-log/detail.tsx
  50. 2 2
      web/app/components/base/agent-log-modal/index.tsx
  51. 6 4
      web/app/components/base/agent-log-modal/tool-call.tsx
  52. 2 2
      web/app/components/base/button/add-button.tsx
  53. 8 6
      web/app/components/base/chat/chat/answer/workflow-process.tsx
  54. 6 4
      web/app/components/base/confirm/common.tsx
  55. 4 1
      web/app/components/base/copy-icon/index.tsx
  56. 2 2
      web/app/components/base/drawer-plus/index.tsx
  57. 4 2
      web/app/components/base/dropdown/index.tsx
  58. 4 2
      web/app/components/base/features/feature-choose/index.tsx
  59. 6 3
      web/app/components/base/features/feature-panel/opening-statement/index.tsx
  60. 4 2
      web/app/components/base/features/feature-panel/suggested-questions-after-answer/index.tsx
  61. 4 2
      web/app/components/base/features/feature-panel/text-to-speech/param-config-content.tsx
  62. 0 13
      web/app/components/base/icons/assets/public/header-nav/explore/explore-active.svg
  63. 0 13
      web/app/components/base/icons/assets/public/header-nav/explore/explore.svg
  64. 0 3
      web/app/components/base/icons/assets/public/header-nav/knowledge/knowledge-active.svg
  65. 0 3
      web/app/components/base/icons/assets/public/header-nav/knowledge/knowledge.svg
  66. 0 4
      web/app/components/base/icons/assets/public/header-nav/studio/Robot-Active.svg
  67. 0 3
      web/app/components/base/icons/assets/public/header-nav/studio/Robot.svg
  68. 0 5
      web/app/components/base/icons/assets/public/header-nav/tools/tools-active.svg
  69. 0 14
      web/app/components/base/icons/assets/public/header-nav/tools/tools.svg
  70. 0 5
      web/app/components/base/icons/assets/vender/line/alertsAndFeedback/alert-circle.svg
  71. 0 3
      web/app/components/base/icons/assets/vender/line/arrows/arrow-narrow-right.svg
  72. 0 5
      web/app/components/base/icons/assets/vender/line/arrows/chevron-down.svg
  73. 0 3
      web/app/components/base/icons/assets/vender/line/arrows/collapse-04.svg
  74. 0 5
      web/app/components/base/icons/assets/vender/line/editor/bold-01.svg
  75. 0 5
      web/app/components/base/icons/assets/vender/line/editor/cursor-02c.svg
  76. 0 5
      web/app/components/base/icons/assets/vender/line/editor/dotpoints-01.svg
  77. 0 5
      web/app/components/base/icons/assets/vender/line/editor/hand-02.svg
  78. 0 3
      web/app/components/base/icons/assets/vender/line/editor/italic-01.svg
  79. 0 5
      web/app/components/base/icons/assets/vender/line/editor/strikethrough-01.svg
  80. 0 8
      web/app/components/base/icons/assets/vender/line/editor/title-case.svg
  81. 0 5
      web/app/components/base/icons/assets/vender/line/editor/zoom-in.svg
  82. 0 5
      web/app/components/base/icons/assets/vender/line/editor/zoom-out.svg
  83. 0 5
      web/app/components/base/icons/assets/vender/line/education/book-open-02.svg
  84. 0 5
      web/app/components/base/icons/assets/vender/line/files/sticker-square.svg
  85. 0 10
      web/app/components/base/icons/assets/vender/line/general/check-circle.svg
  86. 0 5
      web/app/components/base/icons/assets/vender/line/general/checklist.svg
  87. 0 9
      web/app/components/base/icons/assets/vender/line/general/dots-horizontal.svg
  88. 0 5
      web/app/components/base/icons/assets/vender/line/general/edit-03.svg
  89. 0 3
      web/app/components/base/icons/assets/vender/line/general/help-circle.svg
  90. 0 5
      web/app/components/base/icons/assets/vender/line/general/link-01.svg
  91. 0 10
      web/app/components/base/icons/assets/vender/line/general/link-broken-01.svg
  92. 0 5
      web/app/components/base/icons/assets/vender/line/general/link-external-01.svg
  93. 0 10
      web/app/components/base/icons/assets/vender/line/general/loading-02.svg
  94. 0 5
      web/app/components/base/icons/assets/vender/line/general/plus.svg
  95. 0 5
      web/app/components/base/icons/assets/vender/line/general/search-lg.svg
  96. 0 3
      web/app/components/base/icons/assets/vender/line/general/trash-03.svg
  97. 0 5
      web/app/components/base/icons/assets/vender/line/general/x-close.svg
  98. 0 10
      web/app/components/base/icons/assets/vender/line/layout/organize-grid.svg
  99. 0 5
      web/app/components/base/icons/assets/vender/line/mediaAndDevices/play.svg
  100. 0 0
      web/app/components/base/icons/assets/vender/solid/alertsAndFeedback/alert-circle.svg

+ 18 - 10
web/app/(commonLayout)/app/(appDetailLayout)/[appId]/layout.tsx

@@ -4,6 +4,16 @@ import { useUnmount } from 'ahooks'
 import React, { useCallback, useEffect, useState } from 'react'
 import { usePathname, useRouter } from 'next/navigation'
 import cn from 'classnames'
+import {
+  RiDashboard2Fill,
+  RiDashboard2Line,
+  RiFileList3Fill,
+  RiFileList3Line,
+  RiTerminalBoxFill,
+  RiTerminalBoxLine,
+  RiTerminalWindowFill,
+  RiTerminalWindowLine,
+} from '@remixicon/react'
 import { useTranslation } from 'react-i18next'
 import { useShallow } from 'zustand/react/shallow'
 import s from './style.module.css'
@@ -13,8 +23,6 @@ import type { NavIcon } from '@/app/components/app-sidebar/navLink'
 import { fetchAppDetail } from '@/service/apps'
 import { useAppContext } from '@/context/app-context'
 import Loading from '@/app/components/base/loading'
-import { BarChartSquare02, FileHeart02, PromptEngineering, TerminalSquare } from '@/app/components/base/icons/src/vender/line/development'
-import { BarChartSquare02 as BarChartSquare02Solid, FileHeart02 as FileHeart02Solid, PromptEngineering as PromptEngineeringSolid, TerminalSquare as TerminalSquareSolid } from '@/app/components/base/icons/src/vender/solid/development'
 import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints'
 
 export type IAppDetailLayoutProps = {
@@ -51,16 +59,16 @@ const AppDetailLayout: FC<IAppDetailLayoutProps> = (props) => {
         ? [{
           name: t('common.appMenus.promptEng'),
           href: `/app/${appId}/${(mode === 'workflow' || mode === 'advanced-chat') ? 'workflow' : 'configuration'}`,
-          icon: PromptEngineering,
-          selectedIcon: PromptEngineeringSolid,
+          icon: RiTerminalWindowLine,
+          selectedIcon: RiTerminalWindowFill,
         }]
         : []
       ),
       {
         name: t('common.appMenus.apiAccess'),
         href: `/app/${appId}/develop`,
-        icon: TerminalSquare,
-        selectedIcon: TerminalSquareSolid,
+        icon: RiTerminalBoxLine,
+        selectedIcon: RiTerminalBoxFill,
       },
       ...(isCurrentWorkspaceManager
         ? [{
@@ -68,16 +76,16 @@ const AppDetailLayout: FC<IAppDetailLayoutProps> = (props) => {
             ? t('common.appMenus.logAndAnn')
             : t('common.appMenus.logs'),
           href: `/app/${appId}/logs`,
-          icon: FileHeart02,
-          selectedIcon: FileHeart02Solid,
+          icon: RiFileList3Line,
+          selectedIcon: RiFileList3Fill,
         }]
         : []
       ),
       {
         name: t('common.appMenus.overview'),
         href: `/app/${appId}/overview`,
-        icon: BarChartSquare02,
-        selectedIcon: BarChartSquare02Solid,
+        icon: RiDashboard2Line,
+        selectedIcon: RiDashboard2Fill,
       },
     ]
     return navs

+ 2 - 2
web/app/(commonLayout)/apps/AppCard.tsx

@@ -5,6 +5,7 @@ import { useRouter } from 'next/navigation'
 import { useCallback, useEffect, useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import cn from 'classnames'
+import { RiMoreFill } from '@remixicon/react'
 import s from './style.module.css'
 import type { App } from '@/types/app'
 import Confirm from '@/app/components/base/confirm'
@@ -22,7 +23,6 @@ import { useProviderContext } from '@/context/provider-context'
 import { NEED_REFRESH_APP_LIST_KEY } from '@/config'
 import { AiText, ChatBot, CuteRobote } from '@/app/components/base/icons/src/vender/solid/communication'
 import { Route } from '@/app/components/base/icons/src/vender/solid/mapsAndTravel'
-import { DotsHorizontal } from '@/app/components/base/icons/src/vender/line/general'
 import type { CreateAppModalProps } from '@/app/components/explore/create-app-modal'
 import EditAppModal from '@/app/components/explore/create-app-modal'
 import SwitchAppModal from '@/app/components/app/switch-app-modal'
@@ -310,7 +310,7 @@ const AppCard = ({ app, onRefresh }: AppCardProps) => {
                     <div
                       className='flex items-center justify-center w-8 h-8 cursor-pointer rounded-md'
                     >
-                      <DotsHorizontal className='w-4 h-4 text-gray-700' />
+                      <RiMoreFill className='w-4 h-4 text-gray-700' />
                     </div>
                   }
                   btnClassName={open =>

+ 10 - 10
web/app/(commonLayout)/apps/Apps.tsx

@@ -4,6 +4,12 @@ import { useCallback, useEffect, useRef, useState } from 'react'
 import useSWRInfinite from 'swr/infinite'
 import { useTranslation } from 'react-i18next'
 import { useDebounceFn } from 'ahooks'
+import {
+  RiApps2Line,
+  RiExchange2Line,
+  RiMessage3Line,
+  RiRobot3Line,
+} from '@remixicon/react'
 import AppCard from './AppCard'
 import NewAppCard from './NewAppCard'
 import useAppsQueryState from './hooks/useAppsQueryState'
@@ -14,12 +20,6 @@ import { NEED_REFRESH_APP_LIST_KEY } from '@/config'
 import { CheckModal } from '@/hooks/use-pay'
 import TabSliderNew from '@/app/components/base/tab-slider-new'
 import { useTabSearchParams } from '@/hooks/use-tab-searchparams'
-import { DotsGrid } from '@/app/components/base/icons/src/vender/line/general'
-import {
-  ChatBot,
-  CuteRobot,
-} from '@/app/components/base/icons/src/vender/line/communication'
-import { Route } from '@/app/components/base/icons/src/vender/line/mapsAndTravel'
 import SearchInput from '@/app/components/base/search-input'
 import { useStore as useTagStore } from '@/app/components/base/tag-management/store'
 import TagManagementModal from '@/app/components/base/tag-management'
@@ -73,10 +73,10 @@ const Apps = () => {
 
   const anchorRef = useRef<HTMLDivElement>(null)
   const options = [
-    { value: 'all', text: t('app.types.all'), icon: <DotsGrid className='w-[14px] h-[14px] mr-1' /> },
-    { value: 'chat', text: t('app.types.chatbot'), icon: <ChatBot className='w-[14px] h-[14px] mr-1' /> },
-    { value: 'agent-chat', text: t('app.types.agent'), icon: <CuteRobot className='w-[14px] h-[14px] mr-1' /> },
-    { value: 'workflow', text: t('app.types.workflow'), icon: <Route className='w-[14px] h-[14px] mr-1' /> },
+    { value: 'all', text: t('app.types.all'), icon: <RiApps2Line className='w-[14px] h-[14px] mr-1' /> },
+    { value: 'chat', text: t('app.types.chatbot'), icon: <RiMessage3Line className='w-[14px] h-[14px] mr-1' /> },
+    { value: 'agent-chat', text: t('app.types.agent'), icon: <RiRobot3Line className='w-[14px] h-[14px] mr-1' /> },
+    { value: 'workflow', text: t('app.types.workflow'), icon: <RiExchange2Line className='w-[14px] h-[14px] mr-1' /> },
   ]
 
   useEffect(() => {

+ 4 - 2
web/app/(commonLayout)/datasets/DatasetCard.tsx

@@ -5,6 +5,9 @@ import Link from 'next/link'
 import { useCallback, useEffect, useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import cn from 'classnames'
+import {
+  RiMoreFill,
+} from '@remixicon/react'
 import Confirm from '@/app/components/base/confirm'
 import { ToastContext } from '@/app/components/base/toast'
 import { deleteDataset } from '@/service/datasets'
@@ -14,7 +17,6 @@ import { Folder } from '@/app/components/base/icons/src/vender/solid/files'
 import type { HtmlContentProps } from '@/app/components/base/popover'
 import CustomPopover from '@/app/components/base/popover'
 import Divider from '@/app/components/base/divider'
-import { DotsHorizontal } from '@/app/components/base/icons/src/vender/line/general'
 import RenameDatasetModal from '@/app/components/datasets/rename-modal'
 import type { Tag } from '@/app/components/base/tag-management/constant'
 import TagSelector from '@/app/components/base/tag-management/selector'
@@ -167,7 +169,7 @@ const DatasetCard = ({
                 <div
                   className='flex items-center justify-center w-8 h-8 cursor-pointer rounded-md'
                 >
-                  <DotsHorizontal className='w-4 h-4 text-gray-700' />
+                  <RiMoreFill className='w-4 h-4 text-gray-700' />
                 </div>
               }
               btnClassName={open =>

+ 4 - 2
web/app/(commonLayout)/datasets/NewDatasetCard.tsx

@@ -2,7 +2,9 @@
 
 import { forwardRef } from 'react'
 import { useTranslation } from 'react-i18next'
-import { Plus } from '@/app/components/base/icons/src/vender/line/general'
+import {
+  RiAddLine,
+} from '@remixicon/react'
 
 const CreateAppCard = forwardRef<HTMLAnchorElement>((_, ref) => {
   const { t } = useTranslation()
@@ -11,7 +13,7 @@ const CreateAppCard = forwardRef<HTMLAnchorElement>((_, ref) => {
     <a ref={ref} className='group flex flex-col col-span-1 bg-gray-200 border-[0.5px] border-black/5 rounded-xl min-h-[160px] transition-all duration-200 ease-in-out cursor-pointer hover:bg-white hover:shadow-lg' href='/datasets/create'>
       <div className='shrink-0 flex items-center p-4 pb-3'>
         <div className='w-10 h-10 flex items-center justify-center border border-gray-200 bg-gray-100 rounded-lg'>
-          <Plus className='w-4 h-4 text-gray-500'/>
+          <RiAddLine className='w-4 h-4 text-gray-500'/>
         </div>
         <div className='ml-3 text-sm font-semibold leading-5 text-gray-800 group-hover:text-primary-600'>{t('dataset.createDataset')}</div>
       </div>

+ 2 - 2
web/app/(commonLayout)/list.module.css

@@ -85,13 +85,13 @@
   background-image: url("./apps/assets/add.svg");
 }
 
-.newItemIconChat {
+/* .newItemIconChat {
   background-image: url("~@/app/components/base/icons/assets/public/header-nav/studio/Robot.svg");
 }
 
 .selected .newItemIconChat {
   background-image: url("~@/app/components/base/icons/assets/public/header-nav/studio/Robot-Active.svg");
-}
+} */
 
 .newItemIconComplete {
   background-image: url("./apps/assets/completion.svg");

+ 2 - 2
web/app/components/app-sidebar/app-info.tsx

@@ -2,6 +2,7 @@ import { useTranslation } from 'react-i18next'
 import { useRouter } from 'next/navigation'
 import { useContext, useContextSelector } from 'use-context-selector'
 import cn from 'classnames'
+import { RiArrowDownSLine } from '@remixicon/react'
 import React, { useCallback, useState } from 'react'
 import AppIcon from '../base/app-icon'
 import SwitchAppModal from '../app/switch-app-modal'
@@ -11,7 +12,6 @@ import {
   PortalToFollowElemContent,
   PortalToFollowElemTrigger,
 } from '@/app/components/base/portal-to-follow-elem'
-import { ChevronDown } from '@/app/components/base/icons/src/vender/line/arrows'
 import Divider from '@/app/components/base/divider'
 import Confirm from '@/app/components/base/confirm'
 import { useStore as useAppStore } from '@/app/components/app/store'
@@ -190,7 +190,7 @@ const AppInfo = ({ expand }: IAppInfoProps) => {
               <div className="grow w-0">
                 <div className='flex justify-between items-center text-sm leading-5 font-medium text-gray-900'>
                   <div className='truncate' title={appDetail.name}>{appDetail.name}</div>
-                  {isCurrentWorkspaceEditor && <ChevronDown className='shrink-0 ml-[2px] w-3 h-3 text-gray-500' />}
+                  {isCurrentWorkspaceEditor && <RiArrowDownSLine className='shrink-0 ml-[2px] w-3 h-3 text-gray-500' />}
                 </div>
                 <div className='flex items-center text-[10px] leading-[18px] font-medium text-gray-500 gap-1'>
                   {appDetail.mode === 'advanced-chat' && (

+ 2 - 2
web/app/components/app/annotation/batch-add-annotation-modal/csv-uploader.tsx

@@ -4,9 +4,9 @@ import React, { useEffect, useRef, useState } from 'react'
 import cn from 'classnames'
 import { useTranslation } from 'react-i18next'
 import { useContext } from 'use-context-selector'
+import { RiDeleteBinLine } from '@remixicon/react'
 import { Csv as CSVIcon } from '@/app/components/base/icons/src/public/files'
 import { ToastContext } from '@/app/components/base/toast'
-import { Trash03 } from '@/app/components/base/icons/src/vender/line/general'
 import Button from '@/app/components/base/button'
 
 export type Props = {
@@ -113,7 +113,7 @@ const CSVUploader: FC<Props> = ({
               <Button className='!h-8 !px-3 !py-[6px] bg-white !text-[13px] !leading-[18px] text-gray-700' onClick={selectHandle}>{t('datasetCreation.stepOne.uploader.change')}</Button>
               <div className='mx-2 w-px h-4 bg-gray-200' />
               <div className='p-2 cursor-pointer' onClick={removeFile}>
-                <Trash03 className='w-4 h-4 text-gray-500' />
+                <RiDeleteBinLine className='w-4 h-4 text-gray-500' />
               </div>
             </div>
           </div>

+ 2 - 2
web/app/components/app/annotation/batch-add-annotation-modal/index.tsx

@@ -2,11 +2,11 @@
 import type { FC } from 'react'
 import React, { useEffect, useState } from 'react'
 import { useTranslation } from 'react-i18next'
+import { RiCloseLine } from '@remixicon/react'
 import CSVUploader from './csv-uploader'
 import CSVDownloader from './csv-downloader'
 import Button from '@/app/components/base/button'
 import Modal from '@/app/components/base/modal'
-import { XClose } from '@/app/components/base/icons/src/vender/line/general'
 import Toast from '@/app/components/base/toast'
 import { annotationBatchImport, checkAnnotationBatchImportProgress } from '@/service/annotation'
 import { useProviderContext } from '@/context/provider-context'
@@ -90,7 +90,7 @@ const BatchModal: FC<IBatchModalProps> = ({
     <Modal isShow={isShow} onClose={() => { }} className='px-8 py-6 !max-w-[520px] !rounded-xl'>
       <div className='relative pb-1 text-xl font-medium leading-[30px] text-gray-900'>{t('appAnnotation.batchModal.title')}</div>
       <div className='absolute right-4 top-4 p-2 cursor-pointer' onClick={onCancel}>
-        <XClose className='w-4 h-4 text-gray-500' />
+        <RiCloseLine className='w-4 h-4 text-gray-500' />
       </div>
       <CSVUploader
         file={currentCSV}

+ 3 - 2
web/app/components/app/annotation/edit-annotation-modal/edit-item/index.tsx

@@ -4,8 +4,9 @@ import React, { useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import Textarea from 'rc-textarea'
 import cn from 'classnames'
+import { RiDeleteBinLine } from '@remixicon/react'
 import { Robot, User } from '@/app/components/base/icons/src/public/avatar'
-import { Edit04, Trash03 } from '@/app/components/base/icons/src/vender/line/general'
+import { Edit04 } from '@/app/components/base/icons/src/vender/line/general'
 import { Edit04 as EditSolid } from '@/app/components/base/icons/src/vender/solid/general'
 import Button from '@/app/components/base/button'
 
@@ -98,7 +99,7 @@ const EditItem: FC<Props> = ({
                       }}
                     >
                       <div className='w-3.5 h-3.5'>
-                        <Trash03 className='w-3.5 h-3.5' />
+                        <RiDeleteBinLine className='w-3.5 h-3.5' />
                       </div>
                       <div>{t('common.operation.delete')}</div>
                     </div>

+ 4 - 2
web/app/components/app/annotation/header-opts/index.tsx

@@ -3,13 +3,15 @@ import type { FC } from 'react'
 import React, { Fragment, useEffect, useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import cn from 'classnames'
+import {
+  RiAddLine,
+} from '@remixicon/react'
 import { useContext } from 'use-context-selector'
 import {
   useCSVDownloader,
 } from 'react-papaparse'
 import { Menu, Transition } from '@headlessui/react'
 import Button from '../../../base/button'
-import { Plus } from '../../../base/icons/src/vender/line/general'
 import AddAnnotationModal from '../add-annotation-modal'
 import type { AnnotationItemBasic } from '../type'
 import BatchAddModal from '../batch-add-annotation-modal'
@@ -136,7 +138,7 @@ const HeaderOptions: FC<Props> = ({
   return (
     <div className='flex space-x-2'>
       <Button variant='primary' onClick={() => setShowAddModal(true)} className='flex items-center !h-8 !px-3 !text-[13px] space-x-2'>
-        <Plus className='w-4 h-4' />
+        <RiAddLine className='w-4 h-4' />
         <div>{t('appAnnotation.table.header.addAnnotation')}</div>
       </Button>
       <CustomPopover

+ 3 - 2
web/app/components/app/annotation/list.tsx

@@ -3,7 +3,8 @@ import type { FC } from 'react'
 import React from 'react'
 import { useTranslation } from 'react-i18next'
 import cn from 'classnames'
-import { Edit02, Trash03 } from '../../base/icons/src/vender/line/general'
+import { RiDeleteBinLine } from '@remixicon/react'
+import { Edit02 } from '../../base/icons/src/vender/line/general'
 import s from './style.module.css'
 import type { AnnotationItem } from './type'
 import RemoveAnnotationConfirmModal from './remove-annotation-confirm-modal'
@@ -77,7 +78,7 @@ const List: FC<Props> = ({
                       setShowConfirmDelete(true)
                     }}
                   >
-                    <Trash03 className='w-4 h-4' />
+                    <RiDeleteBinLine className='w-4 h-4' />
                   </div>
                 </div>
               </td>

+ 2 - 2
web/app/components/app/app-publisher/index.tsx

@@ -6,6 +6,7 @@ import {
 import { useTranslation } from 'react-i18next'
 import dayjs from 'dayjs'
 import classNames from 'classnames'
+import { RiArrowDownSLine } from '@remixicon/react'
 import type { ModelAndParameter } from '../configuration/debug/types'
 import SuggestedAction from './suggested-action'
 import PublishWithMultipleModel from './publish-with-multiple-model'
@@ -18,7 +19,6 @@ import {
 import EmbeddedModal from '@/app/components/app/overview/embedded'
 import { useStore as useAppStore } from '@/app/components/app/store'
 import { useGetLanguage } from '@/context/i18n'
-import { ChevronDown } from '@/app/components/base/icons/src/vender/line/arrows'
 import { PlayCircle } from '@/app/components/base/icons/src/vender/line/mediaAndDevices'
 import { CodeBrowser } from '@/app/components/base/icons/src/vender/line/development'
 import { LeftIndent02 } from '@/app/components/base/icons/src/vender/line/editor'
@@ -126,7 +126,7 @@ const AppPublisher = ({
           `}
         >
           {t('workflow.common.publish')}
-          <ChevronDown className='ml-0.5' />
+          <RiArrowDownSLine className='ml-0.5' />
         </Button>
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent className='z-[11]'>

+ 2 - 2
web/app/components/app/app-publisher/publish-with-multiple-model.tsx

@@ -1,6 +1,7 @@
 import type { FC } from 'react'
 import { useState } from 'react'
 import { useTranslation } from 'react-i18next'
+import { RiArrowDownSLine } from '@remixicon/react'
 import type { ModelAndParameter } from '../configuration/debug/types'
 import ModelIcon from '../../header/account-setting/model-provider-page/model-icon'
 import Button from '@/app/components/base/button'
@@ -9,7 +10,6 @@ import {
   PortalToFollowElemContent,
   PortalToFollowElemTrigger,
 } from '@/app/components/base/portal-to-follow-elem'
-import { ChevronDown } from '@/app/components/base/icons/src/vender/line/arrows'
 import { useProviderContext } from '@/context/provider-context'
 import type { Model, ModelItem } from '@/app/components/header/account-setting/model-provider-page/declarations'
 import { useLanguage } from '@/app/components/header/account-setting/model-provider-page/hooks'
@@ -73,7 +73,7 @@ const PublishWithMultipleModel: FC<PublishWithMultipleModelProps> = ({
           className='mt-3 px-3 py-0 w-full h-8 border-[0.5px] border-primary-700 rounded-lg text-[13px] font-medium'
         >
           {t('appDebug.operation.applyConfig')}
-          <ChevronDown className='ml-0.5 w-3 h-3' />
+          <RiArrowDownSLine className='ml-0.5 w-3 h-3' />
         </Button>
       </PortalToFollowElemTrigger>
       <PortalToFollowElemContent className='mt-1 w-[288px] z-50'>

+ 2 - 2
web/app/components/app/chat/citation/index.tsx

@@ -1,9 +1,9 @@
 import { useEffect, useMemo, useRef, useState } from 'react'
 import type { FC } from 'react'
 import { useTranslation } from 'react-i18next'
+import { RiArrowDownSLine } from '@remixicon/react'
 import type { CitationItem } from '../type'
 import Popup from './popup'
-import { ChevronDown } from '@/app/components/base/icons/src/vender/line/arrows'
 
 export type Resources = {
   documentId: string
@@ -112,7 +112,7 @@ const Citation: FC<CitationProps> = ({
               {
                 !showMore
                   ? `+ ${resourcesLength - limitNumberInOneLine}`
-                  : <ChevronDown className='w-4 h-4 text-gray-600 rotate-180' />
+                  : <RiArrowDownSLine className='w-4 h-4 text-gray-600 rotate-180' />
               }
             </div>
           )

+ 6 - 4
web/app/components/app/chat/thought/tool.tsx

@@ -4,10 +4,12 @@ import React, { useState } from 'react'
 import { useTranslation } from 'react-i18next'
 
 import cn from 'classnames'
+import {
+  RiArrowDownSLine,
+  RiLoader2Line,
+} from '@remixicon/react'
 import type { ToolInfoInThought } from '../type'
 import Panel from './panel'
-import { Loading02 } from '@/app/components/base/icons/src/vender/line/general'
-import { ChevronDown } from '@/app/components/base/icons/src/vender/line/arrows'
 import { CheckCircle } from '@/app/components/base/icons/src/vender/solid/general'
 import { DataSet as DataSetIcon } from '@/app/components/base/icons/src/public/thought'
 import type { Emoji } from '@/app/components/tools/types'
@@ -62,7 +64,7 @@ const Tool: FC<Props> = ({
           onClick={() => setIsShowDetail(!isShowDetail)}
         >
           {!isFinished && (
-            <Loading02 className='w-3 h-3 text-gray-500 animate-spin shrink-0' />
+            <RiLoader2Line className='w-3 h-3 text-gray-500 animate-spin shrink-0' />
           )}
           {isFinished && !isShowDetail && (
             <CheckCircle className='w-3 h-3 text-[#12B76A] shrink-0' />
@@ -79,7 +81,7 @@ const Tool: FC<Props> = ({
           >
             {toolLabel}
           </span>
-          <ChevronDown
+          <RiArrowDownSLine
             className={cn(isShowDetail && 'rotate-180', 'ml-1 w-3 h-3 text-gray-500 select-none cursor-pointer shrink-0')}
           />
         </div>

+ 12 - 6
web/app/components/app/configuration/config-prompt/advanced-prompt-input.tsx

@@ -7,19 +7,25 @@ import { useTranslation } from 'react-i18next'
 import { useContext } from 'use-context-selector'
 import { useBoolean } from 'ahooks'
 import produce from 'immer'
+import {
+  RiDeleteBinLine,
+  RiErrorWarningFill,
+  RiQuestionLine,
+} from '@remixicon/react'
 import s from './style.module.css'
 import MessageTypeSelector from './message-type-selector'
 import ConfirmAddVar from './confirm-add-var'
 import PromptEditorHeightResizeWrap from './prompt-editor-height-resize-wrap'
 import type { PromptRole, PromptVariable } from '@/models/debug'
-import { HelpCircle, Trash03 } from '@/app/components/base/icons/src/vender/line/general'
-import { Clipboard, ClipboardCheck } from '@/app/components/base/icons/src/vender/line/files'
+import {
+  Clipboard,
+  ClipboardCheck,
+} from '@/app/components/base/icons/src/vender/line/files'
 import Tooltip from '@/app/components/base/tooltip'
 import PromptEditor from '@/app/components/base/prompt-editor'
 import ConfigContext from '@/context/debug-configuration'
 import { getNewVar, getVars } from '@/utils/var'
 import { AppType } from '@/types/app'
-import { AlertCircle } from '@/app/components/base/icons/src/vender/solid/alertsAndFeedback'
 import { useModalContext } from '@/context/modal-context'
 import type { ExternalDataTool } from '@/models/common'
 import { useToastContext } from '@/app/components/base/toast'
@@ -140,7 +146,7 @@ const AdvancedPromptInput: FC<Props> = ({
       }}
     >
       <div className='flex items-center pr-2' >
-        <AlertCircle className='mr-1 w-4 h-4 text-[#F79009]' />
+        <RiErrorWarningFill className='mr-1 w-4 h-4 text-[#F79009]' />
         <div className='leading-[18px] text-[13px] font-medium text-[#DC6803]'>{t('appDebug.promptMode.contextMissing')}</div>
       </div>
       <div
@@ -170,12 +176,12 @@ const AdvancedPromptInput: FC<Props> = ({
                         {t('appDebug.promptTip')}
                       </div>}
                       selector='config-prompt-tooltip'>
-                      <HelpCircle className='w-[14px] h-[14px] text-indigo-400' />
+                      <RiQuestionLine className='w-[14px] h-[14px] text-indigo-400' />
                     </Tooltip>
                   </div>)}
               <div className={cn(s.optionWrap, 'items-center space-x-1')}>
                 {canDelete && (
-                  <Trash03 onClick={onDelete} className='h-6 w-6 p-1 text-gray-500 cursor-pointer' />
+                  <RiDeleteBinLine onClick={onDelete} className='h-6 w-6 p-1 text-gray-500 cursor-pointer' />
                 )}
                 {!isCopied
                   ? (

+ 4 - 2
web/app/components/app/configuration/config-prompt/index.tsx

@@ -3,6 +3,9 @@ import type { FC } from 'react'
 import React from 'react'
 import { useContext } from 'use-context-selector'
 import produce from 'immer'
+import {
+  RiAddLine,
+} from '@remixicon/react'
 import { useTranslation } from 'react-i18next'
 import SimplePromptInput from './simple-prompt-input'
 import AdvancedMessageInput from '@/app/components/app/configuration/config-prompt/advanced-prompt-input'
@@ -10,7 +13,6 @@ import { PromptRole } from '@/models/debug'
 import type { PromptItem, PromptVariable } from '@/models/debug'
 import { type AppType, ModelModeType } from '@/types/app'
 import ConfigContext from '@/context/debug-configuration'
-import { Plus } from '@/app/components/base/icons/src/vender/line/general'
 import { MAX_PROMPT_MESSAGE_LENGTH } from '@/config'
 export type IPromptProps = {
   mode: AppType
@@ -142,7 +144,7 @@ const Prompt: FC<IPromptProps> = ({
         <div
           onClick={handleAddMessage}
           className='mt-3 flex items-center h-8 justify-center bg-gray-50 rounded-lg cursor-pointer text-[13px] font-medium text-gray-700 space-x-2'>
-          <Plus className='w-4 h-4' />
+          <RiAddLine className='w-4 h-4' />
           <div>{t('appDebug.promptMode.operation.addMessage')}</div>
         </div>
       )}

+ 4 - 2
web/app/components/app/configuration/config-prompt/simple-prompt-input.tsx

@@ -4,6 +4,9 @@ import React, { useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import { useBoolean } from 'ahooks'
 import cn from 'classnames'
+import {
+  RiQuestionLine,
+} from '@remixicon/react'
 import produce from 'immer'
 import { useContext } from 'use-context-selector'
 import ConfirmAddVar from './confirm-add-var'
@@ -13,7 +16,6 @@ import { type PromptVariable } from '@/models/debug'
 import Tooltip from '@/app/components/base/tooltip'
 import { AppType } from '@/types/app'
 import { getNewVar, getVars } from '@/utils/var'
-import { HelpCircle } from '@/app/components/base/icons/src/vender/line/general'
 import AutomaticBtn from '@/app/components/app/configuration/config/automatic/automatic-btn'
 import type { AutomaticRes } from '@/service/debug'
 import GetAutomaticResModal from '@/app/components/app/configuration/config/automatic/get-automatic-res'
@@ -143,7 +145,7 @@ const Prompt: FC<ISimplePromptInput> = ({
                   {t('appDebug.promptTip')}
                 </div>}
                 selector='config-prompt-tooltip'>
-                <HelpCircle className='w-[14px] h-[14px] text-indigo-400' />
+                <RiQuestionLine className='w-[14px] h-[14px] text-indigo-400' />
               </Tooltip>
             )}
           </div>

+ 7 - 3
web/app/components/app/configuration/config-var/index.tsx

@@ -6,6 +6,10 @@ import { useBoolean } from 'ahooks'
 import type { Timeout } from 'ahooks/lib/useRequest/src/types'
 import { useContext } from 'use-context-selector'
 import produce from 'immer'
+import {
+  RiDeleteBinLine,
+  RiQuestionLine,
+} from '@remixicon/react'
 import Panel from '../base/feature-panel'
 import EditModal from './config-modal'
 import IconTypeIcon from './input-type-icon'
@@ -19,7 +23,7 @@ import { DEFAULT_VALUE_MAX_LEN, getMaxVarNameLength } from '@/config'
 import { checkKeys, getNewVar } from '@/utils/var'
 import Switch from '@/app/components/base/switch'
 import Toast from '@/app/components/base/toast'
-import { HelpCircle, Settings01, Trash03 } from '@/app/components/base/icons/src/vender/line/general'
+import { Settings01 } from '@/app/components/base/icons/src/vender/line/general'
 import ConfirmModal from '@/app/components/base/confirm/common'
 import ConfigContext from '@/context/debug-configuration'
 import { AppType } from '@/types/app'
@@ -281,7 +285,7 @@ const ConfigVar: FC<IConfigVarProps> = ({ promptVariables, readonly, onPromptVar
             <Tooltip htmlContent={<div className='w-[180px]'>
               {t('appDebug.variableTip')}
             </div>} selector='config-var-tooltip'>
-              <HelpCircle className='w-[14px] h-[14px] text-gray-400' />
+              <RiQuestionLine className='w-[14px] h-[14px] text-gray-400' />
             </Tooltip>
           )}
         </div>
@@ -358,7 +362,7 @@ const ConfigVar: FC<IConfigVarProps> = ({ promptVariables, readonly, onPromptVar
                             <Settings01 className='w-4 h-4 text-gray-500' />
                           </div>
                           <div className=' p-1 rounded-md hover:bg-black/5 w-6 h-6 cursor-pointer' onClick={() => handleRemoveVar(index)} >
-                            <Trash03 className='w-4 h-4 text-gray-500' />
+                            <RiDeleteBinLine className='w-4 h-4 text-gray-500' />
                           </div>
                         </div>
                       </td>

+ 4 - 2
web/app/components/app/configuration/config-vision/index.tsx

@@ -2,10 +2,12 @@
 import type { FC } from 'react'
 import React from 'react'
 import { useTranslation } from 'react-i18next'
+import {
+  RiQuestionLine,
+} from '@remixicon/react'
 import { useContext } from 'use-context-selector'
 import Panel from '../base/feature-panel'
 import ParamConfig from './param-config'
-import { HelpCircle } from '@/app/components/base/icons/src/vender/line/general'
 import Tooltip from '@/app/components/base/tooltip'
 import Switch from '@/app/components/base/switch'
 import { Eye } from '@/app/components/base/icons/src/vender/solid/general'
@@ -34,7 +36,7 @@ const ConfigVision: FC = () => {
           <Tooltip htmlContent={<div className='w-[180px]' >
             {t('appDebug.vision.description')}
           </div>} selector='config-vision-tooltip'>
-            <HelpCircle className='w-[14px] h-[14px] text-gray-400' />
+            <RiQuestionLine className='w-[14px] h-[14px] text-gray-400' />
           </Tooltip>
         </div>
       }

+ 4 - 2
web/app/components/app/configuration/config-vision/param-config-content.tsx

@@ -3,12 +3,14 @@ import type { FC } from 'react'
 import React from 'react'
 import { useContext } from 'use-context-selector'
 import { useTranslation } from 'react-i18next'
+import {
+  RiQuestionLine,
+} from '@remixicon/react'
 import RadioGroup from './radio-group'
 import ConfigContext from '@/context/debug-configuration'
 import { Resolution, TransferMethod } from '@/types/app'
 import ParamItem from '@/app/components/base/param-item'
 import Tooltip from '@/app/components/base/tooltip'
-import { HelpCircle } from '@/app/components/base/icons/src/vender/line/general'
 
 const MIN = 1
 const MAX = 6
@@ -40,7 +42,7 @@ const ParamConfigContent: FC = () => {
                   <div key={item}>{item}</div>
                 ))}
               </div>} selector='config-resolution-tooltip'>
-                <HelpCircle className='w-[14px] h-[14px] text-gray-400' />
+                <RiQuestionLine className='w-[14px] h-[14px] text-gray-400' />
               </Tooltip>
             </div>
             <RadioGroup

+ 4 - 2
web/app/components/app/configuration/config-voice/param-config-content.tsx

@@ -4,6 +4,9 @@ import type { FC } from 'react'
 import { useContext } from 'use-context-selector'
 import React, { Fragment } from 'react'
 import classNames from 'classnames'
+import {
+  RiQuestionLine,
+} from '@remixicon/react'
 import { usePathname } from 'next/navigation'
 import { useTranslation } from 'react-i18next'
 import { Listbox, Transition } from '@headlessui/react'
@@ -12,7 +15,6 @@ import type { Item } from '@/app/components/base/select'
 import ConfigContext from '@/context/debug-configuration'
 import { fetchAppVoices } from '@/service/apps'
 import Tooltip from '@/app/components/base/tooltip'
-import { HelpCircle } from '@/app/components/base/icons/src/vender/line/general'
 import { languages } from '@/i18n/language'
 const VoiceParamConfig: FC = () => {
   const { t } = useTranslation()
@@ -46,7 +48,7 @@ const VoiceParamConfig: FC = () => {
                   <div key={item}>{item}</div>
                 ))}
               </div>} selector='config-resolution-tooltip'>
-                <HelpCircle className='w-[14px] h-[14px] text-gray-400' />
+                <RiQuestionLine className='w-[14px] h-[14px] text-gray-400' />
               </Tooltip>
             </div>
             <Listbox

+ 2 - 2
web/app/components/app/configuration/config/agent/agent-setting/index.tsx

@@ -2,9 +2,9 @@
 import type { FC } from 'react'
 import React, { useState } from 'react'
 import { useTranslation } from 'react-i18next'
+import { RiCloseLine } from '@remixicon/react'
 import ItemPanel from './item-panel'
 import Button from '@/app/components/base/button'
-import { XClose } from '@/app/components/base/icons/src/vender/line/general'
 import { CuteRobote } from '@/app/components/base/icons/src/vender/solid/communication'
 import { Unblur } from '@/app/components/base/icons/src/vender/solid/education'
 import Slider from '@/app/components/base/slider'
@@ -53,7 +53,7 @@ const AgentSetting: FC<Props> = ({
               onClick={onCancel}
               className='flex justify-center items-center w-6 h-6 cursor-pointer'
             >
-              <XClose className='w-4 h-4 text-gray-500' />
+              <RiCloseLine className='w-4 h-4 text-gray-500' />
             </div>
           </div>
         </div>

+ 2 - 2
web/app/components/app/configuration/config/agent/agent-setting/item-panel.tsx

@@ -2,7 +2,7 @@
 import type { FC } from 'react'
 import React from 'react'
 import cn from 'classnames'
-import { HelpCircle } from '@/app/components/base/icons/src/vender/line/general'
+import { RiQuestionLine } from '@remixicon/react'
 import Tooltip from '@/app/components/base/tooltip'
 type Props = {
   className?: string
@@ -32,7 +32,7 @@ const ItemPanel: FC<Props> = ({
           }
           selector={`agent-setting-tooltip-${name}`}
         >
-          <HelpCircle className='w-[14px] h-[14px] text-gray-400' />
+          <RiQuestionLine className='w-[14px] h-[14px] text-gray-400' />
         </Tooltip>
       </div>
       <div>

+ 10 - 6
web/app/components/app/configuration/config/agent/agent-tools/index.tsx

@@ -5,13 +5,17 @@ import { useTranslation } from 'react-i18next'
 import cn from 'classnames'
 import { useContext } from 'use-context-selector'
 import produce from 'immer'
+import {
+  RiDeleteBinLine,
+  RiHammerFill,
+  RiQuestionLine,
+} from '@remixicon/react'
 import { useFormattingChangedDispatcher } from '../../../debug/hooks'
 import SettingBuiltInTool from './setting-built-in-tool'
 import Panel from '@/app/components/app/configuration/base/feature-panel'
 import Tooltip from '@/app/components/base/tooltip'
-import { HelpCircle, InfoCircle, Trash03 } from '@/app/components/base/icons/src/vender/line/general'
+import { InfoCircle } from '@/app/components/base/icons/src/vender/line/general'
 import OperationBtn from '@/app/components/app/configuration/base/operation-btn'
-import { ToolsActive } from '@/app/components/base/icons/src/public/header-nav/tools'
 import AppIcon from '@/app/components/base/app-icon'
 import Switch from '@/app/components/base/switch'
 import ConfigContext from '@/context/debug-configuration'
@@ -59,7 +63,7 @@ const AgentTools: FC = () => {
         className="mt-4"
         noBodySpacing={tools.length === 0}
         headerIcon={
-          <ToolsActive className='w-4 h-4 text-primary-500' />
+          <RiHammerFill className='w-4 h-4 text-primary-500' />
         }
         title={
           <div className='flex items-center'>
@@ -67,7 +71,7 @@ const AgentTools: FC = () => {
             <Tooltip htmlContent={<div className='w-[180px]'>
               {t('appDebug.agent.tools.description')}
             </div>} selector='config-tools-tooltip'>
-              <HelpCircle className='w-[14px] h-[14px] text-gray-400' />
+              <RiQuestionLine className='w-[14px] h-[14px] text-gray-400' />
             </Tooltip>
           </div>
         }
@@ -144,7 +148,7 @@ const AgentTools: FC = () => {
                         setModelConfig(newModelConfig)
                         formattingChangedDispatcher()
                       }}>
-                        <Trash03 className='w-4 h-4 text-gray-500' />
+                        <RiDeleteBinLine className='w-4 h-4 text-gray-500' />
                       </div>
                       <div className='ml-2 mr-3 w-px h-3.5 bg-gray-200'></div>
                     </div>
@@ -169,7 +173,7 @@ const AgentTools: FC = () => {
                         setModelConfig(newModelConfig)
                         formattingChangedDispatcher()
                       }}>
-                        <Trash03 className='w-4 h-4 text-gray-500' />
+                        <RiDeleteBinLine className='w-4 h-4 text-gray-500' />
                       </div>
                       <div className='ml-2 mr-3 w-px h-3.5 bg-gray-200'></div>
                     </div>

+ 4 - 1
web/app/components/app/configuration/config/agent/prompt-editor.tsx

@@ -5,7 +5,10 @@ import copy from 'copy-to-clipboard'
 import cn from 'classnames'
 import { useContext } from 'use-context-selector'
 import { useTranslation } from 'react-i18next'
-import { Clipboard, ClipboardCheck } from '@/app/components/base/icons/src/vender/line/files'
+import {
+  Clipboard,
+  ClipboardCheck,
+} from '@/app/components/base/icons/src/vender/line/files'
 import PromptEditor from '@/app/components/base/prompt-editor'
 import type { ExternalDataTool } from '@/models/common'
 import ConfigContext from '@/context/debug-configuration'

+ 2 - 2
web/app/components/app/configuration/config/assistant-type-picker/index.tsx

@@ -3,6 +3,7 @@ import type { FC } from 'react'
 import React, { useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import cn from 'classnames'
+import { RiArrowDownSLine } from '@remixicon/react'
 import AgentSetting from '../agent/agent-setting'
 import {
   PortalToFollowElem,
@@ -11,7 +12,6 @@ import {
 } from '@/app/components/base/portal-to-follow-elem'
 import { BubbleText } from '@/app/components/base/icons/src/vender/solid/education'
 import Radio from '@/app/components/base/radio/ui'
-import { ChevronDown } from '@/app/components/base/icons/src/vender/solid/arrows'
 import { CuteRobote } from '@/app/components/base/icons/src/vender/solid/communication'
 import { Settings04 } from '@/app/components/base/icons/src/vender/line/general'
 import { ArrowUpRight } from '@/app/components/base/icons/src/vender/line/arrows'
@@ -119,7 +119,7 @@ const AssistantTypePicker: FC<Props> = ({
           <div className={cn(open && 'bg-gray-50', 'flex items-center h-8 px-3 border border-black/5 rounded-lg cursor-pointer select-none space-x-1 text-indigo-600')}>
             {isAgent ? <BubbleText className='w-3 h-3' /> : <CuteRobote className='w-3 h-3' />}
             <div className='text-xs font-medium'>{t(`appDebug.assistantType.${isAgent ? 'agentAssistant' : 'chatAssistant'}.name`)}</div>
-            <ChevronDown className='w-3 h-3' />
+            <RiArrowDownSLine className='w-3 h-3' />
           </div>
         </PortalToFollowElemTrigger>
         <PortalToFollowElemContent style={{ zIndex: 1000 }}>

+ 3 - 2
web/app/components/app/configuration/dataset-config/card-item/item.tsx

@@ -2,12 +2,13 @@
 import type { FC } from 'react'
 import React, { useState } from 'react'
 import { useTranslation } from 'react-i18next'
+import { RiDeleteBinLine } from '@remixicon/react'
 import SettingsModal from '../settings-modal'
 import type { DataSet } from '@/models/datasets'
 import { DataSourceType } from '@/models/datasets'
 import { formatNumber } from '@/utils/format'
 import FileIcon from '@/app/components/base/file-icon'
-import { Settings01, Trash03 } from '@/app/components/base/icons/src/vender/line/general'
+import { Settings01 } from '@/app/components/base/icons/src/vender/line/general'
 import { Folder } from '@/app/components/base/icons/src/vender/solid/files'
 import Drawer from '@/app/components/base/drawer'
 import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints'
@@ -77,7 +78,7 @@ const Item: FC<ItemProps> = ({
           className='group/action flex items-center justify-center w-6 h-6 hover:bg-[#FEE4E2] rounded-md cursor-pointer'
           onClick={() => onRemove(config.id)}
         >
-          <Trash03 className='w-4 h-4 text-gray-500 group-hover/action:text-[#D92D20]' />
+          <RiDeleteBinLine className='w-4 h-4 text-gray-500 group-hover/action:text-[#D92D20]' />
         </div>
       </div>
       <Drawer isOpen={showSettingsModal} onClose={() => setShowSettingsModal(false)} footer={null} mask={isMobile} panelClassname='mt-16 mx-2 sm:mr-2 mb-3 !p-0 !max-w-[640px] rounded-xl'>

+ 4 - 2
web/app/components/app/configuration/dataset-config/context-var/index.tsx

@@ -3,11 +3,13 @@ import type { FC } from 'react'
 import React from 'react'
 import { useTranslation } from 'react-i18next'
 import cn from 'classnames'
+import {
+  RiQuestionLine,
+} from '@remixicon/react'
 import type { Props } from './var-picker'
 import VarPicker from './var-picker'
 import { BracketsX } from '@/app/components/base/icons/src/vender/line/development'
 import Tooltip from '@/app/components/base/tooltip'
-import { HelpCircle } from '@/app/components/base/icons/src/vender/line/general'
 
 const ContextVar: FC<Props> = (props) => {
   const { t } = useTranslation()
@@ -27,7 +29,7 @@ const ContextVar: FC<Props> = (props) => {
           </div>}
           selector='context-var-tooltip'
         >
-          <HelpCircle className='w-3.5 h-3.5 text-gray-400'/>
+          <RiQuestionLine className='w-3.5 h-3.5 text-gray-400'/>
         </Tooltip>
       </div>
 

+ 4 - 2
web/app/components/app/configuration/dataset-config/params-config/config-content.tsx

@@ -2,6 +2,9 @@
 import React from 'react'
 import type { FC } from 'react'
 import { useTranslation } from 'react-i18next'
+import {
+  RiQuestionLine,
+} from '@remixicon/react'
 import TopKItem from '@/app/components/base/param-item/top-k-item'
 import ScoreThresholdItem from '@/app/components/base/param-item/score-threshold-item'
 import RadioCard from '@/app/components/base/radio-card/simple'
@@ -19,7 +22,6 @@ import { useModelListAndDefaultModelAndCurrentProviderAndModel } from '@/app/com
 import type { ModelConfig } from '@/app/components/workflow/types'
 import ModelParameterModal from '@/app/components/header/account-setting/model-provider-page/model-parameter-modal'
 import TooltipPlus from '@/app/components/base/tooltip-plus'
-import { HelpCircle } from '@/app/components/base/icons/src/vender/line/general'
 import { ModelTypeEnum } from '@/app/components/header/account-setting/model-provider-page/declarations'
 
 type Props = {
@@ -155,7 +157,7 @@ const ConfigContent: FC<Props> = ({
             <TooltipPlus
               popupContent={t('common.modelProvider.systemReasoningModel.tip')}
             >
-              <HelpCircle className='w-3.5 h-4.5 text-gray-400' />
+              <RiQuestionLine className='w-3.5 h-4.5 text-gray-400' />
             </TooltipPlus>
           </div>
           <ModelParameterModal

+ 3 - 3
web/app/components/app/configuration/dataset-config/settings-modal/index.tsx

@@ -3,6 +3,7 @@ import { useRef, useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import { isEqual } from 'lodash-es'
 import cn from 'classnames'
+import { RiCloseLine } from '@remixicon/react'
 import { BookOpenIcon } from '@heroicons/react/24/outline'
 import IndexMethodRadio from '@/app/components/datasets/settings/index-method-radio'
 import Button from '@/app/components/base/button'
@@ -10,7 +11,6 @@ import type { DataSet } from '@/models/datasets'
 import { useToastContext } from '@/app/components/base/toast'
 import { updateDatasetSetting } from '@/service/datasets'
 import { useModalContext } from '@/context/modal-context'
-import { XClose } from '@/app/components/base/icons/src/vender/line/general'
 import type { RetrievalConfig } from '@/types/app'
 import RetrievalMethodConfig from '@/app/components/datasets/common/retrieval-method-config'
 import EconomicalRetrievalMethodConfig from '@/app/components/datasets/common/economical-retrieval-method-config'
@@ -136,7 +136,7 @@ const SettingsModal: FC<SettingsModalProps> = ({
             onClick={onCancel}
             className='flex justify-center items-center w-6 h-6 cursor-pointer'
           >
-            <XClose className='w-4 h-4 text-gray-500' />
+            <RiCloseLine className='w-4 h-4 text-gray-500' />
           </div>
         </div>
       </div>
@@ -262,7 +262,7 @@ const SettingsModal: FC<SettingsModalProps> = ({
             e.stopPropagation()
             e.nativeEvent.stopImmediatePropagation()
           }}>
-            <XClose className='w-4 h-4 text-gray-500 ' />
+            <RiCloseLine className='w-4 h-4 text-gray-500 ' />
           </div>
         </div>
       )}

+ 2 - 2
web/app/components/app/configuration/debug/debug-with-multiple-model/model-parameter-trigger.tsx

@@ -1,6 +1,7 @@
 import type { FC } from 'react'
 import { memo } from 'react'
 import { useTranslation } from 'react-i18next'
+import { RiArrowDownSLine } from '@remixicon/react'
 import type { ModelAndParameter } from '../types'
 import { useDebugWithMultipleModelContext } from './context'
 import ModelParameterModal from '@/app/components/header/account-setting/model-provider-page/model-parameter-modal'
@@ -11,7 +12,6 @@ import {
   ModelStatusEnum,
 } from '@/app/components/header/account-setting/model-provider-page/declarations'
 import { useDebugConfigurationContext } from '@/context/debug-configuration'
-import { ChevronDown } from '@/app/components/base/icons/src/vender/line/arrows'
 import { CubeOutline } from '@/app/components/base/icons/src/vender/line/shapes'
 import TooltipPlus from '@/app/components/base/tooltip-plus'
 import { AlertTriangle } from '@/app/components/base/icons/src/vender/line/alertsAndFeedback'
@@ -108,7 +108,7 @@ const ModelParameterTrigger: FC<ModelParameterTriggerProps> = ({
               </div>
             )
           }
-          <ChevronDown className={`w-3 h-3 ${(currentModel && currentProvider) ? 'text-gray-800' : 'text-primary-600'}`} />
+          <RiArrowDownSLine className={`w-3 h-3 ${(currentModel && currentProvider) ? 'text-gray-800' : 'text-primary-600'}`} />
           {
             currentModel && currentModel.status !== ModelStatusEnum.active && (
               <TooltipPlus popupContent={MODEL_STATUS_TEXT[currentModel.status][language]}>

+ 4 - 2
web/app/components/app/configuration/debug/index.tsx

@@ -5,6 +5,9 @@ import { useTranslation } from 'react-i18next'
 import React, { useCallback, useEffect, useRef, useState } from 'react'
 import { setAutoFreeze } from 'immer'
 import { useBoolean } from 'ahooks'
+import {
+  RiAddLine,
+} from '@remixicon/react'
 import { useContext } from 'use-context-selector'
 import { useShallow } from 'zustand/react/shallow'
 import HasNotSetAPIKEY from '../base/warning-mask/has-not-set-api'
@@ -34,7 +37,6 @@ import { fetchFileUploadConfig } from '@/service/common'
 import { useDefaultModel } from '@/app/components/header/account-setting/model-provider-page/hooks'
 import { ModelFeatureEnum, ModelTypeEnum } from '@/app/components/header/account-setting/model-provider-page/declarations'
 import type { ModelParameterModalProps } from '@/app/components/header/account-setting/model-provider-page/model-parameter-modal'
-import { Plus } from '@/app/components/base/icons/src/vender/line/general'
 import { useEventEmitterContextContext } from '@/context/event-emitter'
 import { useProviderContext } from '@/context/provider-context'
 import PromptLogModal from '@/app/components/base/prompt-log-modal'
@@ -404,7 +406,7 @@ const Debug: FC<IDebug> = ({
                       onClick={() => onMultipleModelConfigsChange(true, [...multipleModelConfigs, { id: `${Date.now()}`, model: '', provider: '', parameters: {} }])}
                       disabled={multipleModelConfigs.length >= 4}
                     >
-                      <Plus className='mr-1 w-3.5 h-3.5' />
+                      <RiAddLine className='mr-1 w-3.5 h-3.5' />
                       {t('common.modelProvider.addModel')}({multipleModelConfigs.length}/4)
                     </Button>
                     <div className='mx-2 w-[1px] h-[14px] bg-gray-200' />

+ 6 - 3
web/app/components/app/configuration/features/chat-group/opening-statement/index.tsx

@@ -3,6 +3,10 @@
 import type { FC } from 'react'
 import React, { useEffect, useRef, useState } from 'react'
 import cn from 'classnames'
+import {
+  RiAddLine,
+  RiDeleteBinLine,
+} from '@remixicon/react'
 import { useContext } from 'use-context-selector'
 import produce from 'immer'
 import { useTranslation } from 'react-i18next'
@@ -16,7 +20,6 @@ import { getInputKeys } from '@/app/components/base/block-input'
 import ConfirmAddVar from '@/app/components/app/configuration/config-prompt/confirm-add-var'
 import { getNewVar } from '@/utils/var'
 import { varHighlightHTML } from '@/app/components/app/configuration/base/var-highlight'
-import { Plus, Trash03 } from '@/app/components/base/icons/src/vender/line/general'
 
 const MAX_QUESTION_NUM = 5
 
@@ -192,7 +195,7 @@ const OpeningStatement: FC<IOpeningStatementProps> = ({
                     setTempSuggestedQuestions(tempSuggestedQuestions.filter((_, i) => index !== i))
                   }}
                 >
-                  <Trash03 className='w-3.5 h-3.5' />
+                  <RiDeleteBinLine className='w-3.5 h-3.5' />
                 </div>
               </div>
             )
@@ -201,7 +204,7 @@ const OpeningStatement: FC<IOpeningStatementProps> = ({
           <div
             onClick={() => { setTempSuggestedQuestions([...tempSuggestedQuestions, '']) }}
             className='mt-1 flex items-center h-9 px-3 gap-2 rounded-lg cursor-pointer text-gray-400  bg-gray-100 hover:bg-gray-200'>
-            <Plus className='w-4 h-4'></Plus>
+            <RiAddLine className='w-4 h-4' />
             <div className='text-gray-500 text-[13px]'>{t('appDebug.variableConig.addOption')}</div>
           </div>
         )}

+ 4 - 2
web/app/components/app/configuration/features/chat-group/suggested-questions-after-answer/index.tsx

@@ -2,10 +2,12 @@
 import type { FC } from 'react'
 import React from 'react'
 import { useTranslation } from 'react-i18next'
+import {
+  RiQuestionLine,
+} from '@remixicon/react'
 import Panel from '@/app/components/app/configuration/base/feature-panel'
 import SuggestedQuestionsAfterAnswerIcon from '@/app/components/app/configuration/base/icons/suggested-questions-after-answer-icon'
 import Tooltip from '@/app/components/base/tooltip'
-import { HelpCircle } from '@/app/components/base/icons/src/vender/line/general'
 
 const SuggestedQuestionsAfterAnswer: FC = () => {
   const { t } = useTranslation()
@@ -18,7 +20,7 @@ const SuggestedQuestionsAfterAnswer: FC = () => {
           <Tooltip htmlContent={<div className='w-[180px]'>
             {t('appDebug.feature.suggestedQuestionsAfterAnswer.description')}
           </div>} selector='suggestion-question-tooltip'>
-            <HelpCircle className='w-[14px] h-[14px] text-gray-400' />
+            <RiQuestionLine className='w-[14px] h-[14px] text-gray-400' />
           </Tooltip>
         </div>
       }

+ 6 - 3
web/app/components/app/configuration/prompt-value-panel/index.tsx

@@ -4,6 +4,10 @@ import React, { useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import { useContext } from 'use-context-selector'
 import {
+  RiArrowDownSLine,
+  RiArrowRightLine,
+} from '@remixicon/react'
+import {
   PlayIcon,
 } from '@heroicons/react/24/solid'
 import ConfigContext from '@/context/debug-configuration'
@@ -12,7 +16,6 @@ import { AppType, ModelModeType } from '@/types/app'
 import Select from '@/app/components/base/select'
 import { DEFAULT_VALUE_MAX_LEN } from '@/config'
 import Button from '@/app/components/base/button'
-import { ChevronDown, ChevronRight } from '@/app/components/base/icons/src/vender/line/arrows'
 import Tooltip from '@/app/components/base/tooltip-plus'
 import TextGenerationImageUploader from '@/app/components/base/image-uploader/text-generation-image-uploader'
 import type { VisionFile, VisionSettings } from '@/types/app'
@@ -102,8 +105,8 @@ const PromptValuePanel: FC<IPromptValuePanelProps> = ({
           <div className='flex items-center space-x-1 cursor-pointer' onClick={() => setUserInputFieldCollapse(!userInputFieldCollapse)}>
             {
               userInputFieldCollapse
-                ? <ChevronRight className='w-3 h-3 text-gray-300' />
-                : <ChevronDown className='w-3 h-3 text-gray-300' />
+                ? <RiArrowRightLine className='w-3 h-3 text-gray-300' />
+                : <RiArrowDownSLine className='w-3 h-3 text-gray-300' />
             }
             <div className='text-xs font-medium text-gray-800 uppercase'>{t('appDebug.inputs.userInputField')}</div>
           </div>

+ 5 - 2
web/app/components/app/configuration/toolbox/annotation/config-param.tsx

@@ -4,11 +4,14 @@ import React from 'react'
 import { useTranslation } from 'react-i18next'
 import { useContext } from 'use-context-selector'
 import { usePathname, useRouter } from 'next/navigation'
+import {
+  RiQuestionLine,
+} from '@remixicon/react'
 import ConfigParamModal from './config-param-modal'
 import Panel from '@/app/components/app/configuration/base/feature-panel'
 import { MessageFast } from '@/app/components/base/icons/src/vender/solid/communication'
 import TooltipPlus from '@/app/components/base/tooltip-plus'
-import { HelpCircle, LinkExternal02, Settings04 } from '@/app/components/base/icons/src/vender/line/general'
+import { LinkExternal02, Settings04 } from '@/app/components/base/icons/src/vender/line/general'
 import ConfigContext from '@/context/debug-configuration'
 import type { EmbeddingModelConfig } from '@/app/components/app/annotation/type'
 import { updateAnnotationScore } from '@/service/annotation'
@@ -32,7 +35,7 @@ export const Item: FC<{ title: string; tooltip: string; children: JSX.Element }>
             <div className='max-w-[200px] leading-[18px] text-[13px] font-medium text-gray-800'>{tooltip}</div>
           }
         >
-          <HelpCircle className='w-3.5 h-3.5 text-gray-400' />
+          <RiQuestionLine className='w-3.5 h-3.5 text-gray-400' />
         </TooltipPlus>
       </div>
       <div>{children}</div>

+ 10 - 8
web/app/components/app/configuration/tools/index.tsx

@@ -3,17 +3,19 @@ import { useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import copy from 'copy-to-clipboard'
 import { useContext } from 'use-context-selector'
+import {
+  RiAddLine,
+  RiArrowDownSLine,
+  RiDeleteBinLine,
+  RiQuestionLine,
+} from '@remixicon/react'
 import ConfigContext from '@/context/debug-configuration'
 import Switch from '@/app/components/base/switch'
 import TooltipPlus from '@/app/components/base/tooltip-plus'
 import { Tool03 } from '@/app/components/base/icons/src/vender/solid/general'
 import {
-  HelpCircle,
-  Plus,
   Settings01,
-  Trash03,
 } from '@/app/components/base/icons/src/vender/line/general'
-import { ChevronDown } from '@/app/components/base/icons/src/vender/line/arrows'
 import { useModalContext } from '@/context/modal-context'
 import type { ExternalDataTool } from '@/models/common'
 import AppIcon from '@/app/components/base/app-icon'
@@ -98,7 +100,7 @@ const Tools = () => {
             }
             {
               !!externalDataToolsConfig.length && (
-                <ChevronDown className={`hidden group-hover:block w-4 h-4 text-primary-600 cursor-pointer ${expanded ? 'rotate-180' : 'rotate-0'}`} />
+                <RiArrowDownSLine className={`hidden group-hover:block w-4 h-4 text-primary-600 cursor-pointer ${expanded ? 'rotate-180' : 'rotate-0'}`} />
               )
             }
           </div>
@@ -106,7 +108,7 @@ const Tools = () => {
             {t('appDebug.feature.tools.title')}
           </div>
           <TooltipPlus popupContent={<div className='max-w-[160px]'>{t('appDebug.feature.tools.tips')}</div>}>
-            <HelpCircle className='w-3.5 h-3.5 text-gray-400' />
+            <RiQuestionLine className='w-3.5 h-3.5 text-gray-400' />
           </TooltipPlus>
         </div>
         {
@@ -121,7 +123,7 @@ const Tools = () => {
           className='flex items-center h-7 px-3 text-xs font-medium text-gray-700 cursor-pointer'
           onClick={() => handleOpenExternalDataToolModal({}, -1)}
         >
-          <Plus className='mr-[5px] w-3.5 h-3.5 ' />
+          <RiAddLine className='mr-[5px] w-3.5 h-3.5 ' />
           {t('common.operation.add')}
         </div>
       </div>
@@ -165,7 +167,7 @@ const Tools = () => {
                     className='hidden group/action group-hover:flex items-center justify-center w-6 h-6 hover:bg-[#FEE4E2] rounded-md cursor-pointer'
                     onClick={() => setExternalDataToolsConfig([...externalDataToolsConfig.slice(0, index), ...externalDataToolsConfig.slice(index + 1)])}
                   >
-                    <Trash03 className='w-4 h-4 text-gray-500 group-hover/action:text-[#D92D20]' />
+                    <RiDeleteBinLine className='w-4 h-4 text-gray-500 group-hover/action:text-[#D92D20]' />
                   </div>
                   <div className='hidden group-hover:block ml-2 mr-3 w-[1px] h-3.5 bg-gray-200' />
                   <Switch

+ 2 - 2
web/app/components/app/create-app-dialog/index.tsx

@@ -1,8 +1,8 @@
 'use client'
 import { useTranslation } from 'react-i18next'
+import { RiCloseLine } from '@remixicon/react'
 import NewAppDialog from './newAppDialog'
 import AppList, { PageType } from '@/app/components/explore/app-list'
-import { XClose } from '@/app/components/base/icons/src/vender/line/general'
 
 type CreateAppDialogProps = {
   show: boolean
@@ -28,7 +28,7 @@ const CreateAppTemplateDialog = ({ show, onSuccess, onClose }: CreateAppDialogPr
         }} pageType={PageType.CREATE} />
       </div>
       <div className='absolute right-6 top-6 p-2 cursor-pointer z-20' onClick={onClose}>
-        <XClose className='w-4 h-4 text-gray-500' />
+        <RiCloseLine className='w-4 h-4 text-gray-500' />
       </div>
     </NewAppDialog>
   )

+ 7 - 4
web/app/components/app/create-app-modal/index.tsx

@@ -3,6 +3,10 @@ import type { MouseEventHandler } from 'react'
 import { useCallback, useRef, useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import cn from 'classnames'
+import {
+  RiCloseLine,
+  RiQuestionLine,
+} from '@remixicon/react'
 import { useRouter } from 'next/navigation'
 import { useContext, useContextSelector } from 'use-context-selector'
 import s from './style.module.css'
@@ -17,7 +21,6 @@ import AppIcon from '@/app/components/base/app-icon'
 import EmojiPicker from '@/app/components/base/emoji-picker'
 import AppsFull from '@/app/components/billing/apps-full-in-dialog'
 import { AiText, ChatBot, CuteRobote } from '@/app/components/base/icons/src/vender/solid/communication'
-import { HelpCircle, XClose } from '@/app/components/base/icons/src/vender/line/general'
 import { Route } from '@/app/components/base/icons/src/vender/solid/mapsAndTravel'
 import TooltipPlus from '@/app/components/base/tooltip-plus'
 import { NEED_REFRESH_APP_LIST_KEY } from '@/config'
@@ -202,7 +205,7 @@ const CreateAppModal = ({ show, onSuccess, onClose }: CreateAppDialogProps) => {
               <div className='flex items-center justify-between'>
                 <div className='h-5 text-sm font-medium leading-5'>{t('app.newApp.basic')}</div>
                 <div className='group'>
-                  <HelpCircle className='w-[14px] h-[14px] text-gray-400 hover:text-gray-500' />
+                  <RiQuestionLine className='w-[14px] h-[14px] text-gray-400 hover:text-gray-500' />
                   <div
                     className={cn(
                       'hidden z-20 absolute left-[327px] top-[-158px] w-[376px] rounded-xl bg-white border-[0.5px] border-[rgba(0,0,0,0.05)] shadow-lg group-hover:block',
@@ -236,7 +239,7 @@ const CreateAppModal = ({ show, onSuccess, onClose }: CreateAppDialogProps) => {
                   <span className='px-1 rounded-[5px] bg-white border border-black/8 text-gray-500 text-[10px] leading-[18px] font-medium'>BETA</span>
                 </div>
                 <div className='group'>
-                  <HelpCircle className='w-[14px] h-[14px] text-gray-400 hover:text-gray-500' />
+                  <RiQuestionLine className='w-[14px] h-[14px] text-gray-400 hover:text-gray-500' />
                   <div
                     className={cn(
                       'hidden z-20 absolute right-[26px] top-[-158px] w-[376px] rounded-xl bg-white border-[0.5px] border-[rgba(0,0,0,0.05)] shadow-lg group-hover:block',
@@ -305,7 +308,7 @@ const CreateAppModal = ({ show, onSuccess, onClose }: CreateAppDialogProps) => {
         <Button className='text-sm font-medium' disabled={isAppsFull || !name} variant="primary" onClick={onCreate}>{t('app.newApp.Create')}</Button>
       </div>
       <div className='absolute right-6 top-6 p-2 cursor-pointer z-20' onClick={onClose}>
-        <XClose className='w-4 h-4 text-gray-500' />
+        <RiCloseLine className='w-4 h-4 text-gray-500' />
       </div>
     </Modal>
   )

+ 2 - 2
web/app/components/app/create-from-dsl-modal/index.tsx

@@ -5,6 +5,7 @@ import { useRef, useState } from 'react'
 import { useRouter } from 'next/navigation'
 import { useContext } from 'use-context-selector'
 import { useTranslation } from 'react-i18next'
+import { RiCloseLine } from '@remixicon/react'
 import Uploader from './uploader'
 import Button from '@/app/components/base/button'
 import Modal from '@/app/components/base/modal'
@@ -13,7 +14,6 @@ import { importApp } from '@/service/apps'
 import { useAppContext } from '@/context/app-context'
 import { useProviderContext } from '@/context/provider-context'
 import AppsFull from '@/app/components/billing/apps-full-in-dialog'
-import { XClose } from '@/app/components/base/icons/src/vender/line/general'
 import { NEED_REFRESH_APP_LIST_KEY } from '@/config'
 import { getRedirection } from '@/utils/app-redirection'
 
@@ -84,7 +84,7 @@ const CreateFromDSLModal = ({ show, onSuccess, onClose }: CreateFromDSLModalProp
     >
       <div className='relative pb-2 text-xl font-medium leading-[30px] text-gray-900'>{t('app.createFromConfigFile')}</div>
       <div className='absolute right-4 top-4 p-2 cursor-pointer' onClick={onClose}>
-        <XClose className='w-4 h-4 text-gray-500' />
+        <RiCloseLine className='w-4 h-4 text-gray-500' />
       </div>
       <Uploader
         file={currentFile}

+ 5 - 2
web/app/components/app/create-from-dsl-modal/uploader.tsx

@@ -2,11 +2,14 @@
 import type { FC } from 'react'
 import React, { useEffect, useRef, useState } from 'react'
 import cn from 'classnames'
+import {
+  RiDeleteBinLine,
+} from '@remixicon/react'
 import { useTranslation } from 'react-i18next'
 import { useContext } from 'use-context-selector'
 import { Yaml as YamlIcon } from '@/app/components/base/icons/src/public/files'
 import { ToastContext } from '@/app/components/base/toast'
-import { Trash03, UploadCloud01 } from '@/app/components/base/icons/src/vender/line/general'
+import { UploadCloud01 } from '@/app/components/base/icons/src/vender/line/general'
 import Button from '@/app/components/base/button'
 
 export type Props = {
@@ -113,7 +116,7 @@ const Uploader: FC<Props> = ({
               <Button className='!h-8 !px-3 !py-[6px] bg-white !text-[13px] !leading-[18px] text-gray-700' onClick={selectHandle}>{t('datasetCreation.stepOne.uploader.change')}</Button>
               <div className='mx-2 w-px h-4 bg-gray-200' />
               <div className='p-2 cursor-pointer' onClick={removeFile}>
-                <Trash03 className='w-4 h-4 text-gray-500' />
+                <RiDeleteBinLine className='w-4 h-4 text-gray-500' />
               </div>
             </div>
           </div>

+ 6 - 3
web/app/components/app/log/var-panel.tsx

@@ -3,7 +3,10 @@ import { useBoolean } from 'ahooks'
 import type { FC } from 'react'
 import React, { useState } from 'react'
 import { useTranslation } from 'react-i18next'
-import { ChevronDown, ChevronRight } from '@/app/components/base/icons/src/vender/line/arrows'
+import {
+  RiArrowDownSLine,
+  RiArrowRightSLine,
+} from '@remixicon/react'
 import ImagePreview from '@/app/components/base/image-uploader/image-preview'
 
 type Props = {
@@ -27,8 +30,8 @@ const VarPanel: FC<Props> = ({
       >
         {
           isCollapse
-            ? <ChevronRight className='w-3 h-3 text-gray-300' />
-            : <ChevronDown className='w-3 h-3 text-gray-300' />
+            ? <RiArrowRightSLine className='w-3 h-3 text-gray-300' />
+            : <RiArrowDownSLine className='w-3 h-3 text-gray-300' />
         }
         <div className='text-sm font-semibold text-indigo-800 uppercase'>{t('appLog.detail.variables')}</div>
       </div>

+ 3 - 2
web/app/components/app/overview/apikey-info-panel/index.tsx

@@ -3,8 +3,9 @@ import type { FC } from 'react'
 import React, { useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import cn from 'classnames'
+import { RiCloseLine } from '@remixicon/react'
 import Button from '@/app/components/base/button'
-import { LinkExternal02, XClose } from '@/app/components/base/icons/src/vender/line/general'
+import { LinkExternal02 } from '@/app/components/base/icons/src/vender/line/general'
 import { IS_CE_EDITION } from '@/config'
 import { useProviderContext } from '@/context/provider-context'
 import { useModalContext } from '@/context/modal-context'
@@ -64,7 +65,7 @@ const APIKeyInfoPanel: FC = () => {
       <div
         onClick={() => setIsShow(false)}
         className='absolute right-4 top-4 flex items-center justify-center w-8 h-8 cursor-pointer '>
-        <XClose className='w-4 h-4 text-gray-500' />
+        <RiCloseLine className='w-4 h-4 text-gray-500' />
       </div>
     </div>
   )

+ 2 - 2
web/app/components/app/switch-app-modal/index.tsx

@@ -5,6 +5,7 @@ import { useRouter } from 'next/navigation'
 import { useContext } from 'use-context-selector'
 import { useTranslation } from 'react-i18next'
 import cn from 'classnames'
+import { RiCloseLine } from '@remixicon/react'
 import s from './style.module.css'
 import Button from '@/app/components/base/button'
 import Modal from '@/app/components/base/modal'
@@ -15,7 +16,6 @@ import { useAppContext } from '@/context/app-context'
 import { useProviderContext } from '@/context/provider-context'
 import AppsFull from '@/app/components/billing/apps-full-in-dialog'
 import EmojiPicker from '@/app/components/base/emoji-picker'
-import { XClose } from '@/app/components/base/icons/src/vender/line/general'
 import { NEED_REFRESH_APP_LIST_KEY } from '@/config'
 import { getRedirection } from '@/utils/app-redirection'
 import type { App } from '@/types/app'
@@ -92,7 +92,7 @@ const SwitchAppModal = ({ show, appDetail, inAppDetail = false, onSuccess, onClo
         onClose={() => { }}
       >
         <div className='absolute right-4 top-4 p-2 cursor-pointer' onClick={onClose}>
-          <XClose className='w-4 h-4 text-gray-500' />
+          <RiCloseLine className='w-4 h-4 text-gray-500' />
         </div>
         <div className='w-12 h-12 p-3 bg-white rounded-xl border-[0.5px] border-gray-100 shadow-xl'>
           <AlertTriangle className='w-6 h-6 text-[rgb(247,144,9)]' />

+ 5 - 2
web/app/components/app/text-generate/item/index.tsx

@@ -3,6 +3,9 @@ import type { FC } from 'react'
 import React, { useEffect, useRef, useState } from 'react'
 import { useTranslation } from 'react-i18next'
 import cn from 'classnames'
+import {
+  RiClipboardLine,
+} from '@remixicon/react'
 import copy from 'copy-to-clipboard'
 import { useParams } from 'next/navigation'
 import { HandThumbDownIcon, HandThumbUpIcon } from '@heroicons/react/24/outline'
@@ -15,7 +18,7 @@ import Toast from '@/app/components/base/toast'
 import AudioBtn from '@/app/components/base/audio-btn'
 import type { Feedbacktype } from '@/app/components/app/chat/type'
 import { fetchMoreLikeThis, updateFeedback } from '@/service/share'
-import { Clipboard, File02 } from '@/app/components/base/icons/src/vender/line/files'
+import { File02 } from '@/app/components/base/icons/src/vender/line/files'
 import { Bookmark } from '@/app/components/base/icons/src/vender/line/general'
 import { Stars02 } from '@/app/components/base/icons/src/vender/line/weather'
 import { RefreshCcw01 } from '@/app/components/base/icons/src/vender/line/arrows'
@@ -334,7 +337,7 @@ const GenerationItem: FC<IGenerationItemProps> = ({
                         copy(JSON.stringify(copyContent))
                       Toast.notify({ type: 'success', message: t('common.actionMsg.copySuccessfully') })
                     }}>
-                    <Clipboard className='w-3.5 h-3.5' />
+                    <RiClipboardLine className='w-3.5 h-3.5' />
                     {!isMobile && <div>{t('common.operation.copy')}</div>}
                   </SimpleBtn>
                 )}

+ 2 - 2
web/app/components/app/type-selector/index.tsx

@@ -1,12 +1,12 @@
 import { useTranslation } from 'react-i18next'
 import React, { useState } from 'react'
 import cn from 'classnames'
+import { RiArrowDownSLine } from '@remixicon/react'
 import {
   PortalToFollowElem,
   PortalToFollowElemContent,
   PortalToFollowElemTrigger,
 } from '@/app/components/base/portal-to-follow-elem'
-import { ChevronDown } from '@/app/components/base/icons/src/vender/line/arrows'
 import { Check, DotsGrid } from '@/app/components/base/icons/src/vender/line/general'
 import { XCircle } from '@/app/components/base/icons/src/vender/solid/general'
 import { ChatBot, CuteRobote } from '@/app/components/base/icons/src/vender/solid/communication'
@@ -44,7 +44,7 @@ const AppTypeSelector = ({ value, onChange }: AppSelectorProps) => {
                 </div>
                 <div className=''>{t('app.typeSelector.all')}</div>
                 <div className='w-4 h-4 p-[1px]'>
-                  <ChevronDown className='w-3.5 h-3.5' />
+                  <RiArrowDownSLine className='w-3.5 h-3.5' />
                 </div>
               </>
             )}

+ 2 - 2
web/app/components/app/workflow-log/detail.tsx

@@ -1,8 +1,8 @@
 'use client'
 import type { FC } from 'react'
 import { useTranslation } from 'react-i18next'
+import { RiCloseLine } from '@remixicon/react'
 import Run from '@/app/components/workflow/run'
-import { XClose } from '@/app/components/base/icons/src/vender/line/general'
 
 type ILogDetail = {
   runID: string
@@ -15,7 +15,7 @@ const DetailPanel: FC<ILogDetail> = ({ runID, onClose }) => {
   return (
     <div className='grow relative flex flex-col py-3'>
       <span className='absolute right-3 top-4 p-1 cursor-pointer z-20' onClick={onClose}>
-        <XClose className='w-4 h-4 text-gray-500' />
+        <RiCloseLine className='w-4 h-4 text-gray-500' />
       </span>
       <h1 className='shrink-0 px-4 py-1 text-md font-semibold text-gray-900'>{t('appLog.runDetail.workflowTitle')}</h1>
       <Run runID={runID}/>

+ 2 - 2
web/app/components/base/agent-log-modal/index.tsx

@@ -1,10 +1,10 @@
 import type { FC } from 'react'
 import { useTranslation } from 'react-i18next'
 import cn from 'classnames'
+import { RiCloseLine } from '@remixicon/react'
 import { useEffect, useRef, useState } from 'react'
 import { useClickAway } from 'ahooks'
 import AgentLogDetail from './detail'
-import { XClose } from '@/app/components/base/icons/src/vender/line/general'
 import type { IChatItem } from '@/app/components/app/chat/type'
 
 type AgentLogModalProps = {
@@ -47,7 +47,7 @@ const AgentLogModal: FC<AgentLogModalProps> = ({
     >
       <h1 className='shrink-0 px-4 py-1 text-md font-semibold text-gray-900'>{t('appLog.runDetail.workflowTitle')}</h1>
       <span className='absolute right-3 top-4 p-1 cursor-pointer z-20' onClick={onCancel}>
-        <XClose className='w-4 h-4 text-gray-500' />
+        <RiCloseLine className='w-4 h-4 text-gray-500' />
       </span>
       <AgentLogDetail
         conversationID={currentLogItem.conversationId}

+ 6 - 4
web/app/components/base/agent-log-modal/tool-call.tsx

@@ -2,12 +2,14 @@
 import type { FC } from 'react'
 import { useState } from 'react'
 import cn from 'classnames'
+import {
+  RiCheckboxCircleLine,
+  RiErrorWarningLine,
+} from '@remixicon/react'
 import { useContext } from 'use-context-selector'
 import BlockIcon from '@/app/components/workflow/block-icon'
 import CodeEditor from '@/app/components/workflow/nodes/_base/components/editor/code-editor'
 import { CodeLanguage } from '@/app/components/workflow/nodes/code/types'
-import { AlertCircle } from '@/app/components/base/icons/src/vender/line/alertsAndFeedback'
-import { CheckCircle } from '@/app/components/base/icons/src/vender/line/general'
 import { ChevronRight } from '@/app/components/base/icons/src/vender/line/arrows'
 import type { ToolCall } from '@/models/log'
 import { BlockEnum } from '@/app/components/workflow/types'
@@ -73,10 +75,10 @@ const ToolCallItem: FC<Props> = ({ toolCall, isLLM = false, isFinal, tokens, obs
             )}
           </div>
           {toolCall.status === 'success' && (
-            <CheckCircle className='shrink-0 ml-2 w-3.5 h-3.5 text-[#12B76A]' />
+            <RiCheckboxCircleLine className='shrink-0 ml-2 w-3.5 h-3.5 text-[#12B76A]' />
           )}
           {toolCall.status === 'error' && (
-            <AlertCircle className='shrink-0 ml-2 w-3.5 h-3.5 text-[#F04438]' />
+            <RiErrorWarningLine className='shrink-0 ml-2 w-3.5 h-3.5 text-[#F04438]' />
           )}
         </div>
         {!collapseState && (

+ 2 - 2
web/app/components/base/button/add-button.tsx

@@ -2,7 +2,7 @@
 import type { FC } from 'react'
 import React from 'react'
 import cn from 'classnames'
-import { Plus } from '../icons/src/vender/line/general'
+import { RiAddLine } from '@remixicon/react'
 
 type Props = {
   className?: string
@@ -15,7 +15,7 @@ const AddButton: FC<Props> = ({
 }) => {
   return (
     <div className={cn(className, 'p-1 rounded-md cursor-pointer hover:bg-gray-200 select-none')} onClick={onClick}>
-      <Plus className='w-4 h-4 text-gray-500' />
+      <RiAddLine className='w-4 h-4 text-gray-500' />
     </div>
   )
 }

+ 8 - 6
web/app/components/base/chat/chat/answer/workflow-process.tsx

@@ -5,12 +5,14 @@ import {
   useState,
 } from 'react'
 import cn from 'classnames'
+import {
+  RiArrowRightSLine,
+  RiErrorWarningFill,
+  RiLoader2Line,
+} from '@remixicon/react'
 import { useTranslation } from 'react-i18next'
 import type { ChatItem, WorkflowProcess } from '../../types'
 import { CheckCircle } from '@/app/components/base/icons/src/vender/solid/general'
-import { AlertCircle } from '@/app/components/base/icons/src/vender/solid/alertsAndFeedback'
-import { Loading02 } from '@/app/components/base/icons/src/vender/line/general'
-import { ChevronRight } from '@/app/components/base/icons/src/vender/line/arrows'
 import { WorkflowRunningStatus } from '@/app/components/workflow/types'
 import NodePanel from '@/app/components/workflow/run/node'
 import { useStore as useAppStore } from '@/app/components/app/store'
@@ -83,7 +85,7 @@ const WorkflowProcessItem = ({
       >
         {
           running && (
-            <Loading02 className='shrink-0 mr-1 w-3 h-3 text-[#667085] animate-spin' />
+            <RiLoader2Line className='shrink-0 mr-1 w-3 h-3 text-[#667085] animate-spin' />
           )
         }
         {
@@ -93,13 +95,13 @@ const WorkflowProcessItem = ({
         }
         {
           failed && (
-            <AlertCircle className='shrink-0 mr-1 w-3 h-3 text-[#F04438]' />
+            <RiErrorWarningFill className='shrink-0 mr-1 w-3 h-3 text-[#F04438]' />
           )
         }
         <div className='grow text-xs font-medium text-gray-700'>
           {t('workflow.common.workflowProcess')}
         </div>
-        <ChevronRight className={`'ml-1 w-3 h-3 text-gray-500' ${collapse ? '' : 'rotate-90'}`} />
+        <RiArrowRightSLine className={`'ml-1 w-3 h-3 text-gray-500' ${collapse ? '' : 'rotate-90'}`} />
       </div>
       {
         !collapse && (

+ 6 - 4
web/app/components/base/confirm/common.tsx

@@ -1,10 +1,12 @@
 import type { FC, ReactElement } from 'react'
 import { useTranslation } from 'react-i18next'
 import cn from 'classnames'
+import {
+  RiCloseLine,
+  RiErrorWarningFill,
+} from '@remixicon/react'
 import s from './common.module.css'
 import Modal from '@/app/components/base/modal'
-import { XClose } from '@/app/components/base/icons/src/vender/line/general'
-import { AlertCircle } from '@/app/components/base/icons/src/vender/solid/alertsAndFeedback'
 import { CheckCircle } from '@/app/components/base/icons/src/vender/solid/general'
 import Button from '@/app/components/base/button'
 
@@ -41,7 +43,7 @@ const ConfirmCommon: FC<ConfirmCommonProps> = ({
 
   const CONFIRM_MAP: Record<string, { icon: ReactElement; confirmText: string }> = {
     danger: {
-      icon: <AlertCircle className='w-6 h-6 text-[#D92D20]' />,
+      icon: <RiErrorWarningFill className='w-6 h-6 text-[#D92D20]' />,
       confirmText: t('common.operation.remove'),
     },
     success: {
@@ -54,7 +56,7 @@ const ConfirmCommon: FC<ConfirmCommonProps> = ({
     <Modal isShow={isShow} onClose={() => { }} className='!w-[480px] !max-w-[480px] !p-0 !rounded-2xl' wrapperClassName={confirmWrapperClassName}>
       <div className={cn(s[`wrapper-${type}`], 'relative p-8')}>
         <div className='flex items-center justify-center absolute top-4 right-4 w-8 h-8 cursor-pointer' onClick={onCancel}>
-          <XClose className='w-4 h-4 text-gray-500' />
+          <RiCloseLine className='w-4 h-4 text-gray-500' />
         </div>
         <div className='flex items-center justify-center mb-3 w-12 h-12 bg-white shadow-xl rounded-xl'>
           {CONFIRM_MAP[type].icon}

+ 4 - 1
web/app/components/base/copy-icon/index.tsx

@@ -4,7 +4,10 @@ import { useTranslation } from 'react-i18next'
 import { debounce } from 'lodash-es'
 import copy from 'copy-to-clipboard'
 import TooltipPlus from '../tooltip-plus'
-import { Clipboard, ClipboardCheck } from '@/app/components/base/icons/src/vender/line/files'
+import {
+  Clipboard,
+  ClipboardCheck,
+} from '@/app/components/base/icons/src/vender/line/files'
 
 type Props = {
   content: string

+ 2 - 2
web/app/components/base/drawer-plus/index.tsx

@@ -2,8 +2,8 @@
 import type { FC } from 'react'
 import React, { useRef } from 'react'
 import cn from 'classnames'
+import { RiCloseLine } from '@remixicon/react'
 import Drawer from '@/app/components/base/drawer'
-import { XClose } from '@/app/components/base/icons/src/vender/line/general'
 import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints'
 
 type Props = {
@@ -74,7 +74,7 @@ const DrawerPlus: FC<Props> = ({
                 onClick={onHide}
                 className='flex justify-center items-center w-6 h-6 cursor-pointer'
               >
-                <XClose className='w-4 h-4 text-gray-500' />
+                <RiCloseLine className='w-4 h-4 text-gray-500' />
               </div>
             </div>
           </div>

+ 4 - 2
web/app/components/base/dropdown/index.tsx

@@ -1,6 +1,8 @@
 import type { FC } from 'react'
 import { useState } from 'react'
-import { DotsHorizontal } from '@/app/components/base/icons/src/vender/line/general'
+import {
+  RiMoreFill,
+} from '@remixicon/react'
 import {
   PortalToFollowElem,
   PortalToFollowElemContent,
@@ -49,7 +51,7 @@ const Dropdown: FC<DropdownProps> = ({
                   ${open && 'bg-black/5'}
                 `}
               >
-                <DotsHorizontal className='w-4 h-4 text-gray-500' />
+                <RiMoreFill className='w-4 h-4 text-gray-500' />
               </div>
             )
         }

+ 4 - 2
web/app/components/base/features/feature-choose/index.tsx

@@ -1,11 +1,13 @@
 'use client'
 import React from 'react'
 import { useTranslation } from 'react-i18next'
+import {
+  RiAddLine,
+} from '@remixicon/react'
 import { useFeatures } from '../hooks'
 import type { OnFeaturesChange } from '../types'
 import FeatureModal from './feature-modal'
 import Button from '@/app/components/base/button'
-import { Plus } from '@/app/components/base/icons/src/vender/line/general'
 
 type ChooseFeatureProps = {
   onChange?: OnFeaturesChange
@@ -27,7 +29,7 @@ const ChooseFeature = ({
         `}
         onClick={() => !disabled && setShowFeaturesModal(true)}
       >
-        <Plus className='mr-1 w-4 h-4' />
+        <RiAddLine className='mr-1 w-4 h-4' />
         {t('appDebug.operation.addFeature')}
       </Button>
       {

+ 6 - 3
web/app/components/base/features/feature-panel/opening-statement/index.tsx

@@ -4,6 +4,10 @@ import type { FC } from 'react'
 import React, { useEffect, useRef, useState } from 'react'
 import produce from 'immer'
 import cn from 'classnames'
+import {
+  RiAddLine,
+  RiDeleteBinLine,
+} from '@remixicon/react'
 import { useTranslation } from 'react-i18next'
 import { useBoolean } from 'ahooks'
 import { ReactSortable } from 'react-sortablejs'
@@ -19,7 +23,6 @@ import { getInputKeys } from '@/app/components/base/block-input'
 import ConfirmAddVar from '@/app/components/app/configuration/config-prompt/confirm-add-var'
 import { getNewVar } from '@/utils/var'
 import { varHighlightHTML } from '@/app/components/app/configuration/base/var-highlight'
-import { Plus, Trash03 } from '@/app/components/base/icons/src/vender/line/general'
 import type { PromptVariable } from '@/models/debug'
 
 const MAX_QUESTION_NUM = 5
@@ -229,7 +232,7 @@ const OpeningStatement: FC<OpeningStatementProps> = ({
                     setTempSuggestedQuestions(tempSuggestedQuestions.filter((_, i) => index !== i))
                   }}
                 >
-                  <Trash03 className='w-3.5 h-3.5' />
+                  <RiDeleteBinLine className='w-3.5 h-3.5' />
                 </div>
               </div>
             )
@@ -238,7 +241,7 @@ const OpeningStatement: FC<OpeningStatementProps> = ({
           <div
             onClick={() => { setTempSuggestedQuestions([...tempSuggestedQuestions, '']) }}
             className='mt-1 flex items-center h-9 px-3 gap-2 rounded-lg cursor-pointer text-gray-400  bg-gray-100 hover:bg-gray-200'>
-            <Plus className='w-4 h-4'></Plus>
+            <RiAddLine className='w-4 h-4' />
             <div className='text-gray-500 text-[13px]'>{t('appDebug.variableConig.addOption')}</div>
           </div>
         )}

+ 4 - 2
web/app/components/base/features/feature-panel/suggested-questions-after-answer/index.tsx

@@ -2,7 +2,9 @@
 import type { FC } from 'react'
 import React from 'react'
 import { useTranslation } from 'react-i18next'
-import { HelpCircle } from '@/app/components/base/icons/src/vender/line/general'
+import {
+  RiQuestionLine,
+} from '@remixicon/react'
 import { MessageSmileSquare } from '@/app/components/base/icons/src/vender/solid/communication'
 import TooltipPlus from '@/app/components/base/tooltip-plus'
 
@@ -17,7 +19,7 @@ const SuggestedQuestionsAfterAnswer: FC = () => {
       <div className='shrink-0 mr-2 flex items-center whitespace-nowrap text-sm text-gray-800 font-semibold'>
         <div className='mr-2'>{t('appDebug.feature.suggestedQuestionsAfterAnswer.title')}</div>
         <TooltipPlus popupContent={t('appDebug.feature.suggestedQuestionsAfterAnswer.description')}>
-          <HelpCircle className='w-[14px] h-[14px] text-gray-400' />
+          <RiQuestionLine className='w-[14px] h-[14px] text-gray-400' />
         </TooltipPlus>
       </div>
       <div className='grow'></div>

+ 4 - 2
web/app/components/base/features/feature-panel/text-to-speech/param-config-content.tsx

@@ -3,6 +3,9 @@ import useSWR from 'swr'
 import produce from 'immer'
 import React, { Fragment } from 'react'
 import classNames from 'classnames'
+import {
+  RiQuestionLine,
+} from '@remixicon/react'
 import { usePathname } from 'next/navigation'
 import { useTranslation } from 'react-i18next'
 import { Listbox, Transition } from '@headlessui/react'
@@ -15,7 +18,6 @@ import type { OnFeaturesChange } from '../../types'
 import type { Item } from '@/app/components/base/select'
 import { fetchAppVoices } from '@/service/apps'
 import Tooltip from '@/app/components/base/tooltip'
-import { HelpCircle } from '@/app/components/base/icons/src/vender/line/general'
 import { languages } from '@/i18n/language'
 
 type VoiceParamConfigProps = {
@@ -70,7 +72,7 @@ const VoiceParamConfig = ({
                   <div key={item}>{item}</div>
                 ))}
               </div>} selector='config-resolution-tooltip'>
-                <HelpCircle className='w-[14px] h-[14px] text-gray-400' />
+                <RiQuestionLine className='w-[14px] h-[14px] text-gray-400' />
               </Tooltip>
             </div>
             <Listbox

+ 0 - 13
web/app/components/base/icons/assets/public/header-nav/explore/explore-active.svg

@@ -1,13 +0,0 @@
-<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g clip-path="url(#clip0_6139_55194)">
-<path d="M8 0.5C6.4467 0.5 5.1875 1.7592 5.1875 3.3125C5.1875 4.8658 6.4467 6.125 8 6.125C9.5533 6.125 10.8125 4.8658 10.8125 3.3125C10.8125 1.7592 9.5533 0.5 8 0.5Z" fill="#155EEF"/>
-<path d="M15.5 8C15.5 6.4467 14.2408 5.1875 12.6875 5.1875C11.1342 5.1875 9.875 6.4467 9.875 8C9.875 9.5533 11.1342 10.8125 12.6875 10.8125C14.2408 10.8125 15.5 9.5533 15.5 8Z" fill="#155EEF"/>
-<path d="M8 9.875C6.4467 9.875 5.1875 11.1342 5.1875 12.6875C5.1875 14.2408 6.4467 15.5 8 15.5C9.5533 15.5 10.8125 14.2408 10.8125 12.6875C10.8125 11.1342 9.5533 9.875 8 9.875Z" fill="#155EEF"/>
-<path d="M6.125 8C6.125 6.4467 4.8658 5.1875 3.3125 5.1875C1.7592 5.1875 0.5 6.4467 0.5 8C0.5 9.5533 1.7592 10.8125 3.3125 10.8125C4.8658 10.8125 6.125 9.5533 6.125 8Z" fill="#155EEF"/>
-</g>
-<defs>
-<clipPath id="clip0_6139_55194">
-<rect width="16" height="16" fill="white"/>
-</clipPath>
-</defs>
-</svg>

+ 0 - 13
web/app/components/base/icons/assets/public/header-nav/explore/explore.svg

@@ -1,13 +0,0 @@
-<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g clip-path="url(#clip0_6139_55192)">
-<path d="M10.25 3.3125C10.25 4.55514 9.24264 5.5625 8 5.5625C6.75736 5.5625 5.75 4.55514 5.75 3.3125C5.75 2.06986 6.75736 1.0625 8 1.0625C9.24264 1.0625 10.25 2.06986 10.25 3.3125Z" stroke="#667085" stroke-width="1.5" stroke-linecap="square"/>
-<path d="M12.6875 10.25C11.4449 10.25 10.4375 9.24264 10.4375 8C10.4375 6.75736 11.4449 5.75 12.6875 5.75C13.9301 5.75 14.9375 6.75736 14.9375 8C14.9375 9.24264 13.9301 10.25 12.6875 10.25Z" stroke="#667085" stroke-width="1.5" stroke-linecap="square"/>
-<path d="M10.25 12.6875C10.25 13.9301 9.24264 14.9375 8 14.9375C6.75736 14.9375 5.75 13.9301 5.75 12.6875C5.75 11.4449 6.75736 10.4375 8 10.4375C9.24264 10.4375 10.25 11.4449 10.25 12.6875Z" stroke="#667085" stroke-width="1.5" stroke-linecap="square"/>
-<path d="M3.3125 10.25C2.06986 10.25 1.0625 9.24264 1.0625 8C1.0625 6.75736 2.06986 5.75 3.3125 5.75C4.55514 5.75 5.5625 6.75736 5.5625 8C5.5625 9.24264 4.55514 10.25 3.3125 10.25Z" stroke="#667085" stroke-width="1.5" stroke-linecap="square"/>
-</g>
-<defs>
-<clipPath id="clip0_6139_55192">
-<rect width="16" height="16" fill="white"/>
-</clipPath>
-</defs>
-</svg>

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 3
web/app/components/base/icons/assets/public/header-nav/knowledge/knowledge-active.svg


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 3
web/app/components/base/icons/assets/public/header-nav/knowledge/knowledge.svg


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 4
web/app/components/base/icons/assets/public/header-nav/studio/Robot-Active.svg


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 3
web/app/components/base/icons/assets/public/header-nav/studio/Robot.svg


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 5
web/app/components/base/icons/assets/public/header-nav/tools/tools-active.svg


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 14
web/app/components/base/icons/assets/public/header-nav/tools/tools.svg


+ 0 - 5
web/app/components/base/icons/assets/vender/line/alertsAndFeedback/alert-circle.svg

@@ -1,5 +0,0 @@
-<svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g id="Error">
-<path id="Icon" d="M7.99992 5.83337V8.50004M7.99992 11.1667H8.00659M14.6666 8.50004C14.6666 12.1819 11.6818 15.1667 7.99992 15.1667C4.31802 15.1667 1.33325 12.1819 1.33325 8.50004C1.33325 4.81814 4.31802 1.83337 7.99992 1.83337C11.6818 1.83337 14.6666 4.81814 14.6666 8.50004Z" stroke="#F04438" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
-</g>
-</svg>

+ 0 - 3
web/app/components/base/icons/assets/vender/line/arrows/arrow-narrow-right.svg

@@ -1,3 +0,0 @@
-<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
-<path d="M4 12H20M20 12L14 6M20 12L14 18" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
-</svg>

+ 0 - 5
web/app/components/base/icons/assets/vender/line/arrows/chevron-down.svg

@@ -1,5 +0,0 @@
-<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g id="chevron-down">
-<path id="Icon" d="M3 4.5L6 7.5L9 4.5" stroke="#344054" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
-</g>
-</svg>

+ 0 - 3
web/app/components/base/icons/assets/vender/line/arrows/collapse-04.svg

@@ -1,3 +0,0 @@
-<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
-<path d="M4 14H10M10 14V20M10 14L3 21M20 10H14M14 10V4M14 10L21 3M20 14V16.8C20 17.9201 20 18.4802 19.782 18.908C19.5903 19.2843 19.2843 19.5903 18.908 19.782C18.4802 20 17.9201 20 16.8 20H14M10 4H7.2C6.0799 4 5.51984 4 5.09202 4.21799C4.71569 4.40973 4.40973 4.71569 4.21799 5.09202C4 5.51984 4 6.07989 4 7.2V10" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
-</svg>

+ 0 - 5
web/app/components/base/icons/assets/vender/line/editor/bold-01.svg

@@ -1,5 +0,0 @@
-<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g id="Icon">
-<path id="Icon_2" d="M4.5 7.99996H9.83333C11.3061 7.99996 12.5 6.80605 12.5 5.33329C12.5 3.86053 11.3061 2.66663 9.83333 2.66663H4.5V7.99996ZM4.5 7.99996H10.5C11.9728 7.99996 13.1667 9.19387 13.1667 10.6666C13.1667 12.1394 11.9728 13.3333 10.5 13.3333H4.5V7.99996Z" stroke="#667085" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
-</g>
-</svg>

+ 0 - 5
web/app/components/base/icons/assets/vender/line/editor/cursor-02c.svg

@@ -1,5 +0,0 @@
-<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g id="Icon">
-<path id="Vector" d="M2.4598 3.3093L6.05377 13.551C6.25503 14.1246 7.05599 14.1516 7.29552 13.593L9.08053 9.43022C9.14793 9.27295 9.27326 9.14762 9.43053 9.08022L13.5933 7.29522C14.1519 7.05569 14.1249 6.25472 13.5513 6.05346L3.30961 2.45949C2.78207 2.27437 2.27468 2.78176 2.4598 3.3093Z" stroke="#667085" stroke-width="1.5" stroke-linejoin="round"/>
-</g>
-</svg>

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 5
web/app/components/base/icons/assets/vender/line/editor/dotpoints-01.svg


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 5
web/app/components/base/icons/assets/vender/line/editor/hand-02.svg


+ 0 - 3
web/app/components/base/icons/assets/vender/line/editor/italic-01.svg

@@ -1,3 +0,0 @@
-<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg">
-<path d="M13.1666 2.66663H7.16659M9.83325 13.3333H3.83325M10.4999 2.66663L6.49992 13.3333" stroke="#667085" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
-</svg>

+ 0 - 5
web/app/components/base/icons/assets/vender/line/editor/strikethrough-01.svg

@@ -1,5 +0,0 @@
-<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g id="Icon">
-<path id="Icon_2" d="M4.5 10.6666C4.5 12.1394 5.69391 13.3333 7.16667 13.3333H9.83333C11.3061 13.3333 12.5 12.1394 12.5 10.6666C12.5 9.19387 11.3061 7.99996 9.83333 7.99996M12.5 5.33329C12.5 3.86053 11.3061 2.66663 9.83333 2.66663H7.16667C5.69391 2.66663 4.5 3.86053 4.5 5.33329M2.5 7.99996H14.5" stroke="#667085" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
-</g>
-</svg>

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 8
web/app/components/base/icons/assets/vender/line/editor/title-case.svg


+ 0 - 5
web/app/components/base/icons/assets/vender/line/editor/zoom-in.svg

@@ -1,5 +0,0 @@
-<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g id="Icon">
-<path id="Icon_2" d="M14 14L11.1 11.1M7.33333 5.33333V9.33333M5.33333 7.33333H9.33333M12.6667 7.33333C12.6667 10.2789 10.2789 12.6667 7.33333 12.6667C4.38781 12.6667 2 10.2789 2 7.33333C2 4.38781 4.38781 2 7.33333 2C10.2789 2 12.6667 4.38781 12.6667 7.33333Z" stroke="#667085" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
-</g>
-</svg>

+ 0 - 5
web/app/components/base/icons/assets/vender/line/editor/zoom-out.svg

@@ -1,5 +0,0 @@
-<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g id="Icon">
-<path id="Icon_2" d="M14 14L11.1 11.1M5.33333 7.33333H9.33333M12.6667 7.33333C12.6667 10.2789 10.2789 12.6667 7.33333 12.6667C4.38781 12.6667 2 10.2789 2 7.33333C2 4.38781 4.38781 2 7.33333 2C10.2789 2 12.6667 4.38781 12.6667 7.33333Z" stroke="#667085" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
-</g>
-</svg>

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 5
web/app/components/base/icons/assets/vender/line/education/book-open-02.svg


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 5
web/app/components/base/icons/assets/vender/line/files/sticker-square.svg


+ 0 - 10
web/app/components/base/icons/assets/vender/line/general/check-circle.svg

@@ -1,10 +0,0 @@
-<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g id="check-circle" clip-path="url(#clip0_465_21765)">
-<path id="Icon" d="M4.37533 6.99984L6.12533 8.74984L9.62533 5.24984M12.8337 6.99984C12.8337 10.2215 10.222 12.8332 7.00033 12.8332C3.77866 12.8332 1.16699 10.2215 1.16699 6.99984C1.16699 3.77818 3.77866 1.1665 7.00033 1.1665C10.222 1.1665 12.8337 3.77818 12.8337 6.99984Z" stroke="#12B76A" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
-</g>
-<defs>
-<clipPath id="clip0_465_21765">
-<rect width="14" height="14" fill="white"/>
-</clipPath>
-</defs>
-</svg>

+ 0 - 5
web/app/components/base/icons/assets/vender/line/general/checklist.svg

@@ -1,5 +0,0 @@
-<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g id="Icon">
-<path id="Vector" d="M8.75 11H14M8.75 5H14M2 5.75L3.125 6.5L5.375 3.5M2 11.75L3.125 12.5L5.375 9.5" stroke="#667085" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
-</g>
-</svg>

+ 0 - 9
web/app/components/base/icons/assets/vender/line/general/dots-horizontal.svg

@@ -1,9 +0,0 @@
-<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g id="Icon">
-<g id="Icon_2">
-<path d="M8.00008 8.66634C8.36827 8.66634 8.66675 8.36786 8.66675 7.99967C8.66675 7.63148 8.36827 7.33301 8.00008 7.33301C7.63189 7.33301 7.33341 7.63148 7.33341 7.99967C7.33341 8.36786 7.63189 8.66634 8.00008 8.66634Z" stroke="#344054" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
-<path d="M12.6667 8.66634C13.0349 8.66634 13.3334 8.36786 13.3334 7.99967C13.3334 7.63148 13.0349 7.33301 12.6667 7.33301C12.2986 7.33301 12.0001 7.63148 12.0001 7.99967C12.0001 8.36786 12.2986 8.66634 12.6667 8.66634Z" stroke="#344054" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
-<path d="M3.33341 8.66634C3.7016 8.66634 4.00008 8.36786 4.00008 7.99967C4.00008 7.63148 3.7016 7.33301 3.33341 7.33301C2.96522 7.33301 2.66675 7.63148 2.66675 7.99967C2.66675 8.36786 2.96522 8.66634 3.33341 8.66634Z" stroke="#344054" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
-</g>
-</g>
-</svg>

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 5
web/app/components/base/icons/assets/vender/line/general/edit-03.svg


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 3
web/app/components/base/icons/assets/vender/line/general/help-circle.svg


+ 0 - 5
web/app/components/base/icons/assets/vender/line/general/link-01.svg

@@ -1,5 +0,0 @@
-<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g id="Icon">
-<path id="Icon_2" d="M8.97167 12.2427L8.02886 13.1855C6.72711 14.4872 4.61656 14.4872 3.31481 13.1855C2.01306 11.8837 2.01306 9.77317 3.31481 8.47142L4.25762 7.52861M12.7429 8.47142L13.6857 7.52861C14.9875 6.22687 14.9875 4.11632 13.6857 2.81457C12.384 1.51282 10.2734 1.51282 8.97167 2.81457L8.02886 3.75738M6.16693 10.3333L10.8336 5.66667" stroke="#667085" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
-</g>
-</svg>

+ 0 - 10
web/app/components/base/icons/assets/vender/line/general/link-broken-01.svg

@@ -1,10 +0,0 @@
-<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g id="Left Icon" clip-path="url(#clip0_6246_47371)">
-<path id="Icon" d="M4.5 2V1M7.5 10V11M2 4.5H1M10 7.5H11M2.45711 2.45711L1.75 1.75M9.54289 9.54289L10.25 10.25M6 8.82843L4.93934 9.88909C4.15829 10.6701 2.89196 10.6701 2.11091 9.88909C1.32986 9.10804 1.32986 7.84171 2.11091 7.06066L3.17157 6M8.82843 6L9.88909 4.93934C10.6701 4.15829 10.6701 2.89196 9.88909 2.11091C9.10804 1.32986 7.84171 1.32986 7.06066 2.11091L6 3.17157" stroke="#667085" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round"/>
-</g>
-<defs>
-<clipPath id="clip0_6246_47371">
-<rect width="12" height="12" fill="white"/>
-</clipPath>
-</defs>
-</svg>

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 5
web/app/components/base/icons/assets/vender/line/general/link-external-01.svg


+ 0 - 10
web/app/components/base/icons/assets/vender/line/general/loading-02.svg

@@ -1,10 +0,0 @@
-<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g clip-path="url(#clip0_6037_51601)">
-<path d="M7.99992 1.33398V4.00065M7.99992 12.0007V14.6673M3.99992 8.00065H1.33325M14.6666 8.00065H11.9999M12.7189 12.7196L10.8333 10.834M12.7189 3.33395L10.8333 5.21956M3.28097 12.7196L5.16659 10.834M3.28097 3.33395L5.16659 5.21956" stroke="#667085" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round"/>
-</g>
-<defs>
-<clipPath id="clip0_6037_51601">
-<rect width="16" height="16" fill="white"/>
-</clipPath>
-</defs>
-</svg>

+ 0 - 5
web/app/components/base/icons/assets/vender/line/general/plus.svg

@@ -1,5 +0,0 @@
-<svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g id="plus">
-<path id="Icon" d="M8.00004 3.83337V13.1667M3.33337 8.50004H12.6667" stroke="#667085" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round"/>
-</g>
-</svg>

+ 0 - 5
web/app/components/base/icons/assets/vender/line/general/search-lg.svg

@@ -1,5 +0,0 @@
-<svg width="14" height="15" viewBox="0 0 14 15" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g id="Icon">
-<path id="Icon_2" d="M12.25 12.75L10.2084 10.7083M11.6667 7.20833C11.6667 9.94675 9.44675 12.1667 6.70833 12.1667C3.96992 12.1667 1.75 9.94675 1.75 7.20833C1.75 4.46992 3.96992 2.25 6.70833 2.25C9.44675 2.25 11.6667 4.46992 11.6667 7.20833Z" stroke="#98A2B3" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round"/>
-</g>
-</svg>

+ 0 - 3
web/app/components/base/icons/assets/vender/line/general/trash-03.svg

@@ -1,3 +0,0 @@
-<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
-<path d="M6 2H10M2 4H14M12.6667 4L12.1991 11.0129C12.129 12.065 12.0939 12.5911 11.8667 12.99C11.6666 13.3412 11.3648 13.6235 11.0011 13.7998C10.588 14 10.0607 14 9.00623 14H6.99377C5.93927 14 5.41202 14 4.99889 13.7998C4.63517 13.6235 4.33339 13.3412 4.13332 12.99C3.90607 12.5911 3.871 12.065 3.80086 11.0129L3.33333 4M6.66667 7V10.3333M9.33333 7V10.3333" stroke="#667085" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
-</svg>

+ 0 - 5
web/app/components/base/icons/assets/vender/line/general/x-close.svg

@@ -1,5 +0,0 @@
-<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g id="x-close">
-<path id="Icon" d="M12 4L4 12M4 4L12 12" stroke="#667085" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round"/>
-</g>
-</svg>

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 10
web/app/components/base/icons/assets/vender/line/layout/organize-grid.svg


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 5
web/app/components/base/icons/assets/vender/line/mediaAndDevices/play.svg


+ 0 - 0
web/app/components/base/icons/assets/vender/solid/alertsAndFeedback/alert-circle.svg


Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels