@lobehub/lobehub 2.0.0-next.339 → 2.0.0-next.340

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 (180) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/changelog/v1.json +9 -0
  3. package/docs/self-hosting/advanced/auth/clerk-to-betterauth.mdx +366 -0
  4. package/docs/self-hosting/advanced/auth/clerk-to-betterauth.zh-CN.mdx +360 -0
  5. package/docs/self-hosting/advanced/auth/legacy.mdx +4 -0
  6. package/docs/self-hosting/advanced/auth/legacy.zh-CN.mdx +4 -0
  7. package/docs/self-hosting/advanced/auth.mdx +55 -30
  8. package/docs/self-hosting/advanced/auth.zh-CN.mdx +55 -30
  9. package/locales/ar/auth.json +1 -1
  10. package/locales/ar/desktop-onboarding.json +1 -0
  11. package/locales/ar/metadata.json +2 -2
  12. package/locales/ar/models.json +23 -5
  13. package/locales/ar/providers.json +0 -1
  14. package/locales/ar/setting.json +19 -0
  15. package/locales/bg-BG/auth.json +1 -1
  16. package/locales/bg-BG/desktop-onboarding.json +1 -0
  17. package/locales/bg-BG/metadata.json +2 -2
  18. package/locales/bg-BG/models.json +5 -5
  19. package/locales/bg-BG/providers.json +0 -1
  20. package/locales/bg-BG/setting.json +19 -0
  21. package/locales/de-DE/auth.json +1 -1
  22. package/locales/de-DE/desktop-onboarding.json +1 -0
  23. package/locales/de-DE/metadata.json +2 -2
  24. package/locales/de-DE/models.json +31 -10
  25. package/locales/de-DE/providers.json +0 -1
  26. package/locales/de-DE/setting.json +19 -0
  27. package/locales/en-US/auth.json +3 -2
  28. package/locales/en-US/metadata.json +2 -2
  29. package/locales/en-US/models.json +10 -11
  30. package/locales/en-US/providers.json +0 -1
  31. package/locales/es-ES/auth.json +1 -1
  32. package/locales/es-ES/desktop-onboarding.json +1 -0
  33. package/locales/es-ES/metadata.json +2 -2
  34. package/locales/es-ES/models.json +32 -5
  35. package/locales/es-ES/providers.json +0 -1
  36. package/locales/es-ES/setting.json +19 -0
  37. package/locales/fa-IR/auth.json +1 -1
  38. package/locales/fa-IR/desktop-onboarding.json +1 -0
  39. package/locales/fa-IR/metadata.json +2 -2
  40. package/locales/fa-IR/models.json +35 -5
  41. package/locales/fa-IR/providers.json +0 -1
  42. package/locales/fa-IR/setting.json +19 -0
  43. package/locales/fr-FR/auth.json +1 -1
  44. package/locales/fr-FR/desktop-onboarding.json +1 -0
  45. package/locales/fr-FR/metadata.json +2 -2
  46. package/locales/fr-FR/models.json +33 -5
  47. package/locales/fr-FR/providers.json +0 -1
  48. package/locales/fr-FR/setting.json +19 -0
  49. package/locales/it-IT/auth.json +1 -1
  50. package/locales/it-IT/desktop-onboarding.json +1 -0
  51. package/locales/it-IT/metadata.json +2 -2
  52. package/locales/it-IT/models.json +3 -8
  53. package/locales/it-IT/providers.json +0 -1
  54. package/locales/it-IT/setting.json +19 -0
  55. package/locales/ja-JP/auth.json +1 -1
  56. package/locales/ja-JP/desktop-onboarding.json +1 -0
  57. package/locales/ja-JP/metadata.json +2 -2
  58. package/locales/ja-JP/models.json +32 -5
  59. package/locales/ja-JP/providers.json +0 -1
  60. package/locales/ja-JP/setting.json +19 -0
  61. package/locales/ko-KR/auth.json +1 -1
  62. package/locales/ko-KR/desktop-onboarding.json +1 -0
  63. package/locales/ko-KR/metadata.json +2 -2
  64. package/locales/ko-KR/models.json +3 -8
  65. package/locales/ko-KR/providers.json +0 -1
  66. package/locales/ko-KR/setting.json +19 -0
  67. package/locales/nl-NL/auth.json +1 -1
  68. package/locales/nl-NL/desktop-onboarding.json +1 -0
  69. package/locales/nl-NL/metadata.json +2 -2
  70. package/locales/nl-NL/models.json +45 -4
  71. package/locales/nl-NL/providers.json +0 -1
  72. package/locales/nl-NL/setting.json +19 -0
  73. package/locales/pl-PL/auth.json +1 -1
  74. package/locales/pl-PL/desktop-onboarding.json +1 -0
  75. package/locales/pl-PL/metadata.json +2 -2
  76. package/locales/pl-PL/models.json +37 -5
  77. package/locales/pl-PL/providers.json +0 -1
  78. package/locales/pl-PL/setting.json +19 -0
  79. package/locales/pt-BR/auth.json +1 -1
  80. package/locales/pt-BR/desktop-onboarding.json +1 -0
  81. package/locales/pt-BR/metadata.json +2 -2
  82. package/locales/pt-BR/models.json +28 -4
  83. package/locales/pt-BR/providers.json +0 -1
  84. package/locales/pt-BR/setting.json +19 -0
  85. package/locales/ru-RU/auth.json +1 -1
  86. package/locales/ru-RU/desktop-onboarding.json +1 -0
  87. package/locales/ru-RU/metadata.json +2 -2
  88. package/locales/ru-RU/models.json +3 -8
  89. package/locales/ru-RU/providers.json +0 -1
  90. package/locales/ru-RU/setting.json +19 -0
  91. package/locales/tr-TR/auth.json +1 -1
  92. package/locales/tr-TR/desktop-onboarding.json +1 -0
  93. package/locales/tr-TR/metadata.json +2 -2
  94. package/locales/tr-TR/models.json +26 -7
  95. package/locales/tr-TR/providers.json +0 -1
  96. package/locales/tr-TR/setting.json +19 -0
  97. package/locales/vi-VN/auth.json +1 -1
  98. package/locales/vi-VN/desktop-onboarding.json +1 -0
  99. package/locales/vi-VN/metadata.json +2 -2
  100. package/locales/vi-VN/models.json +3 -5
  101. package/locales/vi-VN/providers.json +0 -1
  102. package/locales/vi-VN/setting.json +19 -0
  103. package/locales/zh-CN/auth.json +3 -3
  104. package/locales/zh-CN/metadata.json +2 -2
  105. package/locales/zh-CN/models.json +46 -6
  106. package/locales/zh-CN/providers.json +0 -1
  107. package/locales/zh-TW/auth.json +1 -1
  108. package/locales/zh-TW/desktop-onboarding.json +1 -0
  109. package/locales/zh-TW/metadata.json +2 -2
  110. package/locales/zh-TW/models.json +39 -6
  111. package/locales/zh-TW/providers.json +0 -1
  112. package/locales/zh-TW/setting.json +19 -0
  113. package/package.json +1 -1
  114. package/packages/const/src/url.ts +1 -1
  115. package/public/og/agent-og.webp +0 -0
  116. package/public/og/mcp-og.webp +0 -0
  117. package/public/og/og.webp +0 -0
  118. package/scripts/clerk-to-betterauth/__tests__/parseCsvLine.test.ts +21 -0
  119. package/scripts/clerk-to-betterauth/_internal/config.ts +55 -0
  120. package/scripts/clerk-to-betterauth/_internal/db.ts +32 -0
  121. package/scripts/clerk-to-betterauth/_internal/env.ts +6 -0
  122. package/scripts/clerk-to-betterauth/_internal/load-data-from-files.ts +74 -0
  123. package/scripts/clerk-to-betterauth/_internal/types.ts +45 -0
  124. package/scripts/clerk-to-betterauth/_internal/utils.ts +36 -0
  125. package/scripts/clerk-to-betterauth/export-clerk-users-with-api.ts +211 -0
  126. package/scripts/clerk-to-betterauth/index.ts +314 -0
  127. package/scripts/clerk-to-betterauth/prod/put_clerk_exported_users_csv_here.txt +0 -0
  128. package/scripts/clerk-to-betterauth/test/put_clerk_exported_users_csv_here.txt +0 -0
  129. package/scripts/clerk-to-betterauth/verify.ts +275 -0
  130. package/src/app/[variants]/(auth)/signin/SignInEmailStep.tsx +30 -2
  131. package/src/app/[variants]/(auth)/signin/SignInPasswordStep.tsx +1 -1
  132. package/src/app/[variants]/(auth)/signin/page.tsx +3 -0
  133. package/src/app/[variants]/(auth)/signin/useSignIn.ts +6 -2
  134. package/src/app/[variants]/(main)/home/features/RecentResource/Item.tsx +2 -2
  135. package/src/app/[variants]/(main)/home/features/index.tsx +1 -2
  136. package/src/app/[variants]/(main)/settings/provider/features/ProviderConfig/index.tsx +0 -2
  137. package/src/app/[variants]/(main)/settings/skill/features/Actions.tsx +8 -7
  138. package/src/app/[variants]/(main)/settings/skill/features/McpSkillItem.tsx +9 -11
  139. package/src/app/manifest.ts +4 -4
  140. package/src/features/AuthCard/index.tsx +1 -1
  141. package/src/features/SkillStore/CommunityList/Item.tsx +3 -2
  142. package/src/features/SkillStore/Search/index.tsx +0 -1
  143. package/src/locales/default/auth.ts +3 -2
  144. package/src/locales/default/metadata.ts +2 -2
  145. package/src/server/ld.ts +4 -3
  146. package/src/styles/global.ts +0 -6
  147. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/apple.mdx +0 -0
  148. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/apple.zh-CN.mdx +0 -0
  149. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/auth0.mdx +0 -0
  150. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/auth0.zh-CN.mdx +0 -0
  151. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/authelia.mdx +0 -0
  152. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/authelia.zh-CN.mdx +0 -0
  153. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/authentik.mdx +0 -0
  154. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/authentik.zh-CN.mdx +0 -0
  155. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/casdoor.mdx +0 -0
  156. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/casdoor.zh-CN.mdx +0 -0
  157. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/cloudflare-zero-trust.mdx +0 -0
  158. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/cloudflare-zero-trust.zh-CN.mdx +0 -0
  159. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/cognito.mdx +0 -0
  160. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/cognito.zh-CN.mdx +0 -0
  161. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/feishu.mdx +0 -0
  162. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/feishu.zh-CN.mdx +0 -0
  163. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/generic-oidc.mdx +0 -0
  164. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/generic-oidc.zh-CN.mdx +0 -0
  165. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/github.mdx +0 -0
  166. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/github.zh-CN.mdx +0 -0
  167. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/google.mdx +0 -0
  168. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/google.zh-CN.mdx +0 -0
  169. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/keycloak.mdx +0 -0
  170. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/keycloak.zh-CN.mdx +0 -0
  171. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/logto.mdx +0 -0
  172. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/logto.zh-CN.mdx +0 -0
  173. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/microsoft.mdx +0 -0
  174. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/microsoft.zh-CN.mdx +0 -0
  175. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/okta.mdx +0 -0
  176. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/okta.zh-CN.mdx +0 -0
  177. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/wechat.mdx +0 -0
  178. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/wechat.zh-CN.mdx +0 -0
  179. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/zitadel.mdx +0 -0
  180. /package/docs/self-hosting/advanced/auth/{better-auth → providers}/zitadel.zh-CN.mdx +0 -0
