@lobehub/chat 1.116.4 → 1.117.0

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 (52) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/changelog/v1.json +12 -0
  3. package/locales/ar/models.json +3 -0
  4. package/locales/bg-BG/models.json +3 -0
  5. package/locales/de-DE/models.json +3 -0
  6. package/locales/en-US/models.json +3 -0
  7. package/locales/es-ES/models.json +3 -0
  8. package/locales/fa-IR/models.json +3 -0
  9. package/locales/fr-FR/models.json +3 -0
  10. package/locales/it-IT/models.json +3 -0
  11. package/locales/ja-JP/models.json +3 -0
  12. package/locales/ko-KR/models.json +3 -0
  13. package/locales/nl-NL/models.json +3 -0
  14. package/locales/pl-PL/models.json +3 -0
  15. package/locales/pt-BR/models.json +3 -0
  16. package/locales/ru-RU/models.json +3 -0
  17. package/locales/tr-TR/models.json +3 -0
  18. package/locales/vi-VN/models.json +3 -0
  19. package/locales/zh-CN/models.json +3 -0
  20. package/locales/zh-TW/models.json +3 -0
  21. package/package.json +1 -1
  22. package/packages/const/src/image.ts +9 -0
  23. package/packages/database/vitest.config.mts +1 -0
  24. package/packages/database/vitest.config.server.mts +1 -0
  25. package/packages/file-loaders/package.json +1 -1
  26. package/packages/model-runtime/src/RouterRuntime/createRuntime.ts +11 -9
  27. package/packages/model-runtime/src/google/createImage.test.ts +657 -0
  28. package/packages/model-runtime/src/google/createImage.ts +152 -0
  29. package/packages/model-runtime/src/google/index.test.ts +0 -328
  30. package/packages/model-runtime/src/google/index.ts +3 -40
  31. package/packages/model-runtime/src/utils/modelParse.ts +2 -1
  32. package/packages/model-runtime/src/utils/openaiCompatibleFactory/createImage.ts +239 -0
  33. package/packages/model-runtime/src/utils/openaiCompatibleFactory/index.test.ts +22 -22
  34. package/packages/model-runtime/src/utils/openaiCompatibleFactory/index.ts +9 -116
  35. package/packages/model-runtime/src/utils/postProcessModelList.ts +55 -0
  36. package/packages/model-runtime/src/utils/streams/google-ai.test.ts +7 -7
  37. package/packages/model-runtime/src/utils/streams/google-ai.ts +15 -2
  38. package/packages/model-runtime/src/utils/streams/openai/openai.test.ts +41 -0
  39. package/packages/model-runtime/src/utils/streams/openai/openai.ts +38 -2
  40. package/packages/model-runtime/src/utils/streams/protocol.test.ts +32 -0
  41. package/packages/model-runtime/src/utils/streams/protocol.ts +7 -3
  42. package/packages/model-runtime/src/utils/usageConverter.test.ts +58 -0
  43. package/packages/model-runtime/src/utils/usageConverter.ts +5 -1
  44. package/packages/utils/vitest.config.mts +1 -0
  45. package/src/config/aiModels/google.ts +42 -22
  46. package/src/config/aiModels/openrouter.ts +33 -0
  47. package/src/config/aiModels/vertexai.ts +4 -4
  48. package/src/features/Conversation/Extras/Usage/UsageDetail/index.tsx +6 -0
  49. package/src/features/Conversation/Extras/Usage/UsageDetail/tokens.test.ts +38 -0
  50. package/src/features/Conversation/Extras/Usage/UsageDetail/tokens.ts +13 -1
  51. package/src/locales/default/chat.ts +1 -0
  52. package/packages/model-runtime/src/UniformRuntime/index.ts +0 -117
package/CHANGELOG.md CHANGED
@@ -2,6 +2,98 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ## [Version 1.117.0](https://github.com/lobehub/lobe-chat/compare/v1.116.4...v1.117.0)
6
+
7
+ <sup>Released on **2025-08-29**</sup>
8
+
9
+ #### ✨ Features
10
+
11
+ - **misc**: Ai image support Gemini 2.5 Flash Image, Support Gemini 2.5 Flash Image Preview in OpenRouter.
12
+
13
+ #### 💄 Styles
14
+
15
+ - **misc**: Update i18n.
16
+
17
+ <br/>
18
+
19
+ <details>
20
+ <summary><kbd>Improvements and Fixes</kbd></summary>
21
+
22
+ #### What's improved
23
+
24
+ - **misc**: Ai image support Gemini 2.5 Flash Image, closes [#8966](https://github.com/lobehub/lobe-chat/issues/8966) ([64b969e](https://github.com/lobehub/lobe-chat/commit/64b969e))
25
+ - **misc**: Support Gemini 2.5 Flash Image Preview in OpenRouter, closes [#8944](https://github.com/lobehub/lobe-chat/issues/8944) ([23dcf4c](https://github.com/lobehub/lobe-chat/commit/23dcf4c))
26
+
27
+ #### Styles
28
+
29
+ - **misc**: Update i18n, closes [#8975](https://github.com/lobehub/lobe-chat/issues/8975) ([6872798](https://github.com/lobehub/lobe-chat/commit/6872798))
30
+
31
+ </details>
32
+
33
+ <div align="right">
34
+
35
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
36
+
37
+ </div>
38
+
39
+ ## [Version 1.117.0](https://github.com/lobehub/lobe-chat/compare/v1.116.4...v1.117.0)
40
+
41
+ <sup>Released on **2025-08-29**</sup>
42
+
43
+ #### ✨ Features
44
+
45
+ - **misc**: Ai image support Gemini 2.5 Flash Image.
46
+
47
+ #### 💄 Styles
48
+
49
+ - **misc**: Update i18n.
50
+
51
+ <br/>
52
+
53
+ <details>
54
+ <summary><kbd>Improvements and Fixes</kbd></summary>
55
+
56
+ #### What's improved
57
+
58
+ - **misc**: Ai image support Gemini 2.5 Flash Image, closes [#8966](https://github.com/lobehub/lobe-chat/issues/8966) ([64b969e](https://github.com/lobehub/lobe-chat/commit/64b969e))
59
+
60
+ #### Styles
61
+
62
+ - **misc**: Update i18n, closes [#8975](https://github.com/lobehub/lobe-chat/issues/8975) ([6872798](https://github.com/lobehub/lobe-chat/commit/6872798))
63
+
64
+ </details>
65
+
66
+ <div align="right">
67
+
68
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
69
+
70
+ </div>
71
+
72
+ ## [Version 1.117.0](https://github.com/lobehub/lobe-chat/compare/v1.116.4...v1.117.0)
73
+
74
+ <sup>Released on **2025-08-28**</sup>
75
+
76
+ #### ✨ Features
77
+
78
+ - **misc**: Ai image support Gemini 2.5 Flash Image.
79
+
80
+ <br/>
81
+
82
+ <details>
83
+ <summary><kbd>Improvements and Fixes</kbd></summary>
84
+
85
+ #### What's improved
86
+
87
+ - **misc**: Ai image support Gemini 2.5 Flash Image, closes [#8966](https://github.com/lobehub/lobe-chat/issues/8966) ([64b969e](https://github.com/lobehub/lobe-chat/commit/64b969e))
88
+
89
+ </details>
90
+
91
+ <div align="right">
92
+
93
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
94
+
95
+ </div>
96
+
5
97
  ### [Version 1.116.4](https://github.com/lobehub/lobe-chat/compare/v1.116.3...v1.116.4)
6
98
 
7
99
  <sup>Released on **2025-08-28**</sup>
package/changelog/v1.json CHANGED
@@ -1,4 +1,16 @@
1
1
  [
2
+ {
3
+ "children": {
4
+ "features": [
5
+ "Ai image support Gemini 2.5 Flash Image, Support Gemini 2.5 Flash Image Preview in OpenRouter."
6
+ ],
7
+ "improvements": [
8
+ "Update i18n."
9
+ ]
10
+ },
11
+ "date": "2025-08-29",
12
+ "version": "1.117.0"
13
+ },
2
14
  {
3
15
  "children": {
4
16
  "improvements": [
@@ -1220,6 +1220,9 @@
1220
1220
  "gemini-2.5-flash-image-preview": {
1221
1221
  "description": "Gemini 2.5 Flash Image Preview هو أحدث وأسرع وأكثر كفاءة نموذج متعدد الوسائط أصلي من Google، ويتيح لك إنشاء الصور وتحريرها من خلال المحادثة."
1222
1222
  },
1223
+ "gemini-2.5-flash-image-preview:image": {
1224
+ "description": "معاينة صورة فلاش جيميني 2.5 هي أحدث وأسرع وأكثر نموذج متعدد الوسائط كفاءة من جوجل، تتيح لك إنشاء وتحرير الصور من خلال المحادثة."
1225
+ },
1223
1226
  "gemini-2.5-flash-lite": {
1224
1227
  "description": "Gemini 2.5 Flash-Lite هو أصغر وأفضل نموذج من حيث التكلفة من Google، مصمم للاستخدام على نطاق واسع."
1225
1228
  },
@@ -1220,6 +1220,9 @@
1220
1220
  "gemini-2.5-flash-image-preview": {
1221
1221
  "description": "Gemini 2.5 Flash Image Preview е най-новият, най-бързият и най-ефективният роден мултимодален модел на Google; той ви позволява чрез диалог да създавате и редактирате изображения."
1222
1222
  },
1223
+ "gemini-2.5-flash-image-preview:image": {
1224
+ "description": "Gemini 2.5 Flash Image Preview е най-новият, най-бързият и най-ефективният мултимодален модел на Google, който ви позволява да генерирате и редактирате изображения чрез разговор."
1225
+ },
1223
1226
  "gemini-2.5-flash-lite": {
1224
1227
  "description": "Gemini 2.5 Flash-Lite е най-малкият и най-ефективен модел на Google, създаден специално за масово използване."
1225
1228
  },
@@ -1220,6 +1220,9 @@
1220
1220
  "gemini-2.5-flash-image-preview": {
1221
1221
  "description": "Gemini 2.5 Flash Image Preview ist Googles neuestes, schnellstes und effizientestes natives multimodales Modell. Es ermöglicht Ihnen, Bilder im Dialog zu erstellen und zu bearbeiten."
1222
1222
  },
1223
+ "gemini-2.5-flash-image-preview:image": {
1224
+ "description": "Gemini 2.5 Flash Image Preview ist Googles neuestes, schnellstes und effizientestes natives multimodales Modell, das es Ihnen ermöglicht, Bilder durch Konversation zu erstellen und zu bearbeiten."
1225
+ },
1223
1226
  "gemini-2.5-flash-lite": {
1224
1227
  "description": "Gemini 2.5 Flash-Lite ist Googles kleinstes und kosteneffizientestes Modell, das speziell für den großflächigen Einsatz entwickelt wurde."
1225
1228
  },
@@ -1220,6 +1220,9 @@
1220
1220
  "gemini-2.5-flash-image-preview": {
1221
1221
  "description": "Gemini 2.5 Flash Image Preview is Google's newest, fastest, and most efficient native multimodal model, enabling you to generate and edit images through conversation."
1222
1222
  },
1223
+ "gemini-2.5-flash-image-preview:image": {
1224
+ "description": "Gemini 2.5 Flash Image Preview is Google's latest, fastest, and most efficient native multimodal model, enabling you to generate and edit images through conversation."
1225
+ },
1223
1226
  "gemini-2.5-flash-lite": {
1224
1227
  "description": "Gemini 2.5 Flash-Lite is Google's smallest and most cost-effective model, designed for large-scale use."
1225
1228
  },
@@ -1220,6 +1220,9 @@
1220
1220
  "gemini-2.5-flash-image-preview": {
1221
1221
  "description": "Gemini 2.5 Flash Image Preview es el modelo multimodal nativo más reciente, rápido y eficiente de Google; le permite generar y editar imágenes a través de conversaciones."
1222
1222
  },
1223
+ "gemini-2.5-flash-image-preview:image": {
1224
+ "description": "Gemini 2.5 Flash Image Preview es el modelo multimodal nativo más reciente, rápido y eficiente de Google, que le permite generar y editar imágenes mediante conversaciones."
1225
+ },
1223
1226
  "gemini-2.5-flash-lite": {
1224
1227
  "description": "Gemini 2.5 Flash-Lite es el modelo más pequeño y rentable de Google, diseñado para un uso a gran escala."
1225
1228
  },
@@ -1220,6 +1220,9 @@
1220
1220
  "gemini-2.5-flash-image-preview": {
1221
1221
  "description": "Gemini 2.5 Flash Image Preview آخرین، سریع‌ترین و کارآمدترین مدل چندمودالی بومی گوگل است که به شما امکان می‌دهد از طریق گفتگو تصاویر را تولید و ویرایش کنید."
1222
1222
  },
1223
+ "gemini-2.5-flash-image-preview:image": {
1224
+ "description": "Gemini 2.5 Flash Image Preview جدیدترین، سریع‌ترین و کارآمدترین مدل چندرسانه‌ای بومی گوگل است که به شما امکان می‌دهد از طریق گفتگو تصاویر را تولید و ویرایش کنید."
1225
+ },
1223
1226
  "gemini-2.5-flash-lite": {
1224
1227
  "description": "Gemini 2.5 Flash-Lite کوچک‌ترین و مقرون‌به‌صرفه‌ترین مدل گوگل است که برای استفاده در مقیاس وسیع طراحی شده است."
1225
1228
  },
@@ -1220,6 +1220,9 @@
1220
1220
  "gemini-2.5-flash-image-preview": {
1221
1221
  "description": "Gemini 2.5 Flash Image Preview est le modèle multimodal natif le plus récent, le plus rapide et le plus performant de Google. Il vous permet de générer et d’éditer des images via des échanges conversationnels."
1222
1222
  },
1223
+ "gemini-2.5-flash-image-preview:image": {
1224
+ "description": "Gemini 2.5 Flash Image Preview est le dernier modèle multimodal natif de Google, le plus rapide et le plus efficace, qui vous permet de générer et d’éditer des images par le biais de conversations."
1225
+ },
1223
1226
  "gemini-2.5-flash-lite": {
1224
1227
  "description": "Gemini 2.5 Flash-Lite est le modèle le plus petit et le plus rentable de Google, conçu pour une utilisation à grande échelle."
1225
1228
  },
@@ -1220,6 +1220,9 @@
1220
1220
  "gemini-2.5-flash-image-preview": {
1221
1221
  "description": "Gemini 2.5 Flash Image Preview è il modello multimodale nativo più recente, veloce ed efficiente di Google, che consente di generare e modificare immagini tramite conversazioni."
1222
1222
  },
1223
+ "gemini-2.5-flash-image-preview:image": {
1224
+ "description": "Gemini 2.5 Flash Image Preview è il modello multimodale nativo più recente, veloce ed efficiente di Google, che consente di generare e modificare immagini tramite conversazioni."
1225
+ },
1223
1226
  "gemini-2.5-flash-lite": {
1224
1227
  "description": "Gemini 2.5 Flash-Lite è il modello più piccolo e conveniente di Google, progettato per un utilizzo su larga scala."
1225
1228
  },
@@ -1220,6 +1220,9 @@
1220
1220
  "gemini-2.5-flash-image-preview": {
1221
1221
  "description": "Gemini 2.5 Flash Image Preview は Google の最新かつ最速で最も効率的なネイティブなマルチモーダルモデルであり、対話を通じて画像を生成・編集することを可能にします。"
1222
1222
  },
1223
+ "gemini-2.5-flash-image-preview:image": {
1224
+ "description": "Gemini 2.5 Flash Image Preview は、Google の最新かつ最速で最も効率的なネイティブマルチモーダルモデルであり、対話を通じて画像の生成と編集を可能にします。"
1225
+ },
1223
1226
  "gemini-2.5-flash-lite": {
1224
1227
  "description": "Gemini 2.5 Flash-Lite は、Google の中で最も小さく、コストパフォーマンスに優れたモデルであり、大規模な利用を目的に設計されています。"
1225
1228
  },
@@ -1220,6 +1220,9 @@
1220
1220
  "gemini-2.5-flash-image-preview": {
1221
1221
  "description": "Gemini 2.5 Flash Image Preview는 Google의 최신이자 가장 빠르고 효율적인 네이티브 멀티모달 모델로, 대화를 통해 이미지를 생성하고 편집할 수 있게 해줍니다."
1222
1222
  },
1223
+ "gemini-2.5-flash-image-preview:image": {
1224
+ "description": "Gemini 2.5 Flash Image Preview는 Google의 최신이자 가장 빠르고 효율적인 네이티브 멀티모달 모델로, 대화를 통해 이미지를 생성하고 편집할 수 있습니다."
1225
+ },
1223
1226
  "gemini-2.5-flash-lite": {
1224
1227
  "description": "Gemini 2.5 Flash-Lite는 Google의 가장 작고 가성비가 뛰어난 모델로, 대규모 사용을 위해 설계되었습니다."
1225
1228
  },
@@ -1220,6 +1220,9 @@
1220
1220
  "gemini-2.5-flash-image-preview": {
1221
1221
  "description": "Gemini 2.5 Flash Image Preview is Google's nieuwste, snelste en meest efficiënte native multimodale model. Het stelt u in staat om via gesprekken afbeeldingen te genereren en te bewerken."
1222
1222
  },
1223
+ "gemini-2.5-flash-image-preview:image": {
1224
+ "description": "Gemini 2.5 Flash Image Preview is Google's nieuwste, snelste en meest efficiënte native multimodale model, waarmee u afbeeldingen kunt genereren en bewerken via gesprekken."
1225
+ },
1223
1226
  "gemini-2.5-flash-lite": {
1224
1227
  "description": "Gemini 2.5 Flash-Lite is het kleinste en meest kosteneffectieve model van Google, speciaal ontworpen voor grootschalig gebruik."
1225
1228
  },
@@ -1220,6 +1220,9 @@
1220
1220
  "gemini-2.5-flash-image-preview": {
1221
1221
  "description": "Gemini 2.5 Flash Image Preview to najnowszy, najszybszy i najbardziej wydajny natywny model multimodalny firmy Google. Umożliwia tworzenie i edycję obrazów podczas konwersacji."
1222
1222
  },
1223
+ "gemini-2.5-flash-image-preview:image": {
1224
+ "description": "Gemini 2.5 Flash Image Preview to najnowszy, najszybszy i najbardziej wydajny natywny model multimodalny Google, który pozwala generować i edytować obrazy za pomocą rozmowy."
1225
+ },
1223
1226
  "gemini-2.5-flash-lite": {
1224
1227
  "description": "Gemini 2.5 Flash-Lite to najmniejszy i najbardziej opłacalny model Google, zaprojektowany z myślą o szerokim zastosowaniu."
1225
1228
  },
@@ -1220,6 +1220,9 @@
1220
1220
  "gemini-2.5-flash-image-preview": {
1221
1221
  "description": "Gemini 2.5 Flash Image Preview é o modelo multimodal nativo mais recente, mais rápido e mais eficiente do Google, que permite gerar e editar imagens por meio de conversas."
1222
1222
  },
1223
+ "gemini-2.5-flash-image-preview:image": {
1224
+ "description": "Gemini 2.5 Flash Image Preview é o mais recente, rápido e eficiente modelo multimodal nativo do Google, que permite gerar e editar imagens por meio de conversas."
1225
+ },
1223
1226
  "gemini-2.5-flash-lite": {
1224
1227
  "description": "Gemini 2.5 Flash-Lite é o modelo mais compacto e com melhor custo-benefício do Google, projetado para uso em larga escala."
1225
1228
  },
@@ -1220,6 +1220,9 @@
1220
1220
  "gemini-2.5-flash-image-preview": {
1221
1221
  "description": "Gemini 2.5 Flash Image Preview — новейшая, самая быстрая и наиболее эффективная нативная мультимодальная модель Google, которая позволяет генерировать и редактировать изображения в диалоге."
1222
1222
  },
1223
+ "gemini-2.5-flash-image-preview:image": {
1224
+ "description": "Gemini 2.5 Flash Image Preview — это новейшая, самая быстрая и эффективная нативная мультимодальная модель от Google, которая позволяет создавать и редактировать изображения через диалог."
1225
+ },
1223
1226
  "gemini-2.5-flash-lite": {
1224
1227
  "description": "Gemini 2.5 Flash-Lite — это самая компактная и экономичная модель от Google, разработанная для масштабного использования."
1225
1228
  },
@@ -1220,6 +1220,9 @@
1220
1220
  "gemini-2.5-flash-image-preview": {
1221
1221
  "description": "Gemini 2.5 Flash Image Preview, Google'ın en yeni, en hızlı ve en verimli yerel çok modlu modelidir; sohbet yoluyla görüntü oluşturmanıza ve düzenlemenize olanak tanır."
1222
1222
  },
1223
+ "gemini-2.5-flash-image-preview:image": {
1224
+ "description": "Gemini 2.5 Flash Image Preview, Google'ın en yeni, en hızlı ve en verimli yerel çok modlu modelidir; sohbet yoluyla görüntü oluşturmanıza ve düzenlemenize olanak tanır."
1225
+ },
1223
1226
  "gemini-2.5-flash-lite": {
1224
1227
  "description": "Gemini 2.5 Flash-Lite, Google'ın en küçük ve en uygun maliyetli modeli olup, geniş çaplı kullanım için tasarlanmıştır."
1225
1228
  },
@@ -1220,6 +1220,9 @@
1220
1220
  "gemini-2.5-flash-image-preview": {
1221
1221
  "description": "Gemini 2.5 Flash Image Preview là mô hình đa phương thức nguyên bản mới nhất, nhanh nhất và hiệu quả nhất của Google; nó cho phép bạn tạo và chỉnh sửa hình ảnh thông qua hội thoại."
1222
1222
  },
1223
+ "gemini-2.5-flash-image-preview:image": {
1224
+ "description": "Gemini 2.5 Flash Image Preview là mô hình đa phương thức gốc mới nhất, nhanh nhất và hiệu quả nhất của Google, cho phép bạn tạo và chỉnh sửa hình ảnh thông qua đối thoại."
1225
+ },
1223
1226
  "gemini-2.5-flash-lite": {
1224
1227
  "description": "Gemini 2.5 Flash-Lite là mô hình nhỏ nhất và có hiệu suất chi phí tốt nhất của Google, được thiết kế dành cho việc sử dụng quy mô lớn."
1225
1228
  },
@@ -1220,6 +1220,9 @@
1220
1220
  "gemini-2.5-flash-image-preview": {
1221
1221
  "description": "Gemini 2.5 Flash Image Preview 是 Google 最新、最快、最高效的原生多模态模型,它允许您通过对话生成和编辑图像。"
1222
1222
  },
1223
+ "gemini-2.5-flash-image-preview:image": {
1224
+ "description": "Gemini 2.5 Flash Image Preview 是 Google 最新、最快、最高效的原生多模态模型,它允许您通过对话生成和编辑图像。"
1225
+ },
1223
1226
  "gemini-2.5-flash-lite": {
1224
1227
  "description": "Gemini 2.5 Flash-Lite 是 Google 最小、性价比最高的模型,专为大规模使用而设计。"
1225
1228
  },
@@ -1220,6 +1220,9 @@
1220
1220
  "gemini-2.5-flash-image-preview": {
1221
1221
  "description": "Gemini 2.5 Flash Image Preview 是 Google 最新、速度最快且效率最高的原生多模態模型,允許您透過對話生成與編輯圖像。"
1222
1222
  },
1223
+ "gemini-2.5-flash-image-preview:image": {
1224
+ "description": "Gemini 2.5 Flash Image Preview 是 Google 最新、最快、最高效的原生多模態模型,它允許您透過對話生成和編輯圖像。"
1225
+ },
1223
1226
  "gemini-2.5-flash-lite": {
1224
1227
  "description": "Gemini 2.5 Flash-Lite 是 Google 最小、性價比最高的模型,專為大規模使用而設計。"
1225
1228
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/chat",
3
- "version": "1.116.4",
3
+ "version": "1.117.0",
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",
@@ -1,3 +1,5 @@
1
+ import { ModelParamsSchema } from '@/libs/standard-parameters';
2
+
1
3
  /**
2
4
  * 默认宽高比,当模型不支持原生宽高比时使用
3
5
  */
@@ -40,3 +42,10 @@ export const DEFAULT_DIMENSION_CONSTRAINTS = {
40
42
  } as const;
41
43
 
42
44
  export const MAX_SEED = 2 ** 31 - 1;
45
+
46
+ export const CHAT_MODEL_IMAGE_GENERATION_PARAMS: ModelParamsSchema = {
47
+ imageUrl: {
48
+ default: null,
49
+ },
50
+ prompt: { default: '' },
51
+ };
@@ -13,6 +13,7 @@ export default defineConfig({
13
13
  '@/utils/errorResponse': resolve(__dirname, '../../src/utils/errorResponse'),
14
14
  '@/utils': resolve(__dirname, '../utils/src'),
15
15
  '@/database': resolve(__dirname, '../database/src'),
16
+ '@/libs/model-runtime': resolve(__dirname, '../model-runtime/src'),
16
17
  '@/types': resolve(__dirname, '../types/src'),
17
18
  '@': resolve(__dirname, '../../src'),
18
19
  /* eslint-enable */
@@ -9,6 +9,7 @@ export default defineConfig({
9
9
  '@/utils/errorResponse': resolve(__dirname, '../../src/utils/errorResponse'),
10
10
  '@/utils': resolve(__dirname, '../utils/src'),
11
11
  '@/database': resolve(__dirname, '../database/src'),
12
+ '@/libs/model-runtime': resolve(__dirname, '../model-runtime/src'),
12
13
  '@/types': resolve(__dirname, '../types/src'),
13
14
  '@': resolve(__dirname, '../../src'),
14
15
  /* eslint-enable */
@@ -33,7 +33,7 @@
33
33
  "mammoth": "^1.8.0",
34
34
  "officeparser": "5.1.1",
35
35
  "pdfjs-dist": "4.10.38",
36
- "xlsx": "^0.18.5",
36
+ "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz",
37
37
  "yauzl": "^3.2.0"
38
38
  },
39
39
  "devDependencies": {
@@ -10,6 +10,7 @@ import {
10
10
  CreateImageOptions,
11
11
  CustomClientOptions,
12
12
  } from '@/libs/model-runtime/utils/openaiCompatibleFactory';
13
+ import { postProcessModelList } from '@/libs/model-runtime/utils/postProcessModelList';
13
14
  import type { ChatModelCard } from '@/types/llm';
14
15
 
15
16
  import { LobeRuntimeAI } from '../BaseAI';
@@ -146,27 +147,27 @@ export const createRouterRuntime = ({
146
147
  this._options = _options;
147
148
  }
148
149
 
149
- // 获取 runtime models 列表,支持同步数组和异步函数,带缓存机制
150
+ // Get runtime's models list, supporting both synchronous arrays and asynchronous functions with caching
150
151
  private async getModels(runtimeItem: RuntimeItem): Promise<string[]> {
151
152
  const cacheKey = runtimeItem.id;
152
153
 
153
- // 如果是同步数组,直接返回不需要缓存
154
+ // If it's a synchronous array, return directly without caching
154
155
  if (typeof runtimeItem.models !== 'function') {
155
156
  return runtimeItem.models || [];
156
157
  }
157
158
 
158
- // 检查缓存
159
+ // Check cache
159
160
  if (this._modelCache.has(cacheKey)) {
160
161
  return this._modelCache.get(cacheKey)!;
161
162
  }
162
163
 
163
- // 获取模型列表并缓存结果
164
+ // Get model list and cache result
164
165
  const models = await runtimeItem.models();
165
166
  this._modelCache.set(cacheKey, models);
166
167
  return models;
167
168
  }
168
169
 
169
- // 检查下是否能匹配到特定模型,否则默认使用最后一个 runtime
170
+ // Check if it can match a specific model, otherwise default to using the last runtime
170
171
  async getRuntimeByModel(model: string) {
171
172
  for (const runtimeItem of this._runtimes) {
172
173
  const models = await this.getModels(runtimeItem);
@@ -208,10 +209,11 @@ export const createRouterRuntime = ({
208
209
 
209
210
  async models() {
210
211
  if (models && typeof models === 'function') {
211
- // 如果是函数式配置,使用最后一个 runtime client 调用函数
212
+ // If it's function-style configuration, use the last runtime's client to call the function
212
213
  const lastRuntime = this._runtimes.at(-1)?.runtime;
213
214
  if (lastRuntime && 'client' in lastRuntime) {
214
- return await models({ client: (lastRuntime as any).client });
215
+ const modelList = await models({ client: (lastRuntime as any).client });
216
+ return await postProcessModelList(modelList);
215
217
  }
216
218
  }
217
219
  return this._runtimes.at(-1)?.runtime.models?.();
@@ -230,8 +232,8 @@ export const createRouterRuntime = ({
230
232
  }
231
233
 
232
234
  /**
233
- * 清除模型列表缓存,强制下次获取时重新加载
234
- * @param runtimeId - 可选,指定清除特定 runtime 的缓存,不传则清除所有缓存
235
+ * Clear model list cache, forcing reload on next access
236
+ * @param runtimeId - Optional, specify to clear cache for a specific runtime, omit to clear all caches
235
237
  */
236
238
  clearModelCache(runtimeId?: string) {
237
239
  if (runtimeId) {