@lobehub/chat 0.151.0 → 0.151.2

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 (58) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/locales/ar/chat.json +2 -3
  3. package/locales/ar/welcome.json +34 -0
  4. package/locales/bg-BG/chat.json +2 -3
  5. package/locales/bg-BG/welcome.json +34 -0
  6. package/locales/de-DE/chat.json +0 -1
  7. package/locales/de-DE/welcome.json +34 -0
  8. package/locales/en-US/chat.json +0 -1
  9. package/locales/en-US/welcome.json +34 -0
  10. package/locales/es-ES/chat.json +0 -1
  11. package/locales/es-ES/welcome.json +34 -0
  12. package/locales/fr-FR/chat.json +0 -1
  13. package/locales/fr-FR/welcome.json +34 -0
  14. package/locales/it-IT/chat.json +0 -1
  15. package/locales/it-IT/welcome.json +34 -0
  16. package/locales/ja-JP/chat.json +0 -1
  17. package/locales/ja-JP/welcome.json +35 -1
  18. package/locales/ko-KR/chat.json +0 -1
  19. package/locales/ko-KR/welcome.json +34 -0
  20. package/locales/nl-NL/chat.json +3 -4
  21. package/locales/nl-NL/welcome.json +34 -0
  22. package/locales/pl-PL/chat.json +2 -3
  23. package/locales/pl-PL/welcome.json +34 -0
  24. package/locales/pt-BR/chat.json +0 -1
  25. package/locales/pt-BR/welcome.json +34 -0
  26. package/locales/ru-RU/chat.json +0 -1
  27. package/locales/ru-RU/welcome.json +34 -0
  28. package/locales/tr-TR/chat.json +1 -2
  29. package/locales/tr-TR/welcome.json +34 -0
  30. package/locales/vi-VN/chat.json +0 -1
  31. package/locales/vi-VN/welcome.json +34 -0
  32. package/locales/zh-CN/chat.json +0 -1
  33. package/locales/zh-CN/welcome.json +34 -0
  34. package/locales/zh-TW/chat.json +0 -1
  35. package/locales/zh-TW/welcome.json +34 -0
  36. package/next.config.mjs +1 -0
  37. package/package.json +2 -2
  38. package/src/app/chat/(desktop)/features/ChatInput/Footer/SendMore.tsx +2 -2
  39. package/src/app/chat/features/Migration/Failed.tsx +2 -1
  40. package/src/config/client.ts +0 -5
  41. package/src/const/guide.ts +86 -0
  42. package/src/const/url.ts +15 -8
  43. package/src/features/ChatInput/useSend.ts +8 -2
  44. package/src/features/Conversation/components/InboxWelcome/AgentsSuggest.tsx +108 -0
  45. package/src/features/Conversation/components/InboxWelcome/QuestionSuggest.tsx +99 -0
  46. package/src/features/Conversation/components/InboxWelcome/index.tsx +76 -0
  47. package/src/features/Conversation/components/VirtualizedList/index.tsx +18 -5
  48. package/src/features/Conversation/index.tsx +6 -9
  49. package/src/layout/GlobalProvider/AppTheme.tsx +2 -1
  50. package/src/locales/default/chat.ts +0 -2
  51. package/src/locales/default/welcome.ts +35 -0
  52. package/src/services/chat.ts +50 -25
  53. package/src/store/chat/slices/message/action.test.ts +1 -5
  54. package/src/store/chat/slices/message/action.ts +23 -10
  55. package/src/store/chat/slices/message/selectors.test.ts +27 -1
  56. package/src/store/chat/slices/message/selectors.ts +11 -1
  57. package/src/store/chat/slices/plugin/action.test.ts +1 -1
  58. package/src/store/chat/slices/plugin/action.ts +1 -1
@@ -4,6 +4,40 @@
4
4
  "market": "Przeglądaj rynek",
5
5
  "start": "Rozpocznij teraz"
6
6
  },
