@lobehub/chat 1.2.9 → 1.2.11

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.
@@ -67,6 +67,7 @@
67
67
  "OpenAIBizError": "طلب خدمة OpenAI خاطئ، يرجى التحقق من المعلومات التالية أو إعادة المحاولة",
68
68
  "PluginApiNotFound": "عذرًا، لا يوجد API للإضافة في وصف الإضافة، يرجى التحقق من تطابق طريقة الطلب الخاصة بك مع API الوصف",
69
69
  "PluginApiParamsError": "عذرًا، فشلت التحقق من صحة معلمات الطلب للإضافة، يرجى التحقق من تطابق المعلمات مع معلومات الوصف",
70
+ "PluginFailToTransformArguments": "عذرًا، فشل تحويل معلمات استدعاء الإضافة، يرجى محاولة إعادة إنشاء رسالة المساعد أو تجربة نموذج AI ذو قدرات استدعاء أقوى",
70
71
  "PluginGatewayError": "عذرًا، حدث خطأ في بوابة الإضافة، يرجى التحقق من تكوين بوابة الإضافة",
71
72
  "PluginManifestInvalid": "عذرًا، فشلت التحقق من صحة وصف الإضافة، يرجى التحقق من تنسيق وصف الإضافة",
72
73
  "PluginManifestNotFound": "عذرًا، لم يتم العثور على وصف الإضافة (manifest.json) في الخادم، يرجى التحقق من صحة عنوان ملف وصف الإضافة",
@@ -67,6 +67,7 @@
67
67
  "OpenAIBizError": "Грешка в услугата на OpenAI, моля проверете следната информация или опитайте отново",
68
68
  "PluginApiNotFound": "Съжаляваме, API не съществува в манифеста на плъгина. Моля, проверете дали методът на вашата заявка съвпада с API на манифеста на плъгина",
69
69
  "PluginApiParamsError": "Съжаляваме, проверката на входния параметър за заявката на плъгина е неуспешна. Моля, проверете дали входните параметри съвпадат с описанието на API",
70
+ "PluginFailToTransformArguments": "Съжаляваме, неуспешно преобразуване на аргументите за извикване на плъгин. Моля, опитайте отново да генерирате съобщението на помощника или опитайте с по-мощна AI модел на Tools Calling.",
70
71
  "PluginGatewayError": "Съжаляваме, възникна грешка с шлюза на плъгина. Моля, проверете дали конфигурацията на шлюза на плъгина е правилна.",
71
72
  "PluginManifestInvalid": "Съжаляваме, проверката на манифеста на плъгина е неуспешна. Моля, проверете дали форматът на манифеста е правилен",
72
73
  "PluginManifestNotFound": "Съжаляваме, сървърът не можа да намери файла на манифеста на плъгина (manifest.json). Моля, проверете дали адресът на файла на манифеста на плъгина е правилен",
@@ -67,6 +67,7 @@
67
67
  "OpenAIBizError": "Fehler bei der Anforderung des OpenAI-Dienstes. Bitte überprüfen Sie die folgenden Informationen oder versuchen Sie es erneut.",
68
68
  "PluginApiNotFound": "Entschuldigung, das API des Plugins im Plugin-Manifest existiert nicht. Bitte überprüfen Sie, ob Ihre Anfragemethode mit dem Plugin-Manifest-API übereinstimmt",
69
69
  "PluginApiParamsError": "Entschuldigung, die Eingabeüberprüfung der Plugin-Anfrage ist fehlgeschlagen. Bitte überprüfen Sie, ob die Eingabe mit den API-Beschreibungsinformationen übereinstimmt",
70
+ "PluginFailToTransformArguments": "Es tut uns leid, die Plugin-Aufrufargumente konnten nicht transformiert werden. Bitte versuchen Sie, die Assistentennachricht erneut zu generieren, oder wechseln Sie zu einem leistungsstärkeren AI-Modell mit Tools Calling-Fähigkeiten und versuchen Sie es erneut.",
70
71
  "PluginGatewayError": "Entschuldigung, es ist ein Fehler im Plugin-Gateway aufgetreten. Bitte überprüfen Sie die Plugin-Gateway-Konfiguration auf Richtigkeit",
71
72
  "PluginManifestInvalid": "Entschuldigung, das Manifest des Plugins hat die Überprüfung nicht bestanden. Bitte überprüfen Sie das Format des Manifests",
72
73
  "PluginManifestNotFound": "Entschuldigung, der Server konnte das Manifest (manifest.json) des Plugins nicht finden. Bitte überprüfen Sie die Adresse der Plugin-Beschreibungsdatei",
@@ -67,6 +67,7 @@
67
67
  "OpenAIBizError": "Error requesting OpenAI service, please troubleshoot or retry based on the following information",
68
68
  "PluginApiNotFound": "Sorry, the API does not exist in the plugin's manifest. Please check if your request method matches the plugin manifest API",
