### What problem does this PR solve?
Embed the chat window into other websites through iframe
#345
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
### 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?
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)
### What problem does this PR solve?
Fixed an issue where refreshing the login page caused the language
settings to become invalid.
Issue link: #249
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
* 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: 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: fixed the issue where ChatConfigurationModal displays old data when creating a new dialog
* feat: Add Skeleton to MessageItem before the backend returns a message