@lobehub/chat 1.2.1 → 1.2.3

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 (105) hide show
  1. package/.stylelintrc.js +1 -0
  2. package/CHANGELOG.md +50 -0
  3. package/README.md +1 -1
  4. package/locales/ar/plugin.json +1 -1
  5. package/locales/ar/portal.json +7 -1
  6. package/locales/bg-BG/plugin.json +1 -1
  7. package/locales/bg-BG/portal.json +7 -1
  8. package/locales/de-DE/plugin.json +1 -1
  9. package/locales/de-DE/portal.json +7 -1
  10. package/locales/en-US/plugin.json +1 -1
  11. package/locales/en-US/portal.json +8 -2
  12. package/locales/es-ES/plugin.json +1 -1
  13. package/locales/es-ES/portal.json +7 -1
  14. package/locales/fr-FR/plugin.json +1 -1
  15. package/locales/fr-FR/portal.json +7 -1
  16. package/locales/it-IT/plugin.json +1 -1
  17. package/locales/it-IT/portal.json +7 -1
  18. package/locales/ja-JP/plugin.json +1 -1
  19. package/locales/ja-JP/portal.json +7 -1
  20. package/locales/ko-KR/plugin.json +1 -1
  21. package/locales/ko-KR/portal.json +7 -1
  22. package/locales/nl-NL/plugin.json +1 -1
  23. package/locales/nl-NL/portal.json +7 -1
  24. package/locales/pl-PL/plugin.json +1 -1
  25. package/locales/pl-PL/portal.json +7 -1
  26. package/locales/pt-BR/plugin.json +1 -1
  27. package/locales/pt-BR/portal.json +7 -1
  28. package/locales/ru-RU/plugin.json +1 -1
  29. package/locales/ru-RU/portal.json +7 -1
  30. package/locales/tr-TR/plugin.json +1 -1
  31. package/locales/tr-TR/portal.json +7 -1
  32. package/locales/vi-VN/plugin.json +1 -1
  33. package/locales/vi-VN/portal.json +7 -1
  34. package/locales/zh-CN/plugin.json +1 -1
  35. package/locales/zh-CN/portal.json +8 -2
  36. package/locales/zh-TW/portal.json +7 -1
  37. package/package.json +6 -7
  38. package/src/app/(main)/@nav/_layout/Mobile.tsx +2 -3
  39. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/DragUpload.tsx +1 -1
  40. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/TextArea.tsx +2 -1
  41. package/src/app/(main)/chat/(workspace)/@portal/features/{Tools/ToolUI → ArtifactUI}/Footer.tsx +18 -7
  42. package/src/app/(main)/chat/(workspace)/@portal/features/{Tools/ToolUI → ArtifactUI}/ToolRender.tsx +4 -3
  43. package/src/app/(main)/chat/(workspace)/@portal/features/{Tools/ToolUI → ArtifactUI}/index.tsx +2 -2
  44. package/src/app/(main)/chat/(workspace)/@portal/features/{Tools/ToolList → Artifacts/ArtifactList}/Item/index.tsx +3 -3
  45. package/src/app/(main)/chat/(workspace)/@portal/features/{Tools/ToolList → Artifacts/ArtifactList}/Item/style.ts +3 -2
  46. package/src/app/(main)/chat/(workspace)/@portal/features/Artifacts/ArtifactList/index.tsx +61 -0
  47. package/src/app/(main)/chat/(workspace)/@portal/features/Artifacts/index.tsx +21 -0
  48. package/src/app/(main)/chat/(workspace)/@portal/features/Header.tsx +1 -1
  49. package/src/app/(main)/chat/(workspace)/@portal/index.tsx +12 -6
  50. package/src/app/(main)/chat/(workspace)/@topic/features/SystemRole/style.ts +8 -4
  51. package/src/app/(main)/chat/(workspace)/@topic/features/TopicListContent/TopicItem.tsx +1 -1
  52. package/src/app/(main)/chat/(workspace)/_layout/Desktop/Portal.tsx +7 -7
  53. package/src/app/(main)/chat/(workspace)/_layout/Desktop/TopicPanel.tsx +3 -3
  54. package/src/app/(main)/chat/(workspace)/_layout/Desktop/index.tsx +2 -2
  55. package/src/app/(main)/chat/(workspace)/features/ShareButton/style.ts +6 -6
  56. package/src/app/(main)/chat/@session/_layout/Desktop/PanelBody.tsx +3 -1
  57. package/src/app/(main)/chat/@session/_layout/Desktop/SessionHeader.tsx +1 -1
  58. package/src/app/(main)/chat/@session/features/SessionListContent/ListItem/index.tsx +2 -5
  59. package/src/app/(main)/chat/@session/features/SkeletonList.tsx +2 -3
  60. package/src/app/(main)/chat/features/Migration/Start.tsx +1 -1
  61. package/src/app/(main)/chat/settings/features/SubmitAgentButton/style.ts +4 -3
  62. package/src/app/(main)/market/@detail/features/TokenTag.tsx +2 -1
  63. package/src/app/(main)/market/@detail/features/style.ts +4 -3
  64. package/src/app/(main)/market/_layout/Desktop/DetailSidebar.tsx +1 -1
  65. package/src/app/(main)/market/_layout/Desktop/Hero.tsx +3 -2
  66. package/src/app/(main)/market/features/AgentCard/AgentCardBanner.tsx +1 -1
  67. package/src/app/(main)/market/features/AgentCard/index.tsx +2 -2
  68. package/src/app/(main)/market/features/AgentList.tsx +1 -1
  69. package/src/app/(main)/profile/[[...slugs]]/Client.tsx +4 -3
  70. package/src/app/(main)/settings/_layout/Desktop/SideBar.tsx +4 -2
  71. package/src/app/(main)/settings/about/features/ItemCard.tsx +2 -1
  72. package/src/app/(main)/settings/llm/components/ProviderModelList/ModelFetcher.tsx +5 -1
  73. package/src/app/(main)/settings/llm/components/ProviderModelList/index.tsx +1 -1
  74. package/src/app/(main)/settings/system-agent/features/{AgentMeta.tsx → createForm.tsx} +6 -5
  75. package/src/app/(main)/settings/system-agent/features/useSync.ts +7 -7
  76. package/src/app/(main)/settings/system-agent/index.tsx +4 -6
  77. package/src/app/(main)/welcome/features/Hero.tsx +1 -1
  78. package/src/components/Menu/index.tsx +4 -3
  79. package/src/components/Notification/index.tsx +4 -4
  80. package/src/database/client/models/message.ts +1 -1
  81. package/src/features/AgentSetting/AgentPlugin/LoadingList.tsx +1 -1
  82. package/src/features/AgentSetting/AgentPlugin/index.tsx +1 -1
  83. package/src/features/Conversation/Error/OllamaBizError/SetupGuide.tsx +3 -3
  84. package/src/features/Conversation/Messages/Tool/Inspector/index.tsx +4 -4
  85. package/src/features/Conversation/Messages/Tool/Inspector/style.ts +2 -1
  86. package/src/features/Conversation/Messages/Tool/index.tsx +1 -1
  87. package/src/features/Conversation/components/BackBottom/style.ts +6 -6
  88. package/src/features/Conversation/components/InboxWelcome/QuestionSuggest.tsx +4 -2
  89. package/src/features/Conversation/components/InboxWelcome/index.tsx +5 -7
  90. package/src/features/PluginsUI/Render/Loading.tsx +4 -4
  91. package/src/features/User/DataStatistics.tsx +2 -1
  92. package/src/features/User/UserPanel/index.tsx +2 -2
  93. package/src/locales/default/plugin.ts +1 -1
  94. package/src/locales/default/portal.ts +8 -2
  95. package/src/store/chat/slices/message/action.ts +1 -1
  96. package/src/store/chat/slices/plugin/action.ts +25 -1
  97. package/src/store/chat/slices/portal/action.test.ts +14 -14
  98. package/src/store/chat/slices/portal/action.ts +5 -5
  99. package/src/store/chat/slices/portal/initialState.ts +3 -3
  100. package/src/store/chat/slices/portal/selectors.test.ts +18 -18
  101. package/src/store/chat/slices/portal/selectors.ts +9 -9
  102. package/src/tools/dalle/Render/Item/index.tsx +2 -2
  103. package/src/app/(main)/chat/(workspace)/@portal/features/Tools/ToolList/index.tsx +0 -39
  104. package/src/app/(main)/settings/system-agent/features/Topic.tsx +0 -57
  105. package/src/app/(main)/settings/system-agent/features/Translation.tsx +0 -57
