@lobehub/chat 1.77.17 → 1.77.18

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 (48) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/changelog/v1.json +9 -0
  3. package/contributing/Basic/Architecture.md +1 -1
  4. package/contributing/Basic/Architecture.zh-CN.md +1 -1
  5. package/contributing/Basic/Chat-API.md +326 -108
  6. package/contributing/Basic/Chat-API.zh-CN.md +313 -133
  7. package/contributing/Basic/Contributing-Guidelines.md +7 -4
  8. package/contributing/Basic/Contributing-Guidelines.zh-CN.md +7 -6
  9. package/contributing/Home.md +5 -5
  10. package/contributing/State-Management/State-Management-Intro.md +1 -1
  11. package/contributing/State-Management/State-Management-Intro.zh-CN.md +1 -1
  12. package/locales/ar/tool.json +21 -1
  13. package/locales/bg-BG/tool.json +21 -1
  14. package/locales/de-DE/tool.json +21 -1
  15. package/locales/en-US/tool.json +21 -1
  16. package/locales/es-ES/tool.json +21 -1
  17. package/locales/fa-IR/tool.json +21 -1
  18. package/locales/fr-FR/tool.json +21 -1
  19. package/locales/it-IT/tool.json +21 -1
  20. package/locales/ja-JP/tool.json +21 -1
  21. package/locales/ko-KR/tool.json +21 -1
  22. package/locales/nl-NL/tool.json +21 -1
  23. package/locales/pl-PL/tool.json +21 -1
  24. package/locales/pt-BR/tool.json +21 -1
  25. package/locales/ru-RU/tool.json +21 -1
  26. package/locales/tr-TR/tool.json +21 -1
  27. package/locales/vi-VN/tool.json +21 -1
  28. package/locales/zh-CN/tool.json +30 -1
  29. package/locales/zh-TW/tool.json +21 -1
  30. package/package.json +1 -1
  31. package/src/locales/default/tool.ts +30 -1
  32. package/src/server/modules/SearXNG.ts +10 -2
  33. package/src/server/routers/tools/__test__/search.test.ts +3 -1
  34. package/src/server/routers/tools/search.ts +10 -2
  35. package/src/services/search.ts +2 -2
  36. package/src/store/chat/slices/builtinTool/actions/searXNG.test.ts +28 -8
  37. package/src/store/chat/slices/builtinTool/actions/searXNG.ts +22 -5
  38. package/src/tools/web-browsing/Portal/Search/index.tsx +1 -1
  39. package/src/tools/web-browsing/Render/Search/SearchQuery/SearchView.tsx +1 -1
  40. package/src/tools/web-browsing/Render/Search/SearchQuery/index.tsx +1 -1
  41. package/src/tools/web-browsing/Render/Search/SearchResult/index.tsx +1 -1
  42. package/src/tools/web-browsing/components/CategoryAvatar.tsx +27 -0
  43. package/src/tools/web-browsing/components/SearchBar.tsx +84 -4
  44. package/src/tools/web-browsing/const.ts +26 -0
  45. package/src/tools/web-browsing/index.ts +58 -28
  46. package/src/tools/web-browsing/systemRole.ts +62 -1
  47. package/src/types/tool/search.ts +10 -1
  48. package/src/helpers/url.ts +0 -17
@@ -19,8 +19,28 @@
19
19
  "placeholder": "الكلمات الرئيسية",
20
20
  "tooltip": "سيتم إعادة الحصول على نتائج البحث، وإنشاء رسالة ملخص جديدة"
21
21
  },
22
- "searchEngine": "محرك البحث:",
22
+ "searchCategory": {
23
+ "placeholder": "ابحث عن الفئة",
24
+ "title": "فئة البحث:",
25
+ "value": {
26
+ "files": "ملفات",
27
+ "general": "عام",
28
+ "images": "صور",
29
+ "it": "تكنولوجيا المعلومات",
30
+ "map": "خريطة",
31
+ "music": "موسيقى",
32
+ "news": "أخبار",
33
+ "science": "علوم",
34
+ "social_media": "وسائل التواصل الاجتماعي",
35
+ "videos": "فيديوهات"
36
+ }
37
+ },
38
+ "searchEngine": {
39
+ "placeholder": "محرك البحث",
40
+ "title": "محرك البحث:"
41
+ },
23
42
  "searchResult": "عدد النتائج:",
