@lobehub/chat 1.45.5 → 1.45.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/changelog/v1.json +18 -0
  3. package/locales/ar/modelProvider.json +2 -2
  4. package/locales/bg-BG/modelProvider.json +2 -2
  5. package/locales/de-DE/modelProvider.json +2 -2
  6. package/locales/en-US/modelProvider.json +2 -2
  7. package/locales/es-ES/modelProvider.json +2 -2
  8. package/locales/fa-IR/modelProvider.json +2 -2
  9. package/locales/fr-FR/modelProvider.json +2 -2
  10. package/locales/it-IT/modelProvider.json +2 -2
  11. package/locales/ja-JP/modelProvider.json +2 -2
  12. package/locales/ko-KR/modelProvider.json +2 -2
  13. package/locales/nl-NL/modelProvider.json +2 -2
  14. package/locales/pl-PL/modelProvider.json +2 -2
  15. package/locales/pt-BR/modelProvider.json +2 -2
  16. package/locales/ru-RU/modelProvider.json +2 -2
  17. package/locales/tr-TR/modelProvider.json +2 -2
  18. package/locales/vi-VN/modelProvider.json +2 -2
  19. package/locales/zh-CN/modelProvider.json +2 -2
  20. package/locales/zh-TW/modelProvider.json +2 -2
  21. package/package.json +3 -3
  22. package/src/app/(main)/chat/(workspace)/features/TelemetryNotification.tsx +1 -1
  23. package/src/app/(main)/files/(content)/@menu/features/KnowledgeBase/EmptyStatus.tsx +1 -1
  24. package/src/app/(main)/files/[id]/Header.tsx +1 -1
  25. package/src/app/(main)/settings/provider/features/CreateNewProvider/index.tsx +1 -1
  26. package/src/app/(main)/settings/sync/features/WebRTC/SyncSwitch/index.tsx +7 -7
  27. package/src/components/BubblesLoading/index.tsx +3 -3
  28. package/src/config/aiModels/index.ts +38 -0
  29. package/src/config/modelProviders/index.ts +3 -0
  30. package/src/database/repositories/aiInfra/index.ts +3 -1
  31. package/src/features/Conversation/Messages/Assistant/FileChunks/index.tsx +1 -1
  32. package/src/features/Conversation/components/History/index.tsx +1 -1
  33. package/src/features/InitClientDB/PGliteIcon.tsx +1 -1
  34. package/src/libs/agent-runtime/openai/__snapshots__/index.test.ts.snap +6 -0
  35. package/src/libs/agent-runtime/utils/openaiCompatibleFactory/index.test.ts +94 -23
  36. package/src/libs/agent-runtime/utils/openaiCompatibleFactory/index.ts +21 -6
  37. package/src/locales/default/modelProvider.ts +2 -2
  38. package/src/migrations/FromV3ToV4/index.ts +1 -1
  39. package/src/server/globalConfig/{genServerLLMConfig.test.ts → _deprecated.test.ts} +2 -4
  40. package/src/server/globalConfig/{genServerLLMConfig.ts → _deprecated.ts} +1 -1
  41. package/src/server/globalConfig/genServerAiProviderConfig.ts +42 -0
  42. package/src/server/globalConfig/index.ts +23 -1
  43. package/src/server/routers/lambda/aiModel.ts +2 -2
  44. package/src/server/routers/lambda/aiProvider.ts +2 -2
  45. package/src/types/aiModel.ts +1 -0
  46. package/src/types/serverConfig.ts +1 -0
  47. package/src/types/user/settings/modelProvider.ts +2 -0
  48. package/src/utils/__snapshots__/parseModels.test.ts.snap +37 -5
  49. package/src/utils/_deprecated/__snapshots__/parseModels.test.ts.snap +112 -0
  50. package/src/utils/_deprecated/parseModels.test.ts +276 -0
  51. package/src/utils/_deprecated/parseModels.ts +161 -0
  52. package/src/utils/fetch/__tests__/fetchSSE.test.ts +1 -1
  53. package/src/utils/parseModels.test.ts +153 -46
  54. package/src/utils/parseModels.ts +34 -21
  55. package/tests/setup-db.ts +0 -3
package/CHANGELOG.md CHANGED
@@ -2,6 +2,56 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ### [Version 1.45.7](https://github.com/lobehub/lobe-chat/compare/v1.45.6...v1.45.7)
6
+
7
+ <sup>Released on **2025-01-13**</sup>
8
+
9
+ #### 🐛 Bug Fixes
10
+
11
+ - **misc**: Fix released at for undefined condition.
12
+
13
+ <br/>
14
+
15
+ <details>
16
+ <summary><kbd>Improvements and Fixes</kbd></summary>
17
+
18
+ #### What's fixed
19
+
20
+ - **misc**: Fix released at for undefined condition, closes [#5391](https://github.com/lobehub/lobe-chat/issues/5391) ([9c5822a](https://github.com/lobehub/lobe-chat/commit/9c5822a))
21
+
22
+ </details>
23
+
24
+ <div align="right">
25
+
26
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
27
+
28
+ </div>
29
+
30
+ ### [Version 1.45.6](https://github.com/lobehub/lobe-chat/compare/v1.45.5...v1.45.6)
31
+
32
+ <sup>Released on **2025-01-10**</sup>
33
+
34
+ #### 🐛 Bug Fixes
35
+
36
+ - **misc**: Fix `*_MODEL_LIST` env in new provider.
37
+
38
+ <br/>
39
+
40
+ <details>
41
+ <summary><kbd>Improvements and Fixes</kbd></summary>
42
+
43
+ #### What's fixed
44
+
45
+ - **misc**: Fix `*_MODEL_LIST` env in new provider, closes [#5350](https://github.com/lobehub/lobe-chat/issues/5350) ([2b1b2a2](https://github.com/lobehub/lobe-chat/commit/2b1b2a2))
46
+
47
+ </details>
48
+
49
+ <div align="right">
50
+
51
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
52
+
53
+ </div>
54
+
5
55
  ### [Version 1.45.5](https://github.com/lobehub/lobe-chat/compare/v1.45.4...v1.45.5)
6
56
 
7
57
  <sup>Released on **2025-01-09**</sup>
package/changelog/v1.json CHANGED
@@ -1,4 +1,22 @@
1
1
  [
2
+ {
3
+ "children": {
4
+ "fixes": [
5
+ "Fix released at for undefined condition."
6
+ ]
7
+ },
8
+ "date": "2025-01-13",
9
+ "version": "1.45.7"
10
+ },
11
+ {
12
+ "children": {
13
+ "fixes": [
14
+ "Fix *_MODEL_LIST env in new provider."
15
+ ]
16
+ },
17
+ "date": "2025-01-10",
18
+ "version": "1.45.6"
19
+ },
2
20
  {
3
21
  "children": {
4
22
  "fixes": [
@@ -79,7 +79,7 @@
79
79
  },
80
80
  "id": {
81
81
  "desc": "معرف فريد لمزود الخدمة، لا يمكن تعديله بعد الإنشاء",
82
- "format": "يمكن أن يحتوي فقط على أحرف صغيرة، وشرطات (-) وشرطات سفلية (_)",
82
+ "format": "يمكن أن يحتوي فقط على أرقام، أحرف صغيرة، شرطات (-) وشرطات سفلية (_) ",
83
83
  "placeholder": "يفضل أن يكون بالكامل بحروف صغيرة، مثل openai، لن يمكن تعديله بعد الإنشاء",
84
84
  "required": "يرجى إدخال معرف المزود",
85
85
  "title": "معرف المزود"
@@ -151,7 +151,7 @@
151
151
  "title": "جارٍ تنزيل النموذج {{model}} "
152
152
  },
153
153
  "endpoint": {
154
- "desc": "أدخل عنوان واجهة برمجة التطبيقات الخاص بـ Ollama، إذا لم يتم تحديده محليًا، يمكن تركه فارغًا",
154
+ "desc": "يجب أن تحتوي على http(s)://، يمكن تركها فارغة إذا لم يتم تحديدها محليًا",
155
155
  "title": "عنوان وكيل الواجهة"
156
156
  },
157
157
  "setup": {
@@ -79,7 +79,7 @@
79
79
  },
80
80
  "id": {
81
81
  "desc": "Уникален идентификатор за доставчика на услуги, който не може да бъде променян след създаването му",
82
- "format": "Може да съдържа само малки букви, тирета (-) и долни черти (_)",
82
+ "format": "Може да съдържа само цифри, малки букви, тирета (-) и долни черти (_) ",
83
83
  "placeholder": "Препоръчително изцяло с малки букви, например openai, след създаването не може да се промени",
84
84
  "required": "Моля, въведете ID на доставчика",
85
85
  "title": "ID на доставчика"
@@ -151,7 +151,7 @@
151
151
  "title": "Изтегляне на модел {{model}} "
152
152
  },
153
153
  "endpoint": {
154
- "desc": "Въведете адрес на Ollama интерфейсния прокси, оставете празно, ако локално не е указано специално",
154
+ "desc": "Трябва да съдържа http(s)://, местният адрес може да остане празен, ако не е зададен допълнително",
155
155
  "title": "Адрес на прокси интерфейс"
156
156
  },
157
157
  "setup": {
@@ -79,7 +79,7 @@
79
79
  },
80
80
  "id": {
81
81
  "desc": "Eindeutige Kennung des Anbieters, die nach der Erstellung nicht mehr geändert werden kann",
82
- "format": "Darf nur aus Kleinbuchstaben, Bindestrichen (-) und Unterstrichen (_) bestehen",
82
+ "format": "Darf nur aus Zahlen, Kleinbuchstaben, Bindestrichen (-) und Unterstrichen (_) bestehen",
83
83
  "placeholder": "Empfohlen in Kleinbuchstaben, z.B. openai, nach der Erstellung nicht mehr änderbar",
84
84
  "required": "Bitte geben Sie die Anbieter-ID ein",
85
85
  "title": "Anbieter-ID"
@@ -151,7 +151,7 @@
151
151
  "title": "Lade Modell {{model}} herunter"
152
152
  },
153
153
  "endpoint": {
154
- "desc": "Geben Sie die Proxy-Adresse der Ollama-Schnittstelle ein, leer lassen, wenn lokal nicht spezifiziert",
154
+ "desc": "Muss http(s):// enthalten, kann leer gelassen werden, wenn lokal nicht zusätzlich angegeben.",
155
155
  "title": "Schnittstellen-Proxy-Adresse"
156
156
  },
157
157
  "setup": {
@@ -79,7 +79,7 @@
79
79
  },
80
80
  "id": {
81
81
  "desc": "Unique identifier for the service provider, which cannot be modified after creation",
82
- "format": "Can only contain lowercase letters, hyphens (-), and underscores (_) ",
82
+ "format": "Can only contain numbers, lowercase letters, hyphens (-), and underscores (_) ",
83
83
  "placeholder": "Suggested all lowercase, e.g., openai, cannot be modified after creation",
84
84
  "required": "Please enter the provider ID",
85
85
  "title": "Provider ID"
@@ -151,7 +151,7 @@
151
151
  "title": "Downloading model {{model}}"
152
152
  },
153
153
  "endpoint": {
154
- "desc": "Enter the Ollama interface proxy address, leave blank if not specified locally",
154
+ "desc": "Must include http(s)://; can be left blank if not specified locally.",
155
155
  "title": "Interface proxy address"
156
156
  },
157
157
  "setup": {
@@ -79,7 +79,7 @@
79
79
  },
80
80
  "id": {
81
81
  "desc": "Identificador único del proveedor de servicios, no se puede modificar una vez creado",
82
- "format": "Solo puede contener letras minúsculas, guiones (-) y guiones bajos (_)",
82
+ "format": "Solo puede contener números, letras minúsculas, guiones (-) y guiones bajos (_) ",
83
83
  "placeholder": "Se recomienda en minúsculas, por ejemplo openai, no se puede modificar después de crear",
84
84
  "required": "Por favor, introduce el ID del proveedor",
85
85
  "title": "ID del proveedor"
@@ -151,7 +151,7 @@
151
151
  "title": "Descargando el modelo {{model}} "
152
152
  },
153
153
  "endpoint": {
154
- "desc": "Introduce la dirección del proxy de la interfaz de Ollama, déjalo en blanco si no se ha especificado localmente",
154
+ "desc": "Debe incluir http(s)://, se puede dejar vacío si no se especifica localmente",
155
155
  "title": "Dirección del proxy de la interfaz"
156
156
  },
157
157
  "setup": {
@@ -79,7 +79,7 @@
79
79
  },
80
80
  "id": {
81
81
  "desc": "به عنوان شناسه منحصر به فرد ارائه‌دهنده خدمات، پس از ایجاد قابل ویرایش نخواهد بود",
82
- "format": "فقط می‌تواند شامل حروف کوچک، خط تیره (-) و زیرخط (_) باشد",
82
+ "format": "فقط می‌تواند شامل اعداد، حروف کوچک، خط تیره (-) و زیرخط (_) باشد",
83
83
  "placeholder": "توصیه می‌شود تماماً با حروف کوچک باشد، مانند openai، پس از ایجاد قابل ویرایش نخواهد بود",
84
84
  "required": "لطفاً شناسه ارائه‌دهنده را وارد کنید",
85
85
  "title": "شناسه ارائه‌دهنده"
@@ -151,7 +151,7 @@
151
151
  "title": "در حال دانلود مدل {{model}} "
152
152
  },
153
153
  "endpoint": {
154
- "desc": "آدرس پروکسی رابط Ollama را وارد کنید، اگر به صورت محلی تنظیم نشده است، می‌توانید خالی بگذارید",
154
+ "desc": "باید شامل http(s):// باشد، اگر محلی به طور اضافی مشخص نشده باشد می‌توان خالی گذاشت",
155
155
  "title": "آدرس سرویس Ollama"
156
156
  },
157
157
  "setup": {
@@ -79,7 +79,7 @@
79
79
  },
80
80
  "id": {
81
81
  "desc": "Identifiant unique du fournisseur de services, qui ne peut pas être modifié après sa création",
82
- "format": "Ne peut contenir que des lettres minuscules, des tirets (-) et des underscores (_) ",
82
+ "format": "Ne peut contenir que des chiffres, des lettres minuscules, des tirets (-) et des underscores (_) ",
83
83
  "placeholder": "Utilisez uniquement des lettres minuscules, par exemple openai, non modifiable après création",
84
84
  "required": "Veuillez entrer l'ID du fournisseur",
85
85
  "title": "ID du fournisseur"
@@ -151,7 +151,7 @@
151
151
  "title": "Téléchargement du modèle {{model}} en cours"
152
152
  },
153
153
  "endpoint": {
154
- "desc": "Saisissez l'adresse du proxy Ollama, laissez vide si non spécifié localement",
154
+ "desc": "Doit inclure http(s)://, peut rester vide si non spécifié localement",
155
155
  "title": "Adresse du proxy"
156
156
  },
157
157
  "setup": {
@@ -79,7 +79,7 @@
79
79
  },
80
80
  "id": {
81
81
  "desc": "Identificatore unico del fornitore di servizi, non modificabile dopo la creazione",
82
- "format": "Può contenere solo lettere minuscole, trattini (-) e underscore (_)",
82
+ "format": "Può contenere solo numeri, lettere minuscole, trattini (-) e underscore (_) ",
83
83
  "placeholder": "Si consiglia di utilizzare solo lettere minuscole, ad esempio openai, non modificabile dopo la creazione",
84
84
  "required": "Inserisci l'ID del fornitore",
85
85
  "title": "ID del fornitore"
@@ -151,7 +151,7 @@
151
151
  "title": "Download del modello in corso {{model}}"
152
152
  },
153
153
  "endpoint": {
154
- "desc": "Inserisci l'indirizzo del proxy dell'interfaccia Ollama. Lascia vuoto se non specificato localmente",
154
+ "desc": "Deve includere http(s)://, può rimanere vuoto se non specificato localmente",
155
155
  "title": "Indirizzo del proxy dell'interfaccia"
156
156
  },
157
157
  "setup": {
@@ -79,7 +79,7 @@
79
79
  },
80
80
  "id": {
81
81
  "desc": "サービスプロバイダーの一意の識別子であり、作成後は変更できません",
82
- "format": "小文字のアルファベット、ハイフン(-)、およびアンダースコア(_)のみを含むことができます",
82
+ "format": "数字、小文字のアルファベット、ハイフン(-)、およびアンダースコア(_)のみを含むことができます",
83
83
  "placeholder": "小文字で入力してください(例: openai)。作成後は変更できません",
84
84
  "required": "サービスプロバイダー ID を入力してください",
85
85
  "title": "サービスプロバイダー ID"
@@ -151,7 +151,7 @@
151
151
  "title": "モデル{{model}}をダウンロード中"
152
152
  },
153
153
  "endpoint": {
154
- "desc": "Ollamaプロキシインターフェースアドレスを入力してください。ローカルで追加の指定がない場合は空白のままにしてください",
154
+ "desc": "http(s)://を含める必要があります。ローカルで特に指定がない場合は空白のままで構いません",
155
155
  "title": "プロキシインターフェースアドレス"
156
156
  },
157
157
  "setup": {
@@ -79,7 +79,7 @@
79
79
  },
80
80
  "id": {
81
81
  "desc": "서비스 제공자의 고유 식별자로, 생성 후에는 수정할 수 없습니다.",
82
- "format": "소문자, 하이픈(-), 및 언더스코어(_)만 포함할 수 있습니다.",
82
+ "format": "숫자, 소문자, 하이픈(-), 및 언더스코어(_)만 포함할 수 있습니다.",
83
83
  "placeholder": "소문자로 입력하세요, 예: openai, 생성 후 수정할 수 없습니다",
84
84
  "required": "서비스 제공자 ID를 입력하세요",
85
85
  "title": "서비스 제공자 ID"
@@ -151,7 +151,7 @@
151
151
  "title": "모델 {{model}} 다운로드 중"
152
152
  },
153
153
  "endpoint": {
154
- "desc": "Ollama 인터페이스 프록시 주소를 입력하세요. 로컬에서 별도로 지정하지 않은 경우 비워둘 수 있습니다",
154
+ "desc": "http(s)://를 포함해야 하며, 로컬에서 추가로 지정하지 않은 경우 비워둘 수 있습니다.",
155
155
  "title": "인터페이스 프록시 주소"
156
156
  },
157
157
  "setup": {
@@ -79,7 +79,7 @@
79
79
  },
80
80
  "id": {
81
81
  "desc": "Een unieke identificatie voor de dienstverlener, kan na creatie niet meer worden gewijzigd",
82
- "format": "Mag alleen kleine letters, koppeltekens (-) en underscores (_) bevatten",
82
+ "format": "Mag alleen cijfers, kleine letters, koppeltekens (-) en onderstrepingstekens (_) bevatten",
83
83
  "placeholder": "Gebruik alleen kleine letters, bijvoorbeeld openai, kan niet worden gewijzigd na aanmaak",
84
84
  "required": "Vul de provider ID in",
85
85
  "title": "Provider ID"
@@ -151,7 +151,7 @@
151
151
  "title": "Model {{model}} wordt gedownload"
152
152
  },
153
153
  "endpoint": {
154
- "desc": "Voer het Ollama interface proxyadres in, laat leeg indien niet specifiek aangegeven",
154
+ "desc": "Moet http(s):// bevatten, kan leeg gelaten worden als lokaal niet specifiek opgegeven",
155
155
  "title": "Interface Proxyadres"
156
156
  },
157
157
  "setup": {
@@ -79,7 +79,7 @@
79
79
  },
80
80
  "id": {
81
81
  "desc": "Unikalny identyfikator dostawcy usług, po utworzeniu nie można go zmienić",
82
- "format": "Może zawierać tylko małe litery, myślniki (-) i podkreślenia (_)",
82
+ "format": "Może zawierać tylko cyfry, małe litery, myślniki (-) i podkreślenia (_) ",
83
83
  "placeholder": "Zaleca się użycie małych liter, np. openai, po utworzeniu nie można edytować",
84
84
  "required": "Proszę wpisać identyfikator dostawcy",
85
85
  "title": "Identyfikator dostawcy"
@@ -151,7 +151,7 @@
151
151
  "title": "Pobieranie modelu {{model}}"
152
152
  },
153
153
  "endpoint": {
154
- "desc": "Wprowadź adres rest API Ollama, jeśli lokalnie nie określono, pozostaw puste",
154
+ "desc": "Musi zawierać http(s)://, lokalnie, jeśli nie określono inaczej, można pozostawić puste",
155
155
  "title": "Adres proxy API"
156
156
  },
157
157
  "setup": {
@@ -79,7 +79,7 @@
79
79
  },
80
80
  "id": {
81
81
  "desc": "Identificador único do provedor de serviços, não pode ser modificado após a criação",
82
- "format": "Pode conter apenas letras minúsculas, hífens (-) e sublinhados (_)",
82
+ "format": " pode conter números, letras minúsculas, hífens (-) e sublinhados (_) ",
83
83
  "placeholder": "Sugestão: tudo em minúsculas, por exemplo, openai, não poderá ser modificado após a criação",
84
84
  "required": "Por favor, insira o ID do provedor",
85
85
  "title": "ID do Provedor"
@@ -151,7 +151,7 @@
151
151
  "title": "Baixando o modelo {{model}} "
152
152
  },
153
153
  "endpoint": {
154
- "desc": "Insira o endereço do proxy de interface da Ollama, se não foi especificado localmente, pode deixar em branco",
154
+ "desc": "Deve incluir http(s)://, pode deixar em branco se não houver especificação local adicional",
155
155
  "title": "Endereço do Proxy de Interface"
156
156
  },
157
157
  "setup": {
@@ -79,7 +79,7 @@
79
79
  },
80
80
  "id": {
81
81
  "desc": "Уникальный идентификатор для поставщика услуг, который нельзя изменить после создания",
82
- "format": "Может содержать только строчные буквы, дефисы (-) и подчеркивания (_)",
82
+ "format": "Может содержать только цифры, строчные буквы, дефисы (-) и подчеркивания (_) ",
83
83
  "placeholder": "Рекомендуется использовать строчные буквы, например, openai, после создания изменить нельзя",
84
84
  "required": "Пожалуйста, введите ID провайдера",
85
85
  "title": "ID провайдера"
@@ -151,7 +151,7 @@
151
151
  "title": "Загрузка модели {{model}} "
152
152
  },
153
153
  "endpoint": {
154
- "desc": "Введите адрес прокси-интерфейса Ollama, если локально не указано иное, можете оставить пустым",
154
+ "desc": "Должен содержать http(s)://, если локально не указано иное, можно оставить пустым",
155
155
  "title": "Адрес прокси-интерфейса"
156
156
  },
157
157
  "setup": {
@@ -79,7 +79,7 @@
79
79
  },
80
80
  "id": {
81
81
  "desc": "Hizmet sağlayıcının benzersiz kimliği, oluşturulduktan sonra değiştirilemez",
82
- "format": "Sadece küçük harfler, tire (-) ve alt çizgi (_) içerebilir",
82
+ "format": "Sadece rakamlar, küçük harfler, tire (-) ve alt çizgi (_) içerebilir",
83
83
  "placeholder": "Küçük harflerle yazılması önerilir, örneğin openai, oluşturduktan sonra değiştirilemez",
84
84
  "required": "Lütfen hizmet sağlayıcı ID'sini girin",
85
85
  "title": "Hizmet Sağlayıcı ID"
@@ -151,7 +151,7 @@
151
151
  "title": "正在下载模型 {{model}} "
152
152
  },
153
153
  "endpoint": {
154
- "desc": "Ollama arayüz proxy adresini girin, yerel olarak belirtilmemişse boş bırakılabilir",
154
+ "desc": "http(s):// içermelidir, yerel olarak belirtilmemişse boş bırakılabilir",
155
155
  "title": "Arayüz Proxy Adresi"
156
156
  },
157
157
  "setup": {
@@ -79,7 +79,7 @@
79
79
  },
80
80
  "id": {
81
81
  "desc": "Là định danh duy nhất của nhà cung cấp dịch vụ, không thể sửa đổi sau khi tạo",
82
- "format": "Chỉ có thể chứa chữ cái thường, dấu gạch ngang (-) và dấu gạch dưới (_)",
82
+ "format": "Chỉ có thể chứa số, chữ cái thường, dấu gạch ngang (-) và dấu gạch dưới (_) ",
83
83
  "placeholder": "Nên viết toàn bộ bằng chữ thường, ví dụ openai, không thể sửa sau khi tạo",
84
84
  "required": "Vui lòng nhập ID nhà cung cấp",
85
85
  "title": "ID nhà cung cấp"
@@ -151,7 +151,7 @@
151
151
  "title": "Đang tải mô hình {{model}}"
152
152
  },
153
153
  "endpoint": {
154
- "desc": "Nhập địa chỉ proxy API của Ollama, có thể để trống nếu không chỉ định cụ thể",
154
+ "desc": "Phải bao gồm http(s)://, có thể để trống nếu không chỉ định thêm cho địa phương",
155
155
  "title": "Địa chỉ proxy API"
156
156
  },
157
157
  "setup": {
@@ -79,7 +79,7 @@
79
79
  },
80
80
  "id": {
81
81
  "desc": "作为服务商唯一标识,创建后将不可修改",
82
- "format": "只能包含小写字母、连字符(-)和下划线(_)",
82
+ "format": "只能包含数字、小写字母、连字符(-)和下划线(_)",
83
83
  "placeholder": "例如 openai、gemini 等",
84
84
  "required": "请填写服务商 ID",
85
85
  "title": "服务商 ID"
@@ -151,7 +151,7 @@
151
151
  "title": "正在下载模型 {{model}} "
152
152
  },
153
153
  "endpoint": {
154
- "desc": "填入 Ollama 接口代理地址,本地未额外指定可留空",
154
+ "desc": "必须包含http(s)://,本地未额外指定可留空",
155
155
  "title": "Ollama 服务地址"
156
156
  },
157
157
  "setup": {
@@ -79,7 +79,7 @@
79
79
  },
80
80
  "id": {
81
81
  "desc": "作為服務商唯一標識,創建後將不可修改",
82
- "format": "只能包含小寫字母、連字符(-)和下劃線(_)",
82
+ "format": "只能包含數字、小寫字母、連字符(-)和底線(_)",
83
83
  "placeholder": "建議全小寫,例如 openai,創建後將不可修改",
84
84
  "required": "請填寫服務商 ID",
85
85
  "title": "服務商 ID"
@@ -151,7 +151,7 @@
151
151
  "title": "正在下載模型 {{model}}"
152
152
  },
153
153
  "endpoint": {
154
- "desc": "填入 Ollama 接口代理地址,本地未額外指定可留空",
154
+ "desc": "必須包含http(s)://,本地未額外指定可留空",
155
155
  "title": "接口代理地址"
156
156
  },
157
157
  "setup": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/chat",
3
- "version": "1.45.5",
3
+ "version": "1.45.7",
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",
@@ -129,7 +129,7 @@
129
129
  "@lobehub/chat-plugins-gateway": "^1.9.0",
130
130
  "@lobehub/icons": "^1.61.1",
131
131
  "@lobehub/tts": "^1.28.0",
132
- "@lobehub/ui": "^1.163.0",
132
+ "@lobehub/ui": "^1.164.2",
133
133
  "@neondatabase/serverless": "^0.10.4",
134
134
  "@next/third-parties": "^15.1.4",
135
135
  "@react-spring/web": "^9.7.5",
@@ -244,7 +244,7 @@
244
244
  "@edge-runtime/vm": "^5.0.0",
245
245
  "@huggingface/tasks": "^0.13.13",
246
246
  "@lobehub/i18n-cli": "^1.20.3",
247
- "@lobehub/lint": "^1.25.3",
247
+ "@lobehub/lint": "^1.25.5",
248
248
  "@lobehub/seo-cli": "^1.4.3",
249
249
  "@next/bundle-analyzer": "^15.1.4",
250
250
  "@next/eslint-plugin-next": "^15.1.4",
@@ -53,7 +53,7 @@ const TelemetryNotification = memo<{ mobile?: boolean }>(({ mobile }) => {
53
53
  avatar={<TelescopeIcon />}
54
54
  background={theme.geekblue1}
55
55
  style={{ color: theme.geekblue7 }}
56
- ></Avatar>
56
+ />
57
57
  </Flexbox>
58
58
  <Flexbox gap={16}>
59
59
  <Flexbox gap={12}>
@@ -34,7 +34,7 @@ const LineIcon: IconType = forwardRef(({ size = 130, style, ...rest }, ref) => (
34
34
  xmlns="http://www.w3.org/2000/svg"
35
35
  {...rest}
36
36
  >
37
- <path d="M.5 63a.5.5 0 001 0h-1zM122 1l-2.887 5h5.774L122 1zM1.5 62.042a.5.5 0 10-1 0h1zm-1-1.917a.5.5 0 001 0h-1zm1-1.917a.5.5 0 00-1 0h1zm-1-1.916a.5.5 0 001 0h-1zm1-1.917a.5.5 0 00-1 0h1zm-1-1.917a.5.5 0 101 0h-1zm1-1.916a.5.5 0 10-1 0h1zm-1-1.917a.5.5 0 001 0h-1zm1-1.917a.5.5 0 00-1 0h1zm-1-1.916a.5.5 0 001 0h-1zm1-1.917a.5.5 0 00-1 0h1zm-1-1.917a.5.5 0 101 0h-1zm1.063-1.938a.5.5 0 10-.991-.13l.991.13zm-.418-2.274a.5.5 0 00.924.383l-.924-.383zm1.904-1.312a.5.5 0 10-.793-.609l.793.61zm.776-2.178a.5.5 0 00.61.793l-.61-.793zm2.304-.187a.5.5 0 00-.383-.924l.383.924zm1.761-1.497a.5.5 0 00.13.991l-.13-.991zm2.12.928a.5.5 0 100-1v1zm2.019-1a.5.5 0 000 1v-1zm2.02 1a.5.5 0 000-1v1zm2.018-1a.5.5 0 000 1v-1zm2.02 1a.5.5 0 100-1v1zm2.019-1a.5.5 0 100 1v-1zm2.019 1a.5.5 0 000-1v1zm2.02-1a.5.5 0 000 1v-1zm2.018 1a.5.5 0 000-1v1zm2.02-1a.5.5 0 000 1v-1zm2.019 1a.5.5 0 100-1v1zm2.02-1a.5.5 0 100 1v-1zm2.018 1a.5.5 0 000-1v1zm2.02-1a.5.5 0 000 1v-1zm2.019 1a.5.5 0 100-1v1zm2.02-1a.5.5 0 100 1v-1zm2.018 1a.5.5 0 000-1v1zm2.02-1a.5.5 0 000 1v-1zm2.019 1a.5.5 0 000-1v1zm2.019-1a.5.5 0 000 1v-1zm2.02 1a.5.5 0 100-1v1zm2.018-1a.5.5 0 100 1v-1zm2.02 1a.5.5 0 000-1v1zm2.019-1a.5.5 0 000 1v-1zm2.02 1a.5.5 0 100-1v1zm2.018-1a.5.5 0 100 1v-1zm2.02 1a.5.5 0 000-1v1zm2.019-1a.5.5 0 000 1v-1zm2.02 1a.5.5 0 000-1v1zm2.018-1a.5.5 0 000 1v-1zm2.02 1a.5.5 0 100-1v1zm2.019-1a.5.5 0 100 1v-1zm2.019 1a.5.5 0 000-1v1zm2.02-1a.5.5 0 000 1v-1zm2.019 1a.5.5 0 000-1v1zm2.019-1a.5.5 0 100 1v-1zm2.019 1a.5.5 0 100-1v1zm2.02-1a.5.5 0 100 1v-1zm2.018 1a.5.5 0 000-1v1zm2.02-1a.5.5 0 000 1v-1zm2.019 1a.5.5 0 000-1v1zm2.02-1a.5.5 0 100 1v-1zm2.018 1a.5.5 0 100-1v1zm2.02-1a.5.5 0 100 1v-1zm2.019 1a.5.5 0 000-1v1zm2.019-1a.5.5 0 000 1v-1zm2.019 1a.5.5 0 000-1v1zm2.019-1a.5.5 0 000 1v-1zm2.02 1a.5.5 0 000-1v1zm2.019-1a.5.5 0 000 1v-1zm2.019 1a.5.5 0 000-1v1zm2.019-1a.5.5 0 000 1v-1zm2.12.928a.501.501 0 00-.13-.991l.13.991zm1.761-1.497a.501.501 0 00.383.924l-.383-.924zm2.304-.187a.5.5 0 00-.609-.793l.609.793zm.776-2.178a.5.5 0 10.793.609l-.793-.61zm1.904-1.312a.5.5 0 10-.924-.383l.924.383zm-.418-2.274a.5.5 0 10.991.13l-.991-.13zm1.063-1.938a.5.5 0 00-1 0h1zm-1-1.917a.5.5 0 001 0h-1zm1-1.917a.5.5 0 00-1 0h1zm-1-1.916a.5.5 0 001 0h-1zm1-1.917a.5.5 0 00-1 0h1zm-1-1.917a.5.5 0 001 0h-1zm1-1.916a.5.5 0 00-1 0h1zm-1-1.917a.5.5 0 001 0h-1zm1-1.917a.5.5 0 00-1 0h1zm-1-1.916a.5.5 0 001 0h-1zm1-1.917a.5.5 0 00-1 0h1zm-1-1.917a.5.5 0 001 0h-1zM1.5 63v-.958h-1V63h1zm0-2.875v-1.917h-1v1.917h1zm0-3.833v-1.917h-1v1.917h1zm0-3.834v-1.916h-1v1.916h1zm0-3.833v-1.917h-1v1.917h1zm0-3.833v-1.917h-1v1.917h1zm0-3.834V40h-1v.958h1zm0-.958c0-.333.022-.66.063-.98l-.991-.13A8.574 8.574 0 00.5 40h1zm.569-2.87c.253-.61.584-1.18.98-1.696l-.793-.609a8.49 8.49 0 00-1.11 1.921l.923.383zm2.365-3.08a7.487 7.487 0 011.695-.981l-.383-.924a8.495 8.495 0 00-1.92 1.111l.608.793zm3.586-1.487c.32-.041.648-.063.98-.063v-1c-.376 0-.746.024-1.11.072l.13.991zM9 32.5h1.01v-1H9v1zm3.029 0h2.02v-1h-2.02v1zm4.038 0h2.02v-1h-2.02v1zm4.039 0h2.019v-1h-2.02v1zm4.038 0h2.02v-1h-2.02v1zm4.039 0h2.019v-1h-2.02v1zm4.038 0h2.02v-1h-2.02v1zm4.039 0h2.019v-1h-2.02v1zm4.038 0h2.02v-1h-2.02v1zm4.038 0h2.02v-1h-2.02v1zm4.039 0h2.02v-1h-2.02v1zm4.038 0h2.02v-1h-2.02v1zm4.039 0h2.02v-1h-2.02v1zm4.038 0h2.02v-1h-2.02v1zm4.039 0h2.02v-1h-2.02v1zm4.038 0h2.02v-1h-2.02v1zm4.039 0h2.019v-1h-2.02v1zm4.038 0h2.02v-1h-2.02v1zm4.039 0h2.019v-1h-2.02v1zm4.038 0h2.02v-1h-2.02v1zm4.039 0h2.019v-1h-2.02v1zm4.038 0h2.02v-1h-2.02v1zm4.039 0h2.019v-1h-2.02v1zm4.038 0h2.019v-1h-2.019v1zm4.038 0h2.02v-1h-2.02v1zm4.039 0h2.019v-1h-2.019v1zm4.038 0H114v-1h-1.01v1zm1.01 0c.376 0 .746-.024 1.11-.072l-.13-.991c-.32.041-.648.063-.98.063v1zm3.254-.645a8.506 8.506 0 001.921-1.111l-.609-.793a7.519 7.519 0 01-1.695.98l.383.924zm3.49-2.68a8.516 8.516 0 001.111-1.921l-.924-.383a7.527 7.527 0 01-.98 1.695l.793.609zm1.684-4.066c.048-.363.072-.733.072-1.109h-1c0 .332-.022.66-.063.98l.991.13zM122.5 24v-.958h-1V24h1zm0-2.875v-1.917h-1v1.917h1zm0-3.833v-1.917h-1v1.917h1zm0-3.834v-1.916h-1v1.916h1zm0-3.833V7.708h-1v1.917h1zm0-3.833V3.875h-1v1.917h1z"></path>
37
+ <path d="M.5 63a.5.5 0 001 0h-1zM122 1l-2.887 5h5.774L122 1zM1.5 62.042a.5.5 0 10-1 0h1zm-1-1.917a.5.5 0 001 0h-1zm1-1.917a.5.5 0 00-1 0h1zm-1-1.916a.5.5 0 001 0h-1zm1-1.917a.5.5 0 00-1 0h1zm-1-1.917a.5.5 0 101 0h-1zm1-1.916a.5.5 0 10-1 0h1zm-1-1.917a.5.5 0 001 0h-1zm1-1.917a.5.5 0 00-1 0h1zm-1-1.916a.5.5 0 001 0h-1zm1-1.917a.5.5 0 00-1 0h1zm-1-1.917a.5.5 0 101 0h-1zm1.063-1.938a.5.5 0 10-.991-.13l.991.13zm-.418-2.274a.5.5 0 00.924.383l-.924-.383zm1.904-1.312a.5.5 0 10-.793-.609l.793.61zm.776-2.178a.5.5 0 00.61.793l-.61-.793zm2.304-.187a.5.5 0 00-.383-.924l.383.924zm1.761-1.497a.5.5 0 00.13.991l-.13-.991zm2.12.928a.5.5 0 100-1v1zm2.019-1a.5.5 0 000 1v-1zm2.02 1a.5.5 0 000-1v1zm2.018-1a.5.5 0 000 1v-1zm2.02 1a.5.5 0 100-1v1zm2.019-1a.5.5 0 100 1v-1zm2.019 1a.5.5 0 000-1v1zm2.02-1a.5.5 0 000 1v-1zm2.018 1a.5.5 0 000-1v1zm2.02-1a.5.5 0 000 1v-1zm2.019 1a.5.5 0 100-1v1zm2.02-1a.5.5 0 100 1v-1zm2.018 1a.5.5 0 000-1v1zm2.02-1a.5.5 0 000 1v-1zm2.019 1a.5.5 0 100-1v1zm2.02-1a.5.5 0 100 1v-1zm2.018 1a.5.5 0 000-1v1zm2.02-1a.5.5 0 000 1v-1zm2.019 1a.5.5 0 000-1v1zm2.019-1a.5.5 0 000 1v-1zm2.02 1a.5.5 0 100-1v1zm2.018-1a.5.5 0 100 1v-1zm2.02 1a.5.5 0 000-1v1zm2.019-1a.5.5 0 000 1v-1zm2.02 1a.5.5 0 100-1v1zm2.018-1a.5.5 0 100 1v-1zm2.02 1a.5.5 0 000-1v1zm2.019-1a.5.5 0 000 1v-1zm2.02 1a.5.5 0 000-1v1zm2.018-1a.5.5 0 000 1v-1zm2.02 1a.5.5 0 100-1v1zm2.019-1a.5.5 0 100 1v-1zm2.019 1a.5.5 0 000-1v1zm2.02-1a.5.5 0 000 1v-1zm2.019 1a.5.5 0 000-1v1zm2.019-1a.5.5 0 100 1v-1zm2.019 1a.5.5 0 100-1v1zm2.02-1a.5.5 0 100 1v-1zm2.018 1a.5.5 0 000-1v1zm2.02-1a.5.5 0 000 1v-1zm2.019 1a.5.5 0 000-1v1zm2.02-1a.5.5 0 100 1v-1zm2.018 1a.5.5 0 100-1v1zm2.02-1a.5.5 0 100 1v-1zm2.019 1a.5.5 0 000-1v1zm2.019-1a.5.5 0 000 1v-1zm2.019 1a.5.5 0 000-1v1zm2.019-1a.5.5 0 000 1v-1zm2.02 1a.5.5 0 000-1v1zm2.019-1a.5.5 0 000 1v-1zm2.019 1a.5.5 0 000-1v1zm2.019-1a.5.5 0 000 1v-1zm2.12.928a.501.501 0 00-.13-.991l.13.991zm1.761-1.497a.501.501 0 00.383.924l-.383-.924zm2.304-.187a.5.5 0 00-.609-.793l.609.793zm.776-2.178a.5.5 0 10.793.609l-.793-.61zm1.904-1.312a.5.5 0 10-.924-.383l.924.383zm-.418-2.274a.5.5 0 10.991.13l-.991-.13zm1.063-1.938a.5.5 0 00-1 0h1zm-1-1.917a.5.5 0 001 0h-1zm1-1.917a.5.5 0 00-1 0h1zm-1-1.916a.5.5 0 001 0h-1zm1-1.917a.5.5 0 00-1 0h1zm-1-1.917a.5.5 0 001 0h-1zm1-1.916a.5.5 0 00-1 0h1zm-1-1.917a.5.5 0 001 0h-1zm1-1.917a.5.5 0 00-1 0h1zm-1-1.916a.5.5 0 001 0h-1zm1-1.917a.5.5 0 00-1 0h1zm-1-1.917a.5.5 0 001 0h-1zM1.5 63v-.958h-1V63h1zm0-2.875v-1.917h-1v1.917h1zm0-3.833v-1.917h-1v1.917h1zm0-3.834v-1.916h-1v1.916h1zm0-3.833v-1.917h-1v1.917h1zm0-3.833v-1.917h-1v1.917h1zm0-3.834V40h-1v.958h1zm0-.958c0-.333.022-.66.063-.98l-.991-.13A8.574 8.574 0 00.5 40h1zm.569-2.87c.253-.61.584-1.18.98-1.696l-.793-.609a8.49 8.49 0 00-1.11 1.921l.923.383zm2.365-3.08a7.487 7.487 0 011.695-.981l-.383-.924a8.495 8.495 0 00-1.92 1.111l.608.793zm3.586-1.487c.32-.041.648-.063.98-.063v-1c-.376 0-.746.024-1.11.072l.13.991zM9 32.5h1.01v-1H9v1zm3.029 0h2.02v-1h-2.02v1zm4.038 0h2.02v-1h-2.02v1zm4.039 0h2.019v-1h-2.02v1zm4.038 0h2.02v-1h-2.02v1zm4.039 0h2.019v-1h-2.02v1zm4.038 0h2.02v-1h-2.02v1zm4.039 0h2.019v-1h-2.02v1zm4.038 0h2.02v-1h-2.02v1zm4.038 0h2.02v-1h-2.02v1zm4.039 0h2.02v-1h-2.02v1zm4.038 0h2.02v-1h-2.02v1zm4.039 0h2.02v-1h-2.02v1zm4.038 0h2.02v-1h-2.02v1zm4.039 0h2.02v-1h-2.02v1zm4.038 0h2.02v-1h-2.02v1zm4.039 0h2.019v-1h-2.02v1zm4.038 0h2.02v-1h-2.02v1zm4.039 0h2.019v-1h-2.02v1zm4.038 0h2.02v-1h-2.02v1zm4.039 0h2.019v-1h-2.02v1zm4.038 0h2.02v-1h-2.02v1zm4.039 0h2.019v-1h-2.02v1zm4.038 0h2.019v-1h-2.019v1zm4.038 0h2.02v-1h-2.02v1zm4.039 0h2.019v-1h-2.019v1zm4.038 0H114v-1h-1.01v1zm1.01 0c.376 0 .746-.024 1.11-.072l-.13-.991c-.32.041-.648.063-.98.063v1zm3.254-.645a8.506 8.506 0 001.921-1.111l-.609-.793a7.519 7.519 0 01-1.695.98l.383.924zm3.49-2.68a8.516 8.516 0 001.111-1.921l-.924-.383a7.527 7.527 0 01-.98 1.695l.793.609zm1.684-4.066c.048-.363.072-.733.072-1.109h-1c0 .332-.022.66-.063.98l.991.13zM122.5 24v-.958h-1V24h1zm0-2.875v-1.917h-1v1.917h1zm0-3.833v-1.917h-1v1.917h1zm0-3.834v-1.916h-1v1.916h1zm0-3.833V7.708h-1v1.917h1zm0-3.833V3.875h-1v1.917h1z" />
38
38
  </svg>
39
39
  ));
40
40
 
@@ -32,7 +32,7 @@ const Header = memo<HeaderProps>(({ filename, url }) => {
32
32
  >
33
33
  <Flexbox align={'baseline'} horizontal>
34
34
  <Button
35
- icon={<Icon icon={ArrowLeftIcon}></Icon>}
35
+ icon={<Icon icon={ArrowLeftIcon} />}
36
36
  onClick={() => {
37
37
  router.push('/files');
38
38
  }}
@@ -51,7 +51,7 @@ const CreateNewProvider = memo<CreateNewProviderProps>(({ onClose, open }) => {
51
51
  { message: t('createNewAiProvider.id.required'), required: true },
52
52
  {
53
53
  message: t('createNewAiProvider.id.format'),
54
- pattern: /^[_a-z-]+$/,
54
+ pattern: /^[\d_a-z-]+$/,
55
55
  },
56
56
  ],
57
57
  },
@@ -19,15 +19,15 @@ const SyncSwitch = memo<SyncSwitchProps>(({ value, onChange }) => {
19
19
  role="switch"
20
20
  type="checkbox"
21
21
  />
22
- <span className="switch__base-outer"></span>
23
- <span className="switch__base-inner"></span>
22
+ <span className="switch__base-outer" />
23
+ <span className="switch__base-inner" />
24
24
  <svg className="switch__base-neon" height="24px" viewBox="0 0 40 24" width="40px">
25
25
  <defs>
26
26
  <filter id="switch-glow">
27
- <feGaussianBlur result="coloredBlur" stdDeviation="1"></feGaussianBlur>
27
+ <feGaussianBlur result="coloredBlur" stdDeviation="1" />
28
28
  <feMerge>
29
- <feMergeNode in="coloredBlur"></feMergeNode>
30
- <feMergeNode in="SourceGraphic"></feMergeNode>
29
+ <feMergeNode in="coloredBlur" />
30
+ <feMergeNode in="SourceGraphic" />
31
31
  </feMerge>
32
32
  </filter>
33
33
  <linearGradient id="switch-gradient1" x1="0" x2="1" y1="0" y2="0">
@@ -51,7 +51,7 @@ const SyncSwitch = memo<SyncSwitchProps>(({ value, onChange }) => {
51
51
  strokeWidth="1"
52
52
  />
53
53
  </svg>
54
- <span className="switch__knob-shadow"></span>
54
+ <span className="switch__knob-shadow" />
55
55
  <span className="switch__knob-container">
56
56
  <span className="switch__knob">
57
57
  <svg className="switch__knob-neon" height="48px" viewBox="0 0 48 48" width="48px">
@@ -69,7 +69,7 @@ const SyncSwitch = memo<SyncSwitchProps>(({ value, onChange }) => {
69
69
  </svg>
70
70
  </span>
71
71
  </span>
72
- <span className="switch__led"></span>
72
+ <span className="switch__led" />
73
73
  <span className="switch__text">Power</span>
74
74
  </label>
75
75
  </div>
@@ -49,9 +49,9 @@ const BubblesLoadingIcon: IconType = forwardRef(
49
49
  xmlns="http://www.w3.org/2000/svg"
50
50
  {...rest}
51
51
  >
52
- <circle cx="7" cy="16" r="6"></circle>
53
- <circle cx="30" cy="16" r="6"></circle>
54
- <circle cx="53" cy="16" r="6"></circle>
52
+ <circle cx="7" cy="16" r="6" />
53
+ <circle cx="30" cy="16" r="6" />
54
+ <circle cx="53" cy="16" r="6" />
55
55
  </svg>
56
56
  );
57
57
  },
@@ -96,3 +96,41 @@ export const LOBE_DEFAULT_MODEL_LIST = buildDefaultModelList({
96
96
  zeroone,
97
97
  zhipu,
98
98
  });
99
+
100
+ export { default as ai21 } from './ai21';
101
+ export { default as ai360 } from './ai360';
102
+ export { default as anthropic } from './anthropic';
103
+ export { default as azure } from './azure';
104
+ export { default as baichuan } from './baichuan';
105
+ export { default as bedrock } from './bedrock';
106
+ export { default as cloudflare } from './cloudflare';
107
+ export { default as deepseek } from './deepseek';
108
+ export { default as fireworksai } from './fireworksai';
109
+ export { default as giteeai } from './giteeai';
110
+ export { default as github } from './github';
111
+ export { default as google } from './google';
112
+ export { default as groq } from './groq';
113
+ export { default as higress } from './higress';
114
+ export { default as huggingface } from './huggingface';
115
+ export { default as hunyuan } from './hunyuan';
116
+ export { default as internlm } from './internlm';
117
+ export { default as minimax } from './minimax';
118
+ export { default as mistral } from './mistral';
119
+ export { default as moonshot } from './moonshot';
120
+ export { default as novita } from './novita';
121
+ export { default as ollama } from './ollama';
122
+ export { default as openai } from './openai';
123
+ export { default as openrouter } from './openrouter';
124
+ export { default as perplexity } from './perplexity';
125
+ export { default as qwen } from './qwen';
126
+ export { default as sensenova } from './sensenova';
127
+ export { default as siliconcloud } from './siliconcloud';
128
+ export { default as spark } from './spark';
129
+ export { default as stepfun } from './stepfun';
130
+ export { default as taichu } from './taichu';
131
+ export { default as togetherai } from './togetherai';
132
+ export { default as upstage } from './upstage';
133
+ export { default as wenxin } from './wenxin';
134
+ export { default as xai } from './xai';
135
+ export { default as zeroone } from './zeroone';
136
+ export { default as zhipu } from './zhipu';
@@ -38,6 +38,9 @@ import XAIProvider from './xai';
38
38
  import ZeroOneProvider from './zeroone';
39
39
  import ZhiPuProvider from './zhipu';
40
40
 
41
+ /**
42
+ * @deprecated
43
+ */
41
44
  export const LOBE_DEFAULT_MODEL_LIST: ChatModelCard[] = [
42
45
  OpenAIProvider.chatModels,
43
46
  QwenProvider.chatModels,
@@ -120,7 +120,9 @@ export class AiInfraRepos {
120
120
  ): Promise<AiProviderModelListItem[] | undefined> => {
121
121
  try {
122
122
  const { default: providerModels } = await import(`@/config/aiModels/${providerId}`);
123
- return (providerModels as AIChatModelCard[]).map<AiProviderModelListItem>((m) => ({
123
+
124
+ const presetList = this.providerConfigs[providerId]?.serverModelLists || providerModels;
125
+ return (presetList as AIChatModelCard[]).map<AiProviderModelListItem>((m) => ({
124
126
  ...m,
125
127
  enabled: m.enabled || false,
126
128
  source: AiModelSourceEnum.Builtin,