### What problem does this PR solve?
_Briefly describe what this PR aims to solve. Include background context
that will help reviewers understand the purpose of the PR._
### Type of change
- [X] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve?
feat: Refine reteival of multi-turn conversation #2362
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve?
feat: If the tts model is not set, the Text to Speech switch is not
allowed to be turned on #1877
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve?
feat: Supports text output and sound output #1877
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve?
feat: Fetch mind map in search page #2247
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve?
feat: Comment out tts item #2088
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve?
feat: Add tts Switch to chat configuration modal #2088
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve?
fix: fetch user by @tanstack/react-query #1306
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve?
fix: fetch llm list by @tanstack/react-query #1306
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve?
fix: Set the default value of Self RAG to false #1220
fix: Change all tool file names to kebab format
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve?
feat: change all file names to lowercase #1574
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve?
fix: new message appears in wrong chat window. #1289
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve?
feat: add description text to operators #918
feat: drag the operator to the canvas and initialize the form data #918
feat: extract the useFetchModelId to logicHooks.ts
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve?
feat: build categorize list from object #918
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve?
feat: fetch flow #918
feat: save graph
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve?
feat: add custom edge
feat: add flow card
feat: add store for canvas
#918
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve?
fix: fixed the problem that the api will be called directly after
selecting the chat assistant picture #1033
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve?
fix: fixed the issue of error reporting when saving chat configuration
#965
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve?
Vector similarity weight is displayed incorrectly #965
feat: add rerank models to the project #724#162
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
… incorrectly appear on the model settings page.
### What problem does this PR solve?
This is an issue with the Upload component on the assistant-setting
page. I use the show variable to explicitly control the button component
within it.
see:

### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
- [x] Other (please describe): Add the local models that DeepDoc depends
on to the gitignore file in dev mode.
Signed-off-by: liuchao <lcjia_you@126.com>
### What problem does this PR solve?
fix: fixed the issue that ModelSetting could not be saved #614
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve?
feat: render stats charts
feat: create api token
feat: delete api token
feat: add ChatApiKeyModal
feat: add RagLineChart
Issue link: #345
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve?
Show original text source in conversation messages
Issue link: #337
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve?
Update default language to English
### Type of change
- [x] Refactoring
Signed-off-by: Jin Hai <haijin.chn@gmail.com>
### What problem does this PR solve?
historical chats appear in the new user's chat box
Issue link:#256
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
* feat: download documents on the document list page
* feat: add tooltip to Form.Item
* feat: set font family to inter
* feat: add loading to ChatContainer
* feat: add loading to all pages
* fix: disable sending messages if both application and conversation are empty
* feat: add chatSpin class to Spin of chat
* feat: install remark-gfm so that the markdown table can be displayed
* feat: fixed an issue where the default value for temperature was not set when creating a new chat
* feat: Fixed the issue where the greeting would disappear when clicking on a new dialog
* feat: replace favicon with logo.svg
* feat: if the backend returns 401, it will jump to the login page.
* feat: unavailable llm models appear disabled
* feat: display chunk token number when category of knowledge as general
* feat: set initial value for the model field of chat setting
* feat: add category column to chunk table
* feat: fetch knowledge detail on KnowledgeUploadFile mount
* feat: fixed the issue where ChatConfigurationModal displays old data when creating a new dialog
* feat: Add Skeleton to MessageItem before the backend returns a message