@lobehub/chat 0.120.3 → 0.120.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +14 -14
  3. package/README.zh-CN.md +14 -14
  4. package/docs/Home.md +2 -2
  5. package/docs/_Sidebar.md +3 -3
  6. package/locales/ar/common.json +1 -0
  7. package/locales/de-DE/common.json +1 -0
  8. package/locales/en-US/common.json +1 -0
  9. package/locales/es-ES/common.json +1 -0
  10. package/locales/fr-FR/common.json +1 -0
  11. package/locales/it-IT/common.json +1 -0
  12. package/locales/ja-JP/common.json +1 -0
  13. package/locales/ko-KR/common.json +1 -0
  14. package/locales/nl-NL/common.json +1 -0
  15. package/locales/pl-PL/common.json +1 -0
  16. package/locales/pt-BR/common.json +1 -0
  17. package/locales/ru-RU/common.json +1 -0
  18. package/locales/tr-TR/common.json +1 -0
  19. package/locales/vi-VN/common.json +1 -0
  20. package/locales/zh-CN/common.json +1 -0
  21. package/locales/zh-TW/common.json +1 -0
  22. package/package.json +18 -17
  23. package/src/app/chat/(desktop)/features/ChatHeader.tsx +6 -6
  24. package/src/app/chat/{features → (desktop)/features/SideBar}/SystemRole/index.tsx +8 -5
  25. package/src/app/chat/(desktop)/features/{SideBar.tsx → SideBar/index.tsx} +2 -3
  26. package/src/app/chat/(mobile)/index.tsx +17 -4
  27. package/src/app/chat/(mobile)/mobile/page.tsx +30 -2
  28. package/src/app/chat/components/SessionHydration/index.tsx +44 -0
  29. package/src/app/chat/features/ChatHeader/ShareButton/style.ts +1 -1
  30. package/src/app/chat/features/SessionListContent/DefaultMode.tsx +6 -1
  31. package/src/app/chat/features/SessionListContent/List/index.tsx +7 -3
  32. package/src/app/chat/features/TopicListContent/Header.tsx +1 -1
  33. package/src/app/chat/page.tsx +7 -3
  34. package/src/app/home/Redirect.tsx +2 -2
  35. package/src/app/metadata.ts +6 -0
  36. package/src/app/welcome/features/Banner/index.tsx +6 -7
  37. package/src/components/StoreHydration/ChatHydration/index.tsx +33 -0
  38. package/src/config/server.ts +4 -0
  39. package/src/const/url.ts +1 -1
  40. package/src/database/models/__tests__/message.test.ts +3 -2
  41. package/src/database/models/message.ts +13 -9
  42. package/src/database/schemas/message.ts +1 -1
  43. package/src/features/ChatInput/useChatInput.ts +2 -6
  44. package/src/features/Conversation/hooks/useInitConversation.ts +0 -2
  45. package/src/features/Conversation/index.tsx +7 -2
  46. package/src/features/SideBar/TopActions.tsx +5 -5
  47. package/src/layout/GlobalLayout/StoreHydration.tsx +12 -11
  48. package/src/locales/default/common.ts +1 -0
  49. package/src/store/chat/slices/message/action.ts +1 -1
  50. package/src/store/chat/store.ts +2 -34
  51. package/src/store/global/slices/common/action.ts +6 -0
  52. package/src/store/global/slices/common/initialState.ts +5 -0
  53. package/src/store/global/slices/settings/action.test.ts +117 -0
  54. package/src/store/session/index.ts +0 -1
  55. package/src/store/session/initialState.ts +6 -2
  56. package/src/store/session/slices/agent/selectors.ts +3 -1
  57. package/src/store/session/slices/session/action.ts +14 -18
  58. package/src/store/session/slices/session/selectors/list.ts +7 -0
  59. package/src/store/session/store.ts +5 -46
  60. package/src/styles/global.ts +1 -1
  61. package/src/app/chat/(mobile)/layout.mobile.tsx +0 -17
  62. package/src/app/chat/(mobile)/mobile/index.tsx +0 -30
  63. package/src/app/chat/(mobile)/mobile/layout.mobile.tsx +0 -11
  64. package/src/store/session/hooks/index.ts +0 -4
  65. package/src/store/session/hooks/useEffectAfterHydrated.ts +0 -27
  66. package/src/store/session/hooks/useOnFinishHydrationSession.ts +0 -19
  67. package/src/store/session/hooks/useSessionChatInit.ts +0 -12
  68. package/src/store/session/hooks/useSessionHydrated.ts +0 -13
  69. /package/docs/Development/{index.md → Intro.md} +0 -0
  70. /package/docs/Development/{index.zh-CN.md → Intro.zh-CN.md} +0 -0
  71. /package/docs/Development/State-Management/{index.md → State-Management-Intro.md} +0 -0
  72. /package/docs/Development/State-Management/{index.zh-CN.md → State-Management-Intro.zh-CN.md} +0 -0
  73. /package/src/app/chat/{features → (desktop)/features/SideBar}/SystemRole/style.ts +0 -0
  74. /package/src/app/chat/{features → components}/SidebarHeader/index.tsx +0 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,56 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ### [Version 0.120.5](https://github.com/lobehub/lobe-chat/compare/v0.120.4...v0.120.5)