@@ -271,9 +271,9 @@
271
271
  "chatgpt-4o-latest.description": "ChatGPT-4o 是一款实时更新的动态模型,结合强大的理解与生成能力,适用于客户支持、教育和技术支持等大规模应用场景。",
272
272
  "claude-2.0.description": "Claude 2 提供关键的企业级改进,包括领先的 20 万 token 上下文窗口、减少幻觉、系统提示支持,以及新测试功能:工具调用。",
273
273
  "claude-2.1.description": "Claude 2 提供关键的企业级改进,包括领先的 20 万 token 上下文窗口、减少幻觉、系统提示支持,以及新测试功能:工具调用。",
274
- "claude-3-5-haiku-20241022.description": "Claude 3.5 Haiku 是 Anthropic 推出的下一代最快模型。与 Claude 3 Haiku 相比,其各项能力均有提升,并在多个智能基准测试中超越了此前的最大模型 Claude 3 Opus。",
274
+ "claude-3-5-haiku-20241022.description": "Claude 3.5 Haiku 是 Anthropic 推出的下一代最快模型。与 Claude 3 Haiku 相比,其各项能力均有提升,并在多个智能基准测试中超越了此前的旗舰模型 Claude 3 Opus。",
275
275
  "claude-3-5-haiku-latest.description": "Claude 3.5 Haiku 提供快速响应,适用于轻量级任务。",
276
- "claude-3-7-sonnet-20250219.description": "Claude 3.7 Sonnet 是 Anthropic 最智能的模型,也是市场上首个混合推理模型。它既能提供近乎即时的响应,也能展示逐步推理过程,用户可清晰看到思考路径。Sonnet 在编程、数据科学、视觉处理和智能体任务方面表现尤为出色。",
276
+ "claude-3-7-sonnet-20250219.description": "Claude 3.7 Sonnet 是 Anthropic 最智能的模型,也是市场上首个混合推理模型。它既能提供近乎即时的响应,也能展示逐步推理过程,用户可清晰看到其思考路径。Sonnet 在编程、数据科学、视觉理解和智能体任务方面表现尤为出色。",
277
277
  "claude-3-7-sonnet-latest.description": "Claude 3.7 Sonnet 是 Anthropic 最新、最强大的模型,适用于高度复杂的任务,在性能、智能、流畅性和理解力方面表现卓越。",
278
278
  "claude-3-haiku-20240307.description": "Claude 3 Haiku 是 Anthropic 推出的最快、最紧凑的模型,专为近乎即时响应而设计,具备快速且准确的性能。",
279
279
  "claude-3-opus-20240229.description": "Claude 3 Opus 是 Anthropic 最强大的模型,适用于高度复杂的任务,在性能、智能、流畅性和理解力方面表现卓越。",
@@ -284,7 +284,7 @@
284
284
  "claude-opus-4-20250514.description": "Claude Opus 4 是 Anthropic 最强大的模型,专为处理高度复杂任务而设计,在性能、智能、流畅性和理解力方面表现卓越。",
285
285
  "claude-opus-4-5-20251101.description": "Claude Opus 4.5 是 Anthropic 的旗舰模型,结合卓越智能与可扩展性能,适用于需要最高质量响应与推理的复杂任务。",
286
286
  "claude-sonnet-4-20250514-thinking.description": "Claude Sonnet 4 Thinking 可生成近乎即时的响应或可视化的逐步推理过程。",
287
- "claude-sonnet-4-20250514.description": "Claude Sonnet 4 能够提供近乎即时的响应,或展示清晰的逐步思考过程。",
287
+ "claude-sonnet-4-20250514.description": "Claude Sonnet 4 能够提供近乎即时的响应,或展示可视化的逐步思考过程。",
288
288
  "claude-sonnet-4-5-20250929.description": "Claude Sonnet 4.5 是 Anthropic 迄今为止最智能的模型。",
289
289
  "codegeex-4.description": "CodeGeeX-4 是一款强大的 AI 编程助手,支持多语言问答和代码补全,提升开发者效率。",
290
290
  "codegeex4-all-9b.description": "CodeGeeX4-ALL-9B 是一款多语言代码生成模型,支持代码补全与生成、代码解释器、网页搜索、函数调用和仓库级代码问答,覆盖广泛的软件开发场景。是 100 亿参数以下的顶级代码模型。",
@@ -355,7 +355,7 @@
355
355
  "deepseek-ai/deepseek-v3.1-terminus.description": "DeepSeek V3.1 是下一代推理模型,具备更强的复杂推理与链式思维能力,适用于深度分析任务。",