69
69
  "PluginApiParamsError": "Sorry, the input parameter validation for the plugin request failed. Please check if the input parameters match the API description",
70
+ "PluginFailToTransformArguments": "Sorry, the plugin failed to parse the arguments. Please try regenerating the assistant message or switch to a more powerful AI model with Tools Calling capability and try again",
70
71
  "PluginGatewayError": "Sorry, there was an error with the plugin gateway. Please check if the plugin gateway configuration is correct.",
71
72
  "PluginManifestInvalid": "Sorry, the plugin's manifest validation failed. Please check if the manifest format is correct",
72
73
  "PluginManifestNotFound": "Sorry, the server could not find the plugin's manifest file (manifest.json). Please check if the plugin manifest file address is correct",
@@ -67,6 +67,7 @@
67
67
  "OpenAIBizError": "Se produjo un error al solicitar el servicio de OpenAI, por favor, revise la siguiente información o inténtelo de nuevo",
68
68
  "PluginApiNotFound": "Lo sentimos, el API especificado no existe en el manifiesto del complemento. Verifique si su método de solicitud coincide con el API del manifiesto del complemento",
69
69
  "PluginApiParamsError": "Lo sentimos, la validación de los parámetros de entrada de la solicitud del complemento no ha pasado. Verifique si los parámetros de entrada coinciden con la información de descripción del API",
70
+ "PluginFailToTransformArguments": "Lo siento, no se pudieron transformar los argumentos de la llamada al plugin. Por favor, intenta generar de nuevo el mensaje del asistente o prueba con un modelo de IA de Tools Calling más potente.",
70
71
  "PluginGatewayError": "Lo sentimos, se ha producido un error en la puerta de enlace del complemento. Verifique si la configuración de la puerta de enlace del complemento es correcta",
71
72
  "PluginManifestInvalid": "Lo sentimos, la validación del manifiesto del complemento no ha pasado. Por favor, verifique si el formato del manifiesto es correcto",
72
73
  "PluginManifestNotFound": "Lo sentimos, el servidor no puede encontrar el manifiesto de descripción del complemento (manifest.json). Verifique si la dirección del archivo de descripción del complemento es correcta",
@@ -67,6 +67,7 @@
67
67
  "OpenAIBizError": "Erreur de service OpenAI. Veuillez vérifier les informations suivantes ou réessayer.",
68
68
  "PluginApiNotFound": "Désolé, l'API spécifiée n'existe pas dans le manifeste du plugin. Veuillez vérifier que votre méthode de requête correspond à l'API du manifeste du plugin",
69
69
  "PluginApiParamsError": "Désolé, la validation des paramètres d'entrée de la requête de ce plugin a échoué. Veuillez vérifier que les paramètres d'entrée correspondent aux informations de l'API",
70
+ "PluginFailToTransformArguments": "Désolé, échec de la transformation des arguments de l'appel du plugin. Veuillez essayer de régénérer le message d'assistance ou de changer de modèle d'IA avec une capacité d'appel d'outils plus puissante, puis réessayer.",
70
71
  "PluginGatewayError": "Désolé, une erreur est survenue avec la passerelle du plugin. Veuillez vérifier la configuration de la passerelle du plugin.",
71
72
  "PluginManifestInvalid": "Désolé, la validation du manifeste de ce plugin a échoué. Veuillez vérifier le format du manifeste",
72
73
  "PluginManifestNotFound": "Désolé, le serveur n'a pas trouvé le manifeste de description de ce plugin (manifest.json). Veuillez vérifier l'adresse du fichier de description du plugin",
@@ -67,6 +67,7 @@
67
67
  "OpenAIBizError": "Errore di business di OpenAI. Si prega di controllare le informazioni seguenti o riprovare.",
68
68
  "PluginApiNotFound": "Spiacenti, l'API specificata non esiste nel manifesto del plugin. Verifica che il metodo di richiesta corrisponda all'API del manifesto del plugin",
69
69
  "PluginApiParamsError": "Spiacenti, la convalida dei parametri di input della richiesta del plugin non è riuscita. Verifica che i parametri di input corrispondano alle informazioni dell'API",
70
+ "PluginFailToTransformArguments": "Spiacenti, la trasformazione degli argomenti della chiamata al plugin non è riuscita. Si prega di provare a rigenerare il messaggio dell'assistente o riprovare dopo aver cambiato il modello AI di Tools Calling con capacità più avanzate.",
70
71
  "PluginGatewayError": "Spiacenti, si è verificato un errore nel gateway del plugin. Verifica che la configurazione del gateway del plugin sia corretta",
71
72
  "PluginManifestInvalid": "Spiacenti, la convalida del manifesto descrittivo del plugin non è riuscita. Verifica che il formato del manifesto descrittivo sia conforme alle specifiche",