6
+
7
+ <sup>Released on **2024-01-21**</sup>
8
+
9
+ #### 💄 Styles
10
+
11
+ - **misc**: Update locale and add test for globalStore.
12
+
13
+ <br/>
14
+
15
+ <details>
16
+ <summary><kbd>Improvements and Fixes</kbd></summary>
17
+
18
+ #### Styles
19
+
20
+ - **misc**: Update locale and add test for globalStore, closes [#1119](https://github.com/lobehub/lobe-chat/issues/1119) ([4545cf0](https://github.com/lobehub/lobe-chat/commit/4545cf0))
21
+
22
+ </details>
23
+
24
+ <div align="right">
25
+
26
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
27
+
28
+ </div>
29
+
30
+ ### [Version 0.120.4](https://github.com/lobehub/lobe-chat/compare/v0.120.3...v0.120.4)
31
+
32
+ <sup>Released on **2024-01-21**</sup>
33
+
34
+ #### 🐛 Bug Fixes
35
+
36
+ - **misc**: Refactor url state management and fix some detail experience.
37
+
38
+ <br/>
39
+
40
+ <details>
41
+ <summary><kbd>Improvements and Fixes</kbd></summary>
42
+
43
+ #### What's fixed
44
+
45
+ - **misc**: Refactor url state management and fix some detail experience, closes [#1117](https://github.com/lobehub/lobe-chat/issues/1117) ([a355d2c](https://github.com/lobehub/lobe-chat/commit/a355d2c))
46
+
47
+ </details>
48
+
49
+ <div align="right">
50
+
51
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
52
+
53
+ </div>
54
+
5
55
  ### [Version 0.120.3](https://github.com/lobehub/lobe-chat/compare/v0.120.2...v0.120.3)
6
56
 
7
57
  <sup>Released on **2024-01-19**</sup>
package/README.md CHANGED
@@ -184,14 +184,14 @@ e-commerce platform data access, and various third-party services.
184
184
 
185
185
  <!-- PLUGIN LIST -->
186
186
 
187
- | Recent Submits | Description |
188
- | -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
189
- | [Midjourney](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **LobeHub** on **2024-01-18**</sup> | Unleash creativity with Midjourney, effortlessly generating unique AI-driven images through simple prompts. Add visual flair to your conversations with Midjourney's artistic touch.<br/>`ai-image-generation` `midjourney` `visualization` |
190
- | [GIF Search](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **giphy** on **2024-01-17**</sup> | Search through a wide range of gifs - Powered by Giphy.<br/>`gif` `image` `search` |
191
- | [Asset Ovi](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **assetovi** on **2024-01-17**</sup> | Search and preview millions of 3D assets for games, AIGC, AR/VR and others.<br/>`3-d` `assets` `search` |
192
- | [Astrodaily](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **360macky** on **2024-01-17**</sup> | Search and discover NASA images.<br/>`nasa` `search` `image` |
187
+ | Recent Submits | Description |
188
+ | ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
189
+ | [AskYourPDF](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **askyourpdf** on **2024-01-20**</sup> | Unlock the power of your PDFs!, dive into your documents, find answers, and bring information to your fingertips.<br/>`pdf` `document` `web` |
190
+ | [Savvy Trader AI](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **savvytrader** on **2024-01-20**</sup> | Realtime stock, crypto and other investment data.<br/>`stock` `analyze` |
191
+ | [Midjourney](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **LobeHub** on **2024-01-18**</sup> | Unleash creativity with Midjourney, effortlessly generating unique AI-driven images through simple prompts. Add visual flair to your conversations with Midjourney's artistic touch.<br/>`ai-image-generation` `midjourney` `visualization` |
192
+ | [GIF Search](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **efficiency** on **2024-01-17**</sup> | Search through a wide range of gifs - Powered by Giphy.<br/>`gif` `image` `search` |
193
193
 
194
- > 📊 Total plugins: [<kbd>**21**</kbd>](https://github.com/lobehub/lobe-chat-plugins)
194
+ > 📊 Total plugins: [<kbd>**20**</kbd>](https://github.com/lobehub/lobe-chat-plugins)
195
195
 
196
196
  <!-- PLUGIN LIST -->
197
197
 
@@ -223,14 +223,14 @@ Our marketplace is not just a showcase platform but also a collaborative space.
223
223
 
224
224
  <!-- AGENT LIST -->
225
225
 
226
- | Recent Submits | Description |
227
- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
228
- | [Tech Explorer AI](https://chat-preview.lobehub.com/market?agent=tech-explorer-ai)<br/><sup>By **[110rever](https://github.com/110rever)** on **2024-01-19**</sup> | Technology exploration AI capability: - Conduct comprehensive technical research - Provide predictive insights based on statistical data and trend analysis - Optimize research methodology - Maintain data accuracy and completeness - Infer limitations in the absence of complete data: - Only answer questions related to technology - Do not provide general purchasing advice - Provide product technology discussion through step-by-step guidance User interaction: - Provide clear and concise dialogue - Provide multilingual options Support objective: To provide accurate information and analyze predictions to deepen the understanding of technology among users.<br/>`technical-research` `data-analysis` `research-methods` `data-accuracy` `inference` `user-interaction` |
229
- | [AE Script Development Expert](https://chat-preview.lobehub.com/market?agent=ae-script-development)<br/><sup>By **[Wutpeach](https://github.com/Wutpeach)** on **2024-01-18**</sup> | An expert in AE script development, proficient in JavaScript programming, understanding of AE software principles, capable of debugging and optimizing scripts.<br/>`script-development` `programmer` `adobe-after-effects` `java-script` `algorithm-design` `debugging` `optimization` `coding-standards` `user-communication` `script-usage-instructions` |
230
- | [Code Companion](https://chat-preview.lobehub.com/market?agent=code-companion)<br/><sup>By **[110rever](https://github.com/110rever)** on **2024-01-18**</sup> | The best companion for programmers<br/>`code` `dev` `program` |
231
- | [William](https://chat-preview.lobehub.com/market?agent=unreal-engine-development-engineer)<br/><sup>By **[Wutpeach](https://github.com/Wutpeach)** on **2024-01-16**</sup> | Unreal Engine expert, proficient in C++ programming, rendering, memory, thread and other pipeline architectures, UE application on Android platform, comprehensive artistic cognition, familiar with Shader writing, proficient in 3D art asset production process and tools.<br/>`unreal-engine` `c-programming` `rendering-pipeline` `memory-management` `thread-architecture` |
226
+ | Recent Submits | Description |
227
+ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
228
+ | [Accounting Expert Assistant](https://chat-preview.lobehub.com/market?agent=accounting)<br/><sup>By **[MYSeaIT](https://github.com/MYSeaIT)** on **2024-01-21**</sup> | Accountant Agent: Comprehensive accounting support and expertise for individuals and businesses worldwide.<br/>`accounting` `financial-management` `tax-planning` `budgeting` |
229
+ | [Business Guru](https://chat-preview.lobehub.com/market?agent=business-guru)<br/><sup>By **[MYSeaIT](https://github.com/MYSeaIT)** on **2024-01-21**</sup> | Business Consultant: Providing comprehensive business support and expertise worldwide.Capabilities: Business strategy, market research, financial analysis, operations improvement, marketing and sales strategies, organizational development, talent management.Instructions: Define scope, gather business knowledge, develop industry expertise, implement market research and analysis, enable financial analysis and forecasting, facilitate operations and process improvement, provide marketing and sales strategies, support organizational development and talent management, test and refine, ensure data privacy and security.<br/>`business-consultant` |
230
+ | [DIY Guide Assistant](https://chat-preview.lobehub.com/market?agent=diy)<br/><sup>By **[guluahljj](https://github.com/guluahljj)** on **2024-01-21**</sup> | DIY project assistant, providing detailed guidance, programming support, and personalized customization<br/>`diy` `guide` `project` `programming` `assembly` |
231
+ | [Financial Expert](https://chat-preview.lobehub.com/market?agent=finnance)<br/><sup>By **[MYSeaIT](https://github.com/MYSeaIT)** on **2024-01-21**</sup> | Finance Expert with Global Financial Expertise, Multilingual Communication, Financial Analysis and Reporting, Investment Planning and Portfolio Management, Financial Planning and Retirement Strategies, and Risk Management and Insurance capabilities.<br/>`inancial-management` |
232
232
 
233
- > 📊 Total agents: [<kbd>**102**</kbd> ](https://github.com/lobehub/lobe-chat-agents)
233
+ > 📊 Total agents: [<kbd>**111**</kbd> ](https://github.com/lobehub/lobe-chat-agents)
234
234
 
235
235
  <!-- AGENT LIST -->
236
236
 
package/README.zh-CN.md CHANGED
@@ -168,14 +168,14 @@ LobeChat 的插件生态系统是其核心功能的重要扩展,它极大地
168
168
 
169
169
  <!-- PLUGIN LIST -->
170
170
 
171
- | 最近新增 | 插件描述 |
172
- | -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
173
- | [Midjourney](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **LobeHub** on **2024-01-18**</sup> | 通过简单的提示轻松释放创造力,利用 Midjourney 生成独特的 AI 驱动图像。通过 Midjourney 的艺术触感为您的对话增添视觉魅力。<br/>`ai-image-generation` `midjourney` `visualization` |
174
- | [GIF 搜索](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **giphy** on **2024-01-17**</sup> | 搜索各种各样的 GIF - 由 Giphy 提供动力。<br/>`gif` `图片` `搜索` |
175
- | [Asset Ovi](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **assetovi** on **2024-01-17**</sup> | 搜索和预览数百万款用于游戏、AIGC、AR/VR 等领域的 3D 资产。<br/>`3-d` `资产` `搜索` |
176
- | [Astrodaily](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **360macky** on **2024-01-17**</sup> | 搜索和发现 NASA 图像。<br/>`nasa` `搜索` `图像` |
171
+ | 最近新增 | 插件描述 |
172
+ | ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
173
+ | [AskYourPDF](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **askyourpdf** on **2024-01-20**</sup> | 释放 PDF 的力量!深入文档,寻找答案,让信息触手可及。<br/>`pdf` `document` `web` |
174
+ | [Savvy Trader AI](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **savvytrader** on **2024-01-20**</sup> | 实时股票、加密货币和其他投资数据。<br/>`股票` `分析` |
175
+ | [Midjourney](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **LobeHub** on **2024-01-18**</sup> | 通过简单的提示轻松释放创造力,利用 Midjourney 生成独特的 AI 驱动图像。通过 Midjourney 的艺术触感为您的对话增添视觉魅力。<br/>`ai-image-generation` `midjourney` `visualization` |
176
+ | [GIF 搜索](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **efficiency** on **2024-01-17**</sup> | 搜索各种各样的 GIF - 由 Giphy 提供动力。<br/>`gif` `图片` `搜索` |
177
177
 
178
- > 📊 Total plugins: [<kbd>**21**</kbd>](https://github.com/lobehub/lobe-chat-plugins)
178
+ > 📊 Total plugins: [<kbd>**20**</kbd>](https://github.com/lobehub/lobe-chat-plugins)
179
179
 
180
180
  <!-- PLUGIN LIST -->
181
181
 
@@ -203,14 +203,14 @@ LobeChat 的插件生态系统是其核心功能的重要扩展,它极大地
203
203
 
204
204
  <!-- AGENT LIST -->
205
205
 
206
- | 最近新增 | 助手说明 |
207
- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
208
- | [Tech Explorer AI](https://chat-preview.lobehub.com/market?agent=tech-explorer-ai)<br/><sup>By **[110rever](https://github.com/110rever)** on **2024-01-19**</sup> | 技术探索人工智能能力:- 进行全面的技术研究 - 基于统计数据和趋势分析提供预测性见解 - 优化研究方法论 - 保持数据准确性和完整性 - 推断在没有完整数据的情况下的局限性:- 仅回答与技术相关的问题 - 不提供一般性的购买建议 - 通过逐步指导提供产品技术讨论用户交互:- 提供清晰简洁的对话 - 提供多语言选项支持目标:为用户提供准确的信息并分析预测,以加深他们对技术的理解。<br/>`技术研究` `数据分析` `研究方法` `数据准确性` `推断` `用户交互` |
209
- | [AE 脚本开发专家](https://chat-preview.lobehub.com/market?agent=ae-script-development)<br/><sup>By **[Wutpeach](https://github.com/Wutpeach)** on **2024-01-18**</sup> | AE 脚本开发专家,精通 JavaScript 编程,理解 AE 软件工作原理,能够调试和优化脚本。<br/>`脚本开发` `程序员` `adobe-after-effects` `java-script` `算法设计` `调试` `优化` `编程规范` `用户沟通` `脚本使用说明` |
210
- | [Code Companion](https://chat-preview.lobehub.com/market?agent=code-companion)<br/><sup>By **[110rever](https://github.com/110rever)** on **2024-01-18**</sup> | 程序员的最佳伴侣<br/>`code` `dev` `program` |
211
- | [William](https://chat-preview.lobehub.com/market?agent=unreal-engine-development-engineer)<br/><sup>By **[Wutpeach](https://github.com/Wutpeach)** on **2024-01-16**</sup> | 虚幻引擎专家,精通 C++ 编程,渲染、内存、线程等管线架构,UE 在安卓平台应用,全面的美术认知,熟悉 Shader 编写,熟练掌握 3D 美术资产制作流程与工具。<br/>`虚幻引擎` `c-编程` `渲染管线` `内存管理` `线程架构` |
206
+ | 最近新增 | 助手说明 |
207
+ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
208
+ | [会计专家助手](https://chat-preview.lobehub.com/market?agent=accounting)<br/><sup>By **[MYSeaIT](https://github.com/MYSeaIT)** on **2024-01-21**</sup> | 会计代理:为全球个人和企业提供全面的会计支持和专业知识。<br/>`会计` `财务管理` `税务规划` `预算编制` |
209
+ | [商业顾问](https://chat-preview.lobehub.com/market?agent=business-guru)<br/><sup>By **[MYSeaIT](https://github.com/MYSeaIT)** on **2024-01-21**</sup> | 商业顾问:为全球提供全面的商业支持和专业知识。能力:商业战略、市场研究、财务分析、运营改善、营销和销售策略、组织发展、人才管理。说明:定义范围,收集商业知识,发展行业专长,实施市场研究和分析,启用财务分析和预测,促进运营和流程改善,提供营销和销售策略,支持组织发展和人才管理,测试和完善,确保数据隐私和安全。<br/>`business-consultant` |
210
+ | [DIY 指导助手](https://chat-preview.lobehub.com/market?agent=diy)<br/><sup>By **[guluahljj](https://github.com/guluahljj)** on **2024-01-21**</sup> | DIY 项目助手,提供详细指导、编程支持和个性化定制<br/>`diy` `指导` `项目` `编程` `组装` |
211
+ | [金融专家](https://chat-preview.lobehub.com/market?agent=finnance)<br/><sup>By **[MYSeaIT](https://github.com/MYSeaIT)** on **2024-01-21**</sup> | 具有全球金融专业知识、多语沟通能力、财务分析和报告、投资规划和投资组合管理、财务规划和退休策略、以及风险管理和保险能力的金融专家。<br/>`金融管理` |
212
212
 
213
- > 📊 Total agents: [<kbd>**102**</kbd> ](https://github.com/lobehub/lobe-chat-agents)
213
+ > 📊 Total agents: [<kbd>**111**</kbd> ](https://github.com/lobehub/lobe-chat-agents)
214
214
 
215
215
  <!-- AGENT LIST -->
216
216
 
package/docs/Home.md CHANGED
@@ -40,8 +40,8 @@ LobeChat is a open-source, extensible ([Function Calling][fc-url]), high-perform
40
40
  - [Environment Setup Guide](https://github.com/lobehub/lobe-chat/wiki/Setup-Development) | [环境设置指南](https://github.com/lobehub/lobe-chat/wiki/Setup-Development.zh-CN)
41
41
  - [Architecture Design](https://github.com/lobehub/lobe-chat/wiki/Architecture) | [架构设计](https://github.com/lobehub/lobe-chat/wiki/Architecture.zh-CN)
42
42
  - [Directory Structure](https://github.com/lobehub/lobe-chat/wiki/Folder-Structure) | [目录架构](https://github.com/lobehub/lobe-chat/wiki/Folder-Structure.zh-CN)
43
- - [Best Practices for State Management](https://github.com/lobehub/lobe-chat/wiki/State-Management) | [状态管理最佳实践](https://github.com/lobehub/lobe-chat/wiki/State-Management)
44
- - [Data Store Selector](https://github.com/lobehub/lobe-chat/wiki/State-Management) | [数据存储取数模块](https://github.com/lobehub/lobe-chat/wiki/State-Management)
43
+ - [Best Practices for State Management](https://github.com/lobehub/lobe-chat/wiki/State-Management-Intro) | [状态管理最佳实践](https://github.com/lobehub/lobe-chat/wiki/State-Management-Intro.zh-CN)
44
+ - [Data Store Selector](https://github.com/lobehub/lobe-chat/wiki/State-Management-Selector) | [数据存储取数模块](https://github.com/lobehub/lobe-chat/wiki/State-Management-Selector.zh-CN)
45
45
  - [Conversation API Implementation Logic](https://github.com/lobehub/lobe-chat/wiki/Chat-API) | [会话 API 实现逻辑](https://github.com/lobehub/lobe-chat/wiki/Chat-API.zh-CN)
46
46
  - [How to Develop a New Feature](https://github.com/lobehub/lobe-chat/wiki/Feature-Development) | [如何开发一个新功能](https://github.com/lobehub/lobe-chat/wiki/Feature-Development.zh-CN)
47
47
  - [Internationalization Implementation Guide](https://github.com/lobehub/lobe-chat/wiki/Internationalization-Implementation) | [国际化实现指南](https://github.com/lobehub/lobe-chat/wiki/Internationalization-Implementation.zh-CN)
package/docs/_Sidebar.md CHANGED
@@ -23,13 +23,13 @@
23
23
 
24
24
  #### ⌨️ Development
25
25
 
26
- - [Technical Development Getting Started Guide](https://github.com/lobehub/lobe-chat/wiki/index) | [技术开发上手指南](https://github.com/lobehub/lobe-chat/wiki/index.zh-CN)
26
+ - [Technical Development Getting Started Guide](https://github.com/lobehub/lobe-chat/wiki/Intro) | [技术开发上手指南](https://github.com/lobehub/lobe-chat/wiki/Intro.zh-CN)
27
27
  - [Code Style and Contribution Guidelines](https://github.com/lobehub/lobe-chat/wiki/Contributing-Guidelines) | [代码风格与贡献指南](https://github.com/lobehub/lobe-chat/wiki/Contributing-Guidelines.zh-CN)
28
28
  - [Environment Setup Guide](https://github.com/lobehub/lobe-chat/wiki/Setup-Development) | [环境设置指南](https://github.com/lobehub/lobe-chat/wiki/Setup-Development.zh-CN)
29
29
  - [Architecture Design](https://github.com/lobehub/lobe-chat/wiki/Architecture) | [架构设计](https://github.com/lobehub/lobe-chat/wiki/Architecture.zh-CN)
30
30
  - [Directory Structure](https://github.com/lobehub/lobe-chat/wiki/Folder-Structure) | [目录架构](https://github.com/lobehub/lobe-chat/wiki/Folder-Structure.zh-CN)
31
- - [Best Practices for State Management](https://github.com/lobehub/lobe-chat/wiki/State-Management) | [状态管理最佳实践](https://github.com/lobehub/lobe-chat/wiki/State-Management)
32
- - [Data Store Selector](https://github.com/lobehub/lobe-chat/wiki/State-Management) | [数据存储取数模块](https://github.com/lobehub/lobe-chat/wiki/State-Management)
31
+ - [Best Practices for State Management](https://github.com/lobehub/lobe-chat/wiki/State-Management-Intro) | [状态管理最佳实践](https://github.com/lobehub/lobe-chat/wiki/State-Management-Intro.zh-CN)
32
+ - [Data Store Selector](https://github.com/lobehub/lobe-chat/wiki/State-Management-Selector) | [数据存储取数模块](https://github.com/lobehub/lobe-chat/wiki/State-Management-Selector.zh-CN)
33
33
  - [Conversation API Implementation Logic](https://github.com/lobehub/lobe-chat/wiki/Chat-API) | [会话 API 实现逻辑](https://github.com/lobehub/lobe-chat/wiki/Chat-API.zh-CN)
34
34
  - [How to Develop a New Feature](https://github.com/lobehub/lobe-chat/wiki/Feature-Development) | [如何开发一个新功能](https://github.com/lobehub/lobe-chat/wiki/Feature-Development.zh-CN)
35
35
  - [Internationalization Implementation Guide](https://github.com/lobehub/lobe-chat/wiki/Internationalization-Implementation) | [国际化实现指南](https://github.com/lobehub/lobe-chat/wiki/Internationalization-Implementation.zh-CN)
@@ -13,6 +13,7 @@
13
13
  "close": "إغلاق",
14
14
  "confirmRemoveSessionItemAlert": "سيتم حذف هذا المساعد قريبًا، وبمجرد الحذف لن يمكن استعادته، يرجى تأكيد الإجراء",
15
15
  "copy": "نسخ",
16
+ "copyFail": "فشل في النسخ",
16
17
  "copySuccess": "تم النسخ بنجاح",
17
18
  "defaultAgent": "مساعد افتراضي",
18
19
  "defaultSession": "جلسة افتراضية",
@@ -13,6 +13,7 @@
13
13
  "close": "Schließen",
14
14
  "confirmRemoveSessionItemAlert": "Möchten Sie diesen Assistenten wirklich löschen? Nach dem Löschen kann er nicht wiederhergestellt werden. Bitte bestätigen Sie Ihre Aktion.",
15
15
  "copy": "Kopieren",
16
+ "copyFail": "Kopieren fehlgeschlagen",
16
17
  "copySuccess": "Kopieren erfolgreich",
17
18
  "defaultAgent": "Standardassistent",
18
19
  "defaultSession": "Standardassistent",
@@ -13,6 +13,7 @@
13
13
  "close": "Close",
14
14
  "confirmRemoveSessionItemAlert": "You are about to delete this agent. Once deleted, it cannot be recovered. Please confirm your action.",
15
15
  "copy": "Copy",
16
+ "copyFail": "Copy failed",
16
17
  "copySuccess": "Copied successfully",
17
18
  "defaultAgent": "Default Agent",
18
19
  "defaultSession": "Default Agent",
@@ -13,6 +13,7 @@
13
13
  "close": "Cerrar",
14
14
  "confirmRemoveSessionItemAlert": "Estás a punto de eliminar este asistente. Una vez eliminado, no se podrá recuperar. Por favor, confirma tu acción",
15
15
  "copy": "Copiar",
16
+ "copyFail": "Fallo al copiar",
16
17
  "copySuccess": "¡Copia exitosa!",
17
18
  "defaultAgent": "Asistente predeterminado",
18
19
  "defaultSession": "Sesión predeterminada",
@@ -13,6 +13,7 @@
13
13
  "close": "Fermer",
14
14
  "confirmRemoveSessionItemAlert": "Vous êtes sur le point de supprimer cet agent. Une fois supprimé, il ne pourra pas être récupéré. Veuillez confirmer votre action.",
15
15
  "copy": "Copier",
16
+ "copyFail": "Échec de la copie",
16
17
  "copySuccess": "Copie réussie",
17
18
  "defaultAgent": "Agent par défaut",
18
19
  "defaultSession": "Session par défaut",
@@ -13,6 +13,7 @@
13
13
  "close": "Chiudi",
14
14
  "confirmRemoveSessionItemAlert": "Stai per eliminare questo assistente. Una volta eliminato, non sarà possibile recuperarlo. Confermi l'operazione?",
15
15
  "copy": "Copia",
16
+ "copyFail": "Copia non riuscita",
16
17
  "copySuccess": "Copia riuscita",
17
18
  "defaultAgent": "Assistente predefinito",
18
19
  "defaultSession": "Sessione predefinita",
@@ -13,6 +13,7 @@
13
13
  "close": "閉じる",
14
14
  "confirmRemoveSessionItemAlert": "このエージェントを削除します。削除後は元に戻すことはできません。操作を確認してください。",
15
15
  "copy": "コピー",
16
+ "copyFail": "コピーに失敗しました",
16
17
  "copySuccess": "コピーが成功しました",
17
18
  "defaultAgent": "デフォルトエージェント",
18
19
  "defaultSession": "デフォルトセッション",
@@ -13,6 +13,7 @@
13
13
  "close": "닫기",
14
14
  "confirmRemoveSessionItemAlert": "이 에이전트를 삭제하려고 합니다. 삭제 후에는 복구할 수 없습니다. 작업을 확인하십시오.",
15
15
  "copy": "복사",
16
+ "copyFail": "복사 실패",
16
17
  "copySuccess": "복사 성공",
17
18
  "defaultAgent": "기본 에이전트",
18
19
  "defaultSession": "기본 세션",
@@ -13,6 +13,7 @@
13
13
  "close": "Sluiten",
14
14
  "confirmRemoveSessionItemAlert": "U staat op het punt deze assistent te verwijderen. Na verwijdering kan deze niet worden hersteld. Weet u zeker dat u door wilt gaan?",
15
15
  "copy": "Kopiëren",
16
+ "copyFail": "Kopiëren mislukt",
16
17
  "copySuccess": "Kopiëren gelukt",
17
18
  "defaultAgent": "Standaard assistent",
18
19
  "defaultSession": "Standaard assistent",
@@ -13,6 +13,7 @@
13
13
  "close": "Zamknij",
14
14
  "confirmRemoveSessionItemAlert": "Czy na pewno chcesz usunąć tego asystenta? Po usunięciu nie będzie możliwe jego odzyskanie.",
15
15
  "copy": "Kopiuj",
16
+ "copyFail": "Nie udało się skopiować",
16
17
  "copySuccess": "Skopiowano pomyślnie",
17
18
  "defaultAgent": "Domyślny asystent",
18
19
  "defaultSession": "Domyślna sesja",
@@ -13,6 +13,7 @@
13
13
  "close": "Fechar",
14
14
  "confirmRemoveSessionItemAlert": "Você está prestes a excluir este assistente. Após a exclusão, não será possível recuperá-lo. Por favor, confirme sua ação.",
15
15
  "copy": "Copiar",
16
+ "copyFail": "Falha ao copiar",
16
17
  "copySuccess": "Cópia bem-sucedida",
17
18
  "defaultAgent": "Assistente padrão",
18
19
  "defaultSession": "Sessão padrão",
@@ -13,6 +13,7 @@
13
13
  "close": "Закрыть",
14
14
  "confirmRemoveSessionItemAlert": "Вы собираетесь удалить этого агента. После удаления его будет невозможно восстановить. Подтвердите ваше действие",
15
15
  "copy": "Копировать",
16
+ "copyFail": "Не удалось скопировать",
16
17
  "copySuccess": "Успешно скопировано",
17
18
  "defaultAgent": "Пользовательский агент",
18
19
  "defaultSession": "Пользовательский агент",
@@ -13,6 +13,7 @@
13
13
  "close": "Kapat",
14
14
  "confirmRemoveSessionItemAlert": "Bu asistanı silmek üzeresiniz. Silindikten sonra geri alınamaz. Lütfen eyleminizi onaylayın.",
15
15
  "copy": "Kopyala",
16
+ "copyFail": "Kopyalama başarısız oldu",
16
17
  "copySuccess": "Kopyalama Başarılı",
17
18
  "defaultAgent": "Varsayılan Asistan",
18
19
  "defaultSession": "Varsayılan Asistan",
@@ -13,6 +13,7 @@
13
13
  "close": "Đóng",
14
14
  "confirmRemoveSessionItemAlert": "Bạn sắp xóa trợ lý này. Sau khi xóa, bạn sẽ không thể khôi phục. Vui lòng xác nhận hành động của bạn",
15
15
  "copy": "Sao chép",
16
+ "copyFail": "Sao chép thất bại",
16
17
  "copySuccess": "Sao chép thành công",
17
18
  "defaultAgent": "Trợ lý mặc định",
18
19
  "defaultSession": "Phiên mặc định",
@@ -13,6 +13,7 @@
13
13
  "close": "关闭",
14
14
  "confirmRemoveSessionItemAlert": "即将删除该助手,删除后该将无法找回,请确认你的操作",
15
15
  "copy": "复制",
16
+ "copyFail": "复制失败",
16
17
  "copySuccess": "复制成功",
17
18
  "defaultAgent": "自定义助手",
18
19
  "defaultSession": "自定义助手",
@@ -13,6 +13,7 @@
13
13
  "close": "關閉",
14
14
  "confirmRemoveSessionItemAlert": "即將刪除此助手,刪除後將無法復原,請確認您的操作",
15
15
  "copy": "複製",
16
+ "copyFail": "複製失敗",
16
17
  "copySuccess": "複製成功",
17
18
  "defaultAgent": "預設助手",
18
19
  "defaultSession": "預設助手",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/chat",
3
- "version": "0.120.3",
3
+ "version": "0.120.5",
4
4
  "description": "Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.",
5
5
  "keywords": [
6
6
  "framework",
@@ -84,10 +84,10 @@
84
84
  "@lobehub/ui": "latest",
85
85
  "@vercel/analytics": "^1",
86
86
  "ahooks": "^3",
87
- "ai": "^2.2.22",
88
- "antd": "^5.12.7",
87
+ "ai": "^2",
88
+ "antd": "^5",
89
89
  "antd-style": "^3",
90
- "brotli-wasm": "^2.0.0",
90
+ "brotli-wasm": "^2",
91
91
  "chroma-js": "^2",
92
92
  "copy-to-clipboard": "^3",
93
93
  "dayjs": "^1",
@@ -104,15 +104,16 @@
104
104
  "lucide-react": "latest",
105
105
  "modern-screenshot": "^4",
106
106
  "nanoid": "^5",
107
- "next": "^14.0.2",
108
- "openai": "^4.17.3",
107
+ "next": "^14.1",
108
+ "nuqs": "^1.15.4",
109
+ "openai": "^4.22",
109
110
  "polished": "^4",
110
111
  "posthog-js": "^1",
111
112
  "query-string": "^8",
112
113
  "react": "^18",
113
114
  "react-dom": "^18",
114
- "react-hotkeys-hook": "^4.4.3",
115
- "react-i18next": "^14.0.0",
115
+ "react-hotkeys-hook": "^4",
116
+ "react-i18next": "^14",
116
117
  "react-intersection-observer": "^9",
117
118
  "react-layout-kit": "^1",
118
119
  "react-lazy-load": "^4",
@@ -121,9 +122,9 @@
121
122
  "remark": "^14",
122
123
  "remark-gfm": "^3",
123
124
  "remark-html": "^15",
124
- "rtl-detect": "^1.1.2",
125
+ "rtl-detect": "^1",
125
126
  "semver": "^7",
126
- "sharp": "0.33.1",
127
+ "sharp": "^0.33.2",
127
128
  "swr": "^2",
128
129
  "systemjs": "^6",
129
130
  "ts-md5": "^1",
@@ -135,7 +136,7 @@
135
136
  "yaml": "^2",
136
137
  "zod": "^3",
137
138
  "zustand": "^4.4",
138
- "zustand-utils": "^1"
139
+ "zustand-utils": "^1.3.2"
139
140
  },
140
141
  "devDependencies": {
141
142
  "@commitlint/cli": "^18",
@@ -147,19 +148,19 @@
147
148
  "@testing-library/jest-dom": "^6",
148
149
  "@testing-library/react": "^14",
149
150
  "@types/chroma-js": "^2",
150
- "@types/json-schema": "^7.0.15",
151
+ "@types/json-schema": "^7",
151
152
  "@types/lodash": "^4",
152
153
  "@types/lodash-es": "^4",
153
154
  "@types/node": "^20",
154
155
  "@types/react": "^18",
155
156
  "@types/react-dom": "^18",
156
- "@types/rtl-detect": "^1.0.3",
157
+ "@types/rtl-detect": "^1",
157
158
  "@types/semver": "^7",
158
159
  "@types/systemjs": "^6",
159
160
  "@types/ua-parser-js": "^0.7",
160
161
  "@types/uuid": "^9",
161
162
  "@umijs/lint": "^4",
162
- "@vitest/coverage-v8": "^1.1.3",
163
+ "@vitest/coverage-v8": "^1",
163
164
  "commitlint": "^18",
164
165
  "consola": "^3",
165
166
  "dpdm": "^3",
@@ -167,7 +168,7 @@
167
168
  "fake-indexeddb": "^5",
168
169
  "glob": "^10",
169
170
  "husky": "^8",
170
- "jsdom": "^23.0.0",
171
+ "jsdom": "^23",
171
172
  "just-diff": "^6",
172
173
  "lint-staged": "^15",
173
174
  "lodash": "^4",
@@ -183,8 +184,8 @@
183
184
  "typescript": "^5",
184
185
  "unified": "^11",
185
186
  "unist-util-visit": "^5",
186
- "vitest": "^1.1.3",
187
- "vitest-canvas-mock": "^0.3.3"
187
+ "vitest": "^1",
188
+ "vitest-canvas-mock": "^0.3"
188
189
  },
189
190
  "publishConfig": {
190
191
  "access": "public",
@@ -9,7 +9,7 @@ import { Flexbox } from 'react-layout-kit';
9
9
 
10
10
  import { DESKTOP_HEADER_ICON_SIZE } from '@/const/layoutTokens';
11
11
  import { useGlobalStore } from '@/store/global';
12
- import { useSessionChatInit, useSessionStore } from '@/store/session';
12
+ import { useSessionStore } from '@/store/session';
13
13
  import { agentSelectors, sessionSelectors } from '@/store/session/selectors';
14
14
  import { pathString } from '@/utils/url';
15
15
 
@@ -19,11 +19,12 @@ import ShareButton from '../../features/ChatHeader/ShareButton';
19
19
 
20
20
  const Left = memo(() => {
21
21
  const { t } = useTranslation('chat');
22
- const init = useSessionChatInit();
22
+
23
23
  const router = useRouter();
24
24
 
25
- const [isInbox, title, description, avatar, backgroundColor, model, plugins] = useSessionStore(
26
- (s) => [
25
+ const [init, isInbox, title, description, avatar, backgroundColor, model, plugins] =
26
+ useSessionStore((s) => [
27
+ sessionSelectors.isSomeSessionActive(s),
27
28
  sessionSelectors.isInboxSession(s),
28
29
  agentSelectors.currentAgentTitle(s),
29
30
  agentSelectors.currentAgentDescription(s),
@@ -31,8 +32,7 @@ const Left = memo(() => {
31
32
  agentSelectors.currentAgentBackgroundColor(s),
32
33
  agentSelectors.currentAgentModel(s),
33
34
  agentSelectors.currentAgentPlugins(s),
34
- ],
35
- );
35
+ ]);
36
36
 
37
37
  const displayTitle = isInbox ? t('inbox.title') : title;
38
38
  const displayDesc = isInbox ? t('inbox.desc') : description;
@@ -9,33 +9,36 @@ import useMergeState from 'use-merge-value';
9
9
 
10
10
  import AgentInfo from '@/features/AgentInfo';
11
11
  import { useGlobalStore } from '@/store/global';
12
- import { useSessionChatInit, useSessionStore } from '@/store/session';
13
- import { agentSelectors } from '@/store/session/selectors';
12
+ import { useSessionStore } from '@/store/session';
13
+ import { agentSelectors, sessionSelectors } from '@/store/session/selectors';
14
14
  import { pathString } from '@/utils/url';
15
15
 
16
- import SidebarHeader from '../SidebarHeader';
16
+ import SidebarHeader from '../../../../components/SidebarHeader';
17
17
  import { useStyles } from './style';
18
18
 
19
19
  const SystemRole = memo(() => {
20
20
  const router = useRouter();
21
21
  const [editing, setEditing] = useState(false);
22
22
  const { styles } = useStyles();
23
- const [systemRole, meta, updateAgentConfig] = useSessionStore((s) => [
23
+
24
+ const [init, systemRole, meta, updateAgentConfig] = useSessionStore((s) => [
25
+ sessionSelectors.isSomeSessionActive(s),
24
26
  agentSelectors.currentAgentSystemRole(s),
25
27
  agentSelectors.currentAgentMeta(s),
26
28
  s.updateAgentConfig,
27
29
  ]);
30
+
28
31
  const [showSystemRole, toggleSystemRole] = useGlobalStore((s) => [
29
32
  s.preference.showSystemRole,
30
33
  s.toggleSystemRole,
31
34
  ]);
35
+
32
36
  const [open, setOpen] = useMergeState(false, {
33
37
  defaultValue: showSystemRole,
34
38
  onChange: toggleSystemRole,
35
39
  value: showSystemRole,
36
40
  });
37
41
 
38
- const init = useSessionChatInit();
39
42
  const { t } = useTranslation('common');
40
43
 
41
44
  const handleOpenWithEdit = () => {
@@ -3,15 +3,14 @@ import { createStyles } from 'antd-style';
3
3
  import dynamic from 'next/dynamic';
4
4
  import { memo } from 'react';
5
5
 
6
+ import TopicListContent from '@/app/chat/features/TopicListContent';
6
7
  import SafeSpacing from '@/components/SafeSpacing';
7
8
  import { CHAT_SIDEBAR_WIDTH } from '@/const/layoutTokens';
8
9
  import { useGlobalStore } from '@/store/global';
9
10
  import { useSessionStore } from '@/store/session';
10
11
  import { sessionSelectors } from '@/store/session/selectors';
11
12
 
12
- import TopicListContent from '../../features/TopicListContent';
13
-
14
- const SystemRole = dynamic(() => import('../../features/SystemRole'));
13
+ const SystemRole = dynamic(() => import('./SystemRole'));
15
14
 
16
15
  const useStyles = createStyles(({ css, token }) => ({
17
16
  content: css`