7
+ "guide": {
8
+ "agents": {
9
+ "replaceBtn": "Zmień",
10
+ "title": "Nowe zalecenia asystenta:"
11
+ },
12
+ "defaultMessage": "Jestem LobeChat, Twoim osobistym inteligentnym asystentem. Jak mogę Ci dzisiaj pomóc?\nJeśli potrzebujesz bardziej profesjonalnej lub spersonalizowanej pomocy, kliknij `+` aby stworzyć niestandardowego asystenta.",
13
+ "qa": {
14
+ "q01": "Czym jest LobeHub?",
15
+ "q02": "Czym jest LobeChat?",
16
+ "q03": "Czy LobeChat ma wsparcie społecznościowe?",
17
+ "q04": "Jakie funkcje obsługuje LobeChat?",
18
+ "q05": "Jak zainstalować i używać LobeChat?",
19
+ "q06": "Jakie są ceny LobeChat?",
20
+ "q07": "Czy LobeChat jest darmowy?",
21
+ "q08": "Czy istnieje wersja usługi w chmurze?",
22
+ "q09": "Czy obsługuje lokalne modele językowe?",
23
+ "q10": "Czy obsługuje rozpoznawanie i generowanie obrazów?",
24
+ "q11": "Czy obsługuje syntezę mowy i rozpoznawanie mowy?",
25
+ "q12": "Czy obsługuje system wtyczek?",
26
+ "q13": "Czy ma własny rynek do pobierania GPTs?",
27
+ "q14": "Czy obsługuje wiele dostawców usług AI?",
28
+ "q15": "Co zrobić, gdy napotkasz problem podczas korzystania?"
29
+ },
30
+ "questions": {
31
+ "moreBtn": "Dowiedz się więcej",
32
+ "title": "Najczęściej zadawane pytania:"
33
+ },
34
+ "welcome": {
35
+ "afternoon": "Dzień dobry",
36
+ "morning": "Dzień dobry",
37
+ "night": "Dobry wieczór",
38
+ "noon": "Dzień dobry"
39
+ }
40
+ },
7
41
  "header": "Witaj",
8
42
  "pickAgent": "Wybierz szablon asystenta lub kontynuuj",
9
43
  "skip": "Pomiń tworzenie",
@@ -21,7 +21,6 @@
21
21
  "emptyAgent": "Sem assistente disponível",
22
22
  "historyRange": "Intervalo de Histórico",
23
23
  "inbox": {
24
- "defaultMessage": "Olá, eu sou seu assistente virtual, você pode me perguntar qualquer coisa e eu farei o meu melhor para responder. Se precisar de um assistente mais profissional ou personalizado, clique em `+` para criar um assistente personalizado.",
25
24
  "desc": "Ative o cluster cerebral, inspire faíscas de pensamento. Seu assistente inteligente, aqui para conversar sobre tudo.",
26
25
  "title": "Conversa Aleatória"
27
26
  },
@@ -4,6 +4,40 @@
4
4
  "market": "Explorar o mercado",
5
5
  "start": "Começar agora"
6
6
  },
7
+ "guide": {
8
+ "agents": {
9
+ "replaceBtn": "Trocar",
10
+ "title": "Recomendação de assistentes adicionais:"
11
+ },
12
+ "defaultMessage": "Eu sou o LobeChat, seu assistente de inteligência artificial pessoal. Como posso ajudar hoje?\nSe precisar de assistência mais profissional ou personalizada, clique em `+` para criar um assistente personalizado.",
13
+ "qa": {
14
+ "q01": "O que é o LobeHub?",
15
+ "q02": "O que é o LobeChat?",
16
+ "q03": "O LobeChat tem suporte comunitário?",
17
+ "q04": "Quais funcionalidades o LobeChat suporta?",
18
+ "q05": "Como implantar e usar o LobeChat?",
19
+ "q06": "Qual é a estrutura de preços do LobeChat?",
20
+ "q07": "O LobeChat é gratuito?",
21
+ "q08": "Existe uma versão de serviço em nuvem?",
22
+ "q09": "O LobeChat suporta modelos de idiomas locais?",
23
+ "q10": "O LobeChat suporta reconhecimento e geração de imagens?",
24
+ "q11": "O LobeChat suporta síntese de voz e reconhecimento de voz?",
25
+ "q12": "O LobeChat suporta um sistema de plug-ins?",
26
+ "q13": "O LobeChat tem seu próprio mercado para obter GPTs?",
27
+ "q14": "O LobeChat suporta vários provedores de serviços de IA?",
28
+ "q15": "O que devo fazer se encontrar problemas durante o uso?"
29
+ },
30
+ "questions": {
31
+ "moreBtn": "Saiba mais",
32
+ "title": "Perguntas frequentes:"
33
+ },
34
+ "welcome": {
35
+ "afternoon": "Boa tarde",
36
+ "morning": "Bom dia",
37
+ "night": "Boa noite",
38
+ "noon": "Boa tarde"
39
+ }
40
+ },
7
41
  "header": "Bem-vindo",
8
42
  "pickAgent": "Ou escolha entre os modelos de assistente abaixo",
9
43
  "skip": "Pular",
@@ -21,7 +21,6 @@
21
21
  "emptyAgent": "Нет ассистента",
22
22
  "historyRange": "История сообщений",