43
+ "searchTimeRange": "نطاق الوقت:",
24
44
  "summary": "ملخص",
25
45
  "summaryTooltip": "تلخيص المحتوى الحالي",
26
46
  "viewMoreResults": "عرض المزيد من {{results}} نتيجة"
@@ -19,8 +19,28 @@
19
19
  "placeholder": "Ключови думи",
20
20
  "tooltip": "Ще се извлекат отново резултатите от търсенето и ще се създаде ново резюме"
21
21
  },
22
- "searchEngine": "Търсачка:",
22
+ "searchCategory": {
23
+ "placeholder": "Търсене на категория",
24
+ "title": "Категория за търсене:",
25
+ "value": {
26
+ "files": "Файлове",
27
+ "general": "Общи",
28
+ "images": "Снимки",
29
+ "it": "Информационни технологии",
30
+ "map": "Карта",
31
+ "music": "Музика",
32
+ "news": "Новини",
33
+ "science": "Наука",
34
+ "social_media": "Социални медии",
35
+ "videos": "Видеа"
36
+ }
37
+ },
38
+ "searchEngine": {
39
+ "placeholder": "Търсачка",
40
+ "title": "Търсачка:"
41
+ },
23
42
  "searchResult": "Брой резултати:",
43
+ "searchTimeRange": "Времеви диапазон:",
24
44
  "summary": "Резюме",
25
45
  "summaryTooltip": "Резюме на текущото съдържание",
26
46
  "viewMoreResults": "Вижте още {{results}} резултата"
@@ -19,8 +19,28 @@
19
19
  "placeholder": "Schlüsselwörter",
20
20
  "tooltip": "Die Suchergebnisse werden erneut abgerufen und eine neue Zusammenfassungsnachricht wird erstellt"
21
21
  },
22
- "searchEngine": "Suchmaschine:",
22
+ "searchCategory": {
23
+ "placeholder": "Kategorie suchen",
24
+ "title": "Kategorie suchen:",
25
+ "value": {
26
+ "files": "Dateien",
27
+ "general": "Allgemein",
28
+ "images": "Bilder",
29
+ "it": "Informationstechnologie",
30
+ "map": "Karten",
31
+ "music": "Musik",
32
+ "news": "Nachrichten",
33
+ "science": "Wissenschaft",
34
+ "social_media": "Soziale Medien",
35
+ "videos": "Videos"
36
+ }
37
+ },
38
+ "searchEngine": {
39
+ "placeholder": "Suchmaschine",
40
+ "title": "Suchmaschine:"
41
+ },
23
42
  "searchResult": "Anzahl der Suchergebnisse:",
43
+ "searchTimeRange": "Zeitspanne:",
24
44
  "summary": "Zusammenfassung",
25
45
  "summaryTooltip": "Aktuellen Inhalt zusammenfassen",
26
46
  "viewMoreResults": "Weitere {{results}} Ergebnisse anzeigen"
@@ -19,8 +19,28 @@
19
19
  "placeholder": "Keywords",
20
20
  "tooltip": "This will refresh the search results and create a new summary message"
21
21
  },
22
- "searchEngine": "Search engine:",
22
+ "searchCategory": {
23
+ "placeholder": "Search Category",
24
+ "title": "Search Category:",
25
+ "value": {
26
+ "files": "Files",
27
+ "general": "General",
28
+ "images": "Images",
29
+ "it": "Information Technology",
30
+ "map": "Maps",
31
+ "music": "Music",
32
+ "news": "News",
33
+ "science": "Science",
34
+ "social_media": "Social Media",
35
+ "videos": "Videos"
36
+ }
37
+ },
38
+ "searchEngine": {
39
+ "placeholder": "Search Engine",
40
+ "title": "Search Engine:"
41
+ },
23
42
  "searchResult": "Number of searches:",
43
+ "searchTimeRange": "Time Range:",
24
44
  "summary": "Summary",
25
45
  "summaryTooltip": "Summarize the current content",
26
46
  "viewMoreResults": "View {{results}} more results"
@@ -19,8 +19,28 @@
19
19
  "placeholder": "Palabras clave",
