@lobehub/chat 0.158.0 → 0.158.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.
- package/CHANGELOG.md +50 -0
- package/locales/ar/common.json +1 -0
- package/locales/ar/metadata.json +18 -0
- package/locales/ar/plugin.json +5 -6
- package/locales/ar/tool.json +2 -1
- package/locales/bg-BG/common.json +1 -0
- package/locales/bg-BG/metadata.json +18 -0
- package/locales/bg-BG/plugin.json +5 -6
- package/locales/bg-BG/tool.json +2 -1
- package/locales/de-DE/common.json +1 -0
- package/locales/de-DE/metadata.json +18 -0
- package/locales/de-DE/plugin.json +5 -6
- package/locales/de-DE/tool.json +2 -1
- package/locales/en-US/common.json +2 -1
- package/locales/en-US/metadata.json +18 -0
- package/locales/en-US/plugin.json +5 -6
- package/locales/en-US/tool.json +2 -1
- package/locales/es-ES/common.json +1 -0
- package/locales/es-ES/metadata.json +18 -0
- package/locales/es-ES/plugin.json +5 -6
- package/locales/es-ES/tool.json +2 -1
- package/locales/fr-FR/common.json +1 -0
- package/locales/fr-FR/metadata.json +18 -0
- package/locales/fr-FR/plugin.json +5 -6
- package/locales/fr-FR/tool.json +2 -1
- package/locales/it-IT/common.json +1 -0
- package/locales/it-IT/metadata.json +18 -0
- package/locales/it-IT/plugin.json +5 -6
- package/locales/it-IT/tool.json +2 -1
- package/locales/ja-JP/common.json +1 -0
- package/locales/ja-JP/metadata.json +18 -0
- package/locales/ja-JP/plugin.json +5 -6
- package/locales/ja-JP/tool.json +2 -1
- package/locales/ko-KR/common.json +1 -0
- package/locales/ko-KR/metadata.json +18 -0
- package/locales/ko-KR/plugin.json +5 -6
- package/locales/ko-KR/tool.json +2 -1
- package/locales/nl-NL/common.json +1 -0
- package/locales/nl-NL/metadata.json +18 -0
- package/locales/nl-NL/plugin.json +63 -64
- package/locales/nl-NL/tool.json +2 -1
- package/locales/pl-PL/common.json +1 -0
- package/locales/pl-PL/metadata.json +18 -0
- package/locales/pl-PL/plugin.json +98 -99
- package/locales/pl-PL/tool.json +2 -1
- package/locales/pt-BR/common.json +1 -0
- package/locales/pt-BR/metadata.json +18 -0
- package/locales/pt-BR/plugin.json +5 -6
- package/locales/pt-BR/tool.json +2 -1
- package/locales/ru-RU/common.json +1 -0
- package/locales/ru-RU/metadata.json +18 -0
- package/locales/ru-RU/plugin.json +5 -6
- package/locales/ru-RU/tool.json +2 -1
- package/locales/tr-TR/common.json +1 -0
- package/locales/tr-TR/metadata.json +18 -0
- package/locales/tr-TR/plugin.json +5 -6
- package/locales/tr-TR/tool.json +2 -1
- package/locales/vi-VN/common.json +1 -0
- package/locales/vi-VN/metadata.json +18 -0
- package/locales/vi-VN/plugin.json +5 -6
- package/locales/vi-VN/tool.json +2 -1
- package/locales/zh-CN/common.json +1 -0
- package/locales/zh-CN/metadata.json +18 -0
- package/locales/zh-CN/plugin.json +5 -6
- package/locales/zh-CN/tool.json +2 -1
- package/locales/zh-TW/common.json +1 -0
- package/locales/zh-TW/metadata.json +18 -0
- package/locales/zh-TW/plugin.json +5 -6
- package/locales/zh-TW/tool.json +2 -1
- package/package.json +2 -1
- package/public/manifest.json +76 -16
- package/public/og/cover.png +0 -0
- package/public/screenshots/shot-1.desktop.png +0 -0
- package/public/screenshots/shot-1.mobile.png +0 -0
- package/public/screenshots/shot-2.desktop.png +0 -0
- package/public/screenshots/shot-2.mobile.png +0 -0
- package/public/screenshots/shot-3.desktop.png +0 -0
- package/public/screenshots/shot-3.mobile.png +0 -0
- package/public/screenshots/shot-4.desktop.png +0 -0
- package/public/screenshots/shot-4.mobile.png +0 -0
- package/public/screenshots/shot-5.desktop.png +0 -0
- package/public/screenshots/shot-5.mobile.png +0 -0
- package/src/app/(auth)/login/[[...login]]/page.tsx +14 -7
- package/src/app/(auth)/signup/[[...signup]]/page.tsx +14 -7
- package/src/app/(main)/(mobile)/me/(home)/features/useCategory.tsx +16 -1
- package/src/app/(main)/(mobile)/me/(home)/page.tsx +10 -0
- package/src/app/(main)/(mobile)/me/data/page.tsx +10 -0
- package/src/app/(main)/(mobile)/me/profile/page.tsx +11 -0
- package/src/app/(main)/(mobile)/me/settings/page.tsx +11 -0
- package/src/app/(main)/chat/(workspace)/features/TelemetryNotification.tsx +1 -1
- package/src/app/(main)/chat/(workspace)/page.tsx +21 -1
- package/src/app/(main)/market/page.tsx +17 -8
- package/src/app/(main)/profile/[[...slugs]]/page.tsx +7 -4
- package/src/app/(main)/settings/about/page.tsx +5 -2
- package/src/app/(main)/settings/agent/page.tsx +5 -3
- package/src/app/(main)/settings/common/page.tsx +5 -3
- package/src/app/(main)/settings/llm/page.tsx +5 -2
- package/src/app/(main)/settings/sync/page.tsx +5 -3
- package/src/app/(main)/settings/tts/page.tsx +5 -3
- package/src/app/(main)/welcome/page.tsx +19 -6
- package/src/app/layout.tsx +1 -1
- package/src/app/metadata.ts +44 -54
- package/src/app/page.tsx +4 -4
- package/src/components/StructuredData/index.tsx +12 -0
- package/src/features/User/UserPanel/useMenu.tsx +16 -0
- package/src/hooks/usePWAInstall.ts +18 -0
- package/src/locales/default/common.ts +2 -1
- package/src/locales/default/index.ts +2 -0
- package/src/locales/default/metadata.ts +20 -0
- package/src/server/ld.ts +218 -0
- package/src/server/metadata.ts +96 -0
- package/src/server/translation.ts +11 -1
- package/src/utils/genOG.ts +20 -0
- package/public/screenshots/screenshot-1.png +0 -0
- package/public/screenshots/screenshot-2.png +0 -0
- package/public/screenshots/screenshot-3.png +0 -0
- package/public/screenshots/screenshot-4.png +0 -0
- package/src/app/(auth)/login/[[...login]]/PageTitle.tsx +0 -13
- package/src/app/(auth)/signup/[[...signup]]/PageTitle.tsx +0 -13
- /package/public/icons/{maskable-icon-192x192.png → icon-192x192.maskable.png} +0 -0
- /package/public/icons/{maskable-icon-512x512.png → icon-512x512.maskable.png} +0 -0
package/locales/pt-BR/tool.json
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
"downloading": "O link da imagem gerada pelo DALL·E3 é válido apenas por 1 hora, está baixando a imagem para o armazenamento local...",
|
|
5
5
|
"generate": "Gerar",
|
|
6
6
|
"generating": "Gerando...",
|
|
7
|
-
"images": "Imagens:"
|
|
7
|
+
"images": "Imagens:",
|
|
8
|
+
"prompt": "Palavra-chave"
|
|
8
9
|
}
|
|
9
10
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"chat": {
|
|
3
|
+
"description": "LobeChat предлагает вам лучший опыт использования ChatGPT, OLLaMA, Gemini, Claude WebUI",
|
|
4
|
+
"title": "LobeChat: персональный инструмент для повышения эффективности LLM, чтобы сделать ваш мозг умнее"
|
|
5
|
+
},
|
|
6
|
+
"market": {
|
|
7
|
+
"description": "Создание контента, копирайтинг, вопросы и ответы, генерация изображений, видео, голоса, интеллектуальный агент, автоматизация рабочих процессов, настройте своего собственного помощника AI / GPTs / OLLaMA",
|
|
8
|
+
"title": "Рынок помощников"
|
|
9
|
+
},
|
|
10
|
+
"plugins": {
|
|
11
|
+
"description": "Поиск, создание диаграмм, академические исследования, генерация изображений, видео, голоса, автоматизация рабочих процессов, настройте специальные возможности плагинов ToolCall для ChatGPT / OLLaMA",
|
|
12
|
+
"title": "Рынок плагинов"
|
|
13
|
+
},
|
|
14
|
+
"welcome": {
|
|
15
|
+
"description": "LobeChat предлагает вам лучший опыт использования ChatGPT, OLLaMA, Gemini, Claude WebUI",
|
|
16
|
+
"title": "Добро пожаловать в LobeChat: персональный инструмент для повышения эффективности LLM, чтобы сделать ваш мозг умнее"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
"function_call": "Вызов функции",
|
|
5
5
|
"off": "Отключить отладку",
|
|
6
6
|
"on": "Включить отображение информации о вызовах плагинов",
|
|
7
|
-
"
|
|
7
|
+
"payload": "полезная нагрузка",
|
|
8
|
+
"response": "Ответ",
|
|
9
|
+
"tool_call": "запрос на вызов инструмента"
|
|
8
10
|
},
|
|
9
11
|
"detailModal": {
|
|
10
12
|
"info": {
|
|
@@ -128,10 +130,6 @@
|
|
|
128
130
|
"plugin": "Запуск плагина..."
|
|
129
131
|
},
|
|
130
132
|
"pluginList": "Список плагинов",
|
|
131
|
-
"plugins": {
|
|
132
|
-
"loading": "Загрузка плагинов...",
|
|
133
|
-
"unknown": "Неизвестный плагин"
|
|
134
|
-
},
|
|
135
133
|
"setting": "Настройка плагина",
|
|
136
134
|
"settings": {
|
|
137
135
|
"indexUrl": {
|
|
@@ -162,5 +160,6 @@
|
|
|
162
160
|
"installed": "Установленные"
|
|
163
161
|
},
|
|
164
162
|
"title": "Магазин плагинов"
|
|
165
|
-
}
|
|
163
|
+
},
|
|
164
|
+
"unknownPlugin": "Неизвестный плагин"
|
|
166
165
|
}
|
package/locales/ru-RU/tool.json
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
"downloading": "Ссылка на изображение, созданное DALL·E3, действительна только в течение 1 часа. Идет кэширование изображения локально...",
|
|
5
5
|
"generate": "Создать",
|
|
6
6
|
"generating": "Создание...",
|
|
7
|
-
"images": "Изображения:"
|
|
7
|
+
"images": "Изображения:",
|
|
8
|
+
"prompt": "подсказка"
|
|
8
9
|
}
|
|
9
10
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"chat": {
|
|
3
|
+
"description": "LobeChat size en iyi ChatGPT, OLLaMA, Gemini, Claude WebUI kullanım deneyimini sunar",
|
|
4
|
+
"title": "LobeChat: Kişisel LLM Verimlilik Aracı, Daha Akıllı Bir Beyin İçin Kendinize Bir Hediye"
|
|
5
|
+
},
|
|
6
|
+
"market": {
|
|
7
|
+
"description": "İçerik oluşturma, metin yazma, soru cevap, görüntü oluşturma, video oluşturma, ses oluşturma, akıllı ajan, otomasyon iş akışı, kendi AI / GPTs / OLLaMA akıllı asistanınızı özelleştirin",
|
|
8
|
+
"title": "Asistan Pazarı"
|
|
9
|
+
},
|
|
10
|
+
"plugins": {
|
|
11
|
+
"description": "Arama, grafik oluşturma, akademik, görüntü oluşturma, video oluşturma, ses oluşturma, otomasyon iş akışı, ChatGPT / OLLaMA için özel ToolCall eklenti yeteneklerini özelleştirin",
|
|
12
|
+
"title": "Eklenti Pazarı"
|
|
13
|
+
},
|
|
14
|
+
"welcome": {
|
|
15
|
+
"description": "LobeChat size en iyi ChatGPT, OLLaMA, Gemini, Claude WebUI kullanım deneyimini sunar",
|
|
16
|
+
"title": "LobeChat'i Kullanmaya Hoş Geldiniz: Kişisel LLM Verimlilik Aracı, Daha Akıllı Bir Beyin İçin Kendinize Bir Hediye"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
"function_call": "Fonksiyon Çağrısı",
|
|
5
5
|
"off": "Hata Ayıklamayı Kapat",
|
|
6
6
|
"on": "Eklenti Çağrı Bilgilerini Görüntüle",
|
|
7
|
-
"
|
|
7
|
+
"payload": "eklenti yükü",
|
|
8
|
+
"response": "Yanıt",
|
|
9
|
+
"tool_call": "aracı çağrı"
|
|
8
10
|
},
|
|
9
11
|
"detailModal": {
|
|
10
12
|
"info": {
|
|
@@ -128,10 +130,6 @@
|
|
|
128
130
|
"plugin": "Eklenti çalışıyor..."
|
|
129
131
|
},
|
|
130
132
|
"pluginList": "Eklenti Listesi",
|
|
131
|
-
"plugins": {
|
|
132
|
-
"loading": "Eklentiler kontrol ediliyor...",
|
|
133
|
-
"unknown": "Bilinmeyen eklenti"
|
|
134
|
-
},
|
|
135
133
|
"setting": "Eklenti Ayarları",
|
|
136
134
|
"settings": {
|
|
137
135
|
"indexUrl": {
|
|
@@ -162,5 +160,6 @@
|
|
|
162
160
|
"installed": "Yüklü"
|
|
163
161
|
},
|
|
164
162
|
"title": "Eklenti Mağazası"
|
|
165
|
-
}
|
|
163
|
+
},
|
|
164
|
+
"unknownPlugin": "Bilinmeyen eklenti"
|
|
166
165
|
}
|
package/locales/tr-TR/tool.json
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
"downloading": "DallE3 tarafından oluşturulan resim bağlantıları sadece 1 saat geçerlidir, resim yerel olarak önbelleğe alınıyor...",
|
|
5
5
|
"generate": "Oluştur",
|
|
6
6
|
"generating": "Oluşturuluyor...",
|
|
7
|
-
"images": "Görseller:"
|
|
7
|
+
"images": "Görseller:",
|
|
8
|
+
"prompt": "İpucu"
|
|
8
9
|
}
|
|
9
10
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"chat": {
|
|
3
|
+
"description": "LobeChat mang đến trải nghiệm sử dụng tốt nhất với ChatGPT, OLLaMA, Gemini, Claude WebUI",
|
|
4
|
+
"title": "LobeChat: Công cụ hiệu suất cá nhân LLM, giúp tăng cường trí não của bạn"
|
|
5
|
+
},
|
|
6
|
+
"market": {
|
|
7
|
+
"description": "Tạo nội dung, viết copy, trả lời câu hỏi, tạo hình ảnh, tạo video, tạo giọng nói, trợ lý thông minh, quy trình làm việc tự động, tùy chỉnh trợ lý trí tuệ AI / GPTs / OLLaMA riêng của bạn",
|
|
8
|
+
"title": "Thị trường trợ lý"
|
|
9
|
+
},
|
|
10
|
+
"plugins": {
|
|
11
|
+
"description": "Tìm kiếm, tạo biểu đồ, học thuật, tạo hình ảnh, tạo video, tạo giọng nói, quy trình làm việc tự động, tùy chỉnh khả năng plugin ToolCall riêng của ChatGPT / OLLaMA",
|
|
12
|
+
"title": "Thị trường plugin"
|
|
13
|
+
},
|
|
14
|
+
"welcome": {
|
|
15
|
+
"description": "LobeChat mang đến trải nghiệm sử dụng tốt nhất với ChatGPT, OLLaMA, Gemini, Claude WebUI",
|
|
16
|
+
"title": "Chào mừng đến với LobeChat: Công cụ hiệu suất cá nhân LLM, giúp tăng cường trí não của bạn"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
"function_call": "Gọi hàm",
|
|
5
5
|
"off": "Tắt gỡ lỗi",
|
|
6
6
|
"on": "Xem thông tin gọi plugin",
|
|
7
|
-
"
|
|
7
|
+
"payload": "Dữ liệu cắm",
|
|
8
|
+
"response": "Kết quả trả về",
|
|
9
|
+
"tool_call": "Yêu cầu công cụ"
|
|
8
10
|
},
|
|
9
11
|
"detailModal": {
|
|
10
12
|
"info": {
|
|
@@ -128,10 +130,6 @@
|
|
|
128
130
|
"plugin": "Plugin đang chạy..."
|
|
129
131
|
},
|
|
130
132
|
"pluginList": "Danh sách plugin",
|
|
131
|
-
"plugins": {
|
|
132
|
-
"loading": "Đang kiểm tra công cụ...",
|
|
133
|
-
"unknown": "Công cụ không xác định"
|
|
134
|
-
},
|
|
135
133
|
"setting": "Cài đặt plugin",
|
|
136
134
|
"settings": {
|
|
137
135
|
"indexUrl": {
|
|
@@ -162,5 +160,6 @@
|
|
|
162
160
|
"installed": "Đã cài đặt"
|
|
163
161
|
},
|
|
164
162
|
"title": "Cửa hàng plugin"
|
|
165
|
-
}
|
|
163
|
+
},
|
|
164
|
+
"unknownPlugin": "Plugin không xác định"
|
|
166
165
|
}
|
package/locales/vi-VN/tool.json
CHANGED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"chat": {
|
|
3
|
+
"description": "LobeChat 带给你最好的 ChatGPT, OLLaMA, Gemini, Claude WebUI 使用体验",
|
|
4
|
+
"title": "LobeChat:个人 LLM 效能工具,给自己一个更聪明的大脑"
|
|
5
|
+
},
|
|
6
|
+
"market": {
|
|
7
|
+
"description": "内容创作、文案、问答、图像生成、视频生成、语音生成、智能 Agent、自动化工作流,定制你专属的 AI / GPTs / OLLaMA 智能助手",
|
|
8
|
+
"title": "助手市场"
|
|
9
|
+
},
|
|
10
|
+
"plugins": {
|
|
11
|
+
"description": "搜素、图表生成、学术、图像生成、视频生成、语音生成、自动化工作流,定制 ChatGPT / OLLaMA 专属的 ToolCall 插件能力",
|
|
12
|
+
"title": "插件市场"
|
|
13
|
+
},
|
|
14
|
+
"welcome": {
|
|
15
|
+
"description": "LobeChat 带给你最好的 ChatGPT, OLLaMA, Gemini, Claude WebUI 使用体验",
|
|
16
|
+
"title": "欢迎使用 LobeChat:个人 LLM 效能工具,给自己一个更聪明的大脑"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
"function_call": "函数调用",
|
|
5
5
|
"off": "关闭调试",
|
|
6
6
|
"on": "查看插件调用信息",
|
|
7
|
-
"
|
|
7
|
+
"payload": "插件载荷",
|
|
8
|
+
"response": "返回结果",
|
|
9
|
+
"tool_call": "工具调用请求"
|
|
8
10
|
},
|
|
9
11
|
"detailModal": {
|
|
10
12
|
"info": {
|
|
@@ -128,10 +130,6 @@
|
|
|
128
130
|
"plugin": "插件运行中..."
|
|
129
131
|
},
|
|
130
132
|
"pluginList": "插件列表",
|
|
131
|
-
"plugins": {
|
|
132
|
-
"loading": "工具检测中...",
|
|
133
|
-
"unknown": "未知工具"
|
|
134
|
-
},
|
|
135
133
|
"setting": "插件设置",
|
|
136
134
|
"settings": {
|
|
137
135
|
"indexUrl": {
|
|
@@ -162,5 +160,6 @@
|
|
|
162
160
|
"installed": "已安装"
|
|
163
161
|
},
|
|
164
162
|
"title": "插件商店"
|
|
165
|
-
}
|
|
163
|
+
},
|
|
164
|
+
"unknownPlugin": "未知插件"
|
|
166
165
|
}
|
package/locales/zh-CN/tool.json
CHANGED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"chat": {
|
|
3
|
+
"description": "LobeChat 帶給你最佳的 ChatGPT、OLLaMA、Gemini、Claude WebUI 使用體驗",
|
|
4
|
+
"title": "LobeChat:個人 LLM 效能工具,給自己一個更聰明的大腦"
|
|
5
|
+
},
|
|
6
|
+
"market": {
|
|
7
|
+
"description": "內容創作、文案、問答、圖像生成、視頻生成、語音生成、智能 Agent、自動化工作流,定制你專屬的 AI / GPTs / OLLaMA 智能助手",
|
|
8
|
+
"title": "助手市場"
|
|
9
|
+
},
|
|
10
|
+
"plugins": {
|
|
11
|
+
"description": "搜尋、圖表生成、學術、圖像生成、視頻生成、語音生成、自動化工作流,定制 ChatGPT / OLLaMA 專屬的 ToolCall 插件能力",
|
|
12
|
+
"title": "插件市場"
|
|
13
|
+
},
|
|
14
|
+
"welcome": {
|
|
15
|
+
"description": "LobeChat 帶給你最佳的 ChatGPT、OLLaMA、Gemini、Claude WebUI 使用體驗",
|
|
16
|
+
"title": "歡迎使用 LobeChat:個人 LLM 效能工具,給自己一個更聰明的大腦"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
"function_call": "函式呼叫",
|
|
5
5
|
"off": "關閉偵錯",
|
|
6
6
|
"on": "查看插件呼叫資訊",
|
|
7
|
-
"
|
|
7
|
+
"payload": "插件載荷",
|
|
8
|
+
"response": "回應",
|
|
9
|
+
"tool_call": "工具呼叫"
|
|
8
10
|
},
|
|
9
11
|
"detailModal": {
|
|
10
12
|
"info": {
|
|
@@ -128,10 +130,6 @@
|
|
|
128
130
|
"plugin": "外掛執行中..."
|
|
129
131
|
},
|
|
130
132
|
"pluginList": "外掛清單",
|
|
131
|
-
"plugins": {
|
|
132
|
-
"loading": "插件檢測中...",
|
|
133
|
-
"unknown": "未知插件"
|
|
134
|
-
},
|
|
135
133
|
"setting": "插件設置",
|
|
136
134
|
"settings": {
|
|
137
135
|
"indexUrl": {
|
|
@@ -162,5 +160,6 @@
|
|
|
162
160
|
"installed": "已安裝"
|
|
163
161
|
},
|
|
164
162
|
"title": "插件商店"
|
|
165
|
-
}
|
|
163
|
+
},
|
|
164
|
+
"unknownPlugin": "未知插件"
|
|
166
165
|
}
|
package/locales/zh-TW/tool.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lobehub/chat",
|
|
3
|
-
"version": "0.158.
|
|
3
|
+
"version": "0.158.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",
|
|
@@ -141,6 +141,7 @@
|
|
|
141
141
|
"pino": "^9.0.0",
|
|
142
142
|
"polished": "^4.3.1",
|
|
143
143
|
"posthog-js": "^1.131.4",
|
|
144
|
+
"pwa-install-handler": "^2.5.0",
|
|
144
145
|
"query-string": "^9.0.0",
|
|
145
146
|
"random-words": "^2.0.1",
|
|
146
147
|
"react": "^18.3.1",
|
package/public/manifest.json
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"background_color": "#000000",
|
|
3
|
-
"
|
|
3
|
+
"categories": ["productivity", "design", "development", "education"],
|
|
4
|
+
"description": "Personal LLM productivity tool, brings you the best user experience of ChatGPT, OLLaMA, Gemini, Claude WebUI. Customize AI assistant features flexibly according to personalized needs to solve problems, enhance productivity, and explore future workflow in LobeChat.",
|
|
4
5
|
"display": "standalone",
|
|
6
|
+
"display_override": ["tabbed"],
|
|
7
|
+
"edge_side_panel": {
|
|
8
|
+
"preferred_width": 480
|
|
9
|
+
},
|
|
10
|
+
"handle_links": "auto",
|
|
5
11
|
"icons": [
|
|
6
12
|
{
|
|
7
13
|
"src": "/icons/icon-192x192.png",
|
|
@@ -10,7 +16,7 @@
|
|
|
10
16
|
"purpose": "any"
|
|
11
17
|
},
|
|
12
18
|
{
|
|
13
|
-
"src": "/icons/
|
|
19
|
+
"src": "/icons/icon-192x192.maskable.png",
|
|
14
20
|
"sizes": "192x192",
|
|
15
21
|
"type": "image/png",
|
|
16
22
|
"purpose": "maskable"
|
|
@@ -22,40 +28,94 @@
|
|
|
22
28
|
"purpose": "any"
|
|
23
29
|
},
|
|
24
30
|
{
|
|
25
|
-
"src": "/icons/
|
|
31
|
+
"src": "/icons/icon-512x512.maskable.png",
|
|
26
32
|
"sizes": "512x512",
|
|
27
33
|
"type": "image/png",
|
|
28
34
|
"purpose": "maskable"
|
|
29
35
|
}
|
|
30
36
|
],
|
|
31
|
-
"id": "
|
|
37
|
+
"id": "lobe-chat",
|
|
38
|
+
"launch_handler": {
|
|
39
|
+
"client_mode": ["navigate-existing", "auto"]
|
|
40
|
+
},
|
|
32
41
|
"name": "LobeChat",
|
|
33
42
|
"orientation": "portrait",
|
|
43
|
+
"related_applications": [
|
|
44
|
+
{
|
|
45
|
+
"platform": "webapp",
|
|
46
|
+
"url": "https://chat-preview.lobehub.com/manifest.json"
|
|
47
|
+
}
|
|
48
|
+
],
|
|
34
49
|
"scope": "/",
|
|
35
50
|
"screenshots": [
|
|
36
51
|
{
|
|
37
|
-
"src": "/screenshots/
|
|
38
|
-
"sizes": "
|
|
39
|
-
"type": "image/png"
|
|
52
|
+
"src": "/screenshots/shot-1.mobile.png",
|
|
53
|
+
"sizes": "640x1138",
|
|
54
|
+
"type": "image/png",
|
|
55
|
+
"form_factor": "narrow"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"src": "/screenshots/shot-2.mobile.png",
|
|
59
|
+
"sizes": "640x1138",
|
|
60
|
+
"type": "image/png",
|
|
61
|
+
"form_factor": "narrow"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"src": "/screenshots/shot-3.mobile.png",
|
|
65
|
+
"sizes": "640x1138",
|
|
66
|
+
"type": "image/png",
|
|
67
|
+
"form_factor": "narrow"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"src": "/screenshots/shot-4.mobile.png",
|
|
71
|
+
"sizes": "640x1138",
|
|
72
|
+
"type": "image/png",
|
|
73
|
+
"form_factor": "narrow"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"src": "/screenshots/shot-5.mobile.png",
|
|
77
|
+
"sizes": "640x1138",
|
|
78
|
+
"type": "image/png",
|
|
79
|
+
"form_factor": "narrow"
|
|
40
80
|
},
|
|
41
81
|
{
|
|
42
|
-
"src": "/screenshots/
|
|
43
|
-
"sizes": "
|
|
44
|
-
"type": "image/png"
|
|
82
|
+
"src": "/screenshots/shot-1.desktop.png",
|
|
83
|
+
"sizes": "1280x676",
|
|
84
|
+
"type": "image/png",
|
|
85
|
+
"form_factor": "wide"
|
|
45
86
|
},
|
|
46
87
|
{
|
|
47
|
-
"src": "/screenshots/
|
|
48
|
-
"sizes": "
|
|
49
|
-
"type": "image/png"
|
|
88
|
+
"src": "/screenshots/shot-2.desktop.png",
|
|
89
|
+
"sizes": "1280x676",
|
|
90
|
+
"type": "image/png",
|
|
91
|
+
"form_factor": "wide"
|
|
50
92
|
},
|
|
51
93
|
{
|
|
52
|
-
"src": "/screenshots/
|
|
53
|
-
"sizes": "
|
|
54
|
-
"type": "image/png"
|
|
94
|
+
"src": "/screenshots/shot-3.desktop.png",
|
|
95
|
+
"sizes": "1280x676",
|
|
96
|
+
"type": "image/png",
|
|
97
|
+
"form_factor": "wide"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"src": "/screenshots/shot-4.desktop.png",
|
|
101
|
+
"sizes": "1280x676",
|
|
102
|
+
"type": "image/png",
|
|
103
|
+
"form_factor": "wide"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"src": "/screenshots/shot-5.desktop.png",
|
|
107
|
+
"sizes": "1280x676",
|
|
108
|
+
"type": "image/png",
|
|
109
|
+
"form_factor": "wide"
|
|
55
110
|
}
|
|
56
111
|
],
|
|
57
112
|
"short_name": "LobeChat",
|
|
58
113
|
"splash_pages": null,
|
|
59
114
|
"start_url": ".",
|
|
115
|
+
"tab_strip": {
|
|
116
|
+
"new_tab_button": {
|
|
117
|
+
"url": "/"
|
|
118
|
+
}
|
|
119
|
+
},
|
|
60
120
|
"theme_color": "#000000"
|
|
61
121
|
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
import { SignIn } from '@clerk/nextjs';
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import { metadataModule } from '@/server/metadata';
|
|
4
|
+
import { translation } from '@/server/translation';
|
|
5
|
+
|
|
6
|
+
export const generateMetadata = async () => {
|
|
7
|
+
const { t } = await translation('clerk');
|
|
8
|
+
return metadataModule.generate({
|
|
9
|
+
description: t('signIn.start.subtitle'),
|
|
10
|
+
title: t('signIn.start.title', { applicationName: 'LobeChat' }),
|
|
11
|
+
url: '/login',
|
|
12
|
+
});
|
|
13
|
+
};
|
|
4
14
|
|
|
5
15
|
const Page = () => {
|
|
6
|
-
return
|
|
7
|
-
<>
|
|
8
|
-
<PageTitle />
|
|
9
|
-
<SignIn path="/login" />
|
|
10
|
-
</>
|
|
11
|
-
);
|
|
16
|
+
return <SignIn path="/login" />;
|
|
12
17
|
};
|
|
13
18
|
|
|
19
|
+
Page.displayName = 'Login';
|
|
20
|
+
|
|
14
21
|
export default Page;
|
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
import { SignUp } from '@clerk/nextjs';
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import { metadataModule } from '@/server/metadata';
|
|
4
|
+
import { translation } from '@/server/translation';
|
|
5
|
+
|
|
6
|
+
export const generateMetadata = async () => {
|
|
7
|
+
const { t } = await translation('clerk');
|
|
8
|
+
return metadataModule.generate({
|
|
9
|
+
description: t('signUp.start.subtitle'),
|
|
10
|
+
title: t('signUp.start.title'),
|
|
11
|
+
url: '/signup',
|
|
12
|
+
});
|
|
13
|
+
};
|
|
4
14
|
|
|
5
15
|
const Page = () => {
|
|
6
|
-
return
|
|
7
|
-
<>
|
|
8
|
-
<PageTitle />
|
|
9
|
-
<SignUp path="/signup" />
|
|
10
|
-
</>
|
|
11
|
-
);
|
|
16
|
+
return <SignUp path="/signup" />;
|
|
12
17
|
};
|
|
13
18
|
|
|
19
|
+
Page.displayName = 'SignUp';
|
|
20
|
+
|
|
14
21
|
export default Page;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { DiscordIcon } from '@lobehub/ui';
|
|
2
|
-
import { Book, CircleUserRound, Database, Feather, Settings2 } from 'lucide-react';
|
|
2
|
+
import { Book, CircleUserRound, Database, Download, Feather, Settings2 } from 'lucide-react';
|
|
3
3
|
import { useRouter } from 'next/navigation';
|
|
4
4
|
import { useTranslation } from 'react-i18next';
|
|
5
5
|
|
|
6
6
|
import { CellProps } from '@/components/Cell';
|
|
7
7
|
import { enableAuth } from '@/const/auth';
|
|
8
8
|
import { DISCORD, DOCUMENTS, FEEDBACK } from '@/const/url';
|
|
9
|
+
import { usePWAInstall } from '@/hooks/usePWAInstall';
|
|
9
10
|
import { useUserStore } from '@/store/user';
|
|
10
11
|
import { authSelectors } from '@/store/user/slices/auth/selectors';
|
|
11
12
|
|
|
@@ -13,6 +14,7 @@ import { useCategory as useSettingsCategory } from '../../settings/features/useC
|
|
|
13
14
|
|
|
14
15
|
export const useCategory = () => {
|
|
15
16
|
const router = useRouter();
|
|
17
|
+
const { canInstall, install } = usePWAInstall();
|
|
16
18
|
const { t } = useTranslation(['common', 'setting', 'auth']);
|
|
17
19
|
const [isLogin, isLoginWithAuth, isLoginWithClerk] = useUserStore((s) => [
|
|
18
20
|
authSelectors.isLogin(s),
|
|
@@ -41,6 +43,18 @@ export const useCategory = () => {
|
|
|
41
43
|
},
|
|
42
44
|
];
|
|
43
45
|
|
|
46
|
+
const pwa: CellProps[] = [
|
|
47
|
+
{
|
|
48
|
+
icon: Download,
|
|
49
|
+
key: 'pwa',
|
|
50
|
+
label: t('installPWA'),
|
|
51
|
+
onClick: () => install(),
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
type: 'divider',
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
|
|
44
58
|
const settingsWithoutAuth = [
|
|
45
59
|
...useSettingsCategory(),
|
|
46
60
|
{
|
|
@@ -87,6 +101,7 @@ export const useCategory = () => {
|
|
|
87
101
|
},
|
|
88
102
|
...(isLoginWithClerk ? profile : []),
|
|
89
103
|
...(enableAuth ? (isLoginWithAuth ? settings : []) : settingsWithoutAuth),
|
|
104
|
+
...(canInstall ? pwa : []),
|
|
90
105
|
...(isLogin ? data : []),
|
|
91
106
|
...helps,
|
|
92
107
|
].filter(Boolean) as CellProps[];
|