23
23
  "inbox": {
24
- "defaultMessage": "Привет, я твой виртуальный помощник. Ты можешь задать мне любой вопрос, и я постараюсь на него ответить. Если тебе нужен более профессиональный или настраиваемый помощник, нажми на `+`, чтобы создать пользовательского помощника.",
25
24
  "desc": "Зажги искру мысли, открой кластер мозгов. Твой виртуальный ассистент, готовый обсудить все с тобой.",
26
25
  "title": "Просто поболтаем"
27
26
  },
@@ -4,6 +4,40 @@
4
4
  "market": "Посетить рынок",
5
5
  "start": "Начать"
6
6
  },
7
+ "guide": {
8
+ "agents": {
9
+ "replaceBtn": "Заменить",
10
+ "title": "Рекомендации новых агентов:"
11
+ },
12
+ "defaultMessage": "Я LobeChat, ваш персональный интеллектуальный помощник. Чем я могу помочь вам сегодня?\nЕсли вам нужна более профессиональная или настраиваемая помощь, нажмите на `+` для создания пользовательского помощника.",
13
+ "qa": {
14
+ "q01": "Что такое LobeHub?",
15
+ "q02": "Что такое LobeChat?",
16
+ "q03": "Поддерживает ли LobeChat сообщества?",
17
+ "q04": "Какие функции поддерживает LobeChat?",
18
+ "q05": "Как развернуть и использовать LobeChat?",
19
+ "q06": "Какова ценовая политика LobeChat?",
20
+ "q07": "Является ли LobeChat бесплатным?",
21
+ "q08": "Есть ли облачная версия?",
22
+ "q09": "Поддерживает ли локальные языковые модели?",
23
+ "q10": "Поддерживает ли распознавание и генерацию изображений?",
24
+ "q11": "Поддерживает ли синтез речи и распознавание речи?",
25
+ "q12": "Поддерживает ли систему плагинов?",
26
+ "q13": "Есть ли собственный рынок для получения GPTs?",
27
+ "q14": "Поддерживает ли несколько поставщиков услуг искусственного интеллекта?",
28
+ "q15": "Что делать, если у меня возникли проблемы при использовании?"
29
+ },
30
+ "questions": {
31
+ "moreBtn": "Узнать больше",
32
+ "title": "Часто задаваемые вопросы:"
33
+ },
34
+ "welcome": {
35
+ "afternoon": "Добрый день",
36
+ "morning": "Доброе утро",
37
+ "night": "Добрый вечер",
38
+ "noon": "Добрый день"
39
+ }
40
+ },
7
41
  "header": "Привет",
8
42
  "pickAgent": "Или выберите один из следующих шаблонов помощника",
9
43
  "skip": "Пропустить",
@@ -21,7 +21,6 @@
21
21
  "emptyAgent": "Asistan yok",
22
22
  "historyRange": "Geçmiş Aralığı",
23
23
  "inbox": {
24
- "defaultMessage": "Merhaba, ben sanal asistanınızım. Bana herhangi bir şey sorabilirsiniz ve size cevap vermek için elimden geleni yapacağım. Daha profesyonel veya özelleştirilmiş bir asistana ihtiyacınız varsa, özel bir asistan oluşturmak için `+` simgesine tıklayabilirsiniz.",
25
24
  "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.",
26
25
  "title": "Sohbet Et"
27
26
  },
@@ -50,7 +49,7 @@
50
49
  "sessionGroup": {
51
50
  "config": "Grup Yönetimi",
52
51
  "confirmRemoveGroupAlert": "Bu grup silinecek, silindikten sonra bu grubun yardımcıları varsayılan listeye taşınacak, işleminizi onaylıyor musunuz?",
53
- "createAgentSuccess": "Yardımcı başarıyla oluşturuldu",
52
+ "createAgentSuccess": "Yardımcı oluşturuldu",
54
53
  "createGroup": "Yeni Grup Ekle",
55
54
  "createSuccess": "Oluşturma Başarılı",
56
55
  "creatingAgent": "Yardımcı oluşturuluyor...",
@@ -4,6 +4,40 @@
4
4
  "market": "Pazara Göz At",
5
5
  "start": "Başla"
6
6
  },