20
20
  "tooltip": "Se volverán a obtener los resultados de búsqueda y se creará un nuevo mensaje de resumen"
21
21
  },
22
- "searchEngine": "Motor de búsqueda:",
22
+ "searchCategory": {
23
+ "placeholder": "Buscar categoría",
24
+ "title": "Categoría de búsqueda:",
25
+ "value": {
26
+ "files": "Archivos",
27
+ "general": "General",
28
+ "images": "Imágenes",
29
+ "it": "Tecnologías de la información",
30
+ "map": "Mapas",
31
+ "music": "Música",
32
+ "news": "Noticias",
33
+ "science": "Ciencia",
34
+ "social_media": "Redes sociales",
35
+ "videos": "Videos"
36
+ }
37
+ },
38
+ "searchEngine": {
39
+ "placeholder": "Motor de búsqueda",
40
+ "title": "Motor de búsqueda:"
41
+ },
23
42
  "searchResult": "Número de búsquedas:",
43
+ "searchTimeRange": "Rango de tiempo:",
24
44
  "summary": "Resumen",
25
45
  "summaryTooltip": "Resumir el contenido actual",
26
46
  "viewMoreResults": "Ver más {{results}} resultados"
@@ -19,8 +19,28 @@
19
19
  "placeholder": "کلمات کلیدی",
20
20
  "tooltip": "نتایج جستجو دوباره دریافت خواهد شد و یک پیام خلاصه جدید ایجاد خواهد شد"
21
21
  },
22
- "searchEngine": "موتور جستجو:",
22
+ "searchCategory": {
23
+ "placeholder": "جستجوی دسته",
24
+ "title": "دسته جستجو:",
25
+ "value": {
26
+ "files": "فایل‌ها",
27
+ "general": "عمومی",
28
+ "images": "تصاویر",
29
+ "it": "فناوری اطلاعات",
30
+ "map": "نقشه",
31
+ "music": "موسیقی",
32
+ "news": "اخبار",
33
+ "science": "علم",
34
+ "social_media": "رسانه‌های اجتماعی",
35
+ "videos": "ویدیوها"
36
+ }
37
+ },
38
+ "searchEngine": {
39
+ "placeholder": "موتور جستجو",
40
+ "title": "موتور جستجو:"
41
+ },
23
42
  "searchResult": "تعداد جستجو:",
43
+ "searchTimeRange": "محدوده زمانی:",
24
44
  "summary": "خلاصه",
25
45
  "summaryTooltip": "خلاصه محتوای فعلی",
26
46
  "viewMoreResults": "مشاهده {{results}} نتیجه بیشتر"
@@ -19,8 +19,28 @@
19
19
  "placeholder": "Mots-clés",
20
20
  "tooltip": "Cela va récupérer à nouveau les résultats de recherche et créer un nouveau message de résumé"
21
21
  },
22
- "searchEngine": "Moteur de recherche :",
22
+ "searchCategory": {
23
+ "placeholder": "Catégorie de recherche",
24
+ "title": "Catégorie de recherche :",
25
+ "value": {
26
+ "files": "Fichiers",
27
+ "general": "Général",
28
+ "images": "Images",
29
+ "it": "Technologies de l'information",
30
+ "map": "Cartes",
31
+ "music": "Musique",
32
+ "news": "Actualités",
33
+ "science": "Science",
34
+ "social_media": "Médias sociaux",
35
+ "videos": "Vidéos"
36
+ }
37
+ },
38
+ "searchEngine": {
39
+ "placeholder": "Moteur de recherche",
40
+ "title": "Moteur de recherche :"
41
+ },
23
42
  "searchResult": "Nombre de recherches :",
43
+ "searchTimeRange": "Plage horaire :",
24
44
  "summary": "Résumé",
25
45
  "summaryTooltip": "Résumer le contenu actuel",
26
46
  "viewMoreResults": "Voir {{results}} résultats supplémentaires"
@@ -19,8 +19,28 @@
19
19
  "placeholder": "Parole chiave",
20
20
  "tooltip": "Ricaricherà i risultati di ricerca e creerà un nuovo messaggio di sintesi"
21
21
  },