356
356
  "deepseek-ai/deepseek-v3.1.description": "DeepSeek V3.1 是下一代推理模型,具备更强的复杂推理与链式思维能力,适用于深度分析任务。",
357
357
  "deepseek-ai/deepseek-vl2.description": "DeepSeek-VL2 是基于 DeepSeekMoE-27B 的 MoE 视觉语言模型,采用稀疏激活,仅使用 4.5B 激活参数即可实现强大性能。擅长视觉问答、OCR、文档/表格/图表理解和视觉定位。",
358
- "deepseek-chat.description": "一款结合通用对话与编程能力的开源模型。它保留了对话模型的通用交流能力和编程模型的强大代码能力,并在偏好对齐方面表现更佳。DeepSeek-V2.5 还提升了写作和指令遵循能力。",
358
+ "deepseek-chat.description": "一款结合通用对话与编程能力的开源模型,保留了对话模型的通用交流能力与编程模型的强大代码能力,并实现了更优的偏好对齐。DeepSeek-V2.5 还提升了写作与指令遵循能力。",
359
359
  "deepseek-coder-33B-instruct.description": "DeepSeek Coder 33B 是一款代码语言模型,训练于 2T 数据(87% 代码,13% 中英文文本)。支持 16K 上下文窗口与中间填充任务,提供项目级代码补全与片段填充。",
360
360
  "deepseek-coder-v2.description": "DeepSeek Coder V2 是一款开源 MoE 编程模型,在编程任务中表现强劲,可媲美 GPT-4 Turbo。",
361
361
  "deepseek-coder-v2:236b.description": "DeepSeek Coder V2 是一款开源 MoE 编程模型,在编程任务中表现强劲,可媲美 GPT-4 Turbo。",
@@ -472,7 +472,7 @@
472
472
  "ernie-tiny-8k.description": "ERNIE Tiny 8K 是一款超轻量模型,适用于简单问答、分类与低成本推理。",
473
473
  "ernie-x1-turbo-32k.description": "ERNIE X1 Turbo 32K 是一款快速思考模型,具备 32K 上下文能力,适合复杂推理与多轮对话。",
474
474
  "ernie-x1.1-preview.description": "ERNIE X1.1 Preview 是一款用于评估与测试的思考模型预览版。",
475
- "fal-ai/bytedance/seedream/v4.description": "Seedream 4.0 是字节跳动 Seed 团队推出的图像生成模型,支持文本和图像输入,具备高度可控的高质量图像生成能力,可根据文本提示生成图像。",
475
+ "fal-ai/bytedance/seedream/v4.description": "Seedream 4.0 是字节跳动 Seed 团队推出的图像生成模型,支持文本与图像输入,具备高度可控性与高质量图像生成能力,可根据文本提示生成图像。",
476
476
  "fal-ai/flux-kontext/dev.description": "FLUX.1 模型专注于图像编辑,支持文本与图像输入。",
477
477
  "fal-ai/flux-pro/kontext.description": "FLUX.1 Kontext [pro] 接受文本与参考图像输入,支持局部精准编辑与复杂全局场景变换。",
478
478
  "fal-ai/flux/krea.description": "Flux Krea [dev] 是一款图像生成模型,偏好更真实自然的美学风格。",
@@ -480,7 +480,7 @@
480
480
  "fal-ai/hunyuan-image/v3.description": "一款强大的原生多模态图像生成模型。",
481
481
  "fal-ai/imagen4/preview.description": "来自 Google 的高质量图像生成模型。",
482
482
  "fal-ai/nano-banana.description": "Nano Banana 是 Google 最新、最快、最高效的原生多模态模型,支持通过对话生成与编辑图像。",
483
- "fal-ai/qwen-image-edit.description": "Qwen 团队推出的专业图像编辑模型,支持语义和外观编辑,能精准处理中英文文本,并实现风格迁移、物体旋转等高质量编辑。",
483
+ "fal-ai/qwen-image-edit.description": "Qwen 团队推出的专业图像编辑模型,支持语义与外观编辑,能精准编辑中英文文本,并实现风格迁移、物体旋转等高质量图像编辑。",
484
484
  "fal-ai/qwen-image.description": "Qwen 团队推出的强大图像生成模型,具备出色的中文文本渲染能力和多样化视觉风格。",
485
485
  "flux-1-schnell.description": "来自 Black Forest Labs 的 120 亿参数文本转图像模型,采用潜在对抗扩散蒸馏技术,可在 1-4 步内生成高质量图像。性能媲美闭源模型,采用 Apache-2.0 许可,适用于个人、研究与商业用途。",
486
486
  "flux-dev.description": "FLUX.1 [dev] 是一款开源权重蒸馏模型,仅限非商业用途。保持接近专业图像质量与指令遵循能力,同时运行更高效,资源利用优于同等规模标准模型。",
@@ -746,6 +746,46 @@
746
746
  "jamba-large.description": "我们最强大、最先进的模型,专为复杂企业任务设计,性能卓越。",
747
747
  "jamba-mini.description": "同类中效率最高的模型,在速度与质量之间实现平衡,占用资源更少。",
748
748
  "jina-deepsearch-v1.description": "DeepSearch 结合了网页搜索、阅读与推理,适用于深入研究任务。它就像一个智能代理,接收你的研究任务后,进行多轮广泛搜索,最终才生成答案。整个过程包含持续的信息检索、逻辑推理和多角度问题解决,区别于仅依赖预训练数据的传统大模型或一次性检索的RAG系统。",