7
+ "guide": {
8
+ "agents": {
9
+ "replaceBtn": "Başka bir grup",
10
+ "title": "Yeni Asistan Önerileri:"
11
+ },
12
+ "defaultMessage": "Ben LobeChat, senin kişisel akıllı asistanınım. Bugün sana nasıl yardımcı olabilirim?\nDaha profesyonel veya özelleştirilmiş bir asistana ihtiyacın varsa, özel bir asistan oluşturmak için `+` tıklayabilirsin.",
13
+ "qa": {
14
+ "q01": "LobeHub nedir?",
15
+ "q02": "LobeChat nedir?",
16
+ "q03": "LobeChat topluluk desteği var mı?",
17
+ "q04": "LobeChat hangi özellikleri destekliyor?",
18
+ "q05": "LobeChat nasıl dağıtılır ve kullanılır?",
19
+ "q06": "LobeChat'in fiyatlandırması nasıl?",
20
+ "q07": "LobeChat ücretsiz mi?",
21
+ "q08": "Bulut tabanlı hizmet sürümü var mı?",
22
+ "q09": "Yerel dil modellerini destekliyor mu?",
23
+ "q10": "Görüntü tanıma ve oluşturma desteği var mı?",
24
+ "q11": "Konuşma sentezi ve konuşma tanıma desteği var mı?",
25
+ "q12": "Eklenti sistemini destekliyor mu?",
26
+ "q13": "Kendi GPT'lerini almak için bir pazarı var mı?",
27
+ "q14": "Çeşitli yapay zeka hizmet sağlayıcılarını destekliyor mu?",
28
+ "q15": "Sorun yaşarsam ne yapmalıyım?"
29
+ },
30
+ "questions": {
31
+ "moreBtn": "Daha Fazla Bilgi",
32
+ "title": "Herkesin Sorduğu Sorular:"
33
+ },
34
+ "welcome": {
35
+ "afternoon": "İyi akşamlar",
36
+ "morning": "Günaydın",
37
+ "night": "İyi geceler",
38
+ "noon": "Tünaydın"
39
+ }
40
+ },
7
41
  "header": "Hoş geldiniz",
8
42
  "pickAgent": "Veya aşağıdaki asistan şablonlarından birini seçin",
9
43
  "skip": "Atla",
@@ -21,7 +21,6 @@
21
21
  "emptyAgent": "Không có trợ lý",
22
22
  "historyRange": "Phạm vi lịch sử",
23
23
  "inbox": {
24
- "defaultMessage": "Xin chào, tôi là trợ lý thông minh của bạn, bạn có thể hỏi tôi bất kỳ câu hỏi nào và tôi sẽ cố gắng trả lời. Nếu bạn cần một trợ lý chuyên nghiệp hoặc tùy chỉnh hơn, hãy nhấn `+` để tạo trợ lý tùy chỉnh.",
25
24
  "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ứ.",
26
25
  "title": "Chuyện phiếm"
27
26
  },
@@ -4,6 +4,40 @@
4
4
  "market": "Thăm Thị trường",
5
5
  "start": "Bắt Đầu Ngay"
6
6
  },
7
+ "guide": {
8
+ "agents": {
9
+ "replaceBtn": "Thay đổi",
10
+ "title": "Đề xuất trợ lý mới: "
11
+ },
12
+ "defaultMessage": "Tôi là LobeChat, trợ lý thông minh cá nhân của bạn. Hôm nay tôi có thể giúp gì cho bạn?\nNếu bạn cần một trợ lý chuyên nghiệp hoặc tùy chỉnh hơn, hãy nhấn vào `+` để tạo trợ lý cá nhân của bạn",
13
+ "qa": {
14
+ "q01": "LobeHub là gì?",
15
+ "q02": "LobeChat là gì?",
16
+ "q03": "LobeChat có hỗ trợ cộng đồng không?",
17
+ "q04": "LobeChat hỗ trợ những chức năng nào?",
18
+ "q05": "LobeChat cách triển khai và sử dụng như thế nào?",
19
+ "q06": "Giá của LobeChat như thế nào?",
20
+ "q07": "LobeChat có miễn phí không?",
21
+ "q08": "Có phiên bản dịch vụ đám mây không?",
22
+ "q09": "Có hỗ trợ mô hình ngôn ngữ địa phương không?",
23
+ "q10": "Có hỗ trợ nhận diện và tạo hình ảnh không?",
24
+ "q11": "Có hỗ trợ tổng hợp giọng nói và nhận diện giọng nói không?",
25
+ "q12": "Có hỗ trợ hệ thống plugin không?",
26
+ "q13": "Có thị trường riêng để lấy GPTs không?",
27
+ "q14": "Có hỗ trợ nhiều nhà cung cấp dịch vụ AI không?",
28
+ "q15": "Nếu gặp vấn đề khi sử dụng, tôi nên làm gì?"
29
+ },
30
+ "questions": {
31
+ "moreBtn": "Tìm hiểu thêm",
32
+ "title": "Mọi người đều đặt câu hỏi: "
33
+ },
34
+ "welcome": {
35
+ "afternoon": "Chào buổi chiều",
36
+ "morning": "Chào buổi sáng",
37
+ "night": "Chào buổi tối",
38
+ "noon": "Chào buổi trưa"
39
+ }
40
+ },
7
41
  "header": "Chào Mừng",
8
42
  "pickAgent": "Hoặc chọn từ các mẫu đại lý sau",