22
- "searchEngine": "Motore di ricerca:",
22
+ "searchCategory": {
23
+ "placeholder": "Cerca categoria",
24
+ "title": "Categoria di ricerca:",
25
+ "value": {
26
+ "files": "File",
27
+ "general": "Generale",
28
+ "images": "Immagini",
29
+ "it": "Tecnologia dell'informazione",
30
+ "map": "Mappa",
31
+ "music": "Musica",
32
+ "news": "Notizie",
33
+ "science": "Scienza",
34
+ "social_media": "Social media",
35
+ "videos": "Video"
36
+ }
37
+ },
38
+ "searchEngine": {
39
+ "placeholder": "Motore di ricerca",
40
+ "title": "Motore di ricerca:"
41
+ },
23
42
  "searchResult": "Numero di ricerche:",
43
+ "searchTimeRange": "Intervallo di tempo:",
24
44
  "summary": "Riepilogo",
25
45
  "summaryTooltip": "Riepiloga il contenuto attuale",
26
46
  "viewMoreResults": "Visualizza altri {{results}} risultati"
@@ -19,8 +19,28 @@
19
19
  "placeholder": "キーワード",
20
20
  "tooltip": "検索結果を再取得し、新しい要約メッセージを作成します"
21
21
  },
22
- "searchEngine": "検索エンジン:",
22
+ "searchCategory": {
23
+ "placeholder": "カテゴリを検索",
24
+ "title": "カテゴリを検索:",
25
+ "value": {
26
+ "files": "ファイル",
27
+ "general": "一般",
28
+ "images": "画像",
29
+ "it": "情報技術",
30
+ "map": "地図",
31
+ "music": "音楽",
32
+ "news": "ニュース",
33
+ "science": "科学",
34
+ "social_media": "ソーシャルメディア",
35
+ "videos": "動画"
36
+ }
37
+ },
38
+ "searchEngine": {
39
+ "placeholder": "検索エンジン",
40
+ "title": "検索エンジン:"
41
+ },
23
42
  "searchResult": "検索結果の数:",
43
+ "searchTimeRange": "時間範囲:",
24
44
  "summary": "要約",
25
45
  "summaryTooltip": "現在の内容を要約",
26
46
  "viewMoreResults": "さらに {{results}} 件の結果を見る"
@@ -19,8 +19,28 @@
19
19
  "placeholder": "키워드",
20
20
  "tooltip": "검색 결과를 다시 가져오고 새로운 요약 메시지를 생성합니다."
21
21
  },
22
- "searchEngine": "검색 엔진:",
22
+ "searchCategory": {
23
+ "placeholder": "카테고리 검색",
24
+ "title": "카테고리 검색:",
25
+ "value": {
26
+ "files": "파일",
27
+ "general": "일반",
28
+ "images": "이미지",
29
+ "it": "정보 기술",
30
+ "map": "지도",
31
+ "music": "음악",
32
+ "news": "뉴스",
33
+ "science": "과학",
34
+ "social_media": "소셜 미디어",
35
+ "videos": "비디오"
36
+ }
37
+ },
38
+ "searchEngine": {
39
+ "placeholder": "검색 엔진",
40
+ "title": "검색 엔진:"
41
+ },
23
42
  "searchResult": "검색 수:",
43
+ "searchTimeRange": "시간 범위:",
24
44
  "summary": "요약",
25
45
  "summaryTooltip": "현재 내용 요약",
26
46
  "viewMoreResults": "{{results}}개의 결과 더 보기"
@@ -19,8 +19,28 @@
19
19
  "placeholder": "Zoekwoorden",
20
20
  "tooltip": "De zoekresultaten worden opnieuw opgehaald en er wordt een nieuwe samenvattingsbericht aangemaakt"
21
21
  },
22
- "searchEngine": "Zoekmachine:",
22
+ "searchCategory": {
23
+ "placeholder": "Zoekcategorie",
24
+ "title": "Zoekcategorie:",
25
+ "value": {
26
+ "files": "Bestanden",
27
+ "general": "Algemeen",
28
+ "images": "Afbeeldingen",
29
+ "it": "Informatietechnologie",
30
+ "map": "Kaart",
31
+ "music": "Muziek",
32
+ "news": "Nieuws",
33
+ "science": "Wetenschap",
34
+ "social_media": "Sociale media",
35
+ "videos": "Video's"
36
+ }
37
+ },
38
+ "searchEngine": {
39
+ "placeholder": "Zoekmachine",
40
+ "title": "Zoekmachine:"
41
+ },
23
42
  "searchResult": "Aantal zoekresultaten:",
