@lobehub/chat 1.34.3 → 1.34.4

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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,31 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ### [Version 1.34.4](https://github.com/lobehub/lobe-chat/compare/v1.34.3...v1.34.4)
6
+
7
+ <sup>Released on **2024-11-27**</sup>
8
+
9
+ #### 💄 Styles
10
+
11
+ - **misc**: Add switch portal thread.
12
+
13
+ <br/>
14
+
15
+ <details>
16
+ <summary><kbd>Improvements and Fixes</kbd></summary>
17
+
18
+ #### Styles
19
+
20
+ - **misc**: Add switch portal thread, closes [#4819](https://github.com/lobehub/lobe-chat/issues/4819) ([8dbf3ce](https://github.com/lobehub/lobe-chat/commit/8dbf3ce))
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
+
5
30
  ### [Version 1.34.3](https://github.com/lobehub/lobe-chat/compare/v1.34.2...v1.34.3)
6
31
 
7
32
  <sup>Released on **2024-11-27**</sup>
package/changelog/v1.json CHANGED
@@ -1,4 +1,13 @@
1
1
  [
2
+ {
3
+ "children": {
4
+ "improvements": [
5
+ "Add switch portal thread."
6
+ ]
7
+ },
8
+ "date": "2024-11-27",
9
+ "version": "1.34.4"
10
+ },
2
11
  {
3
12
  "children": {
4
13
  "fixes": [
@@ -32,6 +32,7 @@
32
32
  "duplicateTitle": "{{title}} نسخة",
33
33
  "emptyAgent": "لا يوجد مساعد",
34
34
  "historyRange": "نطاق التاريخ",
35
+ "historySummary": "ملخص الرسائل التاريخية",
35
36
  "inbox": {
36
37
  "desc": "قم بتشغيل مجموعة الدماغ وأشعل شرارة التفكير. مساعدك الذكي، هنا حيث يمكنك التواصل بكل شيء",
37
38
  "title": "دردشة عشوائية"
@@ -32,6 +32,7 @@
32
32
  "duplicateTitle": "{{title}} Копие",
33
33
  "emptyAgent": "Няма наличен асистент",
34
34
  "historyRange": "Диапазон на историята",
35
+ "historySummary": "Исторически обобщение на съобщения",
35
36
  "inbox": {
36
37
  "desc": "Активирай мозъчния клъстер и събуди креативното мислене. Твоят виртуален агент е тук, за да общува с теб за всичко.",
37
38
  "title": "Просто чати"
@@ -32,6 +32,7 @@
32
32
  "duplicateTitle": "{{title}} Kopie",
33
33
  "emptyAgent": "Kein Assistent verfügbar",
34
34
  "historyRange": "Verlaufsbereich",
35
+ "historySummary": "Zusammenfassung historischer Nachrichten",
35
36
  "inbox": {
36
37
  "desc": "Aktiviere das Gehirncluster und entfache den Funken des Denkens. Dein intelligenter Assistent, der mit dir über alles kommuniziert.",
37
38
  "title": "Lass uns plaudern"
@@ -32,6 +32,7 @@
32
32
  "duplicateTitle": "{{title}} Copy",
33
33
  "emptyAgent": "No assistant available",
34
34
  "historyRange": "History Range",
35
+ "historySummary": "Historical Message Summary",
35
36
  "inbox": {
36
37
  "desc": "Activate the brain cluster and spark creative thinking. Your virtual assistant is here to communicate with you about everything.",
37
38
  "title": "Just Chat"
@@ -32,6 +32,7 @@
32
32
  "duplicateTitle": "{{title}} Copia",
33
33
  "emptyAgent": "No hay asistente disponible",
34
34
  "historyRange": "Rango de historial",
35
+ "historySummary": "Resumen de mensajes históricos",
35
36
  "inbox": {
36
37
  "desc": "Despierta la mente con el poder del cerebro colectivo. Tu asistente inteligente está aquí para conversar contigo sobre cualquier cosa.",
37
38
  "title": "Charla casual"
@@ -32,6 +32,7 @@
32
32
  "duplicateTitle": "نسخه‌ای از {{title}}",
33
33
  "emptyAgent": "دستیار موجود نیست",
34
34
  "historyRange": "محدوده تاریخی",
35
+ "historySummary": "خلاصه پیام‌های تاریخی",
35
36
  "inbox": {
36
37
  "desc": "خوشه‌های مغزی را فعال کنید و جرقه‌های تفکر را برانگیزید. دستیار هوشمند شما اینجاست تا با شما در مورد هر چیزی صحبت کند.",
37
38
  "title": "گپ دوستانه"
@@ -32,6 +32,7 @@
32
32
  "duplicateTitle": "{{title}} Copie",
33
33
  "emptyAgent": "Aucun assistant disponible",
34
34
  "historyRange": "Plage d'historique",
35
+ "historySummary": "Résumé des messages historiques",
35
36
  "inbox": {
36
37
  "desc": "Débloquez le potentiel de votre esprit. Votre agent intelligent est là pour discuter avec vous de tout et de rien.",
37
38
  "title": "Discutons un peu"
@@ -32,6 +32,7 @@
32
32
  "duplicateTitle": "{{title}} Copia",
33
33
  "emptyAgent": "Nessun assistente disponibile",
34
34
  "historyRange": "Intervallo cronologico",
35
+ "historySummary": "Riepilogo della storia",
35
36
  "inbox": {
36
37
  "desc": "Attiva il cluster cerebrale, accendi la scintilla del pensiero. Il tuo assistente intelligente, qui per comunicare con te su tutto.",
37
38
  "title": "Chiacchierata casuale"
@@ -32,6 +32,7 @@
32
32
  "duplicateTitle": "{{title}} のコピー",
33
33
  "emptyAgent": "エージェントがいません",
34
34
  "historyRange": "履歴範囲",
35
+ "historySummary": "履歴メッセージの要約",
35
36
  "inbox": {
36
37
  "desc": "脳のクラスターを起動し、創造性を引き出しましょう。あなたのスマートアシスタントは、あなたとすべてのことについてここでコミュニケーションします。",
37
38
  "title": "気軽におしゃべり"
@@ -32,6 +32,7 @@
32
32
  "duplicateTitle": "{{title}} 복사본",
33
33
  "emptyAgent": "도우미가 없습니다",
34
34
  "historyRange": "대화 기록 범위",
35
+ "historySummary": "역사 메시지 요약",
35
36
  "inbox": {
36
37
  "desc": "뇌 클러스터를 활성화하여 창의적인 아이디어를 끌어내는 인공지능 비서입니다. 여기서 모든 것에 대해 대화합니다.",
37
38
  "title": "무작위 대화"
@@ -32,6 +32,7 @@
32
32
  "duplicateTitle": "{{title}} Kopie",
33
33
  "emptyAgent": "Geen assistent beschikbaar",
34
34
  "historyRange": "Geschiedenisbereik",
35
+ "historySummary": "Geschiedenis samenvatting",
35
36
  "inbox": {
36
37
  "desc": "Activeer de hersencluster en laat de vonken van gedachten overslaan. Je slimme assistent, hier om met je over alles te praten.",
37
38
  "title": "Praat maar raak"
@@ -32,6 +32,7 @@
32
32
  "duplicateTitle": "{{title}} kopia",
33
33
  "emptyAgent": "Brak asystenta",
34
34
  "historyRange": "Zakres historii",
35
+ "historySummary": "Podsumowanie wiadomości historycznych",
35
36
  "inbox": {
36
37
  "desc": "Włącz klastry mózgów, rozpal iskrę myślenia. Twój inteligentny asystent, gotowy do rozmowy o wszystkim.",
37
38
  "title": "Pogadajmy sobie"
@@ -32,6 +32,7 @@
32
32
  "duplicateTitle": "{{title}} Cópia",
33
33
  "emptyAgent": "Sem assistente disponível",
34
34
  "historyRange": "Intervalo de Histórico",
35
+ "historySummary": "Resumo das mensagens históricas",
35
36
  "inbox": {
36
37
  "desc": "Ative o cluster cerebral, inspire faíscas de pensamento. Seu assistente inteligente, aqui para conversar sobre tudo.",
37
38
  "title": "Conversa Aleatória"
@@ -32,6 +32,7 @@
32
32
  "duplicateTitle": "{{title}} Копия",
33
33
  "emptyAgent": "Нет ассистента",
34
34
  "historyRange": "История сообщений",
35
+ "historySummary": "Сводка исторических сообщений",
35
36
  "inbox": {
36
37
  "desc": "Зажги искру мысли, открой кластер мозгов. Твой виртуальный ассистент, готовый обсудить все с тобой.",
37
38
  "title": "Просто поболтаем"
@@ -32,6 +32,7 @@
32
32
  "duplicateTitle": "{{title}} Kopya",
33
33
  "emptyAgent": "Asistan yok",
34
34
  "historyRange": "Geçmiş Aralığı",
35
+ "historySummary": "Tarihsel haber özeti",
35
36
  "inbox": {
36
37
  "desc": "Beyin fırtınasını başlatın ve yaratıcı düşünmeye başlayın. Sanal asistanınız burada, her konuda sizinle iletişim kurmak için hazır.",
37
38
  "title": "Sohbet Et"
@@ -32,6 +32,7 @@
32
32
  "duplicateTitle": "{{title}} Bản sao",
33
33
  "emptyAgent": "Không có trợ lý",
34
34
  "historyRange": "Phạm vi lịch sử",
35
+ "historySummary": "Tóm tắt tin tức lịch sử",
35
36
  "inbox": {
36
37
  "desc": "Kích hoạt cụm não, khơi dậy tia lửa tư duy. Trợ lý thông minh của bạn, ở đây để trò chuyện với bạn về mọi thứ.",
37
38
  "title": "Chuyện phiếm"
@@ -32,6 +32,7 @@
32
32
  "duplicateTitle": "{{title}} 副本",
33
33
  "emptyAgent": "暂无助手",
34
34
  "historyRange": "历史范围",
35
+ "historySummary": "历史消息总结",
35
36
  "inbox": {
36
37
  "desc": "开启大脑集群,激发思维火花。你的智能助理,在这里与你交流一切",
37
38
  "title": "随便聊聊"
@@ -32,6 +32,7 @@
32
32
  "duplicateTitle": "{{title}} 副本",
33
33
  "emptyAgent": "暫無助手",
34
34
  "historyRange": "歷史範圍",
35
+ "historySummary": "歷史消息總結",
35
36
  "inbox": {
36
37
  "desc": "開啟大腦集群,激發思維火花。你的智能助理,在這裡與你交流一切",
37
38
  "title": "隨便聊聊"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/chat",
3
- "version": "1.34.3",
3
+ "version": "1.34.4",
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",
@@ -4,6 +4,7 @@ import { Typography } from 'antd';
4
4
  import { createStyles } from 'antd-style';
5
5
  import { ScrollText } from 'lucide-react';
6
6
  import { memo } from 'react';
7
+ import { useTranslation } from 'react-i18next';
7
8
  import { Center, Flexbox } from 'react-layout-kit';
8
9
 
9
10
  import { useChatStore } from '@/store/chat';
@@ -28,6 +29,7 @@ const useStyles = createStyles(({ css, token }) => ({
28
29
 
29
30
  const History = memo(() => {
30
31
  const { styles, theme } = useStyles();
32
+ const { t } = useTranslation('chat');
31
33
  const [content, model] = useChatStore((s) => {
32
34
  const history = topicSelectors.currentActiveTopicSummary(s);
33
35
  return [history?.content, history?.model];
@@ -46,8 +48,7 @@ const History = memo(() => {
46
48
  style={{ color: theme.colorTextDescription }}
47
49
  />
48
50
  </Center>
49
- <Typography.Text type={'secondary'}>历史消息总结</Typography.Text>
50
-
51
+ <Typography.Text type={'secondary'}>{t('historySummary')}</Typography.Text>
51
52
  {model && (
52
53
  <div>
53
54
  <ModelTag model={model} />
@@ -1,20 +1,43 @@
1
1
  import { ActionIcon } from '@lobehub/ui';
2
- import { XIcon } from 'lucide-react';
2
+ import { ArrowLeftRight, XIcon } from 'lucide-react';
3
+ import { memo } from 'react';
4
+ import { Flexbox } from 'react-layout-kit';
3
5
 
4
6
  import SidebarHeader from '@/components/SidebarHeader';
5
7
  import { useChatStore } from '@/store/chat';
6
8
 
7
9
  import Title from './Title';
8
10
 
9
- const Header = () => {
10
- const closeThreadPortal = useChatStore((s) => s.closeThreadPortal);
11
+ const Header = memo(() => {
12
+ const [hasPortal, portalThreadId, closeThreadPortal, switchThread] = useChatStore((s) => [
13
+ !!s.portalThreadId,
14
+ s.portalThreadId,
15
+ s.closeThreadPortal,
16
+ s.switchThread,
17
+ ]);
18
+
11
19
  return (
12
20
  <SidebarHeader
13
- actions={<ActionIcon icon={XIcon} onClick={closeThreadPortal} />}
21
+ actions={
22
+ <Flexbox horizontal>
23
+ {hasPortal && (
24
+ <ActionIcon
25
+ icon={ArrowLeftRight}
26
+ onClick={() => {
27
+ if (!portalThreadId) return;
28
+
29
+ switchThread(portalThreadId);
30
+ closeThreadPortal();
31
+ }}
32
+ />
33
+ )}
34
+ <ActionIcon icon={XIcon} onClick={closeThreadPortal} />
35
+ </Flexbox>
36
+ }
14
37
  style={{ paddingBlock: 8, paddingInline: 8 }}
15
38
  title={<Title />}
16
39
  />
17
40
  );
18
- };
41
+ });
19
42
 
20
43
  export default Header;
@@ -33,6 +33,7 @@ export default {
33
33
  duplicateTitle: '{{title}} 副本',
34
34
  emptyAgent: '暂无助手',
35
35
  historyRange: '历史范围',
36
+ historySummary: '历史消息总结',
36
37
  inbox: {
37
38
  desc: '开启大脑集群,激发思维火花。你的智能助理,在这里与你交流一切',
38
39
  title: '随便聊聊',