72
73
  "PluginManifestNotFound": "Spiacenti, il server non trova il manifesto descrittivo del plugin (manifest.json). Verifica che l'indirizzo del file descrittivo del plugin sia corretto",
@@ -67,6 +67,7 @@
67
67
  "OpenAIBizError": "リクエスト OpenAI サービスでエラーが発生しました。以下の情報を確認して再試行してください。",
68
68
  "PluginApiNotFound": "申し訳ありませんが、プラグインのマニフェストに指定されたAPIが見つかりませんでした。リクエストメソッドとプラグインのマニフェストのAPIが一致しているかどうかを確認してください",
69
69
  "PluginApiParamsError": "申し訳ありませんが、プラグインのリクエストパラメータの検証に失敗しました。パラメータとAPIの説明が一致しているかどうか確認してください",
70
+ "PluginFailToTransformArguments": "申し訳ありませんが、プラグインの引数変換に失敗しました。助手メッセージを再生成するか、より強力な Tools Calling 機能を持つAIモデルに切り替えて再試行してください",
70
71
  "PluginGatewayError": "申し訳ありませんが、プラグインゲートウェイでエラーが発生しました。プラグインゲートウェイの設定を確認してください。",
71
72
  "PluginManifestInvalid": "申し訳ありませんが、このプラグインのマニフェストの検証に失敗しました。マニフェストの形式が正しいかどうかを確認してください",
72
73
  "PluginManifestNotFound": "申し訳ありませんが、サーバーでプラグインのマニフェストファイル (manifest.json) が見つかりませんでした。プラグインのマニフェストファイルのアドレスが正しいかどうかを確認してください",
@@ -67,6 +67,7 @@
67
67
  "OpenAIBizError": "OpenAI 서비스 요청 중 오류가 발생했습니다. 아래 정보를 확인하고 다시 시도해주세요.",
68
68
  "PluginApiNotFound": "죄송합니다. 플러그인 설명서에 해당 API가 없습니다. 요청 메서드와 플러그인 설명서 API가 일치하는지 확인해주세요.",
69
69
  "PluginApiParamsError": "죄송합니다. 플러그인 요청의 입력 매개변수 유효성 검사에 실패했습니다. 입력 매개변수와 API 설명 정보가 일치하는지 확인해주세요.",
70
+ "PluginFailToTransformArguments": "죄송합니다. 플러그인 호출 인수 변환에 실패했습니다. 도우미 메시지를 다시 생성하거나 더 강력한 AI 모델로 Tools Calling 능력을 변경한 후 다시 시도해주세요.",
70
71
  "PluginGatewayError": "죄송합니다. 플러그인 게이트웨이에 오류가 발생했습니다. 플러그인 게이트웨이 구성을 확인해주세요.",
71
72
  "PluginManifestInvalid": "죄송합니다. 해당 플러그인의 설명서 유효성 검사에 실패했습니다. 설명서 형식이 올바른지 확인해주세요.",
72
73
  "PluginManifestNotFound": "죄송합니다. 서버에서 해당 플러그인의 설명서 (manifest.json)를 찾을 수 없습니다. 플러그인 설명 파일 주소가 올바른지 확인해주세요.",
@@ -67,6 +67,7 @@
67
67
  "OpenAIBizError": "Er is een fout opgetreden bij het aanvragen van de OpenAI-service. Controleer de volgende informatie of probeer het opnieuw.",
68
68
  "PluginApiNotFound": "Sorry, de API van de plug-inbeschrijvingslijst bestaat niet. Controleer of uw verzoeksmethode overeenkomt met de plug-inbeschrijvingslijst API",
69
69
  "PluginApiParamsError": "Sorry, de validatie van de invoerparameters van de plug-in is mislukt. Controleer of de invoerparameters overeenkomen met de API-beschrijving",
70
+ "PluginFailToTransformArguments": "Sorry, the plugin failed to parse the arguments. Please try regenerating the assistant message or retry with a more powerful AI model with Tools Calling capability.",
70
71
  "PluginGatewayError": "Sorry, er is een fout opgetreden in de plug-in gateway. Controleer of de plug-in gatewayconfiguratie juist is",
71
72
  "PluginManifestInvalid": "Sorry, de validatie van de beschrijvingslijst van de plug-in is mislukt. Controleer of het formaat van de beschrijvingslijst correct is",
72
73
  "PluginManifestNotFound": "Sorry, de server kon de beschrijvingslijst (manifest.json) van de plug-in niet vinden. Controleer of het adres van de plug-inbeschrijvingsbestand juist is",
@@ -67,6 +67,7 @@
67
67
  "OpenAIBizError": "Wystąpił błąd usługi OpenAI, proszę sprawdzić poniższe informacje lub spróbować ponownie",
68
68
  "PluginApiNotFound": "Przepraszamy, w manifestach wtyczki nie istnieje to API. Proszę sprawdź, czy metoda żądania jest zgodna z API w manifestach wtyczki",
69
69
  "PluginApiParamsError": "Przepraszamy, walidacja parametrów wejściowych żądanej wtyczki nie powiodła się. Proszę sprawdź, czy parametry wejściowe są zgodne z informacjami opisującymi API",
70
+ "PluginFailToTransformArguments": "Przepraszamy, nie udało się przekształcić argumentów wywołania wtyczki. Spróbuj ponownie wygenerować wiadomość pomocnika lub zmień model AI o większej zdolności do wywoływania narzędzi i spróbuj ponownie",
70
71
  "PluginGatewayError": "Przepraszamy, wystąpił błąd bramy wtyczki. Proszę sprawdź, czy konfiguracja bramy wtyczki jest poprawna",
71
72
  "PluginManifestInvalid": "Przepraszamy, walidacja manifestu opisowego wtyczki nie powiodła się. Proszę sprawdź, czy format pliku opisowego wtyczki jest zgodny z normami",
72
73
  "PluginManifestNotFound": "Przepraszamy, serwer nie odnalazł manifestu opisowego wtyczki (manifest.json). Proszę sprawdź, czy adres pliku opisowego wtyczki jest poprawny",
@@ -67,6 +67,7 @@
67
67
  "OpenAIBizError": "Erro no serviço OpenAI solicitado. Por favor, verifique as informações abaixo ou tente novamente.",
68
68
  "PluginApiNotFound": "Desculpe, o API especificado não existe no manifesto do plugin. Verifique se o método de solicitação corresponde ao API do manifesto do plugin",
69
69
  "PluginApiParamsError": "Desculpe, a validação dos parâmetros de entrada da solicitação do plugin falhou. Verifique se os parâmetros de entrada correspondem às informações de descrição do API",
70
+ "PluginFailToTransformArguments": "Desculpe, falha ao transformar os argumentos da chamada do plugin. Por favor, tente regerar a mensagem do assistente ou tente novamente com um modelo de IA de chamada de ferramentas mais robusto.",
70
71
  "PluginGatewayError": "Desculpe, ocorreu um erro no gateway do plugin. Verifique se a configuração do gateway do plugin está correta",
71
72
  "PluginManifestInvalid": "Desculpe, a validação do manifesto de descrição do plugin falhou. Verifique se o formato do manifesto de descrição está correto",
72
73
  "PluginManifestNotFound": "Desculpe, o servidor não encontrou o manifesto de descrição do plugin (manifest.json). Verifique se o endereço do arquivo de descrição do plugin está correto",
@@ -67,6 +67,7 @@
67
67
  "OpenAIBizError": "Ошибка обслуживания OpenAI. Пожалуйста, проверьте следующую информацию или повторите попытку",
68
68
  "PluginApiNotFound": "К сожалению, API не существует в манифесте плагина. Пожалуйста, проверьте, соответствует ли ваш метод запроса API манифеста плагина",
69
69
  "PluginApiParamsError": "К сожалению, проверка входных параметров для запроса плагина не удалась. Пожалуйста, проверьте, соответствуют ли входные параметры описанию API",
70
+ "PluginFailToTransformArguments": "Извините, не удалось преобразовать аргументы вызова плагина. Попробуйте сгенерировать помощь заново или повторите попытку с более мощной моделью искусственного интеллекта для вызова инструментов.",
70
71
  "PluginGatewayError": "Извините, возникла ошибка шлюза плагина. Пожалуйста, проверьте правильность конфигурации шлюза плагина.",
71
72
  "PluginManifestInvalid": "К сожалению, проверка манифеста плагина не удалась. Пожалуйста, проверьте правильность формата манифеста",
72
73
  "PluginManifestNotFound": "К сожалению, серверу не удалось найти файл манифеста плагина (manifest.json). Пожалуйста, проверьте правильность адреса файла манифеста плагина",
@@ -67,6 +67,7 @@
67
67
  "OpenAIBizError": "OpenAI hizmetinde bir hata oluştu, lütfen aşağıdaki bilgilere göre sorunu giderin veya tekrar deneyin",
68
68
  "PluginApiNotFound": "Üzgünüm, eklentinin bildiriminde API mevcut değil. Lütfen istek yönteminizin eklenti bildirim API'sı ile eşleşip eşleşmediğini kontrol edin",
69
69
  "PluginApiParamsError": "Üzgünüm, eklenti isteği için giriş parametre doğrulaması başarısız oldu. Lütfen giriş parametrelerinin API açıklamasıyla eşleşip eşleşmediğini kontrol edin",
70
+ "PluginFailToTransformArguments": "Özür dilerim, eklenti çağrı parametrelerini dönüştürme başarısız oldu, lütfen yardımcı mesajı yeniden oluşturmayı deneyin veya daha güçlü bir AI modeli olan Tools Calling'i değiştirip tekrar deneyin",
70
71
  "PluginGatewayError": "Üzgünüz, eklenti ağ geçidinde bir hata oluştu, lütfen eklenti ağ geçidi yapılandırmasını kontrol edin",
71
72
  "PluginManifestInvalid": "Üzgünüm, eklentinin bildirim doğrulaması başarısız oldu. Lütfen bildirim formatının doğru olup olmadığını kontrol edin",
72
73
  "PluginManifestNotFound": "Üzgünüm, sunucu eklentinin bildirim dosyasını (manifest.json) bulamadı. Lütfen eklenti bildirim dosyası adresinin doğru olup olmadığını kontrol edin",
@@ -67,6 +67,7 @@
67
67
  "OpenAIBizError": "Yêu cầu dịch vụ OpenAI gặp sự cố, vui lòng kiểm tra thông tin dưới đây hoặc thử lại",
68
68
  "PluginApiNotFound": "Xin lỗi, không có API nào trong tệp mô tả plugin, vui lòng kiểm tra phương thức yêu cầu của bạn có khớp với API mô tả plugin không",
69
69
  "PluginApiParamsError": "Xin lỗi, kiểm tra tham số đầu vào yêu cầu của plugin không thông qua, vui lòng kiểm tra tham số đầu vào có khớp với thông tin mô tả API không",
70
+ "PluginFailToTransformArguments": "Xin lỗi, không thể chuyển đổi đối số của plugin, vui lòng thử tạo lại tin nhắn trợ giúp hoặc thay đổi mô hình AI có khả năng gọi Tools mạnh hơn và thử lại",
70
71
  "PluginGatewayError": "Xin lỗi, cổng plugin gặp lỗi, vui lòng kiểm tra cấu hình cổng plugin có đúng không",
71
72
  "PluginManifestInvalid": "Xin lỗi, kiểm tra mô tả plugin không thông qua, vui lòng kiểm tra định dạng mô tả có đúng không",
72
73
  "PluginManifestNotFound": "Xin lỗi, máy chủ không tìm thấy tệp mô tả plugin (manifest.json), vui lòng kiểm tra địa chỉ tệp mô tả plugin có đúng không",
@@ -65,6 +65,7 @@
65
65
  "PluginServerError": "插件服务端请求返回出错,请检查根据下面的报错信息检查你的插件描述文件、插件配置或服务端实现",
66
66
  "PluginGatewayError": "很抱歉,插件网关出现错误,请检查插件网关配置是否正确",
67
67
  "PluginOpenApiInitError": "很抱歉,OpenAPI 客户端初始化失败,请检查 OpenAPI 的配置信息是否正确",
68
+ "PluginFailToTransformArguments": "很抱歉,插件调用参数解析失败,请尝试重新生成助手消息,或更换 Tools Calling 能力更强的 AI 模型后重试",
68
69
  "InvalidAccessCode": "密码不正确或为空,请输入正确的访问密码,或者添加自定义 API Key",
69
70
  "InvalidClerkUser": "很抱歉,你当前尚未登录,请先登录或注册账号后继续操作",
70
71
  "LocationNotSupportError": "很抱歉,你的所在地区不支持此模型服务,可能是由于区域限制或服务未开通。请确认当前地区是否支持使用此服务,或尝试使用切换到其他地区后重试。",
@@ -67,6 +67,7 @@
67
67
  "OpenAIBizError": "請求 OpenAI 服務出錯,請根據以下資訊排查或重試",
68
68
  "PluginApiNotFound": "抱歉,外掛描述檔案中不存在該 API。請檢查您的請求方法與外掛清單 API 是否相符",
69
69
  "PluginApiParamsError": "抱歉,該外掛請求的輸入參數驗證失敗。請檢查輸入參數與 API 描述資訊是否相符",
70
+ "PluginFailToTransformArguments": "很抱歉,插件無法轉換參數,請嘗試重新生成助手消息,或更換功能更強大的 AI 模型後重試",
70
71
  "PluginGatewayError": "很抱歉,插件網關出現錯誤,請檢查插件網關配置是否正確",
71
72
  "PluginManifestInvalid": "抱歉,外掛的描述檔案驗證失敗。請檢查描述檔案格式是否正確",
72
73
  "PluginManifestNotFound": "抱歉,伺服器找不到該外掛的描述檔案 (manifest.json)。請檢查外掛描述檔案地址是否正確",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/chat",
3
- "version": "1.2.9",
3
+ "version": "1.2.11",
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",
@@ -106,7 +106,7 @@
106
106
  "@azure/openai": "1.0.0-beta.12",
107
107
  "@cfworker/json-schema": "^1.12.8",
108
108
  "@clerk/localizations": "2.0.0",
109
- "@clerk/nextjs": "5.1.6",
109
+ "@clerk/nextjs": "^5.2.2",
110
110
  "@clerk/themes": "^2.1.10",
111
111
  "@google/generative-ai": "^0.13.0",
112
112
  "@icons-pack/react-simple-icons": "^9.5.0",
@@ -7,14 +7,14 @@ const DeepSeek: ModelProviderCard = {
7
7
  displayName: 'DeepSeek-V2',
8
8
  enabled: true,
9
9
  id: 'deepseek-chat',
10
- tokens: 32_768,
10
+ tokens: 128_000,
11
11
  },
12
12
  {
13
- description: '擅长编程场景',
14
- displayName: 'DeepSeek-coder-V2',
13
+ description: '擅长处理编程和数学任务',
14
+ displayName: 'DeepSeek-Coder-V2',
15
15
  enabled: true,
16
16
  id: 'deepseek-coder',
17
- tokens: 32_768,
17
+ tokens: 128_000,
18
18
  },
19
19
  ],
20
20
  checkModel: 'deepseek-chat',
@@ -71,6 +71,9 @@ export default {
71
71
  PluginGatewayError: '很抱歉,插件网关出现错误,请检查插件网关配置是否正确',
72
72
  PluginOpenApiInitError: '很抱歉,OpenAPI 客户端初始化失败,请检查 OpenAPI 的配置信息是否正确',
73
73
 
74
+ PluginFailToTransformArguments:
75
+ '很抱歉,插件调用参数解析失败,请尝试重新生成助手消息,或更换 Tools Calling 能力更强的 AI 模型后重试',
76
+
74
77
  InvalidAccessCode: '密码不正确或为空,请输入正确的访问密码,或者添加自定义 API Key',
75
78
  InvalidClerkUser: '很抱歉,你当前尚未登录,请先登录或注册账号后继续操作',
76
79
  LocationNotSupportError:
@@ -10,6 +10,7 @@ import { chatSelectors } from '@/store/chat/selectors';
10
10
  import { messageMapKey } from '@/store/chat/slices/message/utils';
11
11
  import { useChatStore } from '@/store/chat/store';
12
12
  import { useToolStore } from '@/store/tool';
13
+ import { ChatErrorType } from '@/types/fetch';
13
14
  import { ChatMessage, ChatToolPayload, MessageToolCall } from '@/types/message';
14
15
 
15
16
  const invokeStandaloneTypePlugin = useChatStore.getState().invokeStandaloneTypePlugin;
@@ -491,12 +492,20 @@ describe('ChatPluginAction', () => {
491
492
  );
492
493
 
493
494
  // Verify that loading was toggled correctly
494
- expect(result.current.internal_togglePluginApiCalling).toHaveBeenCalledWith(
495
+ expect(result.current.internal_togglePluginApiCalling).toHaveBeenCalledTimes(2);
496
+
497
+ expect(result.current.internal_togglePluginApiCalling).toHaveBeenNthCalledWith(
498
+ 1,
495
499
  true,
496
500
  messageId,
497
501
  expect.any(String),
498
502
  );
499
- expect(result.current.internal_togglePluginApiCalling).toHaveBeenCalledWith(false);
503
+ expect(result.current.internal_togglePluginApiCalling).toHaveBeenNthCalledWith(
504
+ 2,
505
+ false,
506
+ messageId,
507
+ expect.any(String),
508
+ );
500
509
  expect(useChatStore.getState().text2image).toHaveBeenCalled();
501
510
  });
502
511
 
@@ -534,37 +543,47 @@ describe('ChatPluginAction', () => {
534
543
  );
535
544
 
536
545
  // Verify that the message content was updated with the tool response
546
+ expect(result.current.internal_togglePluginApiCalling).toHaveBeenCalledTimes(2);
537
547
  expect(result.current.internal_updateMessageContent).toHaveBeenCalledWith(
538
548
  messageId,
539
549
  toolResponse,
540
550
  );
541
551
 
542
552
  // Verify that loading was toggled correctly
543
- expect(result.current.internal_togglePluginApiCalling).toHaveBeenCalledWith(
553
+ expect(result.current.internal_togglePluginApiCalling).toHaveBeenNthCalledWith(
554
+ 1,
544
555
  true,
545
556
  messageId,
546
557
  expect.any(String),
547
558
  );
548
- expect(result.current.internal_togglePluginApiCalling).toHaveBeenCalledWith(false);
559
+ expect(result.current.internal_togglePluginApiCalling).toHaveBeenNthCalledWith(
560
+ 2,
561
+ false,
562
+ messageId,
563
+ expect.any(String),
564
+ );
549
565
  expect(useChatStore.getState().text2image).not.toHaveBeenCalled();
550
566
  });
551
567
 
552
- it('should handle errors when invoking a builtin tool fails', async () => {
568
+ it('should handle errors when transformApiArgumentsToAiState throw error', async () => {
569
+ const args = { key: 'value' };
553
570
  const payload = {
554
571
  apiName: 'builtinApi',
555
- arguments: JSON.stringify({ key: 'value' }),
572
+ arguments: JSON.stringify(args),
556
573
  } as ChatToolPayload;
557
574
 
558
575
  const messageId = 'message-id';
559
- const error = new Error('Builtin tool failed');
560
576
 
561
577
  useToolStore.setState({
562
- transformApiArgumentsToAiState: vi.fn().mockRejectedValue(error),
578
+ transformApiArgumentsToAiState: vi
579
+ .fn()
580
+ .mockRejectedValue({ error: 'transformApiArgumentsToAiState throw error' }),
563
581
  });
564
582
 
565
583
  useChatStore.setState({
566
584
  internal_togglePluginApiCalling: vi.fn(),
567
585
  internal_updateMessageContent: vi.fn(),
586
+ internal_updatePluginError: vi.fn(),
568
587
  text2image: vi.fn(),
569
588
  refreshMessages: vi.fn(),
570
589
  });
@@ -575,19 +594,34 @@ describe('ChatPluginAction', () => {
575
594
  await result.current.invokeBuiltinTool(messageId, payload);
576
595
  });
577
596
 
597
+ expect(result.current.internal_updatePluginError).toHaveBeenCalledWith('message-id', {
598
+ type: 'PluginFailToTransformArguments',
599
+ body: {
600
+ message: expect.any(String),
601
+ stack: undefined,
602
+ arguments: args,
603
+ schema: undefined,
604
+ },
605
+ message: expect.any(String),
606
+ });
578
607
  // Verify that loading was toggled correctly
579
- expect(result.current.internal_togglePluginApiCalling).toHaveBeenCalledWith(
608
+ expect(result.current.internal_togglePluginApiCalling).toHaveBeenNthCalledWith(
609
+ 1,
580
610
  true,
581
611
  messageId,
582
612
  expect.any(String),
583
613
  );
584
- expect(result.current.internal_togglePluginApiCalling).toHaveBeenCalledWith(false);
614
+ expect(result.current.internal_togglePluginApiCalling).toHaveBeenNthCalledWith(
615
+ 2,
616
+ false,
617
+ messageId,
618
+ expect.any(String),
619
+ );
585
620
 
586
621
  // Verify that the message content was not updated
587
622
  expect(result.current.internal_updateMessageContent).not.toHaveBeenCalled();
588
623
 
589
624
  // Verify that messages were not refreshed
590
- expect(result.current.refreshMessages).not.toHaveBeenCalled();
591
625
  expect(useChatStore.getState().text2image).not.toHaveBeenCalled();
592
626
  });
593
627
  });
@@ -946,7 +980,7 @@ describe('ChatPluginAction', () => {
946
980
  describe('internal_updatePluginError', () => {
947
981
  it('should update plugin error and refresh messages', async () => {
948
982
  const messageId = 'message-id';
949
- const error = { message: 'Plugin error' };
983
+ const error = { message: 'Plugin error' } as any;
950
984
 
951
985
  act(() => {
952
986
  useChatStore.setState({
@@ -960,7 +994,7 @@ describe('ChatPluginAction', () => {
960
994
  await result.current.internal_updatePluginError(messageId, error);
961
995
  });
962
996
 
963
- expect(messageService.updateMessage).toHaveBeenCalledWith(messageId, { pluginError: error });
997
+ expect(messageService.updateMessage).toHaveBeenCalledWith(messageId, { error });
964
998
  expect(result.current.refreshMessages).toHaveBeenCalled();
965
999
  });
966
1000
  });
@@ -12,7 +12,9 @@ import { CreateMessageParams, messageService } from '@/services/message';
12
12
  import { ChatStore } from '@/store/chat/store';
13
13
  import { useToolStore } from '@/store/tool';
14
14
  import { pluginSelectors } from '@/store/tool/selectors';
15
- import { ChatMessage, ChatToolPayload, MessageToolCall } from '@/types/message';
15
+ import { builtinTools } from '@/tools';
16
+ import { ChatErrorType } from '@/types/fetch';
17
+ import { ChatMessage, ChatMessageError, ChatToolPayload, MessageToolCall } from '@/types/message';
16
18
  import { merge } from '@/utils/merge';
17
19
  import { safeParseJSON } from '@/utils/safeParseJSON';
18
20
  import { setNamespace } from '@/utils/storeDebug';
@@ -58,7 +60,7 @@ export interface ChatPluginAction {
58
60
  action?: string,
59
61
  ) => AbortController | undefined;
60
62
  internal_transformToolCalls: (toolCalls: MessageToolCall[]) => ChatToolPayload[];
61
- internal_updatePluginError: (id: string, error: any) => Promise<void>;
63
+ internal_updatePluginError: (id: string, error: ChatMessageError) => Promise<void>;
62
64
  }
63
65
 
64
66
  export const chatPlugin: StateCreator<
@@ -88,16 +90,36 @@ export const chatPlugin: StateCreator<
88
90
  if (triggerAiMessage) await triggerAIMessage({ parentId: id });
89
91
  },
90
92
  invokeBuiltinTool: async (id, payload) => {
91
- const { internal_togglePluginApiCalling, internal_updateMessageContent } = get();
93
+ const {
94
+ internal_togglePluginApiCalling,
95
+ internal_updateMessageContent,
96
+ internal_updatePluginError,
97
+ } = get();
92
98
  const params = JSON.parse(payload.arguments);
93
- internal_togglePluginApiCalling(true, id, n('invokeBuiltinTool') as string);
99
+ internal_togglePluginApiCalling(true, id, n('invokeBuiltinTool/start') as string);
94
100
  let data;
95
101
  try {
96
102
  data = await useToolStore.getState().transformApiArgumentsToAiState(payload.apiName, params);
97
103
  } catch (error) {
98
- console.log(error);
104
+ const err = error as Error;
105
+ console.error(err);
106
+
107
+ const tool = builtinTools.find((tool) => tool.identifier === payload.identifier);
108
+ const schema = tool?.manifest?.api.find((api) => api.name === payload.apiName)?.parameters;
109
+
110
+ await internal_updatePluginError(id, {
111
+ type: ChatErrorType.PluginFailToTransformArguments,
112
+ body: {
113
+ message:
114
+ "[plugin] fail to transform plugin arguments to ai state, it may due to model's limited tools calling capacity. You can refer to https://lobehub.com/docs/usage/tools-calling for more detail.",
115
+ stack: err.stack,
116
+ arguments: params,
117
+ schema,
118
+ },
119
+ message: '',
120
+ });
99
121
  }
100
- internal_togglePluginApiCalling(false);
122
+ internal_togglePluginApiCalling(false, id, n('invokeBuiltinTool/end') as string);
101
123
 
102
124
  if (!data) return;
103
125
 
@@ -435,7 +457,7 @@ export const chatPlugin: StateCreator<
435
457
  const { refreshMessages } = get();
436
458
 
437
459
  get().internal_dispatchMessage({ id, type: 'updateMessage', value: { error } });
438
- await messageService.updateMessage(id, { pluginError: error });
460
+ await messageService.updateMessage(id, { error });
439
461
  await refreshMessages();
440
462
  },
441
463
  });
@@ -35,7 +35,6 @@ export const createBuiltinToolSlice: StateCreator<
35
35
 
36
36
  transformApiArgumentsToAiState: async (key, params) => {
37
37
  const { builtinToolLoading, toggleBuiltinToolLoading } = get();
38
-
39
38
  if (builtinToolLoading[key]) return;
40
39
 
41
40
  const { [key as keyof BuiltinToolAction]: action } = get();
@@ -44,11 +43,16 @@ export const createBuiltinToolSlice: StateCreator<
44
43
 
45
44
  toggleBuiltinToolLoading(key, true);
46
45
 
47
- // @ts-ignore
48
- const result = await action(params);
46
+ try {
47
+ // @ts-ignore
48
+ const result = await action(params);
49
49
 
50
- toggleBuiltinToolLoading(key, false);
50
+ toggleBuiltinToolLoading(key, false);
51
51
 
52
- return JSON.stringify(result);
52
+ return JSON.stringify(result);
53
+ } catch (e) {
54
+ toggleBuiltinToolLoading(key, false);
55
+ throw e;
56
+ }
53
57
  },
54
58
  });
@@ -4,13 +4,14 @@ import { ILobeAgentRuntimeErrorType } from '@/libs/agent-runtime';
4
4
  export const ChatErrorType = {
5
5
  // ******* 业务错误语义 ******* //
6
6
 
7
- InvalidAccessCode: 'InvalidAccessCode', // 密码无效
7
+ InvalidAccessCode: 'InvalidAccessCode', // is in valid password
8
8
  InvalidClerkUser: 'InvalidClerkUser', // is not Clerk User
9
9
  /**
10
10
  * @deprecated
11
11
  */
12
12
  NoOpenAIAPIKey: 'NoOpenAIAPIKey',
13
13
  OllamaServiceUnavailable: 'OllamaServiceUnavailable', // 未启动/检测到 Ollama 服务
14
+ PluginFailToTransformArguments: 'PluginFailToTransformArguments',
14
15
 
15
16
  // ******* 客户端错误 ******* //
16
17
  BadRequest: 400,
@@ -20,7 +21,7 @@ export const ChatErrorType = {
20
21
  MethodNotAllowed: 405, // 不支持
21
22
  TooManyRequests: 429,
22
23
 
23
- // ******* 服务端错误 ******* //
24
+ // ******* 服务端错误 ******* //InvalidPluginArgumentsTransform
24
25
  InternalServerError: 500,
25
26
  BadGateway: 502,
26
27
  ServiceUnavailable: 503,