9
43
  "skip": "Bỏ Qua Tạo",
@@ -21,7 +21,6 @@
21
21
  "emptyAgent": "暂无助手",
22
22
  "historyRange": "历史范围",
23
23
  "inbox": {
24
- "defaultMessage": "你好,我是你的智能助手,你可以问我任何问题,我会尽力回答你。如果需要获得更加专业或定制的助手,可以点击`+`创建自定义助手",
25
24
  "desc": "开启大脑集群,激发思维火花。你的智能助理,在这里与你交流一切",
26
25
  "title": "随便聊聊"
27
26
  },
@@ -4,6 +4,40 @@
4
4
  "market": "逛逛市场",
5
5
  "start": "立即开始"
6
6
  },
7
+ "guide": {
8
+ "agents": {
9
+ "replaceBtn": "换一批",
10
+ "title": "新增助理推荐:"
11
+ },
12
+ "defaultMessage": "我是 LobeChat 你的私人智能助理,我今天能帮你做什么?\n如果需要获得更加专业或定制的助手,可以点击 `+` 创建自定义助手",
13
+ "qa": {
14
+ "q01": "LobeHub 是什么?",
15
+ "q02": "LobeChat 是什么?",
16
+ "q03": "LobeChat 是否有社区支持?",
17
+ "q04": "LobeChat 支持哪些功能?",
18
+ "q05": "LobeChat 如何部署和使用?",
19
+ "q06": "LobeChat 的定价是如何的?",
20
+ "q07": "LobeChat 是否免费?",
21
+ "q08": "是否有云端服务版?",
22
+ "q09": "是否支持本地语言模型?",
23
+ "q10": "是否支持图像识别和生成?",
24
+ "q11": "是否支持语音合成和语音识别?",
25
+ "q12": "是否支持插件系统?",
26
+ "q13": "是否有自己的市场来获取 GPTs?",
27
+ "q14": "是否支持多种 AI 服务提供商?",
28
+ "q15": "我在使用时遇到问题应该怎么办?"
29
+ },
30
+ "questions": {
31
+ "moreBtn": "了解更多",
32
+ "title": "大家都在问:"
33
+ },
34
+ "welcome": {
35
+ "afternoon": "下午好",
36
+ "morning": "早上好",
37
+ "night": "晚上好",
38
+ "noon": "中午好"
39
+ }
40
+ },
7
41
  "header": "欢迎使用",
8
42
  "pickAgent": "或从下列助手模板选择",
9
43
  "skip": "跳过创建",
@@ -21,7 +21,6 @@
21
21
  "emptyAgent": "暫無助手",
22
22
  "historyRange": "歷史範圍",
23
23
  "inbox": {
24
- "defaultMessage": "你好,我是你的智能助手,你可以問我任何問題,我會盡力回答你。如果需要獲得更專業或定制的助手,可以點擊`+`創建自定義助手",
25
24
  "desc": "開啟大腦集群,激發思維火花。你的智能助理,在這裡與你交流一切",
26
25
  "title": "隨便聊聊"
27
26
  },
@@ -4,6 +4,40 @@
4
4
  "market": "逛逛市場",
5
5
  "start": "馬上開始"
6
6
  },
7
+ "guide": {
8
+ "agents": {
9
+ "replaceBtn": "換一批",
10
+ "title": "新增助理推薦:"
11
+ },
12
+ "defaultMessage": "我是 LobeChat 你的私人智能助理,我今天能幫你做什麼?\n如果需要獲得更加專業或定制的助手,可以點擊 `+` 創建自定義助手",
13
+ "qa": {
14
+ "q01": "LobeHub 是什麼?",
15
+ "q02": "LobeChat 是什麼?",
16
+ "q03": "LobeChat 是否有社區支持?",
17
+ "q04": "LobeChat 支持哪些功能?",
18
+ "q05": "LobeChat 如何部署和使用?",
19
+ "q06": "LobeChat 的定價是如何的?",
20
+ "q07": "LobeChat 是否免費?",
21
+ "q08": "是否有雲端服務版?",
22
+ "q09": "是否支持本地語言模型?",
23
+ "q10": "是否支持圖像識別和生成?",
24
+ "q11": "是否支持語音合成和語音識別?",
25
+ "q12": "是否支持插件系統?",
26
+ "q13": "是否有自己的市場來獲取 GPTs?",
27
+ "q14": "是否支持多種 AI 服務提供商?",
28
+ "q15": "我在使用時遇到問題應該怎麼辦?"
29
+ },
30
+ "questions": {
31
+ "moreBtn": "了解更多",
32
+ "title": "大家都在問:"
33
+ },
34
+ "welcome": {
35
+ "afternoon": "下午好",
36
+ "morning": "早上好",
37
+ "night": "晚上好",
38
+ "noon": "中午好"
39
+ }
40
+ },
7
41
  "header": "歡迎",
8
42
  "pickAgent": "或從以下助理範本中選擇",
9
43
  "skip": "跳過建立步驟",
package/next.config.mjs CHANGED
@@ -23,6 +23,7 @@ const nextConfig = {
23
23
  '@lobehub/ui',
24
24
  'gpt-tokenizer',
25
25
  'chroma-js',
26
+ 'shiki',
26
27
  ],
27
28
  webVitalsAttribution: ['CLS', 'LCP'],
28
29
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/chat",
3
- "version": "0.151.0",
3
+ "version": "0.151.2",
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",
@@ -126,7 +126,7 @@
126
126
  "lucide-react": "latest",
127
127
  "modern-screenshot": "^4.4.39",
128
128
  "nanoid": "^5.0.7",
129
- "next": "14.1.4",
129
+ "next": "^14.2.1",
130
130
  "next-auth": "5.0.0-beta.15",
131
131
  "next-sitemap": "^4.2.3",
132
132
  "numeral": "^2.0.6",
@@ -45,7 +45,7 @@ const SendMore = memo(() => {
45
45
  hotKey,
46
46
  (keyboardEvent, hotkeysEvent) => {
47
47
  console.log(keyboardEvent, hotkeysEvent);
48
- sendMessage(true);
48
+ sendMessage({ onlyAddUserMessage: true });
49
49
  },
50
50
  {
51
51
  enableOnFormTags: true,
@@ -94,7 +94,7 @@ const SendMore = memo(() => {
94
94
  </Flexbox>
95
95
  ),
96
96
  onClick: () => {
97
- sendMessage(true);
97
+ sendMessage({ onlyAddUserMessage: true });
98
98
  },
99
99
  },
100
100
  ],
@@ -10,6 +10,7 @@ import { Trans, useTranslation } from 'react-i18next';
10
10
  import { Flexbox } from 'react-layout-kit';
11
11
  import Balancer from 'react-wrap-balancer';
12
12
 
13
+ import { GITHUB_ISSUES } from '@/const/url';
13
14
  import { githubService } from '@/services/github';
14
15
 
15
16
  import ExportConfigButton from './ExportConfigButton';
@@ -96,7 +97,7 @@ const Failed = memo<FailedProps>(({ error, state, setUpgradeStatus, setError, up
96
97
  非常抱歉,数据库升级过程发生异常。请重试升级,或
97
98
  <Link
98
99
  aria-label={'issue'}
99
- href="https://github.com/lobehub/lobe-chat/issues"
100
+ href={GITHUB_ISSUES}
100
101
  onClick={(e) => {
101
102
  e.preventDefault();
102
103
  githubService.submitDBV1UpgradeError(1, error!);
@@ -30,8 +30,6 @@ declare global {
30
30
  NEXT_PUBLIC_I18N_DEBUG_SERVER: string;
31
31
 
32
32
  NEXT_PUBLIC_DEVELOPER_DEBUG: string;
33
-
34
- NEXT_PUBLIC_LOBE_CHAT_DOCS: string;
35
33
  }
36
34
  }
37
35
  }
@@ -39,9 +37,6 @@ declare global {
39
37
  export const getClientConfig = () => ({
40
38
  BASE_PATH: process.env.NEXT_PUBLIC_BASE_PATH || '',
41
39
 
42
- // docs
43
- LOBE_CHAT_DOCS: process.env.NEXT_PUBLIC_LOBE_CHAT_DOCS,
44
-
45
40
  // Plausible Analytics
46
41
  ANALYTICS_PLAUSIBLE: process.env.NEXT_PUBLIC_ANALYTICS_PLAUSIBLE === '1',
47
42
  PLAUSIBLE_DOMAIN: process.env.NEXT_PUBLIC_PLAUSIBLE_DOMAIN,
@@ -0,0 +1,86 @@
1
+ import urlJoin from 'url-join';
2
+
3
+ import {
4
+ BLOG,
5
+ DOCKER_IMAGE,
6
+ EMAIL_BUSINESS,
7
+ EMAIL_SUPPORT,
8
+ GITHUB,
9
+ OFFICIAL_SITE,
10
+ OFFICIAL_URL,
11
+ SELF_HOSTING_DOCUMENTS,
12
+ USAGE_DOCUMENTS,
13
+ WIKI,
14
+ } from '@/const/url';
15
+
16
+ export const INBOX_GUIDE_SYSTEMROLE = `# Role: LobeChat Support Assistant
17
+
18
+ ## About [LobeHub](${OFFICIAL_SITE})
19
+
20
+ LobeHub is an organization of design-engineers dedicated to providing advanced design components and tools for AI-generated content (AIGC).
21
+ It aims to create a technology-driven community platform that enables the sharing of knowledge and ideas, fostering inspiration and collaboration.
22
+
23
+ Adopting a Bootstrapping approach, LobeHub is committed to delivering an open, transparent, and user-friendly product ecosystem for both casual users and professional developers.
24
+ LobeHub serves as an AI Agent playground, where creativity and innovation meet.
25
+
26
+ ## About [LobeChat](${OFFICIAL_URL})
27
+
28
+ LobeChat, a product of LobeHub, is an open-source ChatGPT/LLMs UI/Framework designed for modern LLMs/AI applications.
29
+ Supports Multi AI Providers( OpenAI / Claude 3 / Gemini / Perplexity / Bedrock / Azure / Mistral / Ollama ), Multi-Modals (Vision/TTS) and plugin system.
30
+ and offers a one-click FREE deployment for a private ChatGPT chat application, making it accessible and customizable for a wide range of users.
31
+
32
+ ### Features
33
+
34
+ - [Multi-Model Service Provider Support](${urlJoin(USAGE_DOCUMENTS, '/features/multi-ai-providers')})
35
+ - [Local Large Language Model (LLM) Support](${urlJoin(USAGE_DOCUMENTS, '/features/local-llm')})
36
+ - [Model Visual Recognition](${urlJoin(USAGE_DOCUMENTS, '/features/vision')})
37
+ - [TTS & STT Voice Conversation](${urlJoin(USAGE_DOCUMENTS, '/features/tts')})
38
+ - [Text to Image Generation](${urlJoin(USAGE_DOCUMENTS, '/features/text-to-image')})
39
+ - [Plugin System (Function Calling)](${urlJoin(USAGE_DOCUMENTS, '/features/plugin-system')})
40
+ - [Agent Market (GPTs)](${urlJoin(USAGE_DOCUMENTS, '/features/agent-market')})
41
+
42
+ ### CE and Cloud Version
43
+
44
+ LobeChat is currently available as a community preview version, completely open-source and free of charge. The Cloud paid version is under development.
45
+ Those interested can visit the [official website](${OFFICIAL_SITE}) to join the wishlist. The early test version will be launched in May, and the pricing will be announced in real-time.
46
+
47
+ ### Self Hosting
48
+
49
+ LobeChat provides Self-Hosted Version with [Vercel](${urlJoin(SELF_HOSTING_DOCUMENTS, '/platform/vercel')}) and [Docker Image](${DOCKER_IMAGE}).
50
+ This allows you to deploy your own chatbot within a few minutes without any prior knowledge.
51
+
52
+ **IMPORTANT**
53
+
54
+ When users ask about usage or deployment, DO NOT MAKE UP ANSWERS. Instead, guide them to the relevant documentation!!!
55
+
56
+ Learn more about [Build your own LobeChat](${SELF_HOSTING_DOCUMENTS}) by checking it out.
57
+
58
+ ## Resources Links
59
+
60
+ In the response, please try to pick and include the relevant links below, and if a relevant answer cannot be provided, also offer the user these related links:
61
+
62
+ - Official Website: ${OFFICIAL_SITE}
63
+ - Community Preview: ${OFFICIAL_URL}
64
+ - GitHub Repository: ${GITHUB}
65
+ - Latest News: ${BLOG}
66
+ - Usage Documentation: ${USAGE_DOCUMENTS}
67
+ - Self-Hosting Documentation: ${SELF_HOSTING_DOCUMENTS}
68
+ - Development Guide: ${WIKI}
69
+ - Email Support: ${EMAIL_SUPPORT}
70
+ - Business Inquiries: ${EMAIL_BUSINESS}
71
+
72
+ ## Workflow
73
+
74
+ 1. Greet users and introduce the role and purpose of LobeHub LobeChat Support Assistant.
75
+ 2. Understand and address user inquiries related to the LobeHub ecosystem and LobeChat application.
76
+ 3. If unable to resolve user queries, pick and guide them to appropriate resources listed above.
77
+
78
+ ## Initialization
79
+
80
+ As the role <Role>, I will adhere to the following guidelines:
81
+ - Provide accurate and helpful information to users.
82
+ - Maintain a friendly and professional demeanor.
83
+ - Direct users to the appropriate resources when necessary.
84
+ - Keep the language of the response consistent with the language of the user input; if they are not consistent, then translate.
85
+
86
+ Welcome users to LobeChat, introduce myself as the <Role>, and inform them about the services and support available. Then, guide users through the <Workflow> for assistance.`;
package/src/const/url.ts CHANGED
@@ -1,30 +1,34 @@
1
1
  import urlJoin from 'url-join';
2
2
 
3
- import { getClientConfig } from '@/config/client';
4
3
  import { withBasePath } from '@/utils/basePath';
5
4
 
6
5
  import pkg from '../../package.json';
7
6
  import { INBOX_SESSION_ID } from './session';
8
7
 
9
8
  export const OFFICIAL_URL = 'https://chat-preview.lobehub.com/';
9
+ export const OFFICIAL_SITE = 'https://lobehub.com/';
10
10
 
11
11
  export const getCanonicalUrl = (path: string) => urlJoin(OFFICIAL_URL, path);
12
12
 
13
13
  export const GITHUB = pkg.homepage;
14
+ export const GITHUB_ISSUES = urlJoin(GITHUB, 'issues/new');
14
15
  export const CHANGELOG = urlJoin(GITHUB, 'blob/main/CHANGELOG.md');
16
+ export const DOCKER_IMAGE = 'https://hub.docker.com/r/lobehub/lobe-chat';
15
17
 
16
- const { LOBE_CHAT_DOCS } = getClientConfig();
18
+ export const DOCUMENTS = urlJoin(OFFICIAL_SITE, '/docs');
19
+ export const USAGE_DOCUMENTS = urlJoin(DOCUMENTS, '/usage');
20
+ export const SELF_HOSTING_DOCUMENTS = urlJoin(DOCUMENTS, '/self-hosting');
17
21
 
18
- export const DOCUMENTS = !!LOBE_CHAT_DOCS ? '/docs' : 'https://lobehub.com/docs';
22
+ export const WIKI = urlJoin(GITHUB, 'wiki');
23
+ export const WIKI_PLUGIN_GUIDE = urlJoin(USAGE_DOCUMENTS, '/plugins/development');
24
+ export const MANUAL_UPGRADE_URL = urlJoin(SELF_HOSTING_DOCUMENTS, '/advanced/upstream-sync');
19
25
 
20
- export const WIKI_PLUGIN_GUIDE = urlJoin(GITHUB, 'wiki', 'Plugin-Development');
26
+ export const BLOG = urlJoin(OFFICIAL_SITE, 'blog');
21
27
 
22
- export const MANUAL_UPGRADE_URL = urlJoin(GITHUB, 'wiki', 'Upstream-Sync');
23
-
24
- export const ABOUT = pkg.homepage;
28
+ export const ABOUT = OFFICIAL_SITE;
25
29
  export const FEEDBACK = pkg.bugs.url;
26
30
  export const DISCORD = 'https://discord.gg/AYFPHvv2jT';
27
- export const PRIVACY_URL = 'https://lobehub.com/privacy';
31
+ export const PRIVACY_URL = urlJoin(OFFICIAL_SITE, '/privacy');
28
32
 
29
33
  export const PLUGINS_INDEX_URL = 'https://chat-plugins.lobehub.com';
30
34
 
@@ -38,3 +42,6 @@ export const SESSION_CHAT_URL = (id: string = INBOX_SESSION_ID, mobile?: boolean
38
42
  mobile ? `/chat/mobile?session=${id}` : `/chat?session=${id}`;
39
43
 
40
44
  export const imageUrl = (filename: string) => withBasePath(`/images/${filename}`);
45
+
46
+ export const EMAIL_SUPPORT = 'support@lobehub.com';
47
+ export const EMAIL_BUSINESS = 'hello@lobehub.com';
@@ -1,15 +1,21 @@
1
1
  import { useCallback } from 'react';
2
2
 
3
3
  import { useChatStore } from '@/store/chat';
4
+ import { SendMessageParams } from '@/store/chat/slices/message/action';
4
5
  import { filesSelectors, useFileStore } from '@/store/file';
5
6
 
7
+ export type UseSendMessageParams = Pick<
8
+ SendMessageParams,
9
+ 'onlyAddUserMessage' | 'isWelcomeQuestion'
10
+ >;
11
+
6
12
  export const useSendMessage = () => {
7
13
  const [sendMessage, updateInputMessage] = useChatStore((s) => [
8
14
  s.sendMessage,
9
15
  s.updateInputMessage,
10
16
  ]);
11
17
 
12
- return useCallback((onlyAddUserMessage?: boolean) => {
18
+ return useCallback((params: UseSendMessageParams = {}) => {
13
19
  const store = useChatStore.getState();
14
20
  if (!!store.chatLoadingId) return;
15
21
  if (!store.inputMessage) return;
@@ -19,7 +25,7 @@ export const useSendMessage = () => {
19
25
  sendMessage({
20
26
  files: imageList,
21
27
  message: store.inputMessage,
22
- onlyAddUserMessage: onlyAddUserMessage,
28
+ ...params,
23
29
  });
24
30
 
25
31
  updateInputMessage('');