43
+ "searchTimeRange": "Tijdspanne:",
24
44
  "summary": "Samenvatting",
25
45
  "summaryTooltip": "Samenvatting van de huidige inhoud",
26
46
  "viewMoreResults": "Bekijk meer {{results}} resultaten"
@@ -19,8 +19,28 @@
19
19
  "placeholder": "Słowa kluczowe",
20
20
  "tooltip": "Ponownie pobierze wyniki wyszukiwania i utworzy nową wiadomość podsumowującą"
21
21
  },
22
- "searchEngine": "Silnik wyszukiwania:",
22
+ "searchCategory": {
23
+ "placeholder": "Wyszukaj kategorię",
24
+ "title": "Kategoria wyszukiwania:",
25
+ "value": {
26
+ "files": "Pliki",
27
+ "general": "Ogólne",
28
+ "images": "Obrazy",
29
+ "it": "Technologia informacyjna",
30
+ "map": "Mapa",
31
+ "music": "Muzyka",
32
+ "news": "Aktualności",
33
+ "science": "Nauka",
34
+ "social_media": "Media społecznościowe",
35
+ "videos": "Filmy"
36
+ }
37
+ },
38
+ "searchEngine": {
39
+ "placeholder": "Silnik wyszukiwania",
40
+ "title": "Silnik wyszukiwania:"
41
+ },
23
42
  "searchResult": "Liczba wyników:",
43
+ "searchTimeRange": "Zakres czasu:",
24
44
  "summary": "Podsumowanie",
25
45
  "summaryTooltip": "Podsumuj bieżącą treść",
26
46
  "viewMoreResults": "Zobacz więcej {{results}} wyników"
@@ -19,8 +19,28 @@
19
19
  "placeholder": "Palavras-chave",
20
20
  "tooltip": "Isso irá recuperar os resultados da pesquisa novamente e criar uma nova mensagem de resumo"
21
21
  },
22
- "searchEngine": "Motor de busca:",
22
+ "searchCategory": {
23
+ "placeholder": "Pesquisar categoria",
24
+ "title": "Categoria de pesquisa:",
25
+ "value": {
26
+ "files": "Arquivos",
27
+ "general": "Geral",
28
+ "images": "Imagens",
29
+ "it": "Tecnologia da Informação",
30
+ "map": "Mapa",
31
+ "music": "Música",
32
+ "news": "Notícias",
33
+ "science": "Ciência",
34
+ "social_media": "Mídias sociais",
35
+ "videos": "Vídeos"
36
+ }
37
+ },
38
+ "searchEngine": {
39
+ "placeholder": "Motor de busca",
40
+ "title": "Motor de busca:"
41
+ },
23
42
  "searchResult": "Número de pesquisas:",
43
+ "searchTimeRange": "Intervalo de tempo:",
24
44
  "summary": "Resumo",
25
45
  "summaryTooltip": "Resumir o conteúdo atual",
26
46
  "viewMoreResults": "Ver mais {{results}} resultados"
@@ -19,8 +19,28 @@
19
19
  "placeholder": "Ключевые слова",
20
20
  "tooltip": "Будет повторно получен результат поиска и создано новое резюме сообщения"
21
21
  },
22
- "searchEngine": "Поисковая система:",
22
+ "searchCategory": {
23
+ "placeholder": "Поиск категории",
24
+ "title": "Категория поиска:",
25
+ "value": {
26
+ "files": "Файлы",
27
+ "general": "Общее",
28
+ "images": "Изображения",
29
+ "it": "Информационные технологии",
30
+ "map": "Карта",
31
+ "music": "Музыка",
32
+ "news": "Новости",
33
+ "science": "Наука",
34
+ "social_media": "Социальные медиа",
35
+ "videos": "Видео"
36
+ }
37
+ },
38
+ "searchEngine": {
39
+ "placeholder": "Поисковая система",
40
+ "title": "Поисковая система:"
41
+ },
23
42
  "searchResult": "Количество результатов:",