package/.stylelintrc.js CHANGED
@@ -4,5 +4,6 @@ module.exports = {
4
4
  ...config,
5
5
  rules: {
6
6
  'selector-id-pattern': null,
7
+ ...config.rules,
7
8
  },
8
9
  };
package/CHANGELOG.md CHANGED
@@ -2,6 +2,56 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ### [Version 1.2.3](https://github.com/lobehub/lobe-chat/compare/v1.2.2...v1.2.3)
6
+
7
+ <sup>Released on **2024-07-01**</sup>
8
+
9
+ #### ♻ Code Refactoring
10
+
11
+ - **misc**: Refactor the portal implement.
12
+
13
+ <br/>
14
+
15
+ <details>
16
+ <summary><kbd>Improvements and Fixes</kbd></summary>
17
+
18
+ #### Code refactoring
19
+
20
+ - **misc**: Refactor the portal implement, closes [#3110](https://github.com/lobehub/lobe-chat/issues/3110) ([53fb292](https://github.com/lobehub/lobe-chat/commit/53fb292))
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 1.2.2](https://github.com/lobehub/lobe-chat/compare/v1.2.1...v1.2.2)
31
+
32
+ <sup>Released on **2024-07-01**</sup>
33
+
34
+ #### 🐛 Bug Fixes
35
+
36
+ - **misc**: Display issue when select default model in System Agent.
37
+
38
+ <br/>
39
+
40
+ <details>
41
+ <summary><kbd>Improvements and Fixes</kbd></summary>
42
+
43
+ #### What's fixed
44
+
45
+ - **misc**: Display issue when select default model in System Agent, closes [#3095](https://github.com/lobehub/lobe-chat/issues/3095) ([49f7f33](https://github.com/lobehub/lobe-chat/commit/49f7f33))
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 1.2.1](https://github.com/lobehub/lobe-chat/compare/v1.2.0...v1.2.1)
6
56
 
7
57
  <sup>Released on **2024-07-01**</sup>
package/README.md CHANGED
@@ -39,7 +39,7 @@ One-click **FREE** deployment of your private OpenAI ChatGPT/Claude/Gemini/Groq/
39
39
 
40
40
  <sup>Pioneering the new age of thinking and creating. Built for you, the Super Individual.</sup>
41
41
 
42
- [![][github-trending-shield]][github-trending-url] <a href="https://hellogithub.com/repository/39701baf5a734cb894ec812248a5655a" target="_blank"><img src="https://abroad.hellogithub.com/v1/widgets/recommend.svg?rid=39701baf5a734cb894ec812248a5655a&claim_uid=HxYvFN34htJzGCD" alt="Featured|HelloGitHub" style="width: 250px; height: 54px;" width="250" height="54" /></a>
42
+ [![][github-trending-shield]][github-trending-url]
43
43
 
44
44
  [![][image-overview]][vercel-link]
45
45
 
@@ -139,7 +139,7 @@
139
139
  "modalDesc": "بعد ضبط عنوان سوق الإضافات، يمكن استخدام سوق الإضافات المخصص",
140
140
  "title": "ضبط سوق الإضافات"
141
141
  },
142
- "showInPortal": "يرجى الاطلاع على التفاصيل في النافذة المنبثقة",
142
+ "showInPortal": "يرجى الاطلاع على التفاصيل في مساحة العمل",
143
143
  "store": {
144
144
  "actions": {
145
145
  "confirmUninstall": "سيتم إلغاء تثبيت الإضافة، وسيتم مسح تكوين الإضافة، يرجى تأكيد العملية",
@@ -1,4 +1,10 @@
1
1
  {
2
- "aiSummary": "تلخيص من قبل المساعد",
2
+ "Artifacts": "القطع الأثرية",
3
+ "actions": {
4
+ "genAiMessage": "إنشاء رسالة مساعد ذكاء اصطناعي",
5
+ "summary": "ملخص",
6
+ "summaryTooltip": "ملخص للمحتوى الحالي"
7
+ },
8
+ "emptyArtifactList": "قائمة القطع الأثرية الحالية فارغة، يرجى استخدام الإضافات في الجلسة ومن ثم التحقق مرة أخرى",
3
9
  "title": "نافذة موسعة"
4
10
  }
@@ -139,7 +139,7 @@
139
139
  "modalDesc": "След като конфигурирате адреса на пазара на плъгини, можете да използвате персонализиран пазар на плъгини",
140
140
  "title": "Конфигуриране на пазара на плъгини"
141
141
  },
142
- "showInPortal": "Моля, вижте подробностите в разширеното прозорец",
142
+ "showInPortal": "Моля, вижте подробностите в работното пространство",
143
143
  "store": {
144
144
  "actions": {
145
145
  "confirmUninstall": "Плъгинът е на път да бъде деинсталиран. След деинсталирането конфигурацията на плъгина ще бъде изчистена. Моля, потвърдете операцията си.",
@@ -1,4 +1,10 @@
1
1
  {
2
- "aiSummary": "Сумиране от помощник",
2
+ "Artifacts": "Артефакти",
3
+ "actions": {
4
+ "genAiMessage": "Създаване на съобщение на помощника",
5
+ "summary": "Обобщение",
6
+ "summaryTooltip": "Обобщение на текущото съдържание"
7
+ },
8
+ "emptyArtifactList": "Списъкът с текущите артефакти е празен. Моля, използвайте добавки в разговора и след това проверете отново.",
3
9
  "title": "Разширено прозорец"
4
10
  }
@@ -139,7 +139,7 @@
139
139
  "modalDesc": "Nachdem Sie die Adresse des Plugin-Marktes konfiguriert haben, können Sie den benutzerdefinierten Plugin-Markt verwenden.",
140
140
  "title": "Plugin-Markteinstellungen"
141
141
  },
142
- "showInPortal": "Bitte überprüfen Sie die Details im Erweiterungsfenster",
142
+ "showInPortal": "Bitte überprüfen Sie die Details im Portal",
143
143
  "store": {
144
144
  "actions": {
145
145
  "confirmUninstall": "Das Plugin wird deinstalliert und alle Konfigurationen werden gelöscht. Bitte bestätigen Sie Ihre Aktion.",
@@ -1,4 +1,10 @@
1
1
  {
2
- "aiSummary": "Lassen Sie den Assistenten zusammenfassen",
2
+ "Artifacts": "Artefakte",
3
+ "actions": {
4
+ "genAiMessage": "Assistenten-Nachricht erstellen",
5
+ "summary": "Zusammenfassung",
6
+ "summaryTooltip": "Zusammenfassung des aktuellen Inhalts"
7
+ },
8
+ "emptyArtifactList": "Die Liste der Artefakte ist derzeit leer. Bitte verwenden Sie Plugins in der Sitzung und überprüfen Sie sie erneut.",
3
9
  "title": "Erweiterungsfenster"
4
10
  }
@@ -139,7 +139,7 @@
139
139
  "modalDesc": "After configuring the address of the plugin marketplace, you can use a custom plugin marketplace",
140
140
  "title": "Configure Plugin Marketplace"
141
141
  },
142
- "showInPortal": "Please view details in the extension window",
142
+ "showInPortal": "Please check the details in the Portal view",
143
143
  "store": {
144
144
  "actions": {
145
145
  "confirmUninstall": "The plugin is about to be uninstalled. After uninstalling, the plugin configuration will be cleared. Please confirm your operation.",
@@ -1,4 +1,10 @@
1
1
  {
2
- "aiSummary": "Let the assistant summarize",
3
- "title": "Expand Window"
2
+ "Artifacts": "Artifacts",
3
+ "actions": {
4
+ "genAiMessage": "Generate Assistant Message",
5
+ "summary": "Summary",
6
+ "summaryTooltip": "Summarize current content"
7
+ },
8
+ "emptyArtifactList": "The current Artifacts list is empty. Please use plugins in the session as needed before viewing.",
9
+ "title": "Portal View"
4
10
  }
@@ -139,7 +139,7 @@
139
139
  "modalDesc": "Después de configurar la dirección del mercado de complementos, puede utilizar un mercado personalizado de complementos.",
140
140
  "title": "Configuración del mercado de complementos"
141
141
  },
142
- "showInPortal": "Por favor, consulta los detalles en la ventana de expansión",
142
+ "showInPortal": "Por favor, consulta los detalles en el portal de trabajo",
143
143
  "store": {
144
144
  "actions": {
145
145
  "confirmUninstall": "Está a punto de desinstalar este complemento. Se eliminará la configuración del complemento. Confirme su acción.",
@@ -1,4 +1,10 @@
1
1
  {
2
- "aiSummary": "Resumen del asistente",
2
+ "Artifacts": "Artefactos",
3
+ "actions": {
4
+ "genAiMessage": "Crear mensaje de IA",
5
+ "summary": "Resumen",
6
+ "summaryTooltip": "Resumir el contenido actual"
7
+ },
8
+ "emptyArtifactList": "La lista de Artefactos actual está vacía. Por favor, utilice los complementos en la conversación y vuelva a intentarlo.",
3
9
  "title": "Ventana de expansión"
4
10
  }
@@ -139,7 +139,7 @@
139
139
  "modalDesc": "Une fois l'adresse du marché des plugins configurée, vous pourrez utiliser un marché de plugins personnalisé.",
140
140
  "title": "Paramètres du marché des plugins"
141
141
  },
142
- "showInPortal": "Veuillez consulter les détails dans la fenêtre d'extension",
142
+ "showInPortal": "Veuillez consulter les détails dans l'espace de travail",
143
143
  "store": {
144
144
  "actions": {
145
145
  "confirmUninstall": "Vous êtes sur le point de désinstaller ce plugin. Une fois désinstallé, sa configuration sera effacée. Veuillez confirmer votre action.",
@@ -1,4 +1,10 @@
1
1
  {
2
- "aiSummary": "Faire un résumé avec l'assistant",
2
+ "Artifacts": "Artifacts",
3
+ "actions": {
4
+ "genAiMessage": "Créer un message d'assistant",
5
+ "summary": "Résumé",
6
+ "summaryTooltip": "Résumé du contenu actuel"
7
+ },
8
+ "emptyArtifactList": "La liste des Artifacts est actuellement vide. Veuillez utiliser les plugins dans la conversation avant de consulter à nouveau.",
3
9
  "title": "Fenêtre d'extension"
4
10
  }
@@ -139,7 +139,7 @@
139
139
  "modalDesc": "Dopo aver configurato l'indirizzo del mercato dei plugin, è possibile utilizzare un mercato dei plugin personalizzato",
140
140
  "title": "Impostazioni del mercato dei plugin"
141
141
  },
142
- "showInPortal": "Si prega di visualizzare i dettagli nella finestra di estensione",
142
+ "showInPortal": "Si prega di visualizzare i dettagli nell'area di lavoro",
143
143
  "store": {
144
144
  "actions": {
145
145
  "confirmUninstall": "Stai per disinstallare questo plugin. La disinstallazione cancellerà la configurazione del plugin. Conferma l'operazione",
@@ -1,4 +1,10 @@
1
1
  {
2
- "aiSummary": "Riepilogo assistente",
2
+ "Artifacts": "Artefatti",
3
+ "actions": {
4
+ "genAiMessage": "Genera messaggio AI",
5
+ "summary": "Sommario",
6
+ "summaryTooltip": "Sommario del contenuto attuale"
7
+ },
8
+ "emptyArtifactList": "La lista degli Artefatti attuale è vuota, si prega di utilizzare i plugin necessari durante la sessione e poi controllare di nuovo",
3
9
  "title": "Finestra di espansione"
4
10
  }
@@ -139,7 +139,7 @@
139
139
  "modalDesc": "プラグインマーケットのアドレスを設定すると、カスタムのプラグインマーケットを使用できます",
140
140
  "title": "プラグインマーケットの設定"
141
141
  },
142
- "showInPortal": "詳細は拡張ウィンドウで表示してください",
142
+ "showInPortal": "詳細はワークスペースで表示してください",
143
143
  "store": {
144
144
  "actions": {
145
145
  "confirmUninstall": "このプラグインをアンインストールします。アンインストール後、プラグインの設定がクリアされます。操作を確認してください。",
@@ -1,4 +1,10 @@
1
1
  {
2
- "aiSummary": "アシスタントに要約させる",
2
+ "Artifacts": "アーティファクト",
3
+ "actions": {
4
+ "genAiMessage": "AIメッセージを生成",
5
+ "summary": "サマリー",
6
+ "summaryTooltip": "現在の内容を要約"
7
+ },
8
+ "emptyArtifactList": "現在、アーティファクトリストは空です。プラグインを使用してセッション中に追加してください。",
3
9
  "title": "拡張ウィンドウ"
4
10
  }
@@ -139,7 +139,7 @@
139
139
  "modalDesc": "플러그인 마켓의 주소를 구성하면 사용자 정의 플러그인 마켓을 사용할 수 있습니다.",
140
140
  "title": "플러그인 마켓 설정"
141
141
  },
142
- "showInPortal": "확장 창에서 자세히 보기",
142
+ "showInPortal": "작업 영역에서 자세히 확인하세요",
143
143
  "store": {
144
144
  "actions": {
145
145
  "confirmUninstall": "이 플러그인을 제거하려고 합니다. 제거하면 플러그인 구성이 지워지므로 작업을 확인하세요.",
@@ -1,4 +1,10 @@
1
1
  {
2
- "aiSummary": "어시스턴트 요약",
2
+ "Artifacts": "아티팩트",
3
+ "actions": {
4
+ "genAiMessage": "AI 메시지 생성",
5
+ "summary": "요약",
6
+ "summaryTooltip": "현재 콘텐츠를 요약합니다"
7
+ },
8
+ "emptyArtifactList": "현재 아티팩트 목록이 비어 있습니다. 플러그인을 사용한 후에 다시 확인해주세요.",
3
9
  "title": "확장 창"
4
10
  }
@@ -139,7 +139,7 @@
139
139
  "modalDesc": "Na het instellen van de marktlocatie voor plugins, kunt u een aangepaste pluginmarkt gebruiken.",
140
140
  "title": "Instellingen voor pluginmarkt"
141
141
  },
142
- "showInPortal": "Gelieve de details te bekijken in het uitbreidingsvenster",
142
+ "showInPortal": "Gelieve de details in het portaal te bekijken",
143
143
  "store": {
144
144
  "actions": {
145
145
  "confirmUninstall": "Deze plugin wordt binnenkort verwijderd. Na verwijdering worden de configuraties gewist. Weet u zeker dat u door wilt gaan?",
@@ -1,4 +1,10 @@
1
1
  {
2
- "aiSummary": "Laat de assistent samenvatten",
2
+ "Artifacts": "Artifacts",
3
+ "actions": {
4
+ "genAiMessage": "Creëer assistentbericht",
5
+ "summary": "Samenvatting",
6
+ "summaryTooltip": "Samenvatting van de huidige inhoud"
7
+ },
8
+ "emptyArtifactList": "De huidige lijst met Artifacts is leeg. Gebruik plugins in de sessie en bekijk deze later opnieuw.",
3
9
  "title": "Uitbreidingsvenster"
4
10
  }
@@ -139,7 +139,7 @@
139
139
  "modalDesc": "Po skonfigurowaniu adresu sklepu wtyczek możesz korzystać z niestandardowego sklepu wtyczek",
140
140
  "title": "Skonfiguruj sklep wtyczek"
141
141
  },
142
- "showInPortal": "Proszę sprawdzić szczegóły w oknie rozszerzenia",
142
+ "showInPortal": "Proszę sprawdzić szczegóły w obszarze roboczym",
143
143
  "store": {
144
144
  "actions": {
145
145
  "confirmUninstall": "Wtyczka zostanie odinstalowana. Po odinstalowaniu konfiguracja wtyczki zostanie wyczyszczona. Potwierdź swoje działanie.",
@@ -1,4 +1,10 @@
1
1
  {
2
- "aiSummary": "Podsumowanie przez asystenta",
2
+ "Artifacts": "Artefakty",
3
+ "actions": {
4
+ "genAiMessage": "Tworzenie wiadomości AI",
5
+ "summary": "Podsumowanie",
6
+ "summaryTooltip": "Podsumowanie bieżącej zawartości"
7
+ },
8
+ "emptyArtifactList": "Obecna lista Artefaktów jest pusta. Proszę użyć wtyczek w trakcie sesji, a następnie sprawdzić ponownie.",
3
9
  "title": "Okno rozszerzenia"
4
10
  }
@@ -139,7 +139,7 @@
139
139
  "modalDesc": "Após configurar o endereço do mercado de plugins, você poderá usar um mercado personalizado de plugins.",
140
140
  "title": "Configurações do Mercado de Plugins"
141
141
  },
142
- "showInPortal": "Por favor, veja os detalhes na janela de extensão",
142
+ "showInPortal": "Por favor, veja os detalhes na área de trabalho",
143
143
  "store": {
144
144
  "actions": {
145
145
  "confirmUninstall": "Você está prestes a desinstalar este plugin. A desinstalação irá limpar a configuração do plugin. Confirme a operação.",
@@ -1,4 +1,10 @@
1
1
  {
2
- "aiSummary": "Permita que o assistente resuma",
2
+ "Artifacts": "Artefatos",
3
+ "actions": {
4
+ "genAiMessage": "Gerar mensagem de IA",
5
+ "summary": "Resumo",
6
+ "summaryTooltip": "Resumir o conteúdo atual"
7
+ },
8
+ "emptyArtifactList": "A lista de Artefatos atual está vazia. Por favor, use os plugins conforme necessário durante a sessão e depois verifique novamente.",
3
9
  "title": "Janela de Expansão"
4
10
  }
@@ -139,7 +139,7 @@
139
139
  "modalDesc": "После настройки адреса магазина плагинов можно использовать пользовательский магазин",
140
140
  "title": "Настройки магазина плагинов"
141
141
  },
142
- "showInPortal": "Просмотрите подробности во всплывающем окне",
142
+ "showInPortal": "Просмотрите подробности в рабочей области",
143
143
  "store": {
144
144
  "actions": {
145
145
  "confirmUninstall": "Вы собираетесь удалить этот плагин. После удаления его настройки будут утрачены. Вы уверены, что хотите продолжить?",
@@ -1,4 +1,10 @@
1
1
  {
2
- "aiSummary": "Попросите помощника сделать сводку",
2
+ "Artifacts": "Артефакты",
3
+ "actions": {
4
+ "genAiMessage": "Создать сообщение помощника",
5
+ "summary": "Сводка",
6
+ "summaryTooltip": "Сводка текущего содержимого"
7
+ },
8
+ "emptyArtifactList": "Список текущих артефактов пуст. Пожалуйста, используйте плагины во время сеанса и затем просмотрите.",
3
9
  "title": "Расширенное окно"
4
10
  }
@@ -139,7 +139,7 @@
139
139
  "modalDesc": "Eklenti pazarı adresini yapılandırdıktan sonra, özel bir eklenti pazarı kullanabilirsiniz.",
140
140
  "title": "Eklenti Pazarı Ayarla"
141
141
  },
142
- "showInPortal": "Detayları genişletme penceresinde görüntüleyin",
142
+ "showInPortal": "Detayları çalışma alanında görüntüleyin",
143
143
  "store": {
144
144
  "actions": {
145
145
  "confirmUninstall": "Bu eklentiyi kaldırmak üzeresiniz, kaldırdıktan sonra eklenti yapılandırması temizlenecektir, işleminizi onaylayın",
@@ -1,4 +1,10 @@
1
1
  {
2
- "aiSummary": "Asistanın özetlemesine izin ver",
2
+ "Artifacts": "Artefaktlar",
3
+ "actions": {
4
+ "genAiMessage": "Yapay Zeka Mesajı Oluştur",
5
+ "summary": "Özet",
6
+ "summaryTooltip": "Mevcut içeriği özetle"
7
+ },
8
+ "emptyArtifactList": "Mevcut Artefakt listesi boş, lütfen eklentileri kullanarak oturumda gerektiğinde göz atın",
3
9
  "title": "Genişletme Penceresi"
4
10
  }
@@ -139,7 +139,7 @@
139
139
  "modalDesc": "Sau khi cấu hình địa chỉ thị trường plugin, bạn có thể sử dụng thị trường plugin tùy chỉnh",
140
140
  "title": "Cài đặt thị trường plugin"
141
141
  },
142
- "showInPortal": "Vui lòng xem chi tiết trong cửa sổ mở rộng",
142
+ "showInPortal": "Vui lòng xem chi tiết trong khu vực làm việc",
143
143
  "store": {
144
144
  "actions": {
145
145
  "confirmUninstall": "Sắp gỡ bỏ plugin này, sau khi gỡ bỏ sẽ xóa cấu hình của plugin này, vui lòng xác nhận hành động của bạn",
@@ -1,4 +1,10 @@
1
1
  {
2
- "aiSummary": "Tóm tắt bởi trợ lý",
2
+ "Artifacts": "Tác Phẩm",
3
+ "actions": {
4
+ "genAiMessage": "Tạo tin nhắn trợ giúp",
5
+ "summary": "Tóm tắt",
6
+ "summaryTooltip": "Tóm tắt nội dung hiện tại"
7
+ },
8
+ "emptyArtifactList": "Danh sách Tác Phẩm hiện tại đang trống, vui lòng sử dụng các plugin trong cuộc trò chuyện trước khi xem lại",
3
9
  "title": "Cửa sổ mở rộng"
4
10
  }
@@ -139,7 +139,7 @@
139
139
  "modalDesc": "配置插件市场的地址后,可以使用自定义的插件市场",
140
140
  "title": "设置插件市场"
141
141
  },
142
- "showInPortal": "请在扩展窗中查看详情",
142
+ "showInPortal": "请在工作区中查看详情",
143
143
  "store": {
144
144
  "actions": {
145
145
  "confirmUninstall": "即将卸载该插件,卸载后将清除该插件配置,请确认你的操作",
@@ -1,4 +1,10 @@
1
1
  {
2
- "aiSummary": "让助手总结",
3
- "title": "扩展窗"
2
+ "Artifacts": "Artifacts",
3
+ "actions": {
4
+ "genAiMessage": "创建助手消息",
5
+ "summary": "总结",
6
+ "summaryTooltip": "总结当前内容"
7
+ },
8
+ "emptyArtifactList": "当前 Artifacts 列表为空,请在会话中按需使用插件后再查看",
9
+ "title": "工作区"
4
10
  }
@@ -1,4 +1,10 @@
1
1
  {
2
- "aiSummary": "讓助手總結",
2
+ "Artifacts": "文物",
3
+ "actions": {
4
+ "genAiMessage": "生成助手訊息",
5
+ "summary": "摘要",
6
+ "summaryTooltip": "總結目前內容"
7
+ },
8
+ "emptyArtifactList": "當前文物列表為空,請在會話中按需使用插件後再查看",
3
9
  "title": "擴展視窗"
4
10
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/chat",
3
- "version": "1.2.1",
3
+ "version": "1.2.3",
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",
@@ -80,7 +80,7 @@
80
80
  "*.json": [
81
81
  "prettier --write --no-error-on-unmatched-pattern"
82
82
  ],
83
- "*.{js,jsx}": [
83
+ "*.{js,jsx,mjs,cjs}": [
84
84
  "prettier --write",
85
85
  "stylelint --fix",
86
86
  "eslint --fix"
@@ -109,9 +109,9 @@
109
109
  "@khmyznikov/pwa-install": "^0.3.9",
110
110
  "@lobehub/chat-plugin-sdk": "^1.32.3",
111
111
  "@lobehub/chat-plugins-gateway": "^1.9.0",
112
- "@lobehub/icons": "^1.23.0",
113
- "@lobehub/tts": "^1.24.1",
114
- "@lobehub/ui": "^1.144.3",
112
+ "@lobehub/icons": "^1.25.1",
113
+ "@lobehub/tts": "^1.24.2",
114
+ "@lobehub/ui": "^1.146.2",
115
115
  "@microsoft/fetch-event-source": "^2.0.1",
116
116
  "@neondatabase/serverless": "^0.9.3",
117
117
  "@next/third-parties": "^14.2.4",
@@ -203,7 +203,7 @@
203
203
  "@ducanh2912/next-pwa": "^10.2.7",
204
204
  "@edge-runtime/vm": "^3.2.0",
205
205
  "@lobehub/i18n-cli": "^1.18.1",
206
- "@lobehub/lint": "^1.23.4",
206
+ "@lobehub/lint": "^1.24.3",
207
207
  "@lobehub/seo-cli": "^1.4.1",
208
208
  "@next/bundle-analyzer": "^14.2.4",
209
209
  "@next/eslint-plugin-next": "^14.2.4",
@@ -228,7 +228,6 @@
228
228
  "@types/ua-parser-js": "^0.7.39",
229
229
  "@types/uuid": "^10.0.0",
230
230
  "@types/ws": "^8.5.10",
231
- "@umijs/lint": "^4.2.13",
232
231
  "@vitest/coverage-v8": "~1.2.2",
233
232
  "ajv-keywords": "^5.1.0",
234
233
  "commitlint": "^19.3.0",
@@ -20,9 +20,8 @@ const useStyles = createStyles(({ css, token }) => ({
20
20
  container: css`
21
21
  position: fixed;
22
22
  z-index: 100;
23
- right: 0;
24
- bottom: 0;
25
- left: 0;
23
+ inset-block-end: 0;
24
+ inset-inline: 0 0;
26
25
  `,
27
26
  }));
28
27
 
@@ -45,7 +45,7 @@ const useStyles = createStyles(({ css, token }) => {
45
45
  border-radius: ${token.borderRadiusLG}px;
46
46
  `,
47
47
  iconGroup: css`
48
- margin-top: -44px;
48
+ margin-block-start: -44px;
49
49
  `,
50
50
  title: css`
51
51
  font-size: 20px;
@@ -19,7 +19,8 @@ const useStyles = createStyles(({ css }) => {
19
19
  resize: none !important;
20
20
 
21
21
  height: 100% !important;
22
- padding: 0 24px;
22
+ padding-block: 0;
23
+ padding-inline: 24px;
23
24
 
24
25
  line-height: 1.5;
25
26
 
@@ -1,6 +1,6 @@
1
- import { Icon } from '@lobehub/ui';
1
+ import { ActionIcon, Icon } from '@lobehub/ui';
2
2
  import { Button } from 'antd';
3
- import { LucideBotMessageSquare } from 'lucide-react';
3
+ import { LucideBotMessageSquare, LucideNotepadText } from 'lucide-react';
4
4
  import { useTranslation } from 'react-i18next';
5
5
  import { Flexbox } from 'react-layout-kit';
6
6
 
@@ -8,15 +8,16 @@ import { useChatStore } from '@/store/chat';
8
8
  import { chatPortalSelectors, chatSelectors } from '@/store/chat/selectors';
9
9
 
10
10
  const Footer = () => {
11
- const [messageId, triggerAIMessage, isAIGenerating] = useChatStore((s) => [
12
- chatPortalSelectors.toolUIMessageId(s),
13
- s.triggerAIMessage,
11
+ const [messageId, isAIGenerating, triggerAIMessage, summaryPluginContent] = useChatStore((s) => [
12
+ chatPortalSelectors.artifactMessageId(s),
14
13
  chatSelectors.isAIGenerating(s),
14
+ s.triggerAIMessage,
15
+ s.summaryPluginContent,
15
16
  ]);
16
17
  const { t } = useTranslation('portal');
17
18
 
18
19
  return (
19
- <Flexbox horizontal paddingBlock={12} paddingInline={12}>
20
+ <Flexbox gap={8} horizontal paddingBlock={12} paddingInline={12}>
20
21
  <Button
21
22
  icon={<Icon icon={LucideBotMessageSquare} />}
22
23
  loading={isAIGenerating}
@@ -24,8 +25,18 @@ const Footer = () => {
24
25
  triggerAIMessage({ parentId: messageId });
25
26
  }}
26
27
  >
27
- {t('aiSummary')}
28
+ {t('actions.genAiMessage')}
28
29
  </Button>
30
+ <ActionIcon
31
+ icon={LucideNotepadText}
32
+ loading={isAIGenerating}
33
+ onClick={() => {
34
+ if (!messageId) return;
35
+
36
+ summaryPluginContent(messageId);
37
+ }}
38
+ title={'actions.summaryTooltip'}
39
+ />
29
40
  </Flexbox>
30
41
  );
31
42
  };
@@ -1,4 +1,5 @@
1
1
  import isEqual from 'fast-deep-equal';
2
+ import { memo } from 'react';
2
3
 
3
4
  import PluginRender from '@/features/PluginsUI/Render';
4
5
  import { useChatStore } from '@/store/chat';
@@ -6,8 +7,8 @@ import { chatPortalSelectors, chatSelectors } from '@/store/chat/selectors';
6
7
  import { BuiltinToolsPortals } from '@/tools/portals';
7
8
  import { safeParseJSON } from '@/utils/safeParseJSON';
8
9
 
9
- const ToolRender = () => {
10
- const messageId = useChatStore(chatPortalSelectors.toolUIMessageId);
10
+ const ToolRender = memo(() => {
11
+ const messageId = useChatStore(chatPortalSelectors.artifactMessageId);
11
12
  const message = useChatStore(chatSelectors.getMessageById(messageId || ''), isEqual);
12
13
 
13
14
  // make sure the message and id is valid
@@ -45,6 +46,6 @@ const ToolRender = () => {
45
46
  state={pluginState}
46
47
  />
47
48
  );
48
- };
49
+ });
49
50
 
50
51
  export default ToolRender;