749
+ "kimi-k2-0711-preview.description": "kimi-k2 是一款具备强大编程与智能体能力的 MoE 基础模型(总参数量 1T,活跃参数 32B),在推理、编程、数学与智能体基准测试中超越主流开源模型。",
750
+ "kimi-k2-0905-preview.description": "kimi-k2-0905-preview 提供 256k 上下文窗口,具备更强的智能体编程能力、更优的前端代码质量与更好的上下文理解能力。",
751
+ "kimi-k2-instruct.description": "Kimi K2 Instruct 是 Kimi 官方推出的推理模型,支持长上下文,适用于代码、问答等任务。",
752
+ "kimi-k2-thinking-turbo.description": "K2 长思考高速版本,支持 256k 上下文,具备强大的深度推理能力,输出速度达 60–100 tokens/秒。",
753
+ "kimi-k2-thinking.description": "kimi-k2-thinking 是 Moonshot AI 推出的思考模型,具备通用智能体与推理能力,擅长深度推理,可通过多步工具使用解决复杂问题。",
754
+ "kimi-k2-turbo-preview.description": "kimi-k2 是一款具备强大编程与智能体能力的 MoE 基础模型(总参数量 1T,活跃参数 32B),在推理、编程、数学与智能体基准测试中超越主流开源模型。",
755
+ "kimi-k2.description": "Kimi-K2 是 Moonshot AI 推出的 MoE 基础模型,具备强大的编程与智能体能力,总参数量达 1T,活跃参数为 32B。在通用推理、编程、数学与智能体任务的基准测试中表现优异,超越主流开源模型。",
756
+ "kimi-k2:1t.description": "Kimi K2 是 Moonshot AI 推出的超大规模 MoE 语言模型,总参数量 1T,每次前向传播激活 32B 参数。该模型专为智能体能力优化,包括高级工具使用、推理与代码生成。",
757
+ "kimi-latest.description": "Kimi Latest 使用最新版本的 Kimi 模型,可能包含实验性功能。支持图像理解,并根据上下文长度自动选择 8k/32k/128k 计费模型。",
758
+ "kuaishou/kat-coder-pro-v1.description": "KAT-Coder-Pro-V1(限时免费)专注于代码理解与自动化,助力高效编程智能体。",
759
+ "learnlm-1.5-pro-experimental.description": "LearnLM 是一款实验性、任务导向的模型,基于学习科学原理训练,能在教学/学习场景中遵循系统指令,充当专家导师。",
760
+ "learnlm-2.0-flash-experimental.description": "LearnLM 是一款实验性、任务导向的模型,基于学习科学原理训练,能在教学/学习场景中遵循系统指令,充当专家导师。",
761
+ "lite.description": "Spark Lite 是一款轻量级大语言模型,具备超低延迟与高效处理能力,完全免费,支持实时网页搜索。其快速响应在低算力设备与模型微调中表现出色,尤其适用于知识问答、内容生成与搜索场景,兼具高性价比与智能体验。",
762
+ "llama-3.1-70b-versatile.description": "Llama 3.1 70B 提供更强的 AI 推理能力,适用于复杂应用,支持高效能计算与高准确率。",
763
+ "llama-3.1-8b-instant.description": "Llama 3.1 8B 是一款高效模型,文本生成速度快,适合大规模、低成本应用。",
764
+ "llama-3.1-instruct.description": "Llama 3.1 指令微调模型专为对话优化,在多个行业通用基准测试中超越众多开源聊天模型。",
765
+ "llama-3.2-11b-vision-instruct.description": "具备强大的高分辨率图像推理能力,适用于视觉理解类应用。",
766
+ "llama-3.2-11b-vision-preview.description": "Llama 3.2 专为视觉与文本结合任务设计,擅长图像描述与视觉问答,连接语言生成与视觉推理。",
767
+ "llama-3.2-90b-vision-instruct.description": "面向视觉理解智能体应用的高级图像推理能力。",
768
+ "llama-3.2-90b-vision-preview.description": "Llama 3.2 专为视觉与文本结合任务设计,擅长图像描述与视觉问答,连接语言生成与视觉推理。",
769
+ "llama-3.2-vision-instruct.description": "Llama 3.2-Vision 指令微调模型,专为视觉识别、图像推理、图像描述与通用图像问答优化。",
770
+ "llama-3.3-70b-versatile.description": "Meta Llama 3.3 是一款多语言大语言模型,拥有 70B 参数(文本输入/输出),提供预训练与指令微调版本。指令微调的文本模型专为多语言对话场景优化,在多个行业基准测试中超越众多开源与闭源聊天模型。",
771
+ "llama-3.3-70b.description": "Llama 3.3 70B:一款中大型 Llama 模型,在推理能力与吞吐量之间实现平衡。",
772
+ "llama-3.3-instruct.description": "Llama 3.3 指令微调模型专为对话优化,在多个行业通用基准测试中超越众多开源聊天模型。",
773
+ "llama3-70b-8192.description": "Meta Llama 3 70B 在处理复杂任务方面表现卓越,适用于高要求项目。",
774
+ "llama3-8b-8192.description": "Meta Llama 3 8B 在多种场景中展现出强大的推理能力。",
775
+ "llama3-groq-70b-8192-tool-use-preview.description": "Llama 3 Groq 70B Tool Use 提供强大的工具调用能力,能高效处理复杂任务。",
776
+ "llama3-groq-8b-8192-tool-use-preview.description": "Llama 3 Groq 8B Tool Use 针对高效工具使用进行了优化,支持快速并行计算。",
777
+ "llama3.1-8b.description": "Llama 3.1 8B:一款小型、低延迟的 Llama 变体,适用于轻量级在线推理与对话。",
778
+ "llama3.1.description": "Llama 3.1 是 Meta 的旗舰模型,参数规模高达 405B,适用于复杂对话、多语言翻译与数据分析。",
779
+ "llama3.1:405b.description": "Llama 3.1 是 Meta 的旗舰模型,参数规模高达 405B,适用于复杂对话、多语言翻译与数据分析。",
780
+ "llama3.1:70b.description": "Llama 3.1 是 Meta 的旗舰模型,参数规模高达 405B,适用于复杂对话、多语言翻译与数据分析。",
781
+ "llava-v1.5-7b-4096-preview.description": "LLaVA 1.5 7B 融合视觉处理能力,可从视觉输入中生成复杂输出。",
782
+ "llava.description": "LLaVA 是一款多模态模型,结合视觉编码器与 Vicuna,实现强大的视觉-语言理解能力。",
783
+ "llava:13b.description": "LLaVA 是一款多模态模型,结合视觉编码器与 Vicuna,实现强大的视觉-语言理解能力。",
784
+ "llava:34b.description": "LLaVA 是一款多模态模型,结合视觉编码器与 Vicuna,实现强大的视觉-语言理解能力。",
785
+ "magistral-medium-latest.description": "Magistral Medium 1.2 是 Mistral AI 于 2025 年 9 月发布的前沿推理模型,支持视觉输入。",
786
+ "magistral-small-2509.description": "Magistral Small 1.2 是 Mistral AI 于 2025 年 9 月发布的开源小型推理模型,支持视觉输入。",
787
+ "mathstral.description": "MathΣtral 专为科学研究与数学推理设计,具备强大的计算与解释能力。",
788
+ "max-32k.description": "Spark Max 32K 支持大上下文处理,具备更强的上下文理解与逻辑推理能力,支持 32K-token 输入,适用于长文档阅读与私有知识问答。",
749
789
  "meta/Llama-3.2-90B-Vision-Instruct.description": "适用于视觉理解代理应用的高级图像推理模型。",
750
790
  "meta/Llama-3.3-70B-Instruct.description": "Llama 3.3 是最先进的多语言开源 Llama 模型,在极低成本下实现接近 405B 的性能。该模型基于 Transformer 架构,并通过 SFT 和 RLHF 提升实用性与安全性。其指令微调版本专为多语言对话优化,在行业基准测试中超越众多开源与闭源聊天模型。知识截止时间:2023 年 12 月。",
751
791
  "meta/Meta-Llama-3-70B-Instruct.description": "一款功能强大的 700 亿参数模型,擅长推理、编程和广泛的语言任务。",
@@ -29,7 +29,6 @@
29
29
  "internlm.description": "一个专注于大模型研究与工具链的开源组织,提供高效、易用的平台,让前沿模型与算法触手可及。",
30
30
  "jina.description": "Jina AI 成立于 2020 年,是领先的搜索 AI 公司,其搜索技术栈包括向量模型、重排序器与小型语言模型,支持构建高质量的生成式与多模态搜索应用。",
31
31
  "lmstudio.description": "LM Studio 是一款桌面应用,支持在本地开发与实验大语言模型。",
32
- "lobehub.description": "LobeHub 云端使用官方 API 访问 AI 模型,并通过与模型令牌相关的积分来计量使用情况。",
33
32
  "minimax.description": "MiniMax 成立于 2021 年,致力于构建通用 AI,拥有多模态基础模型,包括万亿参数的 MoE 文本模型、语音模型与视觉模型,并推出海螺 AI 等应用。",
34
33
  "mistral.description": "Mistral 提供先进的通用、专业与研究型模型,支持复杂推理、多语言任务与代码生成,具备函数调用能力以实现定制集成。",
35
34
  "modelscope.description": "ModelScope 是阿里云的模型即服务平台,提供丰富的 AI 模型与推理服务。",
@@ -191,7 +191,7 @@
191
191
  "profile.usernameRule": "使用者名稱僅支援字母、數字或底線",
192
192
  "profile.usernameUpdateFailed": "更新使用者名稱失敗,請稍後再試",
193
193
  "signin.subtitle": "註冊或登入你的 {{appName}} 帳號",
194
- "signin.title": "你的 Agents 協作空間",
194
+ "signin.title": "與您一同成長的代理團隊",
195
195
  "signout": "登出",
196
196
  "signup": "註冊",
197
197
  "stats.aiheatmaps": "AI 指數",
@@ -73,6 +73,7 @@
73
73
  "screen5.badge": "登入",
74
74
  "screen5.description": "登入以同步代理人、群組、設定與上下文至所有裝置。",
75
75
  "screen5.errors.desktopOnlyOidc": "OIDC 授權僅支援桌面應用程式執行環境。",
76
+ "screen5.legacyLocalDb.link": "遷移舊版本地資料庫",
76
77
  "screen5.methods.cloud.description": "使用你的 LobeHub 雲端帳號登入,無縫同步所有內容",
77
78
  "screen5.methods.cloud.name": "LobeHub 雲端",
78
79
  "screen5.methods.selfhost.description": "連接至你自建的 LobeHub 伺服器實例",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "changelog.description": "持續追蹤 {{appName}} 的新功能和改進",