43
+ "searchTimeRange": "Временной диапазон:",
24
44
  "summary": "Резюме",
25
45
  "summaryTooltip": "Суммировать текущее содержимое",
26
46
  "viewMoreResults": "Посмотреть еще {{results}} результатов"
@@ -19,8 +19,28 @@
19
19
  "placeholder": "Anahtar kelime",
20
20
  "tooltip": "Arama sonuçları yeniden alınacak ve yeni bir özet mesajı oluşturulacaktır"
21
21
  },
22
- "searchEngine": "Arama motoru:",
22
+ "searchCategory": {
23
+ "placeholder": "Kategori Ara",
24
+ "title": "Kategori Ara:",
25
+ "value": {
26
+ "files": "Dosyalar",
27
+ "general": "Genel",
28
+ "images": "Görüntüler",
29
+ "it": "Bilgi Teknolojisi",
30
+ "map": "Harita",
31
+ "music": "Müzik",
32
+ "news": "Haberler",
33
+ "science": "Bilim",
34
+ "social_media": "Sosyal Medya",
35
+ "videos": "Videolar"
36
+ }
37
+ },
38
+ "searchEngine": {
39
+ "placeholder": "Arama Motoru",
40
+ "title": "Arama Motoru:"
41
+ },
23
42
  "searchResult": "Arama sayısı:",
43
+ "searchTimeRange": "Zaman aralığı:",
24
44
  "summary": "Özet",
25
45
  "summaryTooltip": "Mevcut içeriği özetle",
26
46
  "viewMoreResults": "Daha fazla {{results}} sonuç görüntüle"
@@ -19,8 +19,28 @@
19
19
  "placeholder": "Từ khóa",
20
20
  "tooltip": "Sẽ lấy lại kết quả tìm kiếm và tạo một tin nhắn tóm tắt mới"
21
21
  },
22
- "searchEngine": "Công cụ tìm kiếm:",
22
+ "searchCategory": {
23
+ "placeholder": "Tìm kiếm danh mục",
24
+ "title": "Danh mục tìm kiếm:",
25
+ "value": {
26
+ "files": "Tài liệu",
27
+ "general": "Chung",
28
+ "images": "Hình ảnh",
29
+ "it": "Công nghệ thông tin",
30
+ "map": "Bản đồ",
31
+ "music": "Âm nhạc",
32
+ "news": "Tin tức",
33
+ "science": "Khoa học",
34
+ "social_media": "Mạng xã hội",
35
+ "videos": "Video"
36
+ }
37
+ },
38
+ "searchEngine": {
39
+ "placeholder": "Công cụ tìm kiếm",
40
+ "title": "Công cụ tìm kiếm:"
41
+ },
23
42
  "searchResult": "Số lượng tìm kiếm:",
43
+ "searchTimeRange": "Khoảng thời gian:",
24
44
  "summary": "Tóm tắt",
25
45
  "summaryTooltip": "Tóm tắt nội dung hiện tại",
26
46
  "viewMoreResults": "Xem thêm {{results}} kết quả"
@@ -19,8 +19,37 @@
19
19
  "placeholder": "关键词",
20
20
  "tooltip": "将会重新获取搜索结果,并创建一条新的总结消息"
21
21
  },
22
- "searchEngine": "搜索引擎:",
22
+ "searchCategory": {
23
+ "placeholder": "搜索类别",
24
+ "title": "搜索类别:",
25
+ "value": {
26
+ "files": "文件",
27
+ "general": "通用",
28
+ "images": "图片",
29
+ "it": "信息技术",
30
+ "map": "地图",
31
+ "music": "音乐",
32
+ "news": "新闻",
33
+ "science": "科学",
34
+ "social_media": "社交媒体",
35
+ "videos": "视频"
36
+ }
37
+ },
38
+ "searchEngine": {
39
+ "placeholder": "搜索引擎",
40
+ "title": "搜索引擎:"
41
+ },
23
42
  "searchResult": "搜索数量:",
43
+ "searchTimeRange": {
44
+ "title": "时间范围:",
45
+ "value": {
46
+ "anytime": "时间不限",
47
+ "day": "一天内",
48
+ "month": "一月内",
49
+ "week": "一周内",
50
+ "year": "一年内"
51
+ }
52
+ },
24
53
  "summary": "总结",
