@lobehub/chat 1.141.1 → 1.141.3

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 (84) hide show
  1. package/.github/workflows/sync.yml +2 -2
  2. package/CHANGELOG.md +50 -0
  3. package/README.md +1 -1
  4. package/README.zh-CN.md +1 -1
  5. package/apps/desktop/src/main/controllers/SystemCtr.ts +1 -0
  6. package/changelog/v1.json +14 -0
  7. package/locales/ar/error.json +12 -0
  8. package/locales/ar/modelProvider.json +52 -0
  9. package/locales/ar/models.json +33 -0
  10. package/locales/ar/providers.json +3 -3
  11. package/locales/bg-BG/error.json +12 -0
  12. package/locales/bg-BG/modelProvider.json +52 -0
  13. package/locales/bg-BG/models.json +33 -0
  14. package/locales/bg-BG/providers.json +3 -3
  15. package/locales/de-DE/error.json +12 -0
  16. package/locales/de-DE/modelProvider.json +52 -0
  17. package/locales/de-DE/models.json +33 -0
  18. package/locales/de-DE/providers.json +3 -3
  19. package/locales/en-US/error.json +12 -0
  20. package/locales/en-US/modelProvider.json +14 -14
  21. package/locales/en-US/models.json +33 -0
  22. package/locales/en-US/providers.json +3 -3
  23. package/locales/es-ES/error.json +12 -0
  24. package/locales/es-ES/modelProvider.json +52 -0
  25. package/locales/es-ES/models.json +33 -0
  26. package/locales/es-ES/providers.json +3 -3
  27. package/locales/fa-IR/error.json +12 -0
  28. package/locales/fa-IR/modelProvider.json +52 -0
  29. package/locales/fa-IR/models.json +33 -0
  30. package/locales/fa-IR/providers.json +3 -3
  31. package/locales/fr-FR/error.json +12 -0
  32. package/locales/fr-FR/modelProvider.json +52 -0
  33. package/locales/fr-FR/models.json +33 -0
  34. package/locales/fr-FR/providers.json +3 -3
  35. package/locales/it-IT/error.json +12 -0
  36. package/locales/it-IT/modelProvider.json +52 -0
  37. package/locales/it-IT/models.json +33 -0
  38. package/locales/it-IT/providers.json +3 -3
  39. package/locales/ja-JP/error.json +12 -0
  40. package/locales/ja-JP/modelProvider.json +52 -0
  41. package/locales/ja-JP/models.json +33 -0
  42. package/locales/ja-JP/providers.json +3 -3
  43. package/locales/ko-KR/error.json +12 -0
  44. package/locales/ko-KR/modelProvider.json +52 -0
  45. package/locales/ko-KR/models.json +33 -0
  46. package/locales/ko-KR/providers.json +3 -3
  47. package/locales/nl-NL/error.json +12 -0
  48. package/locales/nl-NL/modelProvider.json +52 -0
  49. package/locales/nl-NL/models.json +33 -0
  50. package/locales/nl-NL/providers.json +3 -3
  51. package/locales/pl-PL/error.json +12 -0
  52. package/locales/pl-PL/modelProvider.json +52 -0
  53. package/locales/pl-PL/models.json +33 -0
  54. package/locales/pl-PL/providers.json +3 -3
  55. package/locales/pt-BR/error.json +12 -0
  56. package/locales/pt-BR/modelProvider.json +52 -0
  57. package/locales/pt-BR/models.json +33 -0
  58. package/locales/pt-BR/providers.json +3 -3
  59. package/locales/ru-RU/error.json +12 -0
  60. package/locales/ru-RU/modelProvider.json +52 -0
  61. package/locales/ru-RU/models.json +33 -0
  62. package/locales/ru-RU/providers.json +3 -0
  63. package/locales/tr-TR/error.json +12 -0
  64. package/locales/tr-TR/modelProvider.json +52 -0
  65. package/locales/tr-TR/models.json +33 -0
  66. package/locales/tr-TR/providers.json +3 -3
  67. package/locales/vi-VN/error.json +12 -0
  68. package/locales/vi-VN/modelProvider.json +52 -0
  69. package/locales/vi-VN/models.json +33 -0
  70. package/locales/vi-VN/providers.json +3 -3
  71. package/locales/zh-CN/chat.json +1 -1
  72. package/locales/zh-CN/components.json +4 -4
  73. package/locales/zh-CN/error.json +12 -0
  74. package/locales/zh-CN/modelProvider.json +14 -14
  75. package/locales/zh-CN/models.json +8 -27
  76. package/locales/zh-TW/error.json +12 -0
  77. package/locales/zh-TW/modelProvider.json +52 -0
  78. package/locales/zh-TW/models.json +33 -0
  79. package/locales/zh-TW/providers.json +3 -3
  80. package/package.json +2 -3
  81. package/packages/electron-client-ipc/src/events/system.ts +1 -0
  82. package/src/app/[variants]/(main)/settings/common/features/Common/Common.tsx +7 -2
  83. package/src/features/ElectronTitlebar/hooks/useWatchThemeUpdate.ts +8 -1
  84. package/src/store/global/actions/general.ts +3 -3
@@ -35,9 +35,6 @@
35
35
  "cerebras": {
36
36
  "description": "Cerebras 是一個基於其專用 CS-3 系統的 AI 推理平台,旨在提供全球最快、即時回應、高吞吐量的 LLM 服務,專為消除延遲並加速複雜的 AI 工作流程(如即時程式碼生成與代理任務)而設計。"
37
37
  },
38
- "cerebras": {
39
- "description": "Cerebras 是一個基於其專用 CS-3 系統的 AI 推理平台,旨在提供全球最快、即時回應、高吞吐量的 LLM 服務,專為消除延遲並加速複雜的 AI 工作流程(如即時程式碼生成與代理任務)而設計。"
40
- },
41
38
  "cloudflare": {
42
39
  "description": "在 Cloudflare 的全球網絡上運行由無伺服器 GPU 驅動的機器學習模型。"
43
40
  },
@@ -47,6 +44,9 @@
47
44
  "cometapi": {
48
45
  "description": "CometAPI 是一個提供多種前沿大型模型介面的服務平台,支援 OpenAI、Anthropic、Google 及更多,適合多樣化的開發和應用需求。使用者可根據自身需求靈活選擇最優的模型和價格,助力 AI 體驗的提升。"
49
46
  },
47
+ "comfyui": {
48
+ "description": "強大的開源圖像、影片、音訊生成工作流程引擎,支援 SD、FLUX、Qwen、Hunyuan、WAN 等先進模型,提供節點化工作流程編輯與私有化部署能力"
49
+ },
50
50
  "deepseek": {
51
51
  "description": "DeepSeek 是一家專注於人工智慧技術研究和應用的公司,其最新模型 DeepSeek-V2.5 融合了通用對話和代碼處理能力,並在人類偏好對齊、寫作任務和指令跟隨等方面實現了顯著提升。"
52
52
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/chat",
3
- "version": "1.141.1",
3
+ "version": "1.141.3",
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",
@@ -252,7 +252,7 @@
252
252
  "pino": "^9.13.1",
253
253
  "plaiceholder": "^3.0.0",
254
254
  "polished": "^4.3.1",
255
- "posthog-js": "^1.275.1",
255
+ "posthog-js": "~1.278.0",
256
256
  "pure-rand": "^7.0.1",
257
257
  "pwa-install-handler": "^2.6.3",
258
258
  "query-string": "^9.3.1",
@@ -324,7 +324,6 @@
324
324
  "@types/json-schema": "^7.0.15",
325
325
  "@types/lodash": "^4.17.20",
326
326
  "@types/lodash-es": "^4.17.12",
327
- "@types/marked": "^6.0.0",
328
327
  "@types/node": "^22.18.9",
329
328
  "@types/numeral": "^2.0.5",
330
329
  "@types/oidc-provider": "^9.5.0",
@@ -18,6 +18,7 @@ export interface SystemDispatchEvents {
18
18
  }
19
19
 
20
20
  export interface SystemBroadcastEvents {
21
+ localeChanged: (data: { locale: string }) => void;
21
22
  systemThemeChanged: (data: { themeMode: ThemeAppearance }) => void;
22
23
  themeChanged: (data: { themeMode: ThemeMode }) => void;
23
24
  }
@@ -17,6 +17,7 @@ import { useServerConfigStore } from '@/store/serverConfig';
17
17
  import { serverConfigSelectors } from '@/store/serverConfig/selectors';
18
18
  import { useUserStore } from '@/store/user';
19
19
  import { settingsSelectors } from '@/store/user/selectors';
20
+ import { LocaleMode } from '@/types/locale';
20
21
 
21
22
  const Common = memo(() => {
22
23
  const { t } = useTranslation('setting');
@@ -33,6 +34,10 @@ const Common = memo(() => {
33
34
  ]);
34
35
  const [loading, setLoading] = useState(false);
35
36
 
37
+ const handleLangChange = (value: LocaleMode) => {
38
+ switchLocale(value);
39
+ };
40
+
36
41
  if (!(isStatusInit && isUserStateInit))
37
42
  return <Skeleton active paragraph={{ rows: 5 }} title={false} />;
38
43
 
@@ -75,7 +80,7 @@ const Common = memo(() => {
75
80
  children: (
76
81
  <Select
77
82
  defaultValue={language}
78
- onChange={switchLocale}
83
+ onChange={handleLangChange}
79
84
  options={[{ label: t('settingCommon.lang.autoMode'), value: 'auto' }, ...localeOptions]}
80
85
  />
81
86
  ),
@@ -142,4 +147,4 @@ const Common = memo(() => {
142
147
  );
143
148
  });
144
149
 
145
- export default Common;
150
+ export default Common;
@@ -15,7 +15,10 @@ export const useWatchThemeUpdate = () => {
15
15
  s.appState.isMac,
16
16
  ],
17
17
  );
18
- const switchThemeMode = useGlobalStore((s) => s.switchThemeMode);
18
+ const [switchThemeMode, switchLocale] = useGlobalStore((s) => [
19
+ s.switchThemeMode,
20
+ s.switchLocale,
21
+ ]);
19
22
 
20
23
  const theme = useTheme();
21
24
 
@@ -23,6 +26,10 @@ export const useWatchThemeUpdate = () => {
23
26
  switchThemeMode(themeMode, { skipBroadcast: true });
24
27
  });
25
28
 
29
+ useWatchBroadcast('localeChanged', ({ locale }) => {
30
+ switchLocale(locale as any, { skipBroadcast: true });
31
+ });
32
+
26
33
  useWatchBroadcast('systemThemeChanged', ({ themeMode }) => {
27
34
  updateElectronAppState({ systemAppearance: themeMode });
28
35
  });
@@ -22,7 +22,7 @@ const n = setNamespace('g');
22
22
  export interface GlobalGeneralAction {
23
23
  openSessionInNewWindow: (sessionId: string) => Promise<void>;
24
24
  openTopicInNewWindow: (sessionId: string, topicId: string) => Promise<void>;
25
- switchLocale: (locale: LocaleMode) => void;
25
+ switchLocale: (locale: LocaleMode, params?: { skipBroadcast?: boolean }) => void;
26
26
  switchThemeMode: (themeMode: ThemeMode, params?: { skipBroadcast?: boolean }) => void;
27
27
  updateSystemStatus: (status: Partial<SystemStatus>, action?: any) => void;
28
28
  useCheckLatestVersion: (enabledCheck?: boolean) => SWRResponse<string>;
@@ -79,12 +79,12 @@ export const generalActionSlice: StateCreator<
79
79
  }
80
80
  },
81
81
 
82
- switchLocale: (locale) => {
82
+ switchLocale: (locale, { skipBroadcast } = {}) => {
83
83
  get().updateSystemStatus({ language: locale });
84
84
 
85
85
  switchLang(locale);
86
86
 
87
- if (isDesktop) {
87
+ if (isDesktop && !skipBroadcast) {
88
88
  (async () => {
89
89
  try {
90
90
  const { dispatch } = await import('@lobechat/electron-client-ipc');