3
3
  "changelog.title": "更新日誌",
4
- "chat.description": "{{appName}} 帶給你最好的 ChatGPT, Claude, Gemini, OLLaMA WebUI 使用體驗",
5
- "chat.title": "{{appName}} · 協作代理的理想平台",
4
+ "chat.description": "{{appName}} 是一個結合工作與生活的空間,讓你能夠尋找、建立並與隨你一同成長的智能代理團隊合作。",
5
+ "chat.title": "{{appName}} · 與你一同成長的智能代理團隊",
6
6
  "discover.assistants.description": "內容創作、文案、問答、圖像生成、視頻生成、語音生成、智能代理、自動化工作流程,定制你專屬的 AI / GPTs / OLLaMA 智能助手",
7
7
  "discover.assistants.title": "智慧體社群",
8
8
  "discover.description": "內容創作、文案、問答、圖像生成、視頻生成、語音生成、智能代理、自定義 AI 應用,定制你專屬的 AI 應用工作台",
@@ -271,9 +271,9 @@
271
271
  "chatgpt-4o-latest.description": "ChatGPT-4o 是一款即時更新的動態模型,結合強大的理解與生成能力,適用於客服、教育與技術支援等大規模應用場景。",
272
272
  "claude-2.0.description": "Claude 2 提供企業級關鍵改進,包括領先的 20 萬 token 上下文、降低幻覺、系統提示與新測試功能:工具調用。",
273
273
  "claude-2.1.description": "Claude 2 提供企業級關鍵改進,包括領先的 20 萬 token 上下文、降低幻覺、系統提示與新測試功能:工具調用。",
274
- "claude-3-5-haiku-20241022.description": "Claude 3.5 Haiku 是 Anthropic 推出的次世代最快模型。相較於 Claude 3 Haiku,其在多項技能上皆有提升,並在多項智能基準測試中超越先前最大模型 Claude 3 Opus。",
274
+ "claude-3-5-haiku-20241022.description": "Claude 3.5 Haiku 是 Anthropic 最新一代中速度最快的模型。相較於 Claude 3 Haiku,其在多項技能上皆有提升,並在多項智能基準測試中超越先前最大模型 Claude 3 Opus。",
275
275
  "claude-3-5-haiku-latest.description": "Claude 3.5 Haiku 提供快速回應,適用於輕量任務。",
276
- "claude-3-7-sonnet-20250219.description": "Claude 3.7 Sonnet 是 Anthropic 最具智慧的模型,也是市場上首款混合推理模型。它能夠即時回應,或進行可視化的逐步推理。Sonnet 尤其擅長程式設計、資料科學、視覺處理與智能代理任務。",
276
+ "claude-3-7-sonnet-20250219.description": "Claude 3.7 Sonnet 是 Anthropic 最具智慧的模型,也是市場上首個混合推理模型。它能夠即時回應,或進行可視化的逐步推理。Sonnet 尤其擅長程式設計、資料科學、視覺處理與代理任務。",
277
277
  "claude-3-7-sonnet-latest.description": "Claude 3.7 Sonnet 是 Anthropic 最新且最強大的模型,適用於高度複雜任務,具備卓越的效能、智慧、流暢度與理解力。",
278
278
  "claude-3-haiku-20240307.description": "Claude 3 Haiku 是 Anthropic 推出的最快速且最精簡的模型,設計用於即時回應,具備快速且準確的表現。",
279
279
  "claude-3-opus-20240229.description": "Claude 3 Opus 是 Anthropic 最強大的模型,適用於高度複雜任務,具備卓越的效能、智慧、流暢度與理解力。",
@@ -281,7 +281,7 @@
281
281
  "claude-haiku-4-5-20251001.description": "Claude Haiku 4.5 是 Anthropic 最快且最聰明的 Haiku 模型,具備閃電般的速度與延伸推理能力。",
282
282
  "claude-opus-4-1-20250805-thinking.description": "Claude Opus 4.1 Thinking 是一個進階版本,能夠揭示其推理過程。",
283
283
  "claude-opus-4-1-20250805.description": "Claude Opus 4.1 是 Anthropic 最新且最強大的模型,適用於高度複雜任務,具備卓越的效能、智慧、流暢度與理解力。",
284
- "claude-opus-4-20250514.description": "Claude Opus 4 是 Anthropic 最強大的模型,專為高度複雜任務設計,表現出色,具備卓越的智能、流暢度與理解力。",
284
+ "claude-opus-4-20250514.description": "Claude Opus 4 是 Anthropic 最強大的模型,專為處理高度複雜任務而設,表現出色,具備卓越的智能、流暢度與理解力。",
285
285
  "claude-opus-4-5-20251101.description": "Claude Opus 4.5 是 Anthropic 的旗艦模型,結合卓越智慧與可擴展效能,適合需要最高品質回應與推理的複雜任務。",
286
286
  "claude-sonnet-4-20250514-thinking.description": "Claude Sonnet 4 Thinking 可產生即時回應或延伸的逐步思考,並顯示其推理過程。",
287
287
  "claude-sonnet-4-20250514.description": "Claude Sonnet 4 能夠即時回應,或進行可視化的逐步思考過程。",
@@ -472,7 +472,7 @@
472
472
  "ernie-tiny-8k.description": "ERNIE Tiny 8K 是一款超輕量模型,適合簡單問答、分類與低成本推理。",
473
473
  "ernie-x1-turbo-32k.description": "ERNIE X1 Turbo 32K 是一款快速思考模型,具備 32K 上下文,適合複雜推理與多輪對話。",
474
474
  "ernie-x1.1-preview.description": "ERNIE X1.1 預覽版是一款思考模型預覽,用於評估與測試。",
475
- "fal-ai/bytedance/seedream/v4.description": "Seedream 4.0 是字節跳動 Seed 團隊推出的圖像生成模型,支援文字與圖像輸入,具備高度可控性與高品質圖像生成能力,可根據文字提示生成圖像。",
475
+ "fal-ai/bytedance/seedream/v4.description": "Seedream 4.0 是來自字節跳動 Seed 團隊的圖像生成模型,支援文字與圖像輸入,具備高度可控性與高品質圖像生成能力,能根據文字提示生成圖像。",
476
476
  "fal-ai/flux-kontext/dev.description": "FLUX.1 模型專注於圖像編輯,支援文字與圖像輸入。",
477
477
  "fal-ai/flux-pro/kontext.description": "FLUX.1 Kontext [pro] 接受文字與參考圖像輸入,實現目標區域編輯與複雜場景轉換。",
478
478
  "fal-ai/flux/krea.description": "Flux Krea [dev] 是一款圖像生成模型,偏好更真實自然的美學風格。",
@@ -480,8 +480,8 @@
480
480
  "fal-ai/hunyuan-image/v3.description": "一款強大的原生多模態圖像生成模型。",
481
481
  "fal-ai/imagen4/preview.description": "來自 Google 的高品質圖像生成模型。",
482
482
  "fal-ai/nano-banana.description": "Nano Banana 是 Google 最新、最快且最高效的原生多模態模型,支援透過對話進行圖像生成與編輯。",
483
- "fal-ai/qwen-image-edit.description": "Qwen 團隊推出的專業圖像編輯模型,支援語義與外觀編輯,能精確處理中英文文字,並實現風格轉換、物體旋轉等高品質編輯。",
484
- "fal-ai/qwen-image.description": "Qwen 團隊推出的強大圖像生成模型,具備優異的中文文字渲染能力與多樣化視覺風格。",
483
+ "fal-ai/qwen-image-edit.description": "來自 Qwen 團隊的專業圖像編輯模型,支援語義與外觀編輯,能精確處理中英文文字,並實現風格轉換、物體旋轉等高品質編輯。",
484
+ "fal-ai/qwen-image.description": "來自 Qwen 團隊的強大圖像生成模型,具備優異的中文文字渲染能力與多樣化視覺風格。",
485
485
  "flux-1-schnell.description": "來自黑森林實驗室的 12B 參數文字轉圖像模型,透過潛在對抗擴散蒸餾技術,在 1 至 4 步內生成高品質圖像。其表現媲美封閉式替代方案,並以 Apache-2.0 授權釋出,供個人、研究與商業用途。",