25
54
  "summaryTooltip": "总结当前内容",
26
55
  "viewMoreResults": "查看更多 {{results}} 个结果"
@@ -19,8 +19,28 @@
19
19
  "placeholder": "關鍵字",
20
20
  "tooltip": "將會重新獲取搜尋結果,並建立一條新的總結消息"
21
21
  },
22
- "searchEngine": "搜尋引擎:",
22
+ "searchCategory": {
23
+ "placeholder": "搜尋類別",
24
+ "title": "搜尋類別:",
25
+ "value": {
26
+ "files": "文件",
27
+ "general": "通用",
28
+ "images": "圖片",
29
+ "it": "資訊科技",
30
+ "map": "地圖",
31
+ "music": "音樂",
32
+ "news": "新聞",
33
+ "science": "科學",
34
+ "social_media": "社交媒體",
35
+ "videos": "影片"
36
+ }
37
+ },
38
+ "searchEngine": {
39
+ "placeholder": "搜尋引擎",
40
+ "title": "搜尋引擎:"
41
+ },
23
42
  "searchResult": "搜尋數量:",
43
+ "searchTimeRange": "時間範圍:",
24
44
  "summary": "總結",
25
45
  "summaryTooltip": "總結當前內容",
26
46
  "viewMoreResults": "查看更多 {{results}} 個結果"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/chat",
3
- "version": "1.77.17",
3
+ "version": "1.77.18",
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",
@@ -19,8 +19,37 @@ export default {
19
19
  placeholder: '关键词',
20
20
  tooltip: '将会重新获取搜索结果,并创建一条新的总结消息',
21
21
  },
22
- searchEngine: '搜索引擎:',
22
+ searchCategory: {
23
+ placeholder: '搜索类别',
24
+ title: '搜索类别:',
25
+ value: {
26
+ 'files': '文件',
27
+ 'general': '通用',
28
+ 'images': '图片',
29
+ 'it': '信息技术',
30
+ 'map': '地图',
31
+ 'music': '音乐',
32
+ 'news': '新闻',
33
+ 'science': '科学',
34
+ 'social_media': '社交媒体',
35
+ 'videos': '视频',
36
+ },
37
+ },
38
+ searchEngine: {
39
+ placeholder: '搜索引擎',
40
+ title: '搜索引擎:',
41
+ },
23
42
  searchResult: '搜索数量:',
43
+ searchTimeRange: {
44
+ title: '时间范围:',
45
+ value: {
46
+ anytime: '时间不限',
47
+ day: '一天内',
48
+ month: '一月内',
49
+ week: '一周内',
50
+ year: '一年内',
51
+ },
52
+ },
24
53
  summary: '总结',
25
54
  summaryTooltip: '总结当前内容',
26
55
  viewMoreResults: '查看更多 {{results}} 个结果',
@@ -10,10 +10,18 @@ export class SearXNGClient {
10
10
  this.baseUrl = baseUrl;
11
11
  }
12
12
 
13
- async search(query: string, engines?: string[]): Promise<SearchResponse> {
13
+ async search(query: string, optionalParams: Record<string, any> = {}): Promise<SearchResponse> {
14
14
  try {
15
+ const { time_range, ...otherParams } = optionalParams;
16
+
17
+ const processedParams = Object.entries(otherParams).reduce<Record<string, any>>((acc, [key, value]) => {
18
+ acc[key] = Array.isArray(value) ? value.join(',') : value;
19
+ return acc;
20
+ }, {});
21
+
15
22
  const searchParams = qs.stringify({
16
- engines: engines?.join(','),
23
+ ...processedParams,
24
+ ...(time_range !== 'anytime' && { time_range }),
17
25
  format: 'json',
18
26
  q: query,
19
27
  });
@@ -98,8 +98,10 @@ describe('searchRouter', () => {
98
98
  const caller = searchRouter.createCaller(mockContext as any);
99
99
 
100
100
  const result = await caller.query({
101
+ optionalParams: {
102
+ searchEngines: ['google'],
103
+ },
101
104
  query: 'test query',
102
- searchEngine: ['google'],
103
105
  });
104
106
 
105
107
  expect(result).toEqual(mockSearchResult);