@lobehub/chat 1.68.11 → 1.69.1
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 +50 -0
- package/changelog/v1.json +18 -0
- package/locales/ar/chat.json +8 -0
- package/locales/bg-BG/chat.json +8 -0
- package/locales/de-DE/chat.json +8 -0
- package/locales/en-US/chat.json +8 -0
- package/locales/es-ES/chat.json +8 -0
- package/locales/fa-IR/chat.json +8 -0
- package/locales/fr-FR/chat.json +8 -0
- package/locales/it-IT/chat.json +8 -0
- package/locales/ja-JP/chat.json +8 -0
- package/locales/ko-KR/chat.json +8 -0
- package/locales/nl-NL/chat.json +8 -0
- package/locales/pl-PL/chat.json +8 -0
- package/locales/pt-BR/chat.json +8 -0
- package/locales/ru-RU/chat.json +8 -0
- package/locales/tr-TR/chat.json +8 -0
- package/locales/vi-VN/chat.json +8 -0
- package/locales/zh-CN/chat.json +8 -0
- package/locales/zh-TW/chat.json +8 -0
- package/next.config.ts +6 -0
- package/package.json +1 -1
- package/packages/web-crawler/src/crawImpl/naive.ts +19 -12
- package/packages/web-crawler/src/urlRules.ts +9 -1
- package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatList/ChatItem/index.tsx +9 -18
- package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatList/WelcomeChatItem/WelcomeMessage.tsx +2 -5
- package/src/app/[variants]/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/HeaderAction.tsx +3 -2
- package/src/app/[variants]/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/Main.tsx +56 -30
- package/src/app/[variants]/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/Tags/HistoryLimitTags.tsx +26 -0
- package/src/app/[variants]/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/{SearchTags.tsx → Tags/SearchTags.tsx} +7 -4
- package/src/app/[variants]/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/{Tags.tsx → Tags/index.tsx} +4 -1
- package/src/app/[variants]/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/index.tsx +1 -1
- package/src/config/aiModels/anthropic.ts +16 -1
- package/src/config/aiModels/google.ts +0 -1
- package/src/config/aiModels/groq.ts +14 -0
- package/src/config/aiModels/novita.ts +36 -0
- package/src/config/aiModels/siliconcloud.ts +18 -2
- package/src/config/modelProviders/anthropic.ts +0 -2
- package/src/const/layoutTokens.test.ts +1 -1
- package/src/const/layoutTokens.ts +1 -1
- package/src/const/models.ts +27 -0
- package/src/features/ChatInput/ActionBar/History.tsx +6 -3
- package/src/features/ChatInput/ActionBar/Model/ContextCachingSwitch.tsx +20 -0
- package/src/features/ChatInput/ActionBar/Model/ControlsForm.tsx +49 -7
- package/src/features/ChatInput/ActionBar/Model/ReasoningTokenSlider.tsx +6 -14
- package/src/features/ChatInput/ActionBar/Search/ModelBuiltinSearch.tsx +2 -2
- package/src/features/ChatInput/ActionBar/Search/SwitchPanel.tsx +2 -2
- package/src/features/ChatInput/ActionBar/Token/TokenTag.tsx +3 -5
- package/src/features/Conversation/Messages/Assistant/Tool/Render/CustomRender.tsx +2 -0
- package/src/features/Conversation/Messages/Assistant/Tool/Render/index.tsx +5 -1
- package/src/features/Conversation/Messages/Assistant/Tool/index.tsx +2 -0
- package/src/features/Conversation/components/ChatItem/index.tsx +3 -6
- package/src/features/Portal/Thread/Chat/ChatItem.tsx +4 -9
- package/src/hooks/useAgentEnableSearch.ts +2 -2
- package/src/libs/agent-runtime/anthropic/index.test.ts +36 -7
- package/src/libs/agent-runtime/anthropic/index.ts +30 -8
- package/src/libs/agent-runtime/azureOpenai/index.ts +4 -9
- package/src/libs/agent-runtime/azureai/index.ts +4 -9
- package/src/libs/agent-runtime/openai/index.ts +21 -38
- package/src/libs/agent-runtime/types/chat.ts +4 -0
- package/src/libs/agent-runtime/utils/anthropicHelpers.test.ts +55 -0
- package/src/libs/agent-runtime/utils/anthropicHelpers.ts +37 -3
- package/src/libs/langchain/loaders/code/__tests__/long.json +2 -2
- package/src/libs/langchain/loaders/code/__tests__/long.txt +1 -1
- package/src/locales/default/chat.ts +8 -0
- package/src/store/agent/initialState.ts +2 -2
- package/src/store/agent/selectors.ts +1 -1
- package/src/store/agent/slices/chat/{selectors.test.ts → selectors/agent.test.ts} +2 -2
- package/src/store/agent/slices/chat/{selectors.ts → selectors/agent.ts} +24 -33
- package/src/store/agent/slices/chat/selectors/chatConfig.test.ts +184 -0
- package/src/store/agent/slices/chat/selectors/chatConfig.ts +65 -0
- package/src/store/agent/slices/chat/selectors/index.ts +2 -0
- package/src/store/agent/store.ts +2 -2
- package/src/store/chat/helpers.test.ts +7 -7
- package/src/store/chat/helpers.ts +11 -7
- package/src/store/chat/slices/aiChat/actions/__tests__/generateAIChat.test.ts +3 -3
- package/src/store/chat/slices/aiChat/actions/generateAIChat.ts +11 -2
- package/src/store/chat/slices/aiChat/actions/helpers.ts +6 -2
- package/src/store/chat/slices/builtinTool/actions/searXNG.ts +28 -20
- package/src/store/chat/slices/message/selectors.ts +7 -3
- package/src/store/chat/slices/thread/selectors/index.ts +7 -3
- package/src/tools/web-browsing/Render/PageContent/Result.tsx +4 -2
- package/src/tools/web-browsing/Render/index.tsx +2 -0
- package/src/types/agent/index.ts +4 -0
- package/src/types/aiModel.ts +1 -1
- package/src/types/aiProvider.ts +60 -31
- /package/packages/web-crawler/src/{__test__ → __tests__}/crawler.test.ts +0 -0
- /package/packages/web-crawler/src/crawImpl/{__test__ → __tests__}/jina.test.ts +0 -0
- /package/src/app/[variants]/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/{KnowledgeTag.tsx → Tags/KnowledgeTag.tsx} +0 -0
- /package/src/store/agent/slices/chat/{__snapshots__/selectors.test.ts.snap → selectors/__snapshots__/agent.test.ts.snap} +0 -0
package/CHANGELOG.md
CHANGED
@@ -2,6 +2,56 @@
|
|
2
2
|
|
3
3
|
# Changelog
|
4
4
|
|
5
|
+
### [Version 1.69.1](https://github.com/lobehub/lobe-chat/compare/v1.69.0...v1.69.1)
|
6
|
+
|
7
|
+
<sup>Released on **2025-03-07**</sup>
|
8
|
+
|
9
|
+
#### 💄 Styles
|
10
|
+
|
11
|
+
- **misc**: Add Qwen QwQ model.
|
12
|
+
|
13
|
+
<br/>
|
14
|
+
|
15
|
+
<details>
|
16
|
+
<summary><kbd>Improvements and Fixes</kbd></summary>
|
17
|
+
|
18
|
+
#### Styles
|
19
|
+
|
20
|
+
- **misc**: Add Qwen QwQ model, closes [#6783](https://github.com/lobehub/lobe-chat/issues/6783) ([3d3c2ce](https://github.com/lobehub/lobe-chat/commit/3d3c2ce))
|
21
|
+
|
22
|
+
</details>
|
23
|
+
|
24
|
+
<div align="right">
|
25
|
+
|
26
|
+
[](#readme-top)
|
27
|
+
|
28
|
+
</div>
|
29
|
+
|
30
|
+
## [Version 1.69.0](https://github.com/lobehub/lobe-chat/compare/v1.68.11...v1.69.0)
|
31
|
+
|
32
|
+
<sup>Released on **2025-03-07**</sup>
|
33
|
+
|
34
|
+
#### ✨ Features
|
35
|
+
|
36
|
+
- **misc**: Support Anthropic Context Caching.
|
37
|
+
|
38
|
+
<br/>
|
39
|
+
|
40
|
+
<details>
|
41
|
+
<summary><kbd>Improvements and Fixes</kbd></summary>
|
42
|
+
|
43
|
+
#### What's improved
|
44
|
+
|
45
|
+
- **misc**: Support Anthropic Context Caching, closes [#6704](https://github.com/lobehub/lobe-chat/issues/6704) ([471e3ed](https://github.com/lobehub/lobe-chat/commit/471e3ed))
|
46
|
+
|
47
|
+
</details>
|
48
|
+
|
49
|
+
<div align="right">
|
50
|
+
|
51
|
+
[](#readme-top)
|
52
|
+
|
53
|
+
</div>
|
54
|
+
|
5
55
|
### [Version 1.68.11](https://github.com/lobehub/lobe-chat/compare/v1.68.10...v1.68.11)
|
6
56
|
|
7
57
|
<sup>Released on **2025-03-07**</sup>
|
package/changelog/v1.json
CHANGED
@@ -1,4 +1,22 @@
|
|
1
1
|
[
|
2
|
+
{
|
3
|
+
"children": {
|
4
|
+
"improvements": [
|
5
|
+
"Add Qwen QwQ model."
|
6
|
+
]
|
7
|
+
},
|
8
|
+
"date": "2025-03-07",
|
9
|
+
"version": "1.69.1"
|
10
|
+
},
|
11
|
+
{
|
12
|
+
"children": {
|
13
|
+
"features": [
|
14
|
+
"Support Anthropic Context Caching."
|
15
|
+
]
|
16
|
+
},
|
17
|
+
"date": "2025-03-07",
|
18
|
+
"version": "1.69.0"
|
19
|
+
},
|
2
20
|
{
|
3
21
|
"children": {
|
4
22
|
"improvements": [
|
package/locales/ar/chat.json
CHANGED
@@ -32,7 +32,12 @@
|
|
32
32
|
"duplicateTitle": "{{title}} نسخة",
|
33
33
|
"emptyAgent": "لا يوجد مساعد",
|
34
34
|
"extendParams": {
|
35
|
+
"disableContextCaching": {
|
36
|
+
"desc": "يمكن تقليل تكلفة توليد محادثة واحدة بنسبة تصل إلى 90%، وزيادة سرعة الاستجابة بمقدار 4 مرات (<1>اعرف المزيد</1>). عند التفعيل، سيتم تعطيل حد عدد الرسائل التاريخية تلقائيًا",
|
37
|
+
"title": "تفعيل تخزين السياق"
|
38
|
+
},
|
35
39
|
"enableReasoning": {
|
40
|
+
"desc": "استنادًا إلى آلية تفكير كلود (Claude Thinking) المحدودة (<1>اعرف المزيد</1>)، عند التفعيل، سيتم تعطيل حد عدد الرسائل التاريخية تلقائيًا",
|
36
41
|
"title": "تفعيل التفكير العميق"
|
37
42
|
},
|
38
43
|
"reasoningBudgetToken": {
|
@@ -40,6 +45,9 @@
|
|
40
45
|
},
|
41
46
|
"title": "وظائف توسيع النموذج"
|
42
47
|
},
|
48
|
+
"history": {
|
49
|
+
"title": "سيتذكر المساعد آخر {{count}} رسالة فقط"
|
50
|
+
},
|
43
51
|
"historyRange": "نطاق التاريخ",
|
44
52
|
"historySummary": "ملخص الرسائل التاريخية",
|
45
53
|
"inbox": {
|
package/locales/bg-BG/chat.json
CHANGED
@@ -32,7 +32,12 @@
|
|
32
32
|
"duplicateTitle": "{{title}} Копие",
|
33
33
|
"emptyAgent": "Няма наличен асистент",
|
34
34
|
"extendParams": {
|
35
|
+
"disableContextCaching": {
|
36
|
+
"desc": "Разходите за генериране на единичен разговор могат да бъдат намалени с до 90%, а скоростта на отговорите да се увеличи 4 пъти (<1>Научете повече</1>). При активиране автоматично ще се деактивира ограничението на броя на историческите съобщения",
|
37
|
+
"title": "Активиране на кеширане на контекста"
|
38
|
+
},
|
35
39
|
"enableReasoning": {
|
40
|
+
"desc": "Ограничения на механизма Claude Thinking (<1>Научете повече</1>), при активиране автоматично ще се деактивира ограничението на броя на историческите съобщения",
|
36
41
|
"title": "Активиране на дълбочинно мислене"
|
37
42
|
},
|
38
43
|
"reasoningBudgetToken": {
|
@@ -40,6 +45,9 @@
|
|
40
45
|
},
|
41
46
|
"title": "Разширени функции на модела"
|
42
47
|
},
|
48
|
+
"history": {
|
49
|
+
"title": "Асистентът ще запомни само последните {{count}} съобщения"
|
50
|
+
},
|
43
51
|
"historyRange": "Диапазон на историята",
|
44
52
|
"historySummary": "Исторически обобщение на съобщения",
|
45
53
|
"inbox": {
|
package/locales/de-DE/chat.json
CHANGED
@@ -32,7 +32,12 @@
|
|
32
32
|
"duplicateTitle": "{{title}} Kopie",
|
33
33
|
"emptyAgent": "Kein Assistent verfügbar",
|
34
34
|
"extendParams": {
|
35
|
+
"disableContextCaching": {
|
36
|
+
"desc": "Die Kosten für die Generierung einer einzelnen Konversation können um bis zu 90 % gesenkt werden, die Reaktionsgeschwindigkeit wird um das Vierfache erhöht (<1>Mehr erfahren</1>). Wenn aktiviert, wird die Begrenzung der Anzahl historischer Nachrichten automatisch deaktiviert.",
|
37
|
+
"title": "Kontext-Caching aktivieren"
|
38
|
+
},
|
35
39
|
"enableReasoning": {
|
40
|
+
"desc": "Basierend auf den Einschränkungen des Claude Thinking-Mechanismus (<1>Mehr erfahren</1>), wird bei Aktivierung die Begrenzung der Anzahl historischer Nachrichten automatisch deaktiviert.",
|
36
41
|
"title": "Tiefes Denken aktivieren"
|
37
42
|
},
|
38
43
|
"reasoningBudgetToken": {
|
@@ -40,6 +45,9 @@
|
|
40
45
|
},
|
41
46
|
"title": "Modell Erweiterungsfunktionen"
|
42
47
|
},
|
48
|
+
"history": {
|
49
|
+
"title": "Der Assistent wird nur die letzten {{count}} Nachrichten speichern"
|
50
|
+
},
|
43
51
|
"historyRange": "Verlaufsbereich",
|
44
52
|
"historySummary": "Zusammenfassung historischer Nachrichten",
|
45
53
|
"inbox": {
|
package/locales/en-US/chat.json
CHANGED
@@ -32,7 +32,12 @@
|
|
32
32
|
"duplicateTitle": "{{title}} Copy",
|
33
33
|
"emptyAgent": "No assistant available",
|
34
34
|
"extendParams": {
|
35
|
+
"disableContextCaching": {
|
36
|
+
"desc": "The cost of generating a single conversation can be reduced by up to 90%, and the response speed is increased by 4 times (<1>Learn more</1>). Enabling this will automatically disable the limit on the number of historical messages.",
|
37
|
+
"title": "Enable Context Caching"
|
38
|
+
},
|
35
39
|
"enableReasoning": {
|
40
|
+
"desc": "Based on the Claude Thinking mechanism limit (<1>Learn more</1>), enabling this will automatically disable the limit on the number of historical messages.",
|
36
41
|
"title": "Enable Deep Thinking"
|
37
42
|
},
|
38
43
|
"reasoningBudgetToken": {
|
@@ -40,6 +45,9 @@
|
|
40
45
|
},
|
41
46
|
"title": "Model Extension Features"
|
42
47
|
},
|
48
|
+
"history": {
|
49
|
+
"title": "The assistant will only remember the last {{count}} messages."
|
50
|
+
},
|
43
51
|
"historyRange": "History Range",
|
44
52
|
"historySummary": "Historical Message Summary",
|
45
53
|
"inbox": {
|
package/locales/es-ES/chat.json
CHANGED
@@ -32,7 +32,12 @@
|
|
32
32
|
"duplicateTitle": "{{title}} Copia",
|
33
33
|
"emptyAgent": "No hay asistente disponible",
|
34
34
|
"extendParams": {
|
35
|
+
"disableContextCaching": {
|
36
|
+
"desc": "El costo de generación de una sola conversación puede reducirse hasta en un 90%, y la velocidad de respuesta se incrementa 4 veces (<1>Más información</1>). Al activarlo, se desactivará automáticamente el límite de mensajes históricos",
|
37
|
+
"title": "Activar caché de contexto"
|
38
|
+
},
|
35
39
|
"enableReasoning": {
|
40
|
+
"desc": "Basado en las restricciones del mecanismo Claude Thinking (<1>Más información</1>), al activarlo se desactivará automáticamente el límite de mensajes históricos",
|
36
41
|
"title": "Activar el pensamiento profundo"
|
37
42
|
},
|
38
43
|
"reasoningBudgetToken": {
|
@@ -40,6 +45,9 @@
|
|
40
45
|
},
|
41
46
|
"title": "Funcionalidad de extensión del modelo"
|
42
47
|
},
|
48
|
+
"history": {
|
49
|
+
"title": "El asistente solo recordará los últimos {{count}} mensajes"
|
50
|
+
},
|
43
51
|
"historyRange": "Rango de historial",
|
44
52
|
"historySummary": "Resumen de mensajes históricos",
|
45
53
|
"inbox": {
|
package/locales/fa-IR/chat.json
CHANGED
@@ -32,7 +32,12 @@
|
|
32
32
|
"duplicateTitle": "نسخهای از {{title}}",
|
33
33
|
"emptyAgent": "دستیار موجود نیست",
|
34
34
|
"extendParams": {
|
35
|
+
"disableContextCaching": {
|
36
|
+
"desc": "هزینه تولید یک گفتوگو میتواند تا 90% کاهش یابد و سرعت پاسخدهی 4 برابر افزایش یابد (<1>بیشتر بدانید</1>) . با فعالسازی این گزینه، محدودیت تعداد پیامهای تاریخی بهطور خودکار غیرفعال خواهد شد",
|
37
|
+
"title": "فعالسازی کش زمینه"
|
38
|
+
},
|
35
39
|
"enableReasoning": {
|
40
|
+
"desc": "محدودیتهای مبتنی بر مکانیزم تفکر کلاود (<1>بیشتر بدانید</1>) . با فعالسازی این گزینه، محدودیت تعداد پیامهای تاریخی بهطور خودکار غیرفعال خواهد شد",
|
36
41
|
"title": "فعالسازی تفکر عمیق"
|
37
42
|
},
|
38
43
|
"reasoningBudgetToken": {
|
@@ -40,6 +45,9 @@
|
|
40
45
|
},
|
41
46
|
"title": "ویژگیهای گسترش مدل"
|
42
47
|
},
|
48
|
+
"history": {
|
49
|
+
"title": "دستیار فقط آخرین {{count}} پیام را به خاطر خواهد سپرد"
|
50
|
+
},
|
43
51
|
"historyRange": "محدوده تاریخی",
|
44
52
|
"historySummary": "خلاصه پیامهای تاریخی",
|
45
53
|
"inbox": {
|
package/locales/fr-FR/chat.json
CHANGED
@@ -32,7 +32,12 @@
|
|
32
32
|
"duplicateTitle": "{{title}} Copie",
|
33
33
|
"emptyAgent": "Aucun assistant disponible",
|
34
34
|
"extendParams": {
|
35
|
+
"disableContextCaching": {
|
36
|
+
"desc": "Le coût de génération d'une seule conversation peut être réduit de 90 % au maximum, avec une vitesse de réponse augmentée de 4 fois (<1>En savoir plus</1>). Une fois activé, la limite du nombre de messages historiques sera automatiquement désactivée.",
|
37
|
+
"title": "Activer le cache de contexte"
|
38
|
+
},
|
35
39
|
"enableReasoning": {
|
40
|
+
"desc": "Basé sur les restrictions du mécanisme Claude Thinking (<1>En savoir plus</1>), une fois activé, la limite du nombre de messages historiques sera automatiquement désactivée.",
|
36
41
|
"title": "Activer la réflexion approfondie"
|
37
42
|
},
|
38
43
|
"reasoningBudgetToken": {
|
@@ -40,6 +45,9 @@
|
|
40
45
|
},
|
41
46
|
"title": "Fonctionnalités d'extension du modèle"
|
42
47
|
},
|
48
|
+
"history": {
|
49
|
+
"title": "L'assistant ne se souviendra que des {{count}} derniers messages"
|
50
|
+
},
|
43
51
|
"historyRange": "Plage d'historique",
|
44
52
|
"historySummary": "Résumé des messages historiques",
|
45
53
|
"inbox": {
|
package/locales/it-IT/chat.json
CHANGED
@@ -32,7 +32,12 @@
|
|
32
32
|
"duplicateTitle": "{{title}} Copia",
|
33
33
|
"emptyAgent": "Nessun assistente disponibile",
|
34
34
|
"extendParams": {
|
35
|
+
"disableContextCaching": {
|
36
|
+
"desc": "Il costo di generazione di una singola conversazione può essere ridotto fino al 90%, con una velocità di risposta aumentata di 4 volte (<1>Scopri di più</1>). Attivando questa opzione, verrà disabilitato automaticamente il limite sul numero di messaggi storici.",
|
37
|
+
"title": "Attiva la cache del contesto"
|
38
|
+
},
|
35
39
|
"enableReasoning": {
|
40
|
+
"desc": "Limitazioni basate sul meccanismo di pensiero di Claude (<1>Scopri di più</1>), attivando questa opzione verrà disabilitato automaticamente il limite sul numero di messaggi storici.",
|
36
41
|
"title": "Attiva il pensiero profondo"
|
37
42
|
},
|
38
43
|
"reasoningBudgetToken": {
|
@@ -40,6 +45,9 @@
|
|
40
45
|
},
|
41
46
|
"title": "Funzionalità di estensione del modello"
|
42
47
|
},
|
48
|
+
"history": {
|
49
|
+
"title": "L'assistente ricorderà solo gli ultimi {{count}} messaggi"
|
50
|
+
},
|
43
51
|
"historyRange": "Intervallo cronologico",
|
44
52
|
"historySummary": "Riepilogo della storia",
|
45
53
|
"inbox": {
|
package/locales/ja-JP/chat.json
CHANGED
@@ -32,7 +32,12 @@
|
|
32
32
|
"duplicateTitle": "{{title}} のコピー",
|
33
33
|
"emptyAgent": "エージェントがいません",
|
34
34
|
"extendParams": {
|
35
|
+
"disableContextCaching": {
|
36
|
+
"desc": "単一の対話生成コストは最大90%削減され、応答速度は4倍向上します(<1>詳細はこちら</1>)。有効にすると、過去のメッセージ数制限が自動的に無効になります。",
|
37
|
+
"title": "コンテキストキャッシュを有効にする"
|
38
|
+
},
|
35
39
|
"enableReasoning": {
|
40
|
+
"desc": "Claude Thinkingメカニズムに基づく制限(<1>詳細はこちら</1>)により、有効にすると過去のメッセージ数制限が自動的に無効になります。",
|
36
41
|
"title": "深い思考を有効にする"
|
37
42
|
},
|
38
43
|
"reasoningBudgetToken": {
|
@@ -40,6 +45,9 @@
|
|
40
45
|
},
|
41
46
|
"title": "モデル拡張機能"
|
42
47
|
},
|
48
|
+
"history": {
|
49
|
+
"title": "アシスタントは最後の{{count}}件のメッセージのみを記憶します"
|
50
|
+
},
|
43
51
|
"historyRange": "履歴範囲",
|
44
52
|
"historySummary": "履歴メッセージの要約",
|
45
53
|
"inbox": {
|
package/locales/ko-KR/chat.json
CHANGED
@@ -32,7 +32,12 @@
|
|
32
32
|
"duplicateTitle": "{{title}} 복사본",
|
33
33
|
"emptyAgent": "도우미가 없습니다",
|
34
34
|
"extendParams": {
|
35
|
+
"disableContextCaching": {
|
36
|
+
"desc": "단일 대화 생성 비용을 최대 90%까지 줄이고, 응답 속도를 4배 향상시킵니다 (<1>자세히 알아보기</1>). 활성화하면 자동으로 이전 메시지 수 제한이 비활성화됩니다.",
|
37
|
+
"title": "문맥 캐시 활성화"
|
38
|
+
},
|
35
39
|
"enableReasoning": {
|
40
|
+
"desc": "Claude Thinking 메커니즘에 기반한 제한 (<1>자세히 알아보기</1>), 활성화하면 자동으로 이전 메시지 수 제한이 비활성화됩니다.",
|
36
41
|
"title": "심층 사고 활성화"
|
37
42
|
},
|
38
43
|
"reasoningBudgetToken": {
|
@@ -40,6 +45,9 @@
|
|
40
45
|
},
|
41
46
|
"title": "모델 확장 기능"
|
42
47
|
},
|
48
|
+
"history": {
|
49
|
+
"title": "도우미는 마지막 {{count}}개의 메시지만 기억합니다."
|
50
|
+
},
|
43
51
|
"historyRange": "대화 기록 범위",
|
44
52
|
"historySummary": "역사 메시지 요약",
|
45
53
|
"inbox": {
|
package/locales/nl-NL/chat.json
CHANGED
@@ -32,7 +32,12 @@
|
|
32
32
|
"duplicateTitle": "{{title}} Kopie",
|
33
33
|
"emptyAgent": "Geen assistent beschikbaar",
|
34
34
|
"extendParams": {
|
35
|
+
"disableContextCaching": {
|
36
|
+
"desc": "De kosten voor het genereren van een enkele conversatie kunnen met maximaal 90% worden verlaagd, en de responssnelheid kan tot 4 keer worden verhoogd (<1>Lees meer</1>). Wanneer ingeschakeld, wordt automatisch de limiet voor het aantal historische berichten uitgeschakeld.",
|
37
|
+
"title": "Contextcaching inschakelen"
|
38
|
+
},
|
35
39
|
"enableReasoning": {
|
40
|
+
"desc": "Beperkingen op basis van het Claude Thinking-mechanisme (<1>Lees meer</1>), wanneer ingeschakeld, wordt automatisch de limiet voor het aantal historische berichten uitgeschakeld.",
|
36
41
|
"title": "Diepe denkwijze inschakelen"
|
37
42
|
},
|
38
43
|
"reasoningBudgetToken": {
|
@@ -40,6 +45,9 @@
|
|
40
45
|
},
|
41
46
|
"title": "Modeluitbreidingsfunctie"
|
42
47
|
},
|
48
|
+
"history": {
|
49
|
+
"title": "De assistent onthoudt alleen de laatste {{count}} berichten"
|
50
|
+
},
|
43
51
|
"historyRange": "Geschiedenisbereik",
|
44
52
|
"historySummary": "Geschiedenis samenvatting",
|
45
53
|
"inbox": {
|
package/locales/pl-PL/chat.json
CHANGED
@@ -32,7 +32,12 @@
|
|
32
32
|
"duplicateTitle": "{{title}} kopia",
|
33
33
|
"emptyAgent": "Brak asystenta",
|
34
34
|
"extendParams": {
|
35
|
+
"disableContextCaching": {
|
36
|
+
"desc": "Koszt generowania pojedynczej rozmowy może zostać obniżony o 90%, a prędkość odpowiedzi wzrośnie czterokrotnie (<1>Dowiedz się więcej</1>). Po włączeniu automatycznie wyłączone zostanie ograniczenie liczby wiadomości historycznych",
|
37
|
+
"title": "Włącz pamięć kontekstową"
|
38
|
+
},
|
35
39
|
"enableReasoning": {
|
40
|
+
"desc": "Ograniczenia oparte na mechanizmie Claude Thinking (<1>Dowiedz się więcej</1>), po włączeniu automatycznie wyłączone zostanie ograniczenie liczby wiadomości historycznych",
|
36
41
|
"title": "Włącz głębokie myślenie"
|
37
42
|
},
|
38
43
|
"reasoningBudgetToken": {
|
@@ -40,6 +45,9 @@
|
|
40
45
|
},
|
41
46
|
"title": "Funkcje rozszerzenia modelu"
|
42
47
|
},
|
48
|
+
"history": {
|
49
|
+
"title": "Asystent zapamięta tylko ostatnie {{count}} wiadomości"
|
50
|
+
},
|
43
51
|
"historyRange": "Zakres historii",
|
44
52
|
"historySummary": "Podsumowanie wiadomości historycznych",
|
45
53
|
"inbox": {
|
package/locales/pt-BR/chat.json
CHANGED
@@ -32,7 +32,12 @@
|
|
32
32
|
"duplicateTitle": "{{title}} Cópia",
|
33
33
|
"emptyAgent": "Sem assistente disponível",
|
34
34
|
"extendParams": {
|
35
|
+
"disableContextCaching": {
|
36
|
+
"desc": "O custo de geração de uma única conversa pode ser reduzido em até 90%, com um aumento de 4 vezes na velocidade de resposta (<1>Saiba mais</1>). Ao ativar, o limite de mensagens históricas será desativado automaticamente.",
|
37
|
+
"title": "Ativar cache de contexto"
|
38
|
+
},
|
35
39
|
"enableReasoning": {
|
40
|
+
"desc": "Baseado nas restrições do mecanismo Claude Thinking (<1>Saiba mais</1>), ao ativar, o limite de mensagens históricas será desativado automaticamente.",
|
36
41
|
"title": "Ativar Pensamento Profundo"
|
37
42
|
},
|
38
43
|
"reasoningBudgetToken": {
|
@@ -40,6 +45,9 @@
|
|
40
45
|
},
|
41
46
|
"title": "Funcionalidade de Extensão do Modelo"
|
42
47
|
},
|
48
|
+
"history": {
|
49
|
+
"title": "O assistente lembrará apenas das últimas {{count}} mensagens"
|
50
|
+
},
|
43
51
|
"historyRange": "Intervalo de Histórico",
|
44
52
|
"historySummary": "Resumo das mensagens históricas",
|
45
53
|
"inbox": {
|
package/locales/ru-RU/chat.json
CHANGED
@@ -32,7 +32,12 @@
|
|
32
32
|
"duplicateTitle": "{{title}} Копия",
|
33
33
|
"emptyAgent": "Нет ассистента",
|
34
34
|
"extendParams": {
|
35
|
+
"disableContextCaching": {
|
36
|
+
"desc": "Стоимость генерации одного диалога может быть снижена до 90%, скорость ответа увеличивается в 4 раза (<1>Узнать больше</1>). При включении автоматически отключается ограничение на количество исторических сообщений",
|
37
|
+
"title": "Включить кэширование контекста"
|
38
|
+
},
|
35
39
|
"enableReasoning": {
|
40
|
+
"desc": "Ограничение на основе механизма Claude Thinking (<1>Узнать больше</1>), при включении автоматически отключается ограничение на количество исторических сообщений",
|
36
41
|
"title": "Включить глубокое мышление"
|
37
42
|
},
|
38
43
|
"reasoningBudgetToken": {
|
@@ -40,6 +45,9 @@
|
|
40
45
|
},
|
41
46
|
"title": "Расширенные функции модели"
|
42
47
|
},
|
48
|
+
"history": {
|
49
|
+
"title": "Ассистент будет помнить только последние {{count}} сообщений"
|
50
|
+
},
|
43
51
|
"historyRange": "История сообщений",
|
44
52
|
"historySummary": "Сводка исторических сообщений",
|
45
53
|
"inbox": {
|
package/locales/tr-TR/chat.json
CHANGED
@@ -32,7 +32,12 @@
|
|
32
32
|
"duplicateTitle": "{{title}} Kopya",
|
33
33
|
"emptyAgent": "Asistan yok",
|
34
34
|
"extendParams": {
|
35
|
+
"disableContextCaching": {
|
36
|
+
"desc": "Tek bir diyalogun üretim maliyeti en fazla %90 oranında düşürülebilir, yanıt hızı 4 kat artar (<1>Daha fazla bilgi edinin</1>). Açıldığında, otomatik olarak geçmiş mesaj sayısı sınırı devre dışı bırakılacaktır.",
|
37
|
+
"title": "Bağlam önbelleğini aç"
|
38
|
+
},
|
35
39
|
"enableReasoning": {
|
40
|
+
"desc": "Claude Thinking mekanizmasına dayalı kısıtlamalar (<1>Daha fazla bilgi edinin</1>), açıldığında otomatik olarak geçmiş mesaj sayısı sınırı devre dışı bırakılacaktır.",
|
36
41
|
"title": "Derin Düşünmeyi Aç"
|
37
42
|
},
|
38
43
|
"reasoningBudgetToken": {
|
@@ -40,6 +45,9 @@
|
|
40
45
|
},
|
41
46
|
"title": "Model Genişletme Özellikleri"
|
42
47
|
},
|
48
|
+
"history": {
|
49
|
+
"title": "Asistan yalnızca son {{count}} mesajı hatırlayacak"
|
50
|
+
},
|
43
51
|
"historyRange": "Geçmiş Aralığı",
|
44
52
|
"historySummary": "Tarihsel haber özeti",
|
45
53
|
"inbox": {
|
package/locales/vi-VN/chat.json
CHANGED
@@ -32,7 +32,12 @@
|
|
32
32
|
"duplicateTitle": "{{title}} Bản sao",
|
33
33
|
"emptyAgent": "Không có trợ lý",
|
34
34
|
"extendParams": {
|
35
|
+
"disableContextCaching": {
|
36
|
+
"desc": "Chi phí tạo ra một cuộc hội thoại đơn lẻ có thể giảm tới 90%, tốc độ phản hồi tăng gấp 4 lần (<1>Tìm hiểu thêm</1>). Khi bật, sẽ tự động vô hiệu hóa giới hạn số lượng tin nhắn lịch sử",
|
37
|
+
"title": "Bật bộ nhớ ngữ cảnh"
|
38
|
+
},
|
35
39
|
"enableReasoning": {
|
40
|
+
"desc": "Giới hạn dựa trên cơ chế Claude Thinking (<1>Tìm hiểu thêm</1>), khi bật sẽ tự động vô hiệu hóa giới hạn số lượng tin nhắn lịch sử",
|
36
41
|
"title": "Bật tư duy sâu sắc"
|
37
42
|
},
|
38
43
|
"reasoningBudgetToken": {
|
@@ -40,6 +45,9 @@
|
|
40
45
|
},
|
41
46
|
"title": "Chức năng mở rộng mô hình"
|
42
47
|
},
|
48
|
+
"history": {
|
49
|
+
"title": "Trợ lý sẽ chỉ nhớ {{count}} tin nhắn cuối cùng"
|
50
|
+
},
|
43
51
|
"historyRange": "Phạm vi lịch sử",
|
44
52
|
"historySummary": "Tóm tắt tin tức lịch sử",
|
45
53
|
"inbox": {
|
package/locales/zh-CN/chat.json
CHANGED
@@ -32,7 +32,12 @@
|
|
32
32
|
"duplicateTitle": "{{title}} 副本",
|
33
33
|
"emptyAgent": "暂无助手",
|
34
34
|
"extendParams": {
|
35
|
+
"disableContextCaching": {
|
36
|
+
"desc": "单条对话生成成本最高可降低 90%,响应速度提升 4 倍(<1>了解更多</1>)。开启后将自动禁用历史消息数限制",
|
37
|
+
"title": "开启上下文缓存"
|
38
|
+
},
|
35
39
|
"enableReasoning": {
|
40
|
+
"desc": "基于 Claude Thinking 机制限制(<1>了解更多</1>),开启后将自动禁用历史消息数限制",
|
36
41
|
"title": "开启深度思考"
|
37
42
|
},
|
38
43
|
"reasoningBudgetToken": {
|
@@ -40,6 +45,9 @@
|
|
40
45
|
},
|
41
46
|
"title": "模型扩展功能"
|
42
47
|
},
|
48
|
+
"history": {
|
49
|
+
"title": "助手将只记住最后{{count}}条消息"
|
50
|
+
},
|
43
51
|
"historyRange": "历史范围",
|
44
52
|
"historySummary": "历史消息总结",
|
45
53
|
"inbox": {
|
package/locales/zh-TW/chat.json
CHANGED
@@ -32,7 +32,12 @@
|
|
32
32
|
"duplicateTitle": "{{title}} 副本",
|
33
33
|
"emptyAgent": "暫無助手",
|
34
34
|
"extendParams": {
|
35
|
+
"disableContextCaching": {
|
36
|
+
"desc": "單條對話生成成本最高可降低 90%,響應速度提升 4 倍(<1>了解更多</1>)。開啟後將自動禁用歷史消息數限制",
|
37
|
+
"title": "開啟上下文快取"
|
38
|
+
},
|
35
39
|
"enableReasoning": {
|
40
|
+
"desc": "基於 Claude Thinking 機制限制(<1>了解更多</1>),開啟後將自動禁用歷史消息數限制",
|
36
41
|
"title": "開啟深度思考"
|
37
42
|
},
|
38
43
|
"reasoningBudgetToken": {
|
@@ -40,6 +45,9 @@
|
|
40
45
|
},
|
41
46
|
"title": "模型擴展功能"
|
42
47
|
},
|
48
|
+
"history": {
|
49
|
+
"title": "助手將只記住最後{{count}}條消息"
|
50
|
+
},
|
43
51
|
"historyRange": "歷史範圍",
|
44
52
|
"historySummary": "歷史消息總結",
|
45
53
|
"inbox": {
|
package/next.config.ts
CHANGED
@@ -217,6 +217,12 @@ const nextConfig: NextConfig = {
|
|
217
217
|
|
218
218
|
config.resolve.alias.canvas = false;
|
219
219
|
|
220
|
+
// to ignore epub2 compile error
|
221
|
+
// refs: https://github.com/lobehub/lobe-chat/discussions/6769
|
222
|
+
config.resolve.fallback = {
|
223
|
+
...config.resolve.fallback,
|
224
|
+
zipfile: false,
|
225
|
+
};
|
220
226
|
return config;
|
221
227
|
},
|
222
228
|
};
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@lobehub/chat",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.69.1",
|
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",
|
@@ -89,19 +89,26 @@ export const naive: CrawlImpl = async (url, { filterOptions }) => {
|
|
89
89
|
|
90
90
|
const result = htmlToMarkdown(html, { filterOptions, url });
|
91
91
|
|
92
|
-
// if the content is
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
siteName: result?.siteName,
|
101
|
-
title: result?.title,
|
102
|
-
url,
|
103
|
-
} satisfies CrawlSuccessResult;
|
92
|
+
// if the content is empty or too short, just return
|
93
|
+
if (!result.content || result.content.length < 100) {
|
94
|
+
return;
|
95
|
+
}
|
96
|
+
|
97
|
+
// it's blocked by cloudflare
|
98
|
+
if (result.title !== 'Just a moment...') {
|
99
|
+
return;
|
104
100
|
}
|
101
|
+
|
102
|
+
// just return
|
103
|
+
return {
|
104
|
+
content: result.content,
|
105
|
+
contentType: 'text',
|
106
|
+
description: result?.excerpt,
|
107
|
+
length: result.length,
|
108
|
+
siteName: result?.siteName,
|
109
|
+
title: result?.title,
|
110
|
+
url,
|
111
|
+
} satisfies CrawlSuccessResult;
|
105
112
|
} catch (error) {
|
106
113
|
console.error(error);
|
107
114
|
}
|
@@ -16,7 +16,6 @@ export const crawUrlRules: CrawlUrlRule[] = [
|
|
16
16
|
// GitHub discussion
|
17
17
|
urlPattern: 'https://github.com/(.*)/discussions/(.*)',
|
18
18
|
},
|
19
|
-
|
20
19
|
// 所有 PDF 都用 jina
|
21
20
|
{
|
22
21
|
impls: ['jina'],
|
@@ -32,6 +31,15 @@ export const crawUrlRules: CrawlUrlRule[] = [
|
|
32
31
|
impls: ['jina'],
|
33
32
|
urlPattern: 'https://zhuanlan.zhihu.com(.*)',
|
34
33
|
},
|
34
|
+
{
|
35
|
+
impls: ['jina'],
|
36
|
+
urlPattern: 'https://zhihu.com(.*)',
|
37
|
+
},
|
38
|
+
// 微信公众号有爬虫防护,使用 jina
|
39
|
+
{
|
40
|
+
impls: ['jina'],
|
41
|
+
urlPattern: 'https://mp.weixin.qq.com(.*)',
|
42
|
+
},
|
35
43
|
{
|
36
44
|
// Medium 文章转换为 Scribe.rip
|
37
45
|
urlPattern: 'https://medium.com/(.*)',
|
@@ -4,7 +4,7 @@ import React, { memo, useMemo } from 'react';
|
|
4
4
|
import { ChatItem } from '@/features/Conversation';
|
5
5
|
import ActionsBar from '@/features/Conversation/components/ChatItem/ActionsBar';
|
6
6
|
import { useAgentStore } from '@/store/agent';
|
7
|
-
import {
|
7
|
+
import { agentChatConfigSelectors } from '@/store/agent/selectors';
|
8
8
|
import { useChatStore } from '@/store/chat';
|
9
9
|
import { chatSelectors, threadSelectors } from '@/store/chat/selectors';
|
10
10
|
|
@@ -50,28 +50,19 @@ export interface ThreadChatItemProps {
|
|
50
50
|
const MainChatItem = memo<ThreadChatItemProps>(({ id, index }) => {
|
51
51
|
const { styles, cx } = useStyles();
|
52
52
|
|
53
|
-
const [displayMode] = useAgentStore((s) => {
|
54
|
-
const config = agentSelectors.currentAgentChatConfig(s);
|
55
|
-
return [config.displayMode || 'chat'];
|
56
|
-
});
|
57
|
-
|
58
|
-
const userRole = useChatStore((s) => chatSelectors.getMessageById(id)(s)?.role);
|
59
|
-
|
60
|
-
const placement = displayMode === 'chat' && userRole === 'user' ? 'end' : 'start';
|
61
|
-
|
62
53
|
const [showThread, historyLength] = useChatStore((s) => [
|
63
54
|
threadSelectors.hasThreadBySourceMsgId(id)(s),
|
64
55
|
chatSelectors.mainDisplayChatIDs(s).length,
|
65
56
|
]);
|
66
57
|
|
67
|
-
const enableHistoryDivider = useAgentStore((s) =>
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
58
|
+
const [displayMode, enableHistoryDivider] = useAgentStore((s) => [
|
59
|
+
agentChatConfigSelectors.displayMode(s),
|
60
|
+
agentChatConfigSelectors.enableHistoryDivider(historyLength, index)(s),
|
61
|
+
]);
|
62
|
+
|
63
|
+
const userRole = useChatStore((s) => chatSelectors.getMessageById(id)(s)?.role);
|
64
|
+
|
65
|
+
const placement = displayMode === 'chat' && userRole === 'user' ? 'end' : 'start';
|
75
66
|
|
76
67
|
const actionBar = useMemo(() => <ActionsBar id={id} />, [id]);
|
77
68
|
|