diff --git a/CHANGELOG.md b/CHANGELOG.md index c68b0f0d5328..20a2723e77d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,58 @@ # Changelog +## [Version 1.19.0](https://github.com/lobehub/lobe-chat/compare/v1.18.2...v1.19.0) + +Released on **2024-09-18** + +#### ✨ Features + +- **misc**: Add Ai21Labs model provider, add Github Models provider, support native Artifacts just like Claude. + +
+ +
+Improvements and Fixes + +#### What's improved + +- **misc**: Add Ai21Labs model provider, closes [#3727](https://github.com/lobehub/lobe-chat/issues/3727) ([d2fe0f0](https://github.com/lobehub/lobe-chat/commit/d2fe0f0)) +- **misc**: Add Github Models provider, closes [#3869](https://github.com/lobehub/lobe-chat/issues/3869) ([8eac1bd](https://github.com/lobehub/lobe-chat/commit/8eac1bd)) +- **misc**: Support native Artifacts just like Claude, closes [#3985](https://github.com/lobehub/lobe-chat/issues/3985) ([0c42c46](https://github.com/lobehub/lobe-chat/commit/0c42c46)) + +
+ +
+ +[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top) + +
+ +### [Version 1.18.2](https://github.com/lobehub/lobe-chat/compare/v1.18.1...v1.18.2) + +Released on **2024-09-18** + +#### 🐛 Bug Fixes + +- **misc**: Fix InterceptingRoutes in discover. + +
+ +
+Improvements and Fixes + +#### What's fixed + +- **misc**: Fix InterceptingRoutes in discover, closes [#4011](https://github.com/lobehub/lobe-chat/issues/4011) ([2b75040](https://github.com/lobehub/lobe-chat/commit/2b75040)) + +
+ +
+ +[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top) + +
+ ### [Version 1.18.1](https://github.com/lobehub/lobe-chat/compare/v1.18.0...v1.18.1) Released on **2024-09-18** diff --git a/Dockerfile b/Dockerfile index bcbfc466633e..9611ae4a175a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -105,6 +105,8 @@ ENV ACCESS_CODE="" \ # Model Variables ENV \ + # AI21 + AI21_API_KEY="" \ # Ai360 AI360_API_KEY="" \ # Anthropic diff --git a/Dockerfile.database b/Dockerfile.database index 8d844b813340..1df23248e9c3 100644 --- a/Dockerfile.database +++ b/Dockerfile.database @@ -137,6 +137,8 @@ ENV NEXT_PUBLIC_S3_DOMAIN="" \ # Model Variables ENV \ + # AI21 + AI21_API_KEY="" \ # Ai360 AI360_API_KEY="" \ # Anthropic diff --git a/locales/ar/chat.json b/locales/ar/chat.json index 5e5be6aed220..dbce8c9b0905 100644 --- a/locales/ar/chat.json +++ b/locales/ar/chat.json @@ -6,6 +6,12 @@ "agentDefaultMessageWithSystemRole": "مرحبًا، أنا **{{name}}**، {{systemRole}}، دعنا نبدأ الدردشة!", "agentDefaultMessageWithoutEdit": "مرحبًا، أنا **{{name}}**، دعنا نبدأ المحادثة!", "agentsAndConversations": "الوكلاء والمحادثات", + "artifact": { + "generating": "جاري الإنشاء", + "thinking": "جاري التفكير", + "thought": "عملية التفكير", + "unknownTitle": "عمل غير مسمى" + }, "backToBottom": "العودة إلى الأسفل", "chatList": { "longMessageDetail": "عرض التفاصيل" diff --git a/locales/ar/error.json b/locales/ar/error.json index ff75c5b1abcf..0dc4f287bec9 100644 --- a/locales/ar/error.json +++ b/locales/ar/error.json @@ -59,6 +59,7 @@ "InvalidAccessCode": "كلمة المرور غير صحيحة أو فارغة، يرجى إدخال كلمة مرور الوصول الصحيحة أو إضافة مفتاح API مخصص", "InvalidBedrockCredentials": "فشلت مصادقة Bedrock، يرجى التحقق من AccessKeyId/SecretAccessKey وإعادة المحاولة", "InvalidClerkUser": "عذرًا، لم تقم بتسجيل الدخول بعد، يرجى تسجيل الدخول أو التسجيل للمتابعة", + "InvalidGithubToken": "رمز وصول شخصية GitHub غير صحيح أو فارغ، يرجى التحقق من رمز وصول GitHub الشخصي والمحاولة مرة أخرى", "InvalidOllamaArgs": "تكوين Ollama غير صحيح، يرجى التحقق من تكوين Ollama وإعادة المحاولة", "InvalidProviderAPIKey": "{{provider}} مفتاح API غير صحيح أو فارغ، يرجى التحقق من مفتاح API {{provider}} الخاص بك وحاول مرة أخرى", "LocationNotSupportError": "عذرًا، لا يدعم موقعك الحالي خدمة هذا النموذج، قد يكون ذلك بسبب قيود المنطقة أو عدم توفر الخدمة. يرجى التحقق مما إذا كان الموقع الحالي يدعم استخدام هذه الخدمة، أو محاولة استخدام معلومات الموقع الأخرى.", diff --git a/locales/ar/modelProvider.json b/locales/ar/modelProvider.json index b25fd23ecfe5..c15f1f359702 100644 --- a/locales/ar/modelProvider.json +++ b/locales/ar/modelProvider.json @@ -51,6 +51,13 @@ "title": "استخدام معلومات المصادقة الخاصة بـ Bedrock المخصصة" } }, + "github": { + "personalAccessToken": { + "desc": "أدخل رمز الوصول الشخصي الخاص بك على Github، انقر [هنا](https://github.com/settings/tokens) لإنشاء واحد", + "placeholder": "ghp_xxxxxx", + "title": "GitHub PAT" + } + }, "ollama": { "checker": { "desc": "اختبر ما إذا تم إدخال عنوان الوكيل بشكل صحيح", diff --git a/locales/ar/portal.json b/locales/ar/portal.json index 0ab243843915..3280f1773927 100644 --- a/locales/ar/portal.json +++ b/locales/ar/portal.json @@ -6,11 +6,27 @@ "file": "ملف" } }, + "Plugins": "ملحقات", "actions": { "genAiMessage": "إنشاء رسالة مساعد ذكاء اصطناعي", "summary": "ملخص", "summaryTooltip": "ملخص للمحتوى الحالي" }, + "artifacts": { + "display": { + "code": "رمز", + "preview": "معاينة" + }, + "svg": { + "copyAsImage": "نسخ كصورة", + "copyFail": "فشل النسخ، سبب الخطأ: {{error}}", + "copySuccess": "تم نسخ الصورة بنجاح", + "download": { + "png": "تحميل كـ PNG", + "svg": "تحميل كـ SVG" + } + } + }, "emptyArtifactList": "قائمة القطع الأثرية الحالية فارغة، يرجى استخدام الإضافات في الجلسة ومن ثم التحقق مرة أخرى", "emptyKnowledgeList": "قائمة المعرفة الحالية فارغة، يرجى فتح قاعدة المعرفة حسب الحاجة في المحادثة قبل العرض", "files": "ملفات", diff --git a/locales/bg-BG/chat.json b/locales/bg-BG/chat.json index 971d4e3dc2c1..6168aacdfe31 100644 --- a/locales/bg-BG/chat.json +++ b/locales/bg-BG/chat.json @@ -6,6 +6,12 @@ "agentDefaultMessageWithSystemRole": "Здравей, аз съм **{{name}}**, {{systemRole}}. Нека започнем да чатим!", "agentDefaultMessageWithoutEdit": "Здравей, аз съм **{{name}}** и нека започнем разговора!", "agentsAndConversations": "агенти и разговори", + "artifact": { + "generating": "Генериране", + "thinking": "В процес на мислене", + "thought": "Процес на мислене", + "unknownTitle": "Неназован артефакт" + }, "backToBottom": "Върни се в началото", "chatList": { "longMessageDetail": "Вижте детайлите" diff --git a/locales/bg-BG/error.json b/locales/bg-BG/error.json index 4052d3d11e4f..252b5395ea5d 100644 --- a/locales/bg-BG/error.json +++ b/locales/bg-BG/error.json @@ -59,6 +59,7 @@ "InvalidAccessCode": "Невалиден или празен код за достъп. Моля, въведете правилния код за достъп или добавете персонализиран API ключ.", "InvalidBedrockCredentials": "Удостоверяването на Bedrock е неуспешно. Моля, проверете AccessKeyId/SecretAccessKey и опитайте отново.", "InvalidClerkUser": "很抱歉,你当前尚未登录,请先登录或注册账号后继续操作", + "InvalidGithubToken": "GitHub Личният Достъпен Токен е неправилен или е празен. Моля, проверете Личния Достъпен Токен на GitHub и опитайте отново.", "InvalidOllamaArgs": "Невалидна конфигурация на Ollama, моля, проверете конфигурацията на Ollama и опитайте отново", "InvalidProviderAPIKey": "{{provider}} API ключ е невалиден или липсва, моля проверете {{provider}} API ключа и опитайте отново", "LocationNotSupportError": "Съжаляваме, вашето текущо местоположение не поддържа тази услуга на модела. Това може да се дължи на регионални ограничения или на недостъпност на услугата. Моля, потвърдете дали текущото местоположение поддържа използването на тази услуга или опитайте да използвате друго местоположение.", diff --git a/locales/bg-BG/modelProvider.json b/locales/bg-BG/modelProvider.json index 9ca9aababefe..a3f7446cdb0e 100644 --- a/locales/bg-BG/modelProvider.json +++ b/locales/bg-BG/modelProvider.json @@ -51,6 +51,13 @@ "title": "Използване на персонализирана информация за удостоверяване на Bedrock" } }, + "github": { + "personalAccessToken": { + "desc": "Въведете вашия GitHub PAT, кликнете [тук](https://github.com/settings/tokens), за да създадете", + "placeholder": "ghp_xxxxxx", + "title": "GitHub PAT" + } + }, "ollama": { "checker": { "desc": "Тестване дали адресът на прокси е попълнен правилно", diff --git a/locales/bg-BG/portal.json b/locales/bg-BG/portal.json index f259a1e2ea9b..da254d05e40c 100644 --- a/locales/bg-BG/portal.json +++ b/locales/bg-BG/portal.json @@ -6,11 +6,27 @@ "file": "Файл" } }, + "Plugins": "Плъгини", "actions": { "genAiMessage": "Създаване на съобщение на помощника", "summary": "Обобщение", "summaryTooltip": "Обобщение на текущото съдържание" }, + "artifacts": { + "display": { + "code": "Код", + "preview": "Преглед" + }, + "svg": { + "copyAsImage": "Копирай като изображение", + "copyFail": "Копирането не успя, причина за грешката: {{error}}", + "copySuccess": "Изображението е копирано успешно", + "download": { + "png": "Изтегли като PNG", + "svg": "Изтегли като SVG" + } + } + }, "emptyArtifactList": "Списъкът с текущите артефакти е празен. Моля, използвайте добавки в разговора и след това проверете отново.", "emptyKnowledgeList": "Текущият списък с познания е празен. Моля, активирайте базата данни на познанията по време на сесията, за да я прегледате.", "files": "файлове", diff --git a/locales/de-DE/chat.json b/locales/de-DE/chat.json index b18cd94703ac..ccb00f0d4986 100644 --- a/locales/de-DE/chat.json +++ b/locales/de-DE/chat.json @@ -6,6 +6,12 @@ "agentDefaultMessageWithSystemRole": "Hallo, ich bin **{{name}}**, {{systemRole}}. Lass uns chatten!", "agentDefaultMessageWithoutEdit": "Hallo, ich bin **{{name}}**. Lassen Sie uns ins Gespräch kommen!", "agentsAndConversations": "Agenten und Unterhaltungen", + "artifact": { + "generating": "Wird generiert", + "thinking": "Denken", + "thought": "Denkenprozess", + "unknownTitle": "Unbenanntes Werk" + }, "backToBottom": "Zurück zum Ende", "chatList": { "longMessageDetail": "Details anzeigen" diff --git a/locales/de-DE/error.json b/locales/de-DE/error.json index 1090c3c58f69..8b6a66bc3596 100644 --- a/locales/de-DE/error.json +++ b/locales/de-DE/error.json @@ -59,6 +59,7 @@ "InvalidAccessCode": "Das Passwort ist ungültig oder leer. Bitte geben Sie das richtige Zugangspasswort ein oder fügen Sie einen benutzerdefinierten API-Schlüssel hinzu.", "InvalidBedrockCredentials": "Die Bedrock-Authentifizierung ist fehlgeschlagen. Bitte überprüfen Sie AccessKeyId/SecretAccessKey und versuchen Sie es erneut.", "InvalidClerkUser": "Entschuldigung, du bist derzeit nicht angemeldet. Bitte melde dich an oder registriere ein Konto, um fortzufahren.", + "InvalidGithubToken": "Der persönliche Zugriffstoken für Github ist ungültig oder leer. Bitte überprüfen Sie den persönlichen Zugriffstoken für Github und versuchen Sie es erneut.", "InvalidOllamaArgs": "Ollama-Konfiguration ist ungültig. Bitte überprüfen Sie die Ollama-Konfiguration und versuchen Sie es erneut.", "InvalidProviderAPIKey": "{{provider}} API-Schlüssel ist ungültig oder leer. Bitte überprüfen Sie den {{provider}} API-Schlüssel und versuchen Sie es erneut.", "LocationNotSupportError": "Entschuldigung, Ihr Standort unterstützt diesen Modellservice möglicherweise aufgrund von regionalen Einschränkungen oder nicht aktivierten Diensten nicht. Bitte überprüfen Sie, ob der aktuelle Standort die Verwendung dieses Dienstes unterstützt, oder versuchen Sie, andere Standortinformationen zu verwenden.", diff --git a/locales/de-DE/modelProvider.json b/locales/de-DE/modelProvider.json index 9d118f9efc9f..99df752ea8f2 100644 --- a/locales/de-DE/modelProvider.json +++ b/locales/de-DE/modelProvider.json @@ -51,6 +51,13 @@ "title": "Verwenden Sie benutzerdefinierte Bedrock-Authentifizierungsinformationen" } }, + "github": { + "personalAccessToken": { + "desc": "Geben Sie Ihr GitHub-PAT ein und klicken Sie [hier](https://github.com/settings/tokens), um eines zu erstellen.", + "placeholder": "ghp_xxxxxx", + "title": "GitHub PAT" + } + }, "ollama": { "checker": { "desc": "Testen Sie, ob die Proxy-Adresse korrekt eingetragen wurde", diff --git a/locales/de-DE/portal.json b/locales/de-DE/portal.json index 8490e0dc3cb8..a34ae2da5de1 100644 --- a/locales/de-DE/portal.json +++ b/locales/de-DE/portal.json @@ -6,11 +6,27 @@ "file": "Datei" } }, + "Plugins": "Plugins", "actions": { "genAiMessage": "Assistenten-Nachricht erstellen", "summary": "Zusammenfassung", "summaryTooltip": "Zusammenfassung des aktuellen Inhalts" }, + "artifacts": { + "display": { + "code": "Code", + "preview": "Vorschau" + }, + "svg": { + "copyAsImage": "Als Bild kopieren", + "copyFail": "Kopieren fehlgeschlagen, Fehlerursache: {{error}}", + "copySuccess": "Bild erfolgreich kopiert", + "download": { + "png": "Als PNG herunterladen", + "svg": "Als SVG herunterladen" + } + } + }, "emptyArtifactList": "Die Liste der Artefakte ist derzeit leer. Bitte verwenden Sie Plugins in der Sitzung und überprüfen Sie sie erneut.", "emptyKnowledgeList": "Die aktuelle Wissensliste ist leer. Bitte aktivieren Sie die Wissensdatenbank nach Bedarf in der Sitzung, um sie anzuzeigen.", "files": "Dateien", diff --git a/locales/en-US/chat.json b/locales/en-US/chat.json index 9db04515a095..d6ba15d7e8a3 100644 --- a/locales/en-US/chat.json +++ b/locales/en-US/chat.json @@ -6,6 +6,12 @@ "agentDefaultMessageWithSystemRole": "Hello, I'm **{{name}}**, {{systemRole}}. Let's start chatting!", "agentDefaultMessageWithoutEdit": "Hello, I'm **{{name}}**, let's start chatting!", "agentsAndConversations": "Assistants and Conversations", + "artifact": { + "generating": "Generating", + "thinking": "Thinking", + "thought": "Thought Process", + "unknownTitle": "Untitled Work" + }, "backToBottom": "Back to bottom", "chatList": { "longMessageDetail": "View Details" diff --git a/locales/en-US/error.json b/locales/en-US/error.json index 8ff86d28ed0d..02c3ff38115c 100644 --- a/locales/en-US/error.json +++ b/locales/en-US/error.json @@ -59,6 +59,7 @@ "InvalidAccessCode": "Invalid access code or empty. Please enter the correct access code or add a custom API Key.", "InvalidBedrockCredentials": "Bedrock authentication failed. Please check the AccessKeyId/SecretAccessKey and retry.", "InvalidClerkUser": "Sorry, you are not currently logged in. Please log in or register an account to continue.", + "InvalidGithubToken": "The GitHub Personal Access Token is incorrect or empty. Please check your GitHub Personal Access Token and try again.", "InvalidOllamaArgs": "Invalid Ollama configuration, please check Ollama configuration and try again", "InvalidProviderAPIKey": "{{provider}} API Key is incorrect or empty, please check your {{provider}} API Key and try again", "LocationNotSupportError": "We're sorry, your current location does not support this model service. This may be due to regional restrictions or the service not being available. Please confirm if the current location supports using this service, or try using a different location.", diff --git a/locales/en-US/modelProvider.json b/locales/en-US/modelProvider.json index c96a74c0314a..e48d8bfa3ed7 100644 --- a/locales/en-US/modelProvider.json +++ b/locales/en-US/modelProvider.json @@ -51,6 +51,13 @@ "title": "Use Custom Bedrock Authentication Information" } }, + "github": { + "personalAccessToken": { + "desc": "Enter your GitHub PAT. Click [here](https://github.com/settings/tokens) to create one.", + "placeholder": "ghp_xxxxxx", + "title": "GitHub PAT" + } + }, "ollama": { "checker": { "desc": "Test if the proxy address is correctly filled in", diff --git a/locales/en-US/portal.json b/locales/en-US/portal.json index 852545ed610c..a02b51c6b7a3 100644 --- a/locales/en-US/portal.json +++ b/locales/en-US/portal.json @@ -6,11 +6,27 @@ "file": "File" } }, + "Plugins": "Plugins", "actions": { "genAiMessage": "Generate Assistant Message", "summary": "Summary", "summaryTooltip": "Summarize current content" }, + "artifacts": { + "display": { + "code": "Code", + "preview": "Preview" + }, + "svg": { + "copyAsImage": "Copy as Image", + "copyFail": "Copy failed, reason: {{error}}", + "copySuccess": "Image copied successfully", + "download": { + "png": "Download as PNG", + "svg": "Download as SVG" + } + } + }, "emptyArtifactList": "The current Artifacts list is empty. Please use plugins in the session as needed before viewing.", "emptyKnowledgeList": "The current knowledge list is empty. Please enable the knowledge base as needed during the conversation before viewing.", "files": "Files", diff --git a/locales/es-ES/chat.json b/locales/es-ES/chat.json index fe76585270d8..5aadf260a72c 100644 --- a/locales/es-ES/chat.json +++ b/locales/es-ES/chat.json @@ -6,6 +6,12 @@ "agentDefaultMessageWithSystemRole": "Hola, soy **{{name}}**, {{systemRole}}, ¡comencemos a chatear!", "agentDefaultMessageWithoutEdit": "¡Hola, soy **{{name}}**! Comencemos nuestra conversación.", "agentsAndConversations": "agentesYConversaciones", + "artifact": { + "generating": "Generando", + "thinking": "Pensando", + "thought": "Proceso de pensamiento", + "unknownTitle": "Obra sin título" + }, "backToBottom": "Volver al fondo", "chatList": { "longMessageDetail": "Ver detalles" diff --git a/locales/es-ES/error.json b/locales/es-ES/error.json index 4e0844c57e9d..9aa7424c6371 100644 --- a/locales/es-ES/error.json +++ b/locales/es-ES/error.json @@ -59,6 +59,7 @@ "InvalidAccessCode": "La contraseña no es válida o está vacía. Por favor, introduce una contraseña de acceso válida o añade una clave API personalizada", "InvalidBedrockCredentials": "La autenticación de Bedrock no se ha completado con éxito, por favor, verifica AccessKeyId/SecretAccessKey e inténtalo de nuevo", "InvalidClerkUser": "Lo siento mucho, actualmente no has iniciado sesión. Por favor, inicia sesión o regístrate antes de continuar.", + "InvalidGithubToken": "El token de acceso personal de Github es incorrecto o está vacío. Por favor, verifica el token de acceso personal de Github y vuelve a intentarlo.", "InvalidOllamaArgs": "La configuración de Ollama no es válida, por favor revisa la configuración de Ollama e inténtalo de nuevo", "InvalidProviderAPIKey": "{{provider}} API Key incorrecta o vacía, por favor revisa tu {{provider}} API Key e intenta de nuevo", "LocationNotSupportError": "Lo sentimos, tu ubicación actual no es compatible con este servicio de modelo, puede ser debido a restricciones geográficas o a que el servicio no está disponible. Por favor, verifica si tu ubicación actual es compatible con este servicio o intenta usar otra información de ubicación.", diff --git a/locales/es-ES/modelProvider.json b/locales/es-ES/modelProvider.json index ce77c262d696..cadb4e280ab7 100644 --- a/locales/es-ES/modelProvider.json +++ b/locales/es-ES/modelProvider.json @@ -51,6 +51,13 @@ "title": "Usar información de autenticación de Bedrock personalizada" } }, + "github": { + "personalAccessToken": { + "desc": "Introduce tu PAT de Github, haz clic [aquí](https://github.com/settings/tokens) para crear uno", + "placeholder": "ghp_xxxxxx", + "title": "GitHub PAT" + } + }, "ollama": { "checker": { "desc": "Prueba si la dirección del proxy de la interfaz se ha introducido correctamente", diff --git a/locales/es-ES/portal.json b/locales/es-ES/portal.json index 4b62721e0a7d..4dec581564a8 100644 --- a/locales/es-ES/portal.json +++ b/locales/es-ES/portal.json @@ -6,11 +6,27 @@ "file": "Archivo" } }, + "Plugins": "Complementos", "actions": { "genAiMessage": "Crear mensaje de IA", "summary": "Resumen", "summaryTooltip": "Resumir el contenido actual" }, + "artifacts": { + "display": { + "code": "Código", + "preview": "Vista previa" + }, + "svg": { + "copyAsImage": "Copiar como imagen", + "copyFail": "Error al copiar, motivo del error: {{error}}", + "copySuccess": "Imagen copiada con éxito", + "download": { + "png": "Descargar como PNG", + "svg": "Descargar como SVG" + } + } + }, "emptyArtifactList": "La lista de Artefactos actual está vacía. Por favor, utilice los complementos en la conversación y vuelva a intentarlo.", "emptyKnowledgeList": "La lista de conocimientos actual está vacía. Por favor, activa la base de conocimientos según sea necesario en la conversación antes de volver a revisar.", "files": "archivos", diff --git a/locales/fr-FR/chat.json b/locales/fr-FR/chat.json index 4bfd91d7356c..33498bfeef84 100644 --- a/locales/fr-FR/chat.json +++ b/locales/fr-FR/chat.json @@ -6,6 +6,12 @@ "agentDefaultMessageWithSystemRole": "Bonjour, je suis **{{name}}**, {{systemRole}}. Commençons la conversation !", "agentDefaultMessageWithoutEdit": "Bonjour, je suis **{{name}}**. Commençons notre conversation !", "agentsAndConversations": "Agents et conversations", + "artifact": { + "generating": "Génération en cours", + "thinking": "En réflexion", + "thought": "Processus de pensée", + "unknownTitle": "Œuvre sans nom" + }, "backToBottom": "Retour en bas", "chatList": { "longMessageDetail": "Voir les détails" diff --git a/locales/fr-FR/error.json b/locales/fr-FR/error.json index 6b37b0b3af13..5602d68c1508 100644 --- a/locales/fr-FR/error.json +++ b/locales/fr-FR/error.json @@ -59,6 +59,7 @@ "InvalidAccessCode": "Le mot de passe est incorrect ou vide. Veuillez saisir le mot de passe d'accès correct ou ajouter une clé API personnalisée.", "InvalidBedrockCredentials": "L'authentification Bedrock a échoué, veuillez vérifier AccessKeyId/SecretAccessKey et réessayer", "InvalidClerkUser": "Désolé, vous n'êtes pas actuellement connecté. Veuillez vous connecter ou vous inscrire avant de continuer.", + "InvalidGithubToken": "Le jeton d'accès personnel GitHub est incorrect ou vide. Veuillez vérifier le jeton d'accès personnel GitHub et réessayer.", "InvalidOllamaArgs": "La configuration d'Ollama n'est pas valide, veuillez vérifier la configuration d'Ollama et réessayer", "InvalidProviderAPIKey": "{{provider}} API Key incorrect or missing, please check {{provider}} API Key and try again", "LocationNotSupportError": "Désolé, votre emplacement actuel ne prend pas en charge ce service de modèle, peut-être en raison de restrictions géographiques ou de services non disponibles. Veuillez vérifier si votre emplacement actuel prend en charge ce service ou essayer avec une autre localisation.", diff --git a/locales/fr-FR/modelProvider.json b/locales/fr-FR/modelProvider.json index 02950fe4c131..87e10457ef40 100644 --- a/locales/fr-FR/modelProvider.json +++ b/locales/fr-FR/modelProvider.json @@ -51,6 +51,13 @@ "title": "Utiliser des informations d'authentification Bedrock personnalisées" } }, + "github": { + "personalAccessToken": { + "desc": "Entrez votre PAT GitHub, cliquez [ici](https://github.com/settings/tokens) pour en créer un.", + "placeholder": "ghp_xxxxxx", + "title": "GitHub PAT" + } + }, "ollama": { "checker": { "desc": "Vérifiez si l'adresse du proxy est correctement saisie", diff --git a/locales/fr-FR/portal.json b/locales/fr-FR/portal.json index dfe9bf550766..9c925134570c 100644 --- a/locales/fr-FR/portal.json +++ b/locales/fr-FR/portal.json @@ -6,11 +6,27 @@ "file": "Fichier" } }, + "Plugins": "Plugins", "actions": { "genAiMessage": "Créer un message d'assistant", "summary": "Résumé", "summaryTooltip": "Résumé du contenu actuel" }, + "artifacts": { + "display": { + "code": "Code", + "preview": "Aperçu" + }, + "svg": { + "copyAsImage": "Copier en tant qu'image", + "copyFail": "Échec de la copie, raison de l'erreur : {{error}}", + "copySuccess": "Image copiée avec succès", + "download": { + "png": "Télécharger en tant que PNG", + "svg": "Télécharger en tant que SVG" + } + } + }, "emptyArtifactList": "La liste des Artifacts est actuellement vide. Veuillez utiliser les plugins dans la conversation avant de consulter à nouveau.", "emptyKnowledgeList": "La liste des connaissances est actuellement vide. Veuillez activer la base de connaissances selon vos besoins dans la conversation avant de consulter.", "files": "Fichiers", diff --git a/locales/it-IT/chat.json b/locales/it-IT/chat.json index 6f5a043f2b91..525ac6d9c011 100644 --- a/locales/it-IT/chat.json +++ b/locales/it-IT/chat.json @@ -6,6 +6,12 @@ "agentDefaultMessageWithSystemRole": "Ciao, sono **{{name}}**, {{systemRole}}, iniziamo a chattare!", "agentDefaultMessageWithoutEdit": "Ciao, sono **{{name}}**. Cominciamo a chiacchierare!", "agentsAndConversations": "Assistenti e Conversazioni", + "artifact": { + "generating": "Generazione in corso", + "thinking": "In fase di riflessione", + "thought": "Processo di pensiero", + "unknownTitle": "Opera non nominata" + }, "backToBottom": "Torna in fondo", "chatList": { "longMessageDetail": "Visualizza dettagli" diff --git a/locales/it-IT/error.json b/locales/it-IT/error.json index 08b50046468b..add5dbd2f8c6 100644 --- a/locales/it-IT/error.json +++ b/locales/it-IT/error.json @@ -59,6 +59,7 @@ "InvalidAccessCode": "Password incorrect or empty, please enter the correct access password, or add a custom API Key", "InvalidBedrockCredentials": "Autenticazione Bedrock non riuscita, controlla AccessKeyId/SecretAccessKey e riprova", "InvalidClerkUser": "Spiacenti, al momento non hai effettuato l'accesso. Per favore, effettua l'accesso o registrati prima di continuare.", + "InvalidGithubToken": "Il token di accesso personale di Github non è corretto o è vuoto. Controlla il token di accesso personale di Github e riprova.", "InvalidOllamaArgs": "Configurazione Ollama non valida, controllare la configurazione di Ollama e riprovare", "InvalidProviderAPIKey": "{{provider}} Chiave API non valida o vuota, controlla la Chiave API di {{provider}} e riprova", "LocationNotSupportError": "Spiacenti, la tua posizione attuale non supporta questo servizio modello, potrebbe essere a causa di restrizioni geografiche o servizi non attivati. Verifica se la posizione attuale supporta l'uso di questo servizio o prova a utilizzare un'altra posizione.", diff --git a/locales/it-IT/modelProvider.json b/locales/it-IT/modelProvider.json index 8fb0dedf4493..c4a52d7e7fc4 100644 --- a/locales/it-IT/modelProvider.json +++ b/locales/it-IT/modelProvider.json @@ -51,6 +51,13 @@ "title": "Usa le informazioni di autenticazione Bedrock personalizzate" } }, + "github": { + "personalAccessToken": { + "desc": "Inserisci il tuo PAT di Github, clicca [qui](https://github.com/settings/tokens) per crearne uno", + "placeholder": "ghp_xxxxxx", + "title": "GitHub PAT" + } + }, "ollama": { "checker": { "desc": "Verifica se l'indirizzo del proxy è stato compilato correttamente", diff --git a/locales/it-IT/portal.json b/locales/it-IT/portal.json index daba88af1c19..151d67fef659 100644 --- a/locales/it-IT/portal.json +++ b/locales/it-IT/portal.json @@ -6,11 +6,27 @@ "file": "File" } }, + "Plugins": "Plugin", "actions": { "genAiMessage": "Genera messaggio AI", "summary": "Sommario", "summaryTooltip": "Sommario del contenuto attuale" }, + "artifacts": { + "display": { + "code": "Codice", + "preview": "Anteprima" + }, + "svg": { + "copyAsImage": "Copia come immagine", + "copyFail": "Copia fallita, motivo dell'errore: {{error}}", + "copySuccess": "Immagine copiata con successo", + "download": { + "png": "Scarica come PNG", + "svg": "Scarica come SVG" + } + } + }, "emptyArtifactList": "La lista degli Artefatti attuale è vuota, si prega di utilizzare i plugin necessari durante la sessione e poi controllare di nuovo", "emptyKnowledgeList": "L'elenco delle conoscenze attuale è vuoto. Si prega di attivare il database delle conoscenze durante la conversazione per visualizzarlo.", "files": "File", diff --git a/locales/ja-JP/chat.json b/locales/ja-JP/chat.json index 82720c3756f5..34eb81b7c2bf 100644 --- a/locales/ja-JP/chat.json +++ b/locales/ja-JP/chat.json @@ -6,6 +6,12 @@ "agentDefaultMessageWithSystemRole": "こんにちは、私は **{{name}}** です、{{systemRole}}、さあ、チャットを始めましょう!", "agentDefaultMessageWithoutEdit": "こんにちは、私は**{{name}}**です。会話しましょう!", "agentsAndConversations": "エージェントと会話", + "artifact": { + "generating": "生成中", + "thinking": "思考中", + "thought": "思考過程", + "unknownTitle": "未命名の作品" + }, "backToBottom": "現在に戻る", "chatList": { "longMessageDetail": "詳細を見る" diff --git a/locales/ja-JP/error.json b/locales/ja-JP/error.json index e330e5f04762..f2b1627a437e 100644 --- a/locales/ja-JP/error.json +++ b/locales/ja-JP/error.json @@ -59,6 +59,7 @@ "InvalidAccessCode": "パスワードが正しくないか空です。正しいアクセスパスワードを入力するか、カスタムAPIキーを追加してください", "InvalidBedrockCredentials": "Bedrockの認証に失敗しました。AccessKeyId/SecretAccessKeyを確認してから再試行してください。", "InvalidClerkUser": "申し訳ありませんが、現在ログインしていません。続行するにはログインまたはアカウント登録を行ってください", + "InvalidGithubToken": "Githubのパーソナルアクセストークンが無効または空です。Githubのパーソナルアクセストークンを確認してから、再試行してください。", "InvalidOllamaArgs": "Ollamaの設定が正しくありません。Ollamaの設定を確認してからもう一度お試しください", "InvalidProviderAPIKey": "{{provider}} APIキーが正しくないか空です。{{provider}} APIキーを確認して再試行してください。", "LocationNotSupportError": "申し訳ありませんが、お住まいの地域ではこのモデルサービスをサポートしていません。地域制限またはサービスが利用できない可能性があります。現在の位置がこのサービスをサポートしているかどうかを確認するか、他の位置情報を使用してみてください。", diff --git a/locales/ja-JP/modelProvider.json b/locales/ja-JP/modelProvider.json index 8875b339ae07..6ca08bc6b465 100644 --- a/locales/ja-JP/modelProvider.json +++ b/locales/ja-JP/modelProvider.json @@ -51,6 +51,13 @@ "title": "使用カスタム Bedrock 認証情報" } }, + "github": { + "personalAccessToken": { + "desc": "あなたのGithub PATを入力してください。[こちら](https://github.com/settings/tokens)をクリックして作成します", + "placeholder": "ghp_xxxxxx", + "title": "GitHub PAT" + } + }, "ollama": { "checker": { "desc": "プロキシアドレスが正しく入力されているかをテストします", diff --git a/locales/ja-JP/portal.json b/locales/ja-JP/portal.json index 2d3b05cad761..ba3b4b3c8a3a 100644 --- a/locales/ja-JP/portal.json +++ b/locales/ja-JP/portal.json @@ -6,11 +6,27 @@ "file": "ファイル" } }, + "Plugins": "プラグイン", "actions": { "genAiMessage": "AIメッセージを生成", "summary": "サマリー", "summaryTooltip": "現在の内容を要約" }, + "artifacts": { + "display": { + "code": "コード", + "preview": "プレビュー" + }, + "svg": { + "copyAsImage": "画像としてコピー", + "copyFail": "コピーに失敗しました。エラーの理由: {{error}}", + "copySuccess": "画像のコピーに成功しました", + "download": { + "png": "PNGとしてダウンロード", + "svg": "SVGとしてダウンロード" + } + } + }, "emptyArtifactList": "現在、アーティファクトリストは空です。プラグインを使用してセッション中に追加してください。", "emptyKnowledgeList": "現在の知識リストは空です。会話中に必要に応じて知識ベースを開いてからご覧ください。", "files": "ファイル", diff --git a/locales/ko-KR/chat.json b/locales/ko-KR/chat.json index 6583725ba2f3..19c7a9c3db2b 100644 --- a/locales/ko-KR/chat.json +++ b/locales/ko-KR/chat.json @@ -6,6 +6,12 @@ "agentDefaultMessageWithSystemRole": "안녕하세요, 저는 **{{name}}**입니다. {{systemRole}}입니다. 대화를 시작해 봅시다!", "agentDefaultMessageWithoutEdit": "안녕하세요, 저는 **{{name}}**입니다. 대화를 시작해보세요!", "agentsAndConversations": "에이전트 및 대화", + "artifact": { + "generating": "생성 중", + "thinking": "생각 중", + "thought": "사고 과정", + "unknownTitle": "제목 없음" + }, "backToBottom": "하단으로 이동", "chatList": { "longMessageDetail": "자세히 보기" diff --git a/locales/ko-KR/error.json b/locales/ko-KR/error.json index 7b750df59708..dfb815faa7f2 100644 --- a/locales/ko-KR/error.json +++ b/locales/ko-KR/error.json @@ -59,6 +59,7 @@ "InvalidAccessCode": "액세스 코드가 잘못되었거나 비어 있습니다. 올바른 액세스 코드를 입력하거나 사용자 지정 API 키를 추가하십시오.", "InvalidBedrockCredentials": "Bedrock 인증에 실패했습니다. AccessKeyId/SecretAccessKey를 확인한 후 다시 시도하십시오.", "InvalidClerkUser": "죄송합니다. 현재 로그인되어 있지 않습니다. 계속하려면 먼저 로그인하거나 계정을 등록해주세요.", + "InvalidGithubToken": "Github 개인 액세스 토큰이 올바르지 않거나 비어 있습니다. Github 개인 액세스 토큰을 확인한 후 다시 시도해 주십시오.", "InvalidOllamaArgs": "Ollama 구성이 잘못되었습니다. Ollama 구성을 확인한 후 다시 시도하십시오.", "InvalidProviderAPIKey": "{{provider}} API 키가 잘못되었거나 비어 있습니다. {{provider}} API 키를 확인하고 다시 시도하십시오.", "LocationNotSupportError": "죄송합니다. 귀하의 현재 위치는 해당 모델 서비스를 지원하지 않습니다. 지역 제한 또는 서비스 미개통으로 인한 것일 수 있습니다. 현재 위치가 해당 서비스를 지원하는지 확인하거나 다른 위치 정보를 사용해 보십시오.", diff --git a/locales/ko-KR/modelProvider.json b/locales/ko-KR/modelProvider.json index 8d9e4ab0a1f8..39ffd897a5d3 100644 --- a/locales/ko-KR/modelProvider.json +++ b/locales/ko-KR/modelProvider.json @@ -51,6 +51,13 @@ "title": "사용자 정의 Bedrock 인증 정보 사용" } }, + "github": { + "personalAccessToken": { + "desc": "당신의 Github PAT를 입력하세요. [여기](https://github.com/settings/tokens)를 클릭하여 생성하세요.", + "placeholder": "ghp_xxxxxx", + "title": "GitHub PAT" + } + }, "ollama": { "checker": { "desc": "프록시 주소가 올바르게 입력되었는지 테스트합니다", diff --git a/locales/ko-KR/portal.json b/locales/ko-KR/portal.json index 4320256d87b9..bb9c1a777690 100644 --- a/locales/ko-KR/portal.json +++ b/locales/ko-KR/portal.json @@ -6,11 +6,27 @@ "file": "파일" } }, + "Plugins": "플러그인", "actions": { "genAiMessage": "AI 메시지 생성", "summary": "요약", "summaryTooltip": "현재 콘텐츠를 요약합니다" }, + "artifacts": { + "display": { + "code": "코드", + "preview": "미리보기" + }, + "svg": { + "copyAsImage": "이미지로 복사", + "copyFail": "복사 실패, 오류 원인: {{error}}", + "copySuccess": "이미지 복사 성공", + "download": { + "png": "PNG로 다운로드", + "svg": "SVG로 다운로드" + } + } + }, "emptyArtifactList": "현재 아티팩트 목록이 비어 있습니다. 플러그인을 사용한 후에 다시 확인해주세요.", "emptyKnowledgeList": "현재 지식 목록이 비어 있습니다. 대화 중에 필요에 따라 지식 베이스를 활성화한 후 다시 확인해 주세요.", "files": "파일", diff --git a/locales/nl-NL/chat.json b/locales/nl-NL/chat.json index e5f407ec66f3..5fd75ec8db6f 100644 --- a/locales/nl-NL/chat.json +++ b/locales/nl-NL/chat.json @@ -6,6 +6,12 @@ "agentDefaultMessageWithSystemRole": "Hallo, ik ben **{{name}}**, {{systemRole}}, laten we beginnen met praten!", "agentDefaultMessageWithoutEdit": "Hallo, ik ben **{{name}}**. Laten we beginnen met een gesprek!", "agentsAndConversations": "agenten en gesprekken", + "artifact": { + "generating": "Genereren", + "thinking": "Denken", + "thought": "Denken proces", + "unknownTitle": "Onbenoemd werk" + }, "backToBottom": "Terug naar onderen", "chatList": { "longMessageDetail": "Bekijk details" diff --git a/locales/nl-NL/error.json b/locales/nl-NL/error.json index 693fe03ed262..bdbc95004705 100644 --- a/locales/nl-NL/error.json +++ b/locales/nl-NL/error.json @@ -59,6 +59,7 @@ "InvalidAccessCode": "Ongeldige toegangscode: het wachtwoord is onjuist of leeg. Voer de juiste toegangscode in of voeg een aangepaste API-sleutel toe.", "InvalidBedrockCredentials": "Bedrock authentication failed, please check AccessKeyId/SecretAccessKey and retry", "InvalidClerkUser": "Sorry, you are not currently logged in. Please log in or register an account to continue.", + "InvalidGithubToken": "Github Persoonlijke Toegangstoken is ongeldig of leeg, controleer de Github Persoonlijke Toegangstoken en probeer het opnieuw.", "InvalidOllamaArgs": "Ollama-configuratie is onjuist, controleer de Ollama-configuratie en probeer het opnieuw", "InvalidProviderAPIKey": "{{provider}} API-sleutel is onjuist of leeg. Controleer de {{provider}} API-sleutel en probeer het opnieuw.", "LocationNotSupportError": "Sorry, your current location does not support this model service, possibly due to regional restrictions or service not being available. Please confirm if the current location supports using this service, or try using other location information.", diff --git a/locales/nl-NL/modelProvider.json b/locales/nl-NL/modelProvider.json index 10e2d82d0c2c..92f21fcd356e 100644 --- a/locales/nl-NL/modelProvider.json +++ b/locales/nl-NL/modelProvider.json @@ -51,6 +51,13 @@ "title": "Gebruik aangepaste Bedrock-verificatiegegevens" } }, + "github": { + "personalAccessToken": { + "desc": "Vul je Github PAT in, klik [hier](https://github.com/settings/tokens) om er een te maken", + "placeholder": "ghp_xxxxxx", + "title": "GitHub PAT" + } + }, "ollama": { "checker": { "desc": "Test of het proxyadres correct is ingevuld", diff --git a/locales/nl-NL/portal.json b/locales/nl-NL/portal.json index cf1dd5f6fa04..3ffe58c88d1b 100644 --- a/locales/nl-NL/portal.json +++ b/locales/nl-NL/portal.json @@ -6,11 +6,27 @@ "file": "Bestand" } }, + "Plugins": "Plugins", "actions": { "genAiMessage": "Creëer assistentbericht", "summary": "Samenvatting", "summaryTooltip": "Samenvatting van de huidige inhoud" }, + "artifacts": { + "display": { + "code": "Code", + "preview": "Voorbeeld" + }, + "svg": { + "copyAsImage": "Kopieer als afbeelding", + "copyFail": "Kopiëren mislukt, foutmelding: {{error}}", + "copySuccess": "Afbeelding succesvol gekopieerd", + "download": { + "png": "Download als PNG", + "svg": "Download als SVG" + } + } + }, "emptyArtifactList": "De huidige lijst met Artifacts is leeg. Gebruik plugins in de sessie en bekijk deze later opnieuw.", "emptyKnowledgeList": "De huidige kennislijst is leeg. Gelieve de kennisbank in de sessie te openen voordat u deze bekijkt.", "files": "Bestanden", diff --git a/locales/pl-PL/chat.json b/locales/pl-PL/chat.json index 36f89c816196..891ce02e31ed 100644 --- a/locales/pl-PL/chat.json +++ b/locales/pl-PL/chat.json @@ -6,6 +6,12 @@ "agentDefaultMessageWithSystemRole": "Cześć, jestem **{{name}}**, {{systemRole}}, zacznijmy rozmowę!", "agentDefaultMessageWithoutEdit": "Cześć, jestem **{{name}}**. Zacznijmy rozmowę!", "agentsAndConversations": "Agenci i rozmowy", + "artifact": { + "generating": "Generowanie", + "thinking": "Myślenie", + "thought": "Proces myślenia", + "unknownTitle": "Nienazwane dzieło" + }, "backToBottom": "Przewiń na dół", "chatList": { "longMessageDetail": "Zobacz szczegóły" diff --git a/locales/pl-PL/error.json b/locales/pl-PL/error.json index e805d0fdd291..a2be5ffc840c 100644 --- a/locales/pl-PL/error.json +++ b/locales/pl-PL/error.json @@ -59,6 +59,7 @@ "InvalidAccessCode": "Nieprawidłowy kod dostępu: Hasło jest nieprawidłowe lub puste. Proszę wprowadzić poprawne hasło dostępu lub dodać niestandardowy klucz API.", "InvalidBedrockCredentials": "Uwierzytelnienie Bedrock nie powiodło się, prosimy sprawdzić AccessKeyId/SecretAccessKey i spróbować ponownie.", "InvalidClerkUser": "Przepraszamy, nie jesteś obecnie zalogowany. Proszę najpierw zalogować się lub zarejestrować, aby kontynuować.", + "InvalidGithubToken": "Token dostępu osobistego do GitHub jest niewłaściwy lub pusty. Proszę sprawdzić Token dostępu osobistego do GitHub i spróbować ponownie.", "InvalidOllamaArgs": "Nieprawidłowa konfiguracja Ollama, sprawdź konfigurację Ollama i spróbuj ponownie", "InvalidProviderAPIKey": "{{provider}} Klucz API jest nieprawidłowy lub pusty. Sprawdź Klucz API {{provider}} i spróbuj ponownie.", "LocationNotSupportError": "Przepraszamy, Twoja lokalizacja nie obsługuje tego usługi modelu, być może ze względu na ograniczenia regionalne lub brak dostępności usługi. Proszę sprawdź, czy bieżąca lokalizacja obsługuje tę usługę, lub spróbuj użyć innych informacji o lokalizacji.", diff --git a/locales/pl-PL/modelProvider.json b/locales/pl-PL/modelProvider.json index 7074b5b85118..75f611bfdc32 100644 --- a/locales/pl-PL/modelProvider.json +++ b/locales/pl-PL/modelProvider.json @@ -51,6 +51,13 @@ "title": "Użyj niestandardowych informacji uwierzytelniających Bedrock" } }, + "github": { + "personalAccessToken": { + "desc": "Wprowadź swój osobisty token dostępu GitHub (PAT), kliknij [tutaj](https://github.com/settings/tokens), aby go utworzyć", + "placeholder": "ghp_xxxxxx", + "title": "GitHub PAT" + } + }, "ollama": { "checker": { "desc": "Test czy adres proxy jest poprawnie wypełniony", diff --git a/locales/pl-PL/portal.json b/locales/pl-PL/portal.json index 7b22cd5c99c0..1dbd5fec267e 100644 --- a/locales/pl-PL/portal.json +++ b/locales/pl-PL/portal.json @@ -6,11 +6,27 @@ "file": "Plik" } }, + "Plugins": "Wtyczki", "actions": { "genAiMessage": "Tworzenie wiadomości AI", "summary": "Podsumowanie", "summaryTooltip": "Podsumowanie bieżącej zawartości" }, + "artifacts": { + "display": { + "code": "Kod", + "preview": "Podgląd" + }, + "svg": { + "copyAsImage": "Skopiuj jako obraz", + "copyFail": "Kopiowanie nie powiodło się, powód błędu: {{error}}", + "copySuccess": "Obraz skopiowany pomyślnie", + "download": { + "png": "Pobierz jako PNG", + "svg": "Pobierz jako SVG" + } + } + }, "emptyArtifactList": "Obecna lista Artefaktów jest pusta. Proszę użyć wtyczek w trakcie sesji, a następnie sprawdzić ponownie.", "emptyKnowledgeList": "Aktualna lista wiedzy jest pusta. Proszę otworzyć bazę wiedzy w trakcie rozmowy, aby ją przeglądać.", "files": "Pliki", diff --git a/locales/pt-BR/chat.json b/locales/pt-BR/chat.json index ffd257383428..b7425c6f5a3b 100644 --- a/locales/pt-BR/chat.json +++ b/locales/pt-BR/chat.json @@ -6,6 +6,12 @@ "agentDefaultMessageWithSystemRole": "Olá, eu sou **{{name}}**, {{systemRole}}, vamos conversar!", "agentDefaultMessageWithoutEdit": "Olá, sou o **{{name}}**, vamos começar a conversa!", "agentsAndConversations": "Agentes e Conversas", + "artifact": { + "generating": "Gerando", + "thinking": "Pensando", + "thought": "Processo de pensamento", + "unknownTitle": "Obra sem título" + }, "backToBottom": "Voltar para o início", "chatList": { "longMessageDetail": "Ver detalhes" diff --git a/locales/pt-BR/error.json b/locales/pt-BR/error.json index c4eee5ae377a..dc9479daa9f1 100644 --- a/locales/pt-BR/error.json +++ b/locales/pt-BR/error.json @@ -59,6 +59,7 @@ "InvalidAccessCode": "Senha de acesso inválida ou em branco. Por favor, insira a senha de acesso correta ou adicione uma Chave de API personalizada.", "InvalidBedrockCredentials": "Credenciais Bedrock inválidas, por favor, verifique AccessKeyId/SecretAccessKey e tente novamente", "InvalidClerkUser": "Desculpe, você ainda não fez login. Por favor, faça login ou registre uma conta antes de continuar.", + "InvalidGithubToken": "O Token de Acesso Pessoal do Github está incorreto ou vazio. Por favor, verifique o Token de Acesso Pessoal do Github e tente novamente.", "InvalidOllamaArgs": "Configuração Ollama inválida, verifique a configuração do Ollama e tente novamente", "InvalidProviderAPIKey": "{{provider}} API Key inválido ou em branco, por favor, verifique o {{provider}} API Key e tente novamente", "LocationNotSupportError": "Desculpe, sua localização atual não suporta este serviço de modelo, pode ser devido a restrições geográficas ou serviço não disponível. Por favor, verifique se a localização atual suporta o uso deste serviço ou tente usar outras informações de localização.", diff --git a/locales/pt-BR/modelProvider.json b/locales/pt-BR/modelProvider.json index a01fcc3de95e..2fda52a1e796 100644 --- a/locales/pt-BR/modelProvider.json +++ b/locales/pt-BR/modelProvider.json @@ -51,6 +51,13 @@ "title": "Usar informações de autenticação Bedrock personalizadas" } }, + "github": { + "personalAccessToken": { + "desc": "Insira seu PAT do Github, clique [aqui](https://github.com/settings/tokens) para criar", + "placeholder": "ghp_xxxxxx", + "title": "GitHub PAT" + } + }, "ollama": { "checker": { "desc": "Teste se o endereço do proxy está corretamente preenchido", diff --git a/locales/pt-BR/portal.json b/locales/pt-BR/portal.json index 6ed5e8fc4763..6c890f7c2fa3 100644 --- a/locales/pt-BR/portal.json +++ b/locales/pt-BR/portal.json @@ -6,11 +6,27 @@ "file": "Arquivo" } }, + "Plugins": "Plugins", "actions": { "genAiMessage": "Gerar mensagem de IA", "summary": "Resumo", "summaryTooltip": "Resumir o conteúdo atual" }, + "artifacts": { + "display": { + "code": "Código", + "preview": "Prévia" + }, + "svg": { + "copyAsImage": "Copiar como imagem", + "copyFail": "Falha ao copiar, motivo do erro: {{error}}", + "copySuccess": "Imagem copiada com sucesso", + "download": { + "png": "Baixar como PNG", + "svg": "Baixar como SVG" + } + } + }, "emptyArtifactList": "A lista de Artefatos atual está vazia. Por favor, use os plugins conforme necessário durante a sessão e depois verifique novamente.", "emptyKnowledgeList": "A lista de conhecimentos atual está vazia. Por favor, ative o repositório de conhecimentos conforme necessário durante a conversa antes de visualizar.", "files": "Arquivos", diff --git a/locales/ru-RU/chat.json b/locales/ru-RU/chat.json index 8ab984276ef9..6af41335644b 100644 --- a/locales/ru-RU/chat.json +++ b/locales/ru-RU/chat.json @@ -6,6 +6,12 @@ "agentDefaultMessageWithSystemRole": "Привет, я **{{name}}**, {{systemRole}}. Давай начнем разговор!", "agentDefaultMessageWithoutEdit": "Привет, я **{{name}}**, давай начнём разговор!", "agentsAndConversations": "Агенты и беседы", + "artifact": { + "generating": "Генерация", + "thinking": "В процессе размышлений", + "thought": "Процесс мышления", + "unknownTitle": "Безымянное произведение" + }, "backToBottom": "Вернуться вниз", "chatList": { "longMessageDetail": "Посмотреть детали" diff --git a/locales/ru-RU/error.json b/locales/ru-RU/error.json index fdc9e6b3aaa2..0c8cb0ba41f7 100644 --- a/locales/ru-RU/error.json +++ b/locales/ru-RU/error.json @@ -59,6 +59,7 @@ "InvalidAccessCode": "Неверный код доступа: введите правильный код доступа или добавьте пользовательский ключ API", "InvalidBedrockCredentials": "Аутентификация Bedrock не прошла, пожалуйста, проверьте AccessKeyId/SecretAccessKey и повторите попытку", "InvalidClerkUser": "Извините, вы еще не вошли в систему. Пожалуйста, войдите или зарегистрируйтесь, прежде чем продолжить", + "InvalidGithubToken": "Личный токен доступа Github некорректен или пуст, пожалуйста, проверьте личный токен доступа Github и повторите попытку", "InvalidOllamaArgs": "Неверная конфигурация Ollama, пожалуйста, проверьте конфигурацию Ollama и повторите попытку", "InvalidProviderAPIKey": "{{provider}} API ключ недействителен или отсутствует. Пожалуйста, проверьте ключ API {{provider}} и повторите попытку", "LocationNotSupportError": "Извините, ваше текущее местоположение не поддерживает эту службу модели, возможно из-за ограничений региона или недоступности службы. Пожалуйста, убедитесь, что текущее местоположение поддерживает использование этой службы, или попробуйте использовать другую информацию о местоположении.", diff --git a/locales/ru-RU/modelProvider.json b/locales/ru-RU/modelProvider.json index 66009ef7fa12..0569ef1b1829 100644 --- a/locales/ru-RU/modelProvider.json +++ b/locales/ru-RU/modelProvider.json @@ -51,6 +51,13 @@ "title": "Использовать пользовательскую информацию аутентификации Bedrock" } }, + "github": { + "personalAccessToken": { + "desc": "Введите ваш персональный токен доступа GitHub (PAT), нажмите [здесь](https://github.com/settings/tokens), чтобы создать его", + "placeholder": "ghp_xxxxxx", + "title": "GitHub PAT" + } + }, "ollama": { "checker": { "desc": "Проверить правильность адреса прокси", diff --git a/locales/ru-RU/portal.json b/locales/ru-RU/portal.json index 157700d26696..5ffeb145b040 100644 --- a/locales/ru-RU/portal.json +++ b/locales/ru-RU/portal.json @@ -6,11 +6,27 @@ "file": "Файл" } }, + "Plugins": "Плагины", "actions": { "genAiMessage": "Создать сообщение помощника", "summary": "Сводка", "summaryTooltip": "Сводка текущего содержимого" }, + "artifacts": { + "display": { + "code": "Код", + "preview": "Предварительный просмотр" + }, + "svg": { + "copyAsImage": "Скопировать как изображение", + "copyFail": "Не удалось скопировать, причина ошибки: {{error}}", + "copySuccess": "Изображение успешно скопировано", + "download": { + "png": "Скачать как PNG", + "svg": "Скачать как SVG" + } + } + }, "emptyArtifactList": "Список текущих артефактов пуст. Пожалуйста, используйте плагины во время сеанса и затем просмотрите.", "emptyKnowledgeList": "Текущий список знаний пуст. Пожалуйста, откройте базу знаний по мере необходимости в разговоре, прежде чем просматривать.", "files": "файлы", diff --git a/locales/tr-TR/chat.json b/locales/tr-TR/chat.json index a42566fd9b00..3128f4a671b5 100644 --- a/locales/tr-TR/chat.json +++ b/locales/tr-TR/chat.json @@ -6,6 +6,12 @@ "agentDefaultMessageWithSystemRole": "Merhaba, Ben **{{name}}**, {{systemRole}}. Hemen sohbet etmeye başlayalım!", "agentDefaultMessageWithoutEdit": "Merhaba, ben **{{name}}**. Konuşmaya başlayalım!", "agentsAndConversations": "Ajanlar ve Konuşmalar", + "artifact": { + "generating": "Üretiliyor", + "thinking": "Düşünülüyor", + "thought": "Düşünce Süreci", + "unknownTitle": "İsimsiz Eser" + }, "backToBottom": "En alta git", "chatList": { "longMessageDetail": "Detayları görüntüle" diff --git a/locales/tr-TR/error.json b/locales/tr-TR/error.json index a74d679e5c44..6f3f94cc5dd5 100644 --- a/locales/tr-TR/error.json +++ b/locales/tr-TR/error.json @@ -59,6 +59,7 @@ "InvalidAccessCode": "Geçersiz Erişim Kodu: Geçersiz veya boş bir şifre girdiniz. Lütfen doğru erişim şifresini girin veya özel API Anahtarı ekleyin.", "InvalidBedrockCredentials": "Bedrock kimlik doğrulaması geçersiz, lütfen AccessKeyId/SecretAccessKey bilgilerinizi kontrol edip tekrar deneyin", "InvalidClerkUser": "Üzgünüz, şu anda giriş yapmadınız. Lütfen işlemlere devam etmeden önce giriş yapın veya hesap oluşturun", + "InvalidGithubToken": "Github Kişisel Erişim Token'ı hatalı veya boş. Lütfen Github Kişisel Erişim Token'ınızı kontrol edin ve tekrar deneyin.", "InvalidOllamaArgs": "Ollama yapılandırması yanlış, lütfen Ollama yapılandırmasını kontrol edip tekrar deneyin", "InvalidProviderAPIKey": "{{provider}} API Anahtarı geçersiz veya boş, lütfen {{provider}} API Anahtarını kontrol edip tekrar deneyin", "LocationNotSupportError": "Üzgünüz, bulunduğunuz konum bu model hizmetini desteklemiyor, muhtemelen bölge kısıtlamaları veya hizmetin henüz açılmamış olması nedeniyle. Lütfen mevcut konumun bu hizmeti kullanmaya uygun olup olmadığını doğrulayın veya başka bir konum bilgisi kullanmayı deneyin.", diff --git a/locales/tr-TR/modelProvider.json b/locales/tr-TR/modelProvider.json index 8c5e3301e0b0..26aeb8d24e47 100644 --- a/locales/tr-TR/modelProvider.json +++ b/locales/tr-TR/modelProvider.json @@ -51,6 +51,13 @@ "title": "Özel Bedrock Kimlik Bilgilerini Kullan" } }, + "github": { + "personalAccessToken": { + "desc": "Github PAT'nizi girin, [buraya](https://github.com/settings/tokens) tıklayarak oluşturun", + "placeholder": "ghp_xxxxxx", + "title": "GitHub PAT" + } + }, "ollama": { "checker": { "desc": "Proxy adresinin doğru girilip girilmediğini test edin", diff --git a/locales/tr-TR/portal.json b/locales/tr-TR/portal.json index 59921ce8f29d..11bcdca71053 100644 --- a/locales/tr-TR/portal.json +++ b/locales/tr-TR/portal.json @@ -6,11 +6,27 @@ "file": "Dosya" } }, + "Plugins": "Eklentiler", "actions": { "genAiMessage": "Yapay Zeka Mesajı Oluştur", "summary": "Özet", "summaryTooltip": "Mevcut içeriği özetle" }, + "artifacts": { + "display": { + "code": "Kod", + "preview": "Önizleme" + }, + "svg": { + "copyAsImage": "Resmi Kopyala", + "copyFail": "Kopyalama başarısız, hata nedeni: {{error}}", + "copySuccess": "Resim başarıyla kopyalandı", + "download": { + "png": "PNG olarak indir", + "svg": "SVG olarak indir" + } + } + }, "emptyArtifactList": "Mevcut Artefakt listesi boş, lütfen eklentileri kullanarak oturumda gerektiğinde göz atın", "emptyKnowledgeList": "Mevcut bilgi listesi boş. Lütfen sohbet sırasında ihtiyaç duyduğunuz bilgi havuzunu açtıktan sonra tekrar kontrol edin.", "files": "Dosyalar", diff --git a/locales/vi-VN/chat.json b/locales/vi-VN/chat.json index 95be73622682..d6dfe611ec3c 100644 --- a/locales/vi-VN/chat.json +++ b/locales/vi-VN/chat.json @@ -6,6 +6,12 @@ "agentDefaultMessageWithSystemRole": "Xin chào, tôi là **{{name}}**, {{systemRole}}. Hãy bắt đầu trò chuyện ngay!", "agentDefaultMessageWithoutEdit": "Xin chào, tôi là **{{name}}**, chúng ta hãy bắt đầu trò chuyện nào!", "agentsAndConversations": "Người hỗ trợ và cuộc trò chuyện", + "artifact": { + "generating": "Đang tạo", + "thinking": "Đang suy nghĩ", + "thought": "Quá trình suy nghĩ", + "unknownTitle": "Tác phẩm chưa được đặt tên" + }, "backToBottom": "Quay về dưới cùng", "chatList": { "longMessageDetail": "Xem chi tiết" diff --git a/locales/vi-VN/error.json b/locales/vi-VN/error.json index 469702f93b14..329e4d63b09d 100644 --- a/locales/vi-VN/error.json +++ b/locales/vi-VN/error.json @@ -59,6 +59,7 @@ "InvalidAccessCode": "Mật khẩu truy cập không hợp lệ hoặc trống, vui lòng nhập mật khẩu truy cập đúng hoặc thêm Khóa API tùy chỉnh", "InvalidBedrockCredentials": "Xác thực Bedrock không thành công, vui lòng kiểm tra AccessKeyId/SecretAccessKey và thử lại", "InvalidClerkUser": "Xin lỗi, bạn chưa đăng nhập. Vui lòng đăng nhập hoặc đăng ký tài khoản trước khi tiếp tục.", + "InvalidGithubToken": "Mã truy cập cá nhân Github không chính xác hoặc để trống, vui lòng kiểm tra lại Mã truy cập cá nhân Github và thử lại", "InvalidOllamaArgs": "Cấu hình Ollama không hợp lệ, vui lòng kiểm tra lại cấu hình Ollama và thử lại", "InvalidProviderAPIKey": "{{provider}} API Key không hợp lệ hoặc trống, vui lòng kiểm tra và thử lại", "LocationNotSupportError": "Xin lỗi, vị trí của bạn không hỗ trợ dịch vụ mô hình này, có thể do hạn chế vùng miền hoặc dịch vụ chưa được mở. Vui lòng xác nhận xem vị trí hiện tại có hỗ trợ sử dụng dịch vụ này không, hoặc thử sử dụng thông tin vị trí khác.", diff --git a/locales/vi-VN/modelProvider.json b/locales/vi-VN/modelProvider.json index 481b1e2b76d0..a643f9f2a83d 100644 --- a/locales/vi-VN/modelProvider.json +++ b/locales/vi-VN/modelProvider.json @@ -51,6 +51,13 @@ "title": "Sử dụng Thông tin Xác thực Bedrock tùy chỉnh" } }, + "github": { + "personalAccessToken": { + "desc": "Nhập mã truy cập cá nhân Github của bạn, nhấp vào [đây](https://github.com/settings/tokens) để tạo", + "placeholder": "ghp_xxxxxx", + "title": "GitHub PAT" + } + }, "ollama": { "checker": { "desc": "Kiểm tra địa chỉ proxy có được nhập chính xác không", diff --git a/locales/vi-VN/portal.json b/locales/vi-VN/portal.json index 346713226170..bfb400c87498 100644 --- a/locales/vi-VN/portal.json +++ b/locales/vi-VN/portal.json @@ -6,11 +6,27 @@ "file": "Tập tin" } }, + "Plugins": "Tiện ích", "actions": { "genAiMessage": "Tạo tin nhắn trợ giúp", "summary": "Tóm tắt", "summaryTooltip": "Tóm tắt nội dung hiện tại" }, + "artifacts": { + "display": { + "code": "Mã", + "preview": "Xem trước" + }, + "svg": { + "copyAsImage": "Sao chép dưới dạng hình ảnh", + "copyFail": "Sao chép thất bại, lý do lỗi: {{error}}", + "copySuccess": "Sao chép hình ảnh thành công", + "download": { + "png": "Tải xuống dưới dạng PNG", + "svg": "Tải xuống dưới dạng SVG" + } + } + }, "emptyArtifactList": "Danh sách Tác Phẩm hiện tại đang trống, vui lòng sử dụng các plugin trong cuộc trò chuyện trước khi xem lại", "emptyKnowledgeList": "Danh sách kiến thức hiện tại trống, vui lòng mở kho kiến thức khi cần trong cuộc trò chuyện trước khi xem", "files": "Tập tin", diff --git a/locales/zh-CN/chat.json b/locales/zh-CN/chat.json index b94fb5f3e101..1381ddf29319 100644 --- a/locales/zh-CN/chat.json +++ b/locales/zh-CN/chat.json @@ -6,6 +6,12 @@ "agentDefaultMessageWithSystemRole": "你好,我是 **{{name}}**,{{systemRole}},让我们开始对话吧!", "agentDefaultMessageWithoutEdit": "你好,我是 **{{name}}**,让我们开始对话吧!", "agentsAndConversations": "助手与会话", + "artifact": { + "generating": "生成中", + "thinking": "思考中", + "thought": "思考过程", + "unknownTitle": "未命名作品" + }, "backToBottom": "跳转至当前", "chatList": { "longMessageDetail": "查看详情" diff --git a/locales/zh-CN/error.json b/locales/zh-CN/error.json index 547597157ad6..14fb419e362f 100644 --- a/locales/zh-CN/error.json +++ b/locales/zh-CN/error.json @@ -82,7 +82,8 @@ "OllamaServiceUnavailable": "Ollama 服务连接失败,请检查 Ollama 是否运行正常,或是否正确设置 Ollama 的跨域配置", "AgentRuntimeError": "Lobe AI Runtime 执行出错,请根据以下信息排查或重试", "FreePlanLimit": "当前为免费用户,无法使用该功能,请升级到付费计划后继续使用", - "SubscriptionPlanLimit": "您的订阅额度已用尽,无法使用该功能,请升级到更高计划,或购买资源包后继续使用" + "SubscriptionPlanLimit": "您的订阅额度已用尽,无法使用该功能,请升级到更高计划,或购买资源包后继续使用", + "InvalidGithubToken": "Github PAT 不正确或为空,请检查 Github PAT 后重试" }, "stt": { "responseError": "服务请求失败,请检查配置或重试" diff --git a/locales/zh-CN/modelProvider.json b/locales/zh-CN/modelProvider.json index aec88fcf9cf0..760c2109c667 100644 --- a/locales/zh-CN/modelProvider.json +++ b/locales/zh-CN/modelProvider.json @@ -51,6 +51,13 @@ "title": "使用自定义 Bedrock 鉴权信息" } }, + "github": { + "personalAccessToken": { + "desc": "填入你的 Github PAT,点击[这里](https://github.com/settings/tokens) 创建", + "placeholder": "ghp_xxxxxx", + "title": "Github PAT" + } + }, "ollama": { "checker": { "desc": "测试代理地址是否正确填写", diff --git a/locales/zh-CN/portal.json b/locales/zh-CN/portal.json index 278aa2d4254d..666b4c3fc540 100644 --- a/locales/zh-CN/portal.json +++ b/locales/zh-CN/portal.json @@ -6,13 +6,29 @@ "file": "文件" } }, + "Plugins": "插件", "actions": { "genAiMessage": "创建助手消息", "summary": "总结", "summaryTooltip": "总结当前内容" }, + "artifacts": { + "display": { + "code": "代码", + "preview": "预览" + }, + "svg": { + "copyAsImage": "复制为图片", + "copyFail": "复制失败,错误原因:{{error}}", + "copySuccess": "图片复制成功", + "download": { + "png": "下载为 PNG", + "svg": "下载为 SVG" + } + } + }, "emptyArtifactList": "当前 Artifacts 列表为空,请在会话中按需使用插件后再查看", - "emptyKnowledgeList": "当前知识列表为空,请在会话中按需开启知识库后再查看", + "emptyKnowledgeList": "当前知识列表为空", "files": "文件", "messageDetail": "消息详情", "title": "工作区" diff --git a/locales/zh-TW/chat.json b/locales/zh-TW/chat.json index 0988acb9de24..1825a870a54b 100644 --- a/locales/zh-TW/chat.json +++ b/locales/zh-TW/chat.json @@ -6,6 +6,12 @@ "agentDefaultMessageWithSystemRole": "你好,我是 **{{name}}**,{{systemRole}},讓我們開始對話吧!", "agentDefaultMessageWithoutEdit": "你好,我是 **{{name}}**,讓我們開始對話吧!", "agentsAndConversations": "助理與對話", + "artifact": { + "generating": "生成中", + "thinking": "思考中", + "thought": "思考過程", + "unknownTitle": "未命名作品" + }, "backToBottom": "返回底部", "chatList": { "longMessageDetail": "查看詳情" diff --git a/locales/zh-TW/error.json b/locales/zh-TW/error.json index d4a47f724fab..938947f33037 100644 --- a/locales/zh-TW/error.json +++ b/locales/zh-TW/error.json @@ -59,6 +59,7 @@ "InvalidAccessCode": "密碼不正確或為空,請輸入正確的訪問密碼,或添加自定義 API 金鑰", "InvalidBedrockCredentials": "Bedrock 驗證未通過,請檢查 AccessKeyId/SecretAccessKey 後重試", "InvalidClerkUser": "很抱歉,你當前尚未登錄,請先登錄或註冊帳號後繼續操作", + "InvalidGithubToken": "Github 個人存取權杖不正確或為空,請檢查 Github 個人存取權杖後再試一次", "InvalidOllamaArgs": "Ollama 配置不正確,請檢查 Ollama 配置後重試", "InvalidProviderAPIKey": "{{provider}} API 金鑰不正確或為空,請檢查 {{provider}} API 金鑰後重試", "LocationNotSupportError": "很抱歉,你的所在位置不支持此模型服務,可能是由於地區限制或服務未開通。請確認當前位置是否支持使用此服務,或嘗試使用其他位置信息。", diff --git a/locales/zh-TW/modelProvider.json b/locales/zh-TW/modelProvider.json index e7424f3263b0..f453e73908cc 100644 --- a/locales/zh-TW/modelProvider.json +++ b/locales/zh-TW/modelProvider.json @@ -51,6 +51,13 @@ "title": "使用自定義 Bedrock 驗證資訊" } }, + "github": { + "personalAccessToken": { + "desc": "填入你的 Github 個人存取權杖,點擊[這裡](https://github.com/settings/tokens) 創建", + "placeholder": "ghp_xxxxxx", + "title": "GitHub PAT" + } + }, "ollama": { "checker": { "desc": "測試代理地址是否正確填寫", diff --git a/locales/zh-TW/portal.json b/locales/zh-TW/portal.json index ed1697dfb7ce..75079c26d979 100644 --- a/locales/zh-TW/portal.json +++ b/locales/zh-TW/portal.json @@ -6,11 +6,27 @@ "file": "檔案" } }, + "Plugins": "外掛", "actions": { "genAiMessage": "生成助手訊息", "summary": "摘要", "summaryTooltip": "總結目前內容" }, + "artifacts": { + "display": { + "code": "程式碼", + "preview": "預覽" + }, + "svg": { + "copyAsImage": "複製為圖片", + "copyFail": "複製失敗,錯誤原因:{{error}}", + "copySuccess": "圖片複製成功", + "download": { + "png": "下載為 PNG", + "svg": "下載為 SVG" + } + } + }, "emptyArtifactList": "當前文物列表為空,請在會話中按需使用插件後再查看", "emptyKnowledgeList": "當前知識列表為空,請在會話中按需開啟知識庫後再查看", "files": "檔案", diff --git a/package.json b/package.json index 33f3b841d9db..39cf1d0b7203 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@lobehub/chat", - "version": "1.18.1", + "version": "1.19.0", "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.", "keywords": [ "framework", @@ -112,6 +112,7 @@ "@clerk/localizations": "2.0.0", "@clerk/nextjs": "^5.3.3", "@clerk/themes": "^2.1.27", + "@codesandbox/sandpack-react": "^2.19.8", "@cyntler/react-doc-viewer": "^1.16.6", "@google/generative-ai": "^0.16.0", "@icons-pack/react-simple-icons": "9.6.0", @@ -172,6 +173,7 @@ "next-auth": "beta", "next-mdx-remote": "^4.4.1", "next-sitemap": "^4.2.3", + "nextjs-toploader": "^3.6.15", "numeral": "^2.0.6", "nuqs": "^1.17.8", "officeparser": "^4.1.1", @@ -255,6 +257,7 @@ "@types/semver": "^7.5.8", "@types/systemjs": "^6.13.5", "@types/ua-parser-js": "^0.7.39", + "@types/unist": "^3.0.3", "@types/uuid": "^10.0.0", "@types/ws": "^8.5.12", "@vitest/coverage-v8": "~1.2.2", diff --git a/src/app/(main)/chat/(workspace)/@portal/Artifacts/Body/Renderer/HTML.tsx b/src/app/(main)/chat/(workspace)/@portal/Artifacts/Body/Renderer/HTML.tsx new file mode 100644 index 000000000000..8b4455ec25e1 --- /dev/null +++ b/src/app/(main)/chat/(workspace)/@portal/Artifacts/Body/Renderer/HTML.tsx @@ -0,0 +1,25 @@ +import { memo, useEffect, useRef } from 'react'; + +interface HTMLRendererProps { + height?: string; + htmlContent: string; + width?: string; +} +const HTMLRenderer = memo(({ htmlContent, width = '100%', height = '100%' }) => { + const iframeRef = useRef(null); + + useEffect(() => { + if (!iframeRef.current) return; + + const doc = iframeRef.current.contentDocument; + if (!doc) return; + + doc.open(); + doc.write(htmlContent); + doc.close(); + }, [htmlContent]); + + return