486
486
  "flux-dev.description": "FLUX.1 [dev] 是一款開放權重的蒸餾模型,僅限非商業用途。它保有接近專業水準的圖像品質與指令遵循能力,同時運行更高效,資源使用優於同等大小的標準模型。",
487
487
  "flux-kontext-max.description": "最先進的語境圖像生成與編輯技術,結合文字與圖像輸入,實現精準且一致的結果。",
@@ -788,6 +788,39 @@
788
788
  "max-32k.description": "Spark Max 32K 提供大上下文處理能力,具備更強的上下文理解與邏輯推理能力,支援 32K token 輸入,適用於長文閱讀與私有知識問答。",
789
789
  "megrez-3b-instruct.description": "Megrez 3B Instruct 是來自無問星穹的小型高效模型。",
790
790
  "meituan/longcat-flash-chat.description": "來自美團的開源非思考型基礎模型,針對對話與代理任務進行最佳化,擅長工具使用與複雜多輪互動。",
791
+ "meta-llama-3-70b-instruct.description": "一款擁有 700 億參數的強大模型,擅長推理、程式設計與多語言任務。",
792
+ "meta-llama-3-8b-instruct.description": "一款多功能的 80 億參數模型,針對對話與文字生成進行優化。",
793
+ "meta-llama-3.1-405b-instruct.description": "Llama 3.1 指令微調文字模型,針對多語言對話進行優化,在開源與封閉模型中於業界基準測試表現優異。",
794
+ "meta-llama-3.1-70b-instruct.description": "Llama 3.1 指令微調文字模型,針對多語言對話進行優化,在開源與封閉模型中於業界基準測試表現優異。",
795
+ "meta-llama-3.1-8b-instruct.description": "Llama 3.1 指令微調文字模型,針對多語言對話進行優化,在開源與封閉模型中於業界基準測試表現優異。",
796
+ "meta-llama/Llama-2-13b-chat-hf.description": "LLaMA-2 Chat(13B)具備強大的語言處理能力與穩定的對話體驗。",
797
+ "meta-llama/Llama-2-70b-hf.description": "LLaMA-2 提供強大的語言處理能力與穩定的互動體驗。",
798
+ "meta-llama/Llama-3-70b-chat-hf.description": "Llama 3 70B Instruct Reference 是一款適用於複雜對話的強大聊天模型。",
799
+ "meta-llama/Llama-3-8b-chat-hf.description": "Llama 3 8B Instruct Reference 提供多語言支援與廣泛的領域知識。",
800
+ "meta-llama/Llama-3.2-11B-Vision-Instruct-Turbo.description": "LLaMA 3.2 專為結合視覺與文字的任務設計,擅長圖像描述與視覺問答,連結語言生成與視覺推理。",
801
+ "meta-llama/Llama-3.2-3B-Instruct-Turbo.description": "LLaMA 3.2 專為結合視覺與文字的任務設計,擅長圖像描述與視覺問答,連結語言生成與視覺推理。",
802
+ "meta-llama/Llama-3.2-90B-Vision-Instruct-Turbo.description": "LLaMA 3.2 專為結合視覺與文字的任務設計,擅長圖像描述與視覺問答,連結語言生成與視覺推理。",
803
+ "meta-llama/Llama-3.3-70B-Instruct-Turbo.description": "Meta Llama 3.3 多語言大型語言模型,為 70B(文字輸入/輸出)預訓練並指令微調版本。此文字指令微調版本針對多語言對話進行優化,在開源與封閉模型中於業界基準測試表現優異。",
804
+ "meta-llama/Llama-Vision-Free.description": "LLaMA 3.2 專為結合視覺與文字的任務設計,擅長圖像描述與視覺問答,連結語言生成與視覺推理。",
805
+ "meta-llama/Meta-Llama-3-70B-Instruct-Lite.description": "Llama 3 70B Instruct Lite 針對高效能與低延遲進行設計。",
806
+ "meta-llama/Meta-Llama-3-70B-Instruct-Turbo.description": "Llama 3 70B Instruct Turbo 提供強大的理解與生成能力,適用於最嚴苛的工作負載。",
807
+ "meta-llama/Meta-Llama-3-8B-Instruct-Lite.description": "Llama 3 8B Instruct Lite 在資源受限環境中平衡效能與效率。",
808
+ "meta-llama/Meta-Llama-3-8B-Instruct-Turbo.description": "Llama 3 8B Instruct Turbo 是一款高效能大型語言模型,適用於多種應用場景。",
809
+ "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo.description": "405B Llama 3.1 Turbo 模型具備超大上下文容量,適用於大數據處理與超大規模 AI 應用。",
810
+ "meta-llama/Meta-Llama-3.1-405B-Instruct.description": "Llama 3.1 是 Meta 領先的模型系列,參數規模高達 405B,適用於複雜對話、多語言翻譯與資料分析。",
811
+ "meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo.description": "Llama 3.1 70B 為高負載應用精細調整;FP8 量化實現高效運算與複雜場景下的準確性。",
812
+ "meta-llama/Meta-Llama-3.1-70B.description": "Llama 3.1 是 Meta 領先的模型系列,參數規模高達 405B,適用於複雜對話、多語言翻譯與資料分析。",
813
+ "meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo.description": "Llama 3.1 8B 採用 FP8 量化,支援最多 131,072 個上下文 token,在多項基準測試中名列前茅,適合處理複雜任務。",
814
+ "meta-llama/llama-3-70b-instruct.description": "Llama 3 70B Instruct 針對高品質對話進行優化,在人類評估中表現優異。",
815
+ "meta-llama/llama-3-8b-instruct.description": "Llama 3 8B Instruct 針對高品質對話進行優化,表現超越多數封閉模型。",
816
+ "meta-llama/llama-3.1-70b-instruct.description": "Meta 最新的 Llama 3.1 系列,70B 指令微調版本,針對高品質對話進行優化。在業界評估中,表現優於多數封閉模型。(僅限企業驗證用戶使用)",
817
+ "meta-llama/llama-3.1-8b-instruct.description": "Meta 最新的 Llama 3.1 系列,8B 指令微調版本,速度快且效率高。在業界評估中表現優異,超越多數封閉模型。(僅限企業驗證用戶使用)",
818
+ "meta-llama/llama-3.1-8b-instruct:free.description": "LLaMA 3.1 提供多語言支援,是領先的生成式模型之一。",
819
+ "meta-llama/llama-3.2-11b-vision-instruct.description": "LLaMA 3.2 專為結合視覺與文字的任務設計,擅長圖像描述與視覺問答,連結語言生成與視覺推理。",
820
+ "meta-llama/llama-3.2-3b-instruct.description": "meta-llama/llama-3.2-3b-instruct",
821
+ "meta-llama/llama-3.2-90b-vision-instruct.description": "LLaMA 3.2 專為結合視覺與文字的任務設計,擅長圖像描述與視覺問答,連結語言生成與視覺推理。",
822
+ "meta-llama/llama-3.3-70b-instruct.description": "Llama 3.3 是最先進的多語言開源 Llama 模型,以極低成本提供接近 405B 的效能。基於 Transformer 架構,並透過 SFT 與 RLHF 提升實用性與安全性。指令微調版本針對多語言對話進行優化,在業界基準測試中超越多數開源與封閉模型。知識截止時間:2023 年 12 月。",
823
+ "meta-llama/llama-3.3-70b-instruct:free.description": "Llama 3.3 是最先進的多語言開源 Llama 模型,以極低成本提供接近 405B 的效能。基於 Transformer 架構,並透過 SFT 與 RLHF 提升實用性與安全性。指令微調版本針對多語言對話進行優化,在業界基準測試中超越多數開源與封閉模型。知識截止時間:2023 年 12 月。",
791
824
  "meta/Llama-3.2-90B-Vision-Instruct.description": "先進的圖像推理能力,適用於視覺理解代理應用。",
792
825
  "meta/Llama-3.3-70B-Instruct.description": "Llama 3.3 是最先進的多語言開源 Llama 模型,以極低成本提供接近 405B 的效能。該模型基於 Transformer 架構,並透過 SFT 與 RLHF 提升實用性與安全性。經指令微調版本針對多語言對話進行最佳化,在業界基準測試中超越多數開放與封閉模型。知識截止時間:2023 年 12 月。",
793
826
  "meta/Meta-Llama-3-70B-Instruct.description": "一款功能強大的 70B 參數模型,擅長推理、程式編寫與廣泛語言任務。",
@@ -29,7 +29,6 @@
29
29
  "internlm.description": "一個專注於大型模型研究與工具的開源組織,提供高效、易用的平台,讓尖端模型與演算法更易於取得。",
30
30
  "jina.description": "Jina AI 成立於 2020 年,是領先的搜尋 AI 公司。其搜尋技術堆疊包含向量模型、重排序器與小型語言模型,打造可靠且高品質的生成式與多模態搜尋應用。",
31
31
  "lmstudio.description": "LM Studio 是一款桌面應用程式,可在本機開發與實驗大型語言模型。",
32
- "lobehub.description": "LobeHub Cloud 使用官方 API 存取 AI 模型,並以與模型代幣相關的點數(Credits)來計算使用量。",
33
32
  "minimax.description": "MiniMax 成立於 2021 年,致力於打造通用 AI,擁有多模態基礎模型,包括兆級參數的 MoE 文本模型、語音模型與視覺模型,並推出如海螺 AI 等應用。",
34
33
  "mistral.description": "Mistral 提供先進的通用、專業與研究模型,支援複雜推理、多語言任務與程式碼生成,並支援函式呼叫以實現自訂整合。",
35
34
  "modelscope.description": "ModelScope 是阿里雲的模型即服務平台,提供多樣化的 AI 模型與推理服務。",
@@ -36,7 +36,11 @@
36
36
  "agentCronJobs.noExecutionResults": "沒有執行結果",
37
37
  "agentCronJobs.remainingExecutions": "剩餘:{{count}}",
38
38
  "agentCronJobs.save": "儲存",
39
+ "agentCronJobs.saveAsNew": "另存為新項目",
39
40
  "agentCronJobs.schedule": "排程",
41
+ "agentCronJobs.scheduleType.daily": "每日",
42
+ "agentCronJobs.scheduleType.hourly": "每小時",
43
+ "agentCronJobs.scheduleType.weekly": "每週",
40
44
  "agentCronJobs.status.depleted": "已耗盡",
41
45
  "agentCronJobs.status.disabled": "已停用",
42
46
  "agentCronJobs.status.enabled": "已啟用",
@@ -45,6 +49,20 @@
45
49
  "agentCronJobs.unlimited": "無限制",
46
50
  "agentCronJobs.unnamedTask": "未命名的任務",
47
51
  "agentCronJobs.updateSuccess": "排程任務更新成功",
52
+ "agentCronJobs.weekday.friday": "星期五",
53
+ "agentCronJobs.weekday.monday": "星期一",
54
+ "agentCronJobs.weekday.saturday": "星期六",
55
+ "agentCronJobs.weekday.short.friday": "週五",
56
+ "agentCronJobs.weekday.short.monday": "週一",
57
+ "agentCronJobs.weekday.short.saturday": "週六",
58
+ "agentCronJobs.weekday.short.sunday": "週日",
59
+ "agentCronJobs.weekday.short.thursday": "週四",
60
+ "agentCronJobs.weekday.short.tuesday": "週二",
61
+ "agentCronJobs.weekday.short.wednesday": "週三",
62
+ "agentCronJobs.weekday.sunday": "星期日",
63
+ "agentCronJobs.weekday.thursday": "星期四",
64
+ "agentCronJobs.weekday.tuesday": "星期二",
65
+ "agentCronJobs.weekday.wednesday": "星期三",
48
66
  "agentCronJobs.weekdays": "平日",
49
67
  "agentInfoDescription.basic.avatar": "頭像",
50
68
  "agentInfoDescription.basic.description": "描述",
@@ -553,6 +571,7 @@
553
571
  "tab.about": "關於",
554
572
  "tab.addCustomSkill": "新增自訂技能",
555
573
  "tab.agent": "默認助手",
574
+ "tab.all": "全部",
556
575
  "tab.apikey": "API Key 管理",
557
576
  "tab.chatAppearance": "聊天外觀",
558
577
  "tab.common": "外觀",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/lobehub",
3
- "version": "2.0.0-next.339",
3
+ "version": "2.0.0-next.340",
4
4
  "description": "LobeHub - an open-source,comprehensive AI Agent 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",
@@ -6,7 +6,7 @@ export const OFFICIAL_URL = 'https://app.lobehub.com';
6
6
  export const OFFICIAL_SITE = 'https://lobehub.com';
7
7
  export const OFFICIAL_DOMAIN = 'lobehub.com';
8
8
 
9
- export const OG_URL = '/og/cover.png?v=4';
9
+ export const OG_URL = '/og/og.webp?v=1';
10
10
 
11
11
  export const GITHUB = 'https://github.com/lobehub/lobe-chat';
12
12
  export const GITHUB_ISSUES = urlJoin(GITHUB, 'issues/new/choose');
Binary file
Binary file
Binary file
@@ -0,0 +1,21 @@
1
+ import { describe, expect, it } from 'vitest';
2
+
3
+ import { parseCsvLine } from '../_internal/load-data-from-files';
4
+
5
+ describe('parseCsvLine', () => {
6
+ it('parses simple comma separated values', () => {
7
+ expect(parseCsvLine('a,b,c')).toEqual(['a', 'b', 'c']);
8
+ });
9
+
10
+ it('handles quoted commas', () => {
11
+ expect(parseCsvLine('"a,b",c')).toEqual(['a,b', 'c']);
12
+ });
13
+
14
+ it('handles escaped quotes inside quoted field', () => {
15
+ expect(parseCsvLine('"a""b",c')).toEqual(['a"b', 'c']);
16
+ });
17
+
18
+ it('handles trailing empty fields', () => {
19
+ expect(parseCsvLine('a,b,')).toEqual(['a', 'b', '']);
20
+ });
21
+ });
@@ -0,0 +1,55 @@
1
+ import './env';
2
+ import type { ClerkToBetterAuthMode, DatabaseDriver } from './types';
3
+
4
+ const DEFAULT_MODE: ClerkToBetterAuthMode = 'test';
5
+ const DEFAULT_DATABASE_DRIVER: DatabaseDriver = 'neon';
6
+
7
+ export function getMigrationMode(): ClerkToBetterAuthMode {
8
+ const mode = process.env.CLERK_TO_BETTERAUTH_MODE;
9
+ if (mode === 'test' || mode === 'prod') return mode;
10
+ return DEFAULT_MODE;
11
+ }
12
+
13
+ export function resolveDataPaths(mode = getMigrationMode()) {
14
+ const baseDir = `scripts/clerk-to-betterauth/${mode}`;
15
+
16
+ return {
17
+ baseDir,
18
+ clerkCsvPath: `${baseDir}/clerk_exported_users.csv`,
19
+ clerkUsersPath: `${baseDir}/clerk_users.json`,
20
+ } as const;
21
+ }
22
+
23
+ export function getDatabaseUrl(mode = getMigrationMode()): string {
24
+ const key =
25
+ mode === 'test'
26
+ ? 'TEST_CLERK_TO_BETTERAUTH_DATABASE_URL'
27
+ : 'PROD_CLERK_TO_BETTERAUTH_DATABASE_URL';
28
+ const value = process.env[key];
29
+
30
+ if (!value) {
31
+ throw new Error(`${key} is not set`);
32
+ }
33
+
34
+ return value;
35
+ }
36
+
37
+ export function getClerkSecret(mode = getMigrationMode()): string {
38
+ const key =
39
+ mode === 'test'
40
+ ? 'TEST_CLERK_TO_BETTERAUTH_CLERK_SECRET_KEY'
41
+ : 'PROD_CLERK_TO_BETTERAUTH_CLERK_SECRET_KEY';
42
+ const value = process.env[key];
43
+
44
+ if (!value) {
45
+ throw new Error(`${key} is required to export Clerk users`);
46
+ }
47
+
48
+ return value;
49
+ }
50
+
51
+ export function getDatabaseDriver(): DatabaseDriver {
52
+ const driver = process.env.CLERK_TO_BETTERAUTH_DATABASE_DRIVER;
53
+ if (driver === 'neon' || driver === 'node') return driver;
54
+ return DEFAULT_DATABASE_DRIVER;
55
+ }
@@ -0,0 +1,32 @@
1
+ import { Pool as NeonPool, neonConfig } from '@neondatabase/serverless';
2
+ import { drizzle as neonDrizzle } from 'drizzle-orm/neon-serverless';
3
+ import { drizzle as nodeDrizzle } from 'drizzle-orm/node-postgres';
4
+ import { Pool as NodePool } from 'pg';
5
+ import ws from 'ws';
6
+
7
+ // schema is the only dependency on project code, required for type-safe migrations
8
+ import * as schemaModule from '../../../packages/database/src/schemas';
9
+ import { getDatabaseDriver, getDatabaseUrl } from './config';
10
+
11
+ function createDatabase() {
12
+ const databaseUrl = getDatabaseUrl();
13
+ const driver = getDatabaseDriver();
14
+
15
+ if (driver === 'node') {
16
+ const pool = new NodePool({ connectionString: databaseUrl });
17
+ const db = nodeDrizzle(pool, { schema: schemaModule });
18
+ return { db, pool };
19
+ }
20
+
21
+ // neon driver (default)
22
+ // https://github.com/neondatabase/serverless/blob/main/CONFIG.md#websocketconstructor-typeof-websocket--undefined
23
+ neonConfig.webSocketConstructor = ws;
24
+ const pool = new NeonPool({ connectionString: databaseUrl });
25
+ const db = neonDrizzle(pool, { schema: schemaModule });
26
+ return { db, pool };
27
+ }
28
+
29
+ const { db, pool } = createDatabase();
30
+
31
+ export { db, pool };
32
+ export * as schema from '../../../packages/database/src/schemas';
@@ -0,0 +1,6 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { loadEnvFile } from 'node:process';
3
+
4
+ if (existsSync('.env')) {
5
+ loadEnvFile();
6
+ }
@@ -0,0 +1,74 @@
1
+ import { readFile } from 'node:fs/promises';
2
+
3
+ import { resolveDataPaths } from './config';
4
+ import { CSVUserRow, ClerkUser } from './types';
5
+
6
+ export function parseCsvLine(line: string): string[] {
7
+ const cells: string[] = [];
8
+ let current = '';
9
+ let inQuotes = false;
10
+
11
+ for (let i = 0; i < line.length; i += 1) {
12
+ const char = line[i];
13
+
14
+ if (char === '"') {
15
+ if (inQuotes && line[i + 1] === '"') {
16
+ current += '"';
17
+ i += 1;
18
+ } else {
19
+ inQuotes = !inQuotes;
20
+ }
21
+ } else if (char === ',' && !inQuotes) {
22
+ cells.push(current);
23
+ current = '';
24
+ } else {
25
+ current += char;
26
+ }
27
+ }
28
+
29
+ cells.push(current);
30
+ return cells;
31
+ }
32
+
33
+ function parseCsv(text: string): Record<string, string>[] {
34
+ const lines = text.split(/\r?\n/).filter((line) => line.length > 0);
35
+ if (lines.length === 0) return [];
36
+
37
+ const headers = parseCsvLine(lines[0]).map((h) => h.trim());
38
+
39
+ return lines.slice(1).map((line) => {
40
+ const values = parseCsvLine(line);
41
+ const record: Record<string, string> = {};
42
+ headers.forEach((header, index) => {
43
+ record[header] = (values[index] ?? '').trim();
44
+ });
45
+ return record;
46
+ });
47
+ }
48
+
49
+ export async function loadCSVData(path = resolveDataPaths().clerkCsvPath): Promise<CSVUserRow[]> {
50
+ const csv = await readFile(path, 'utf8');
51
+ const jsonData = parseCsv(csv);
52
+ return jsonData as CSVUserRow[];
53
+ }
54
+
55
+ export async function loadClerkUsersFromFile(
56
+ path = resolveDataPaths().clerkUsersPath,
57
+ ): Promise<ClerkUser[]> {
58
+ try {
59
+ const file = await readFile(path, 'utf8');
60
+ const parsed = JSON.parse(file) as ClerkUser[];
61
+
62
+ if (!Array.isArray(parsed)) {
63
+ throw new Error('Parsed Clerk users is not an array');
64
+ }
65
+
66
+ return parsed;
67
+ } catch (error) {
68
+ const hint = `
69
+ Failed to read Clerk users from ${path}.
70
+ 请先运行: tsx scripts/clerk-to-betterauth/export-clerk-users-with-api.ts ${path}
71
+ `.trim();
72
+ throw new Error(`${(error as Error).message}\n${hint}`);
73
+ }
74
+ }
@@ -0,0 +1,45 @@
1
+ import type { ExternalAccountJSON, UserJSON } from '@clerk/backend';
2
+
3
+ export type ClerkToBetterAuthMode = 'test' | 'prod';
4
+ export type DatabaseDriver = 'neon' | 'node';
5
+
6
+ export type CSVUserRow = {
7
+ first_name: string;
8
+ id: string;
9
+ last_name: string;
10
+ password_digest: string;
11
+ password_hasher: string;
12
+ primary_email_address: string;
13
+ primary_phone_number: string;
14
+ totp_secret: string;
15
+ unverified_email_addresses: string;
16
+ unverified_phone_numbers: string;
17
+ username: string;
18
+ verified_email_addresses: string;
19
+ verified_phone_numbers: string;
20
+ };
21
+
22
+ export type ClerkExternalAccount = Pick<
23
+ ExternalAccountJSON,
24
+ 'id' | 'provider' | 'provider_user_id' | 'approved_scopes'
25
+ > & {
26
+ created_at?: number;
27
+ updated_at?: number;
28
+ verificationStatus?: boolean;
29
+ };
30
+
31
+ export type ClerkUser = Pick<
32
+ UserJSON,
33
+ | 'id'
34
+ | 'image_url'
35
+ | 'created_at'
36
+ | 'updated_at'
37
+ | 'password_last_updated_at'
38
+ | 'password_enabled'
39
+ | 'banned'
40
+ | 'two_factor_enabled'
41
+ | 'lockout_expires_in_seconds'
42
+ > & {
43
+ external_accounts: ClerkExternalAccount[];
44
+ primaryEmail?: string;
45
+ };
@@ -0,0 +1,36 @@
1
+ import { generateRandomString, symmetricEncrypt } from 'better-auth/crypto';
2
+
3
+ export async function generateBackupCodes(secret: string) {
4
+ const key = secret;
5
+ const backupCodes = Array.from({ length: 10 })
6
+ .fill(null)
7
+ .map(() => generateRandomString(10, 'a-z', '0-9', 'A-Z'))
8
+ .map((code) => `${code.slice(0, 5)}-${code.slice(5)}`);
9
+ const encCodes = await symmetricEncrypt({
10
+ data: JSON.stringify(backupCodes),
11
+ key: key,
12
+ });
13
+ return encCodes;
14
+ }
15
+
16
+ // Helper function to safely convert timestamp to Date
17
+ export function safeDateConversion(timestamp?: number): Date {
18
+ if (!timestamp) return new Date();
19
+
20
+ const date = new Date(timestamp);
21
+
22
+ // Check if the date is valid
23
+ if (isNaN(date.getTime())) {
24
+ console.warn(`Invalid timestamp: ${timestamp}, falling back to current date`);
25
+ return new Date();
26
+ }
27
+
28
+ // Check for unreasonable dates (before 2000 or after 2100)
29
+ const year = date.getFullYear();
30
+ if (year < 2000 || year > 2100) {
31
+ console.warn(`Suspicious date year: ${year}, falling back to current date`);
32
+ return new Date();
33
+ }
34
+
35
+ return date;
36
+ }