@lobehub/chat 0.146.2 → 0.147.1

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 (360) hide show
  1. package/.env.example +3 -5
  2. package/.github/workflows/issue-close-require.yml +1 -1
  3. package/.github/workflows/release.yml +1 -1
  4. package/.github/workflows/test.yml +3 -1
  5. package/.i18nrc.js +13 -8
  6. package/.seorc.cjs +9 -0
  7. package/CHANGELOG.md +98 -0
  8. package/README.md +25 -25
  9. package/README.zh-CN.md +25 -25
  10. package/contributing/Home.md +1 -1
  11. package/docs/self-hosting/advanced/analytics.mdx +13 -0
  12. package/docs/self-hosting/advanced/analytics.zh-CN.mdx +11 -0
  13. package/docs/self-hosting/advanced/authentication.mdx +26 -6
  14. package/docs/self-hosting/advanced/authentication.zh-CN.mdx +22 -6
  15. package/docs/self-hosting/advanced/sso-providers/auth0.mdx +76 -33
  16. package/docs/self-hosting/advanced/sso-providers/auth0.zh-CN.mdx +74 -33
  17. package/docs/self-hosting/advanced/sso-providers/authentik.mdx +49 -30
  18. package/docs/self-hosting/advanced/sso-providers/authentik.zh-CN.mdx +43 -28
  19. package/docs/self-hosting/advanced/sso-providers/github.mdx +62 -20
  20. package/docs/self-hosting/advanced/sso-providers/github.zh-CN.mdx +70 -34
  21. package/docs/self-hosting/advanced/sso-providers/microsoft-entra-id.mdx +69 -35
  22. package/docs/self-hosting/advanced/sso-providers/microsoft-entra-id.zh-CN.mdx +57 -32
  23. package/docs/self-hosting/advanced/sso-providers/zitadel.mdx +80 -35
  24. package/docs/self-hosting/advanced/sso-providers/zitadel.zh-CN.mdx +75 -37
  25. package/docs/self-hosting/advanced/upstream-sync.mdx +45 -23
  26. package/docs/self-hosting/advanced/upstream-sync.zh-CN.mdx +42 -23
  27. package/docs/self-hosting/environment-variables/analytics.mdx +16 -0
  28. package/docs/self-hosting/environment-variables/analytics.zh-CN.mdx +14 -0
  29. package/docs/self-hosting/environment-variables/auth.mdx +15 -0
  30. package/docs/self-hosting/environment-variables/auth.zh-CN.mdx +16 -1
  31. package/docs/self-hosting/environment-variables/basic.mdx +16 -0
  32. package/docs/self-hosting/environment-variables/basic.zh-CN.mdx +12 -0
  33. package/docs/self-hosting/environment-variables/model-provider.mdx +27 -0
  34. package/docs/self-hosting/environment-variables/model-provider.zh-CN.mdx +11 -0
  35. package/docs/self-hosting/environment-variables.mdx +14 -2
  36. package/docs/self-hosting/environment-variables.zh-CN.mdx +10 -0
  37. package/docs/self-hosting/examples/azure-openai.mdx +24 -8
  38. package/docs/self-hosting/examples/azure-openai.zh-CN.mdx +24 -8
  39. package/docs/self-hosting/examples/ollama.mdx +14 -0
  40. package/docs/self-hosting/examples/ollama.zh-CN.mdx +12 -0
  41. package/docs/self-hosting/faq/no-v1-suffix.mdx +13 -0
  42. package/docs/self-hosting/faq/no-v1-suffix.zh-CN.mdx +10 -0
  43. package/docs/self-hosting/faq/proxy-with-unable-to-verify-leaf-signature.mdx +15 -0
  44. package/docs/self-hosting/faq/proxy-with-unable-to-verify-leaf-signature.zh-CN.mdx +12 -0
  45. package/docs/self-hosting/platform/docker-compose.mdx +103 -80
  46. package/docs/self-hosting/platform/docker-compose.zh-CN.mdx +92 -73
  47. package/docs/self-hosting/platform/docker.mdx +107 -89
  48. package/docs/self-hosting/platform/docker.zh-CN.mdx +106 -89
  49. package/docs/self-hosting/platform/netlify.mdx +109 -44
  50. package/docs/self-hosting/platform/netlify.zh-CN.mdx +102 -39
  51. package/docs/self-hosting/platform/railway.mdx +20 -6
  52. package/docs/self-hosting/platform/railway.zh-CN.mdx +19 -6
  53. package/docs/self-hosting/platform/repocloud.mdx +20 -6
  54. package/docs/self-hosting/platform/repocloud.zh-CN.mdx +18 -6
  55. package/docs/self-hosting/platform/sealos.mdx +19 -6
  56. package/docs/self-hosting/platform/sealos.zh-CN.mdx +18 -6
  57. package/docs/self-hosting/platform/vercel.mdx +21 -7
  58. package/docs/self-hosting/platform/vercel.zh-CN.mdx +20 -7
  59. package/docs/self-hosting/platform/zeabur.mdx +19 -6
  60. package/docs/self-hosting/platform/zeabur.zh-CN.mdx +18 -6
  61. package/docs/self-hosting/start.mdx +23 -1
  62. package/docs/self-hosting/start.zh-CN.mdx +15 -1
  63. package/docs/usage/agents/concepts.mdx +26 -2
  64. package/docs/usage/agents/concepts.zh-CN.mdx +23 -2
  65. package/docs/usage/agents/custom-agent.mdx +25 -4
  66. package/docs/usage/agents/custom-agent.zh-CN.mdx +22 -6
  67. package/docs/usage/agents/model.mdx +14 -5
  68. package/docs/usage/agents/model.zh-CN.mdx +18 -5
  69. package/docs/usage/agents/prompt.mdx +22 -5
  70. package/docs/usage/agents/prompt.zh-CN.mdx +17 -5
  71. package/docs/usage/agents/topics.mdx +22 -1
  72. package/docs/usage/agents/topics.zh-CN.mdx +20 -1
  73. package/docs/usage/features/agent-market.mdx +16 -6
  74. package/docs/usage/features/agent-market.zh-CN.mdx +14 -0
  75. package/docs/usage/features/local-llm.mdx +18 -3
  76. package/docs/usage/features/local-llm.zh-CN.mdx +9 -4
  77. package/docs/usage/features/mobile.mdx +15 -2
  78. package/docs/usage/features/mobile.zh-CN.mdx +17 -1
  79. package/docs/usage/features/more.mdx +14 -0
  80. package/docs/usage/features/more.zh-CN.mdx +11 -0
  81. package/docs/usage/features/multi-ai-providers.mdx +25 -3
  82. package/docs/usage/features/multi-ai-providers.zh-CN.mdx +28 -2
  83. package/docs/usage/features/plugin-system.mdx +20 -8
  84. package/docs/usage/features/plugin-system.zh-CN.mdx +18 -7
  85. package/docs/usage/features/pwa.mdx +21 -5
  86. package/docs/usage/features/pwa.zh-CN.mdx +24 -4
  87. package/docs/usage/features/text-to-image.mdx +11 -1
  88. package/docs/usage/features/text-to-image.zh-CN.mdx +14 -0
  89. package/docs/usage/features/theme.mdx +18 -2
  90. package/docs/usage/features/theme.zh-CN.mdx +18 -1
  91. package/docs/usage/features/tts.mdx +14 -1
  92. package/docs/usage/features/tts.zh-CN.mdx +13 -0
  93. package/docs/usage/features/vision.mdx +11 -1
  94. package/docs/usage/features/vision.zh-CN.mdx +11 -0
  95. package/docs/usage/plugins/basic-usage.mdx +43 -7
  96. package/docs/usage/plugins/basic-usage.zh-CN.mdx +41 -7
  97. package/docs/usage/plugins/custom-plugin.mdx +13 -0
  98. package/docs/usage/plugins/custom-plugin.zh-CN.mdx +11 -0
  99. package/docs/usage/plugins/development.mdx +97 -30
  100. package/docs/usage/plugins/development.zh-CN.mdx +92 -31
  101. package/docs/usage/plugins/store.mdx +23 -2
  102. package/docs/usage/plugins/store.zh-CN.mdx +20 -2
  103. package/docs/usage/providers/groq.mdx +45 -13
  104. package/docs/usage/providers/groq.zh-CN.mdx +41 -13
  105. package/docs/usage/providers/ollama/gemma.mdx +40 -14
  106. package/docs/usage/providers/ollama/gemma.zh-CN.mdx +40 -14
  107. package/docs/usage/providers/ollama/qwen.mdx +41 -19
  108. package/docs/usage/providers/ollama/qwen.zh-CN.mdx +35 -14
  109. package/docs/usage/providers/ollama.mdx +44 -21
  110. package/docs/usage/providers/ollama.zh-CN.mdx +45 -21
  111. package/docs/usage/start.mdx +13 -2
  112. package/docs/usage/start.zh-CN.mdx +11 -2
  113. package/locales/ar/common.json +0 -26
  114. package/locales/ar/components.json +15 -0
  115. package/locales/ar/error.json +1 -52
  116. package/locales/ar/modelProvider.json +226 -0
  117. package/locales/ar/setting.json +48 -199
  118. package/locales/bg-BG/common.json +0 -26
  119. package/locales/bg-BG/components.json +15 -0
  120. package/locales/bg-BG/error.json +1 -52
  121. package/locales/bg-BG/modelProvider.json +226 -0
  122. package/locales/bg-BG/setting.json +48 -199
  123. package/locales/de-DE/common.json +0 -26
  124. package/locales/de-DE/components.json +15 -0
  125. package/locales/de-DE/error.json +1 -52
  126. package/locales/de-DE/modelProvider.json +226 -0
  127. package/locales/de-DE/setting.json +48 -199
  128. package/locales/en-US/common.json +0 -26
  129. package/locales/en-US/components.json +15 -0
  130. package/locales/en-US/error.json +1 -52
  131. package/locales/en-US/modelProvider.json +226 -0
  132. package/locales/en-US/setting.json +48 -199
  133. package/locales/es-ES/common.json +0 -26
  134. package/locales/es-ES/components.json +15 -0
  135. package/locales/es-ES/error.json +1 -52
  136. package/locales/es-ES/modelProvider.json +226 -0
  137. package/locales/es-ES/setting.json +48 -199
  138. package/locales/fr-FR/common.json +0 -26
  139. package/locales/fr-FR/components.json +15 -0
  140. package/locales/fr-FR/error.json +1 -52
  141. package/locales/fr-FR/modelProvider.json +226 -0
  142. package/locales/fr-FR/setting.json +48 -199
  143. package/locales/it-IT/common.json +0 -26
  144. package/locales/it-IT/components.json +15 -0
  145. package/locales/it-IT/error.json +1 -52
  146. package/locales/it-IT/modelProvider.json +226 -0
  147. package/locales/it-IT/setting.json +59 -210
  148. package/locales/ja-JP/common.json +0 -26
  149. package/locales/ja-JP/components.json +15 -0
  150. package/locales/ja-JP/error.json +1 -52
  151. package/locales/ja-JP/modelProvider.json +226 -0
  152. package/locales/ja-JP/setting.json +59 -210
  153. package/locales/ko-KR/common.json +0 -26
  154. package/locales/ko-KR/components.json +15 -0
  155. package/locales/ko-KR/error.json +1 -52
  156. package/locales/ko-KR/modelProvider.json +226 -0
  157. package/locales/ko-KR/setting.json +48 -199
  158. package/locales/nl-NL/common.json +0 -26
  159. package/locales/nl-NL/components.json +15 -0
  160. package/locales/nl-NL/error.json +4 -55
  161. package/locales/nl-NL/modelProvider.json +226 -0
  162. package/locales/nl-NL/setting.json +49 -200
  163. package/locales/pl-PL/common.json +0 -26
  164. package/locales/pl-PL/components.json +15 -0
  165. package/locales/pl-PL/error.json +1 -52
  166. package/locales/pl-PL/modelProvider.json +226 -0
  167. package/locales/pl-PL/setting.json +48 -199
  168. package/locales/pt-BR/common.json +0 -26
  169. package/locales/pt-BR/components.json +15 -0
  170. package/locales/pt-BR/error.json +1 -52
  171. package/locales/pt-BR/modelProvider.json +226 -0
  172. package/locales/pt-BR/setting.json +48 -199
  173. package/locales/ru-RU/common.json +0 -26
  174. package/locales/ru-RU/components.json +15 -0
  175. package/locales/ru-RU/error.json +1 -52
  176. package/locales/ru-RU/modelProvider.json +226 -0
  177. package/locales/ru-RU/setting.json +48 -199
  178. package/locales/tr-TR/common.json +0 -26
  179. package/locales/tr-TR/components.json +15 -0
  180. package/locales/tr-TR/error.json +1 -52
  181. package/locales/tr-TR/modelProvider.json +226 -0
  182. package/locales/tr-TR/setting.json +48 -199
  183. package/locales/vi-VN/common.json +0 -26
  184. package/locales/vi-VN/components.json +15 -0
  185. package/locales/vi-VN/error.json +1 -52
  186. package/locales/vi-VN/modelProvider.json +226 -0
  187. package/locales/vi-VN/setting.json +48 -199
  188. package/locales/zh-CN/common.json +0 -26
  189. package/locales/zh-CN/components.json +15 -0
  190. package/locales/zh-CN/error.json +2 -53
  191. package/locales/zh-CN/modelProvider.json +226 -0
  192. package/locales/zh-CN/setting.json +48 -199
  193. package/locales/zh-TW/common.json +0 -26
  194. package/locales/zh-TW/components.json +15 -0
  195. package/locales/zh-TW/error.json +1 -52
  196. package/locales/zh-TW/modelProvider.json +226 -0
  197. package/locales/zh-TW/setting.json +48 -199
  198. package/package.json +120 -116
  199. package/scripts/mdxWorkflow/index.ts +48 -0
  200. package/src/app/api/chat/[provider]/route.test.ts +4 -9
  201. package/src/app/api/chat/[provider]/route.ts +6 -23
  202. package/src/app/api/chat/{[provider]/agentRuntime.test.ts → agentRuntime.test.ts} +12 -12
  203. package/src/app/api/chat/{[provider]/agentRuntime.ts → agentRuntime.ts} +11 -30
  204. package/src/app/api/chat/auth/index.ts +42 -0
  205. package/src/app/api/chat/models/[provider]/route.ts +45 -0
  206. package/src/app/api/config/__snapshots__/route.test.ts.snap +127 -0
  207. package/src/app/api/config/route.test.ts +170 -0
  208. package/src/app/api/config/route.ts +46 -11
  209. package/src/app/api/plugin/gateway/route.ts +1 -1
  210. package/src/app/settings/llm/Azure/index.tsx +36 -43
  211. package/src/app/settings/llm/Bedrock/index.tsx +12 -20
  212. package/src/app/settings/llm/Ollama/index.tsx +2 -2
  213. package/src/app/settings/llm/OpenAI/index.tsx +9 -121
  214. package/src/app/settings/llm/OpenRouter/index.tsx +1 -1
  215. package/src/app/settings/llm/TogetherAI/index.tsx +0 -1
  216. package/src/app/settings/llm/components/ProviderConfig/index.tsx +48 -32
  217. package/src/app/settings/llm/components/ProviderModelList/CustomModelOption.tsx +94 -0
  218. package/src/app/settings/llm/components/ProviderModelList/MaxTokenSlider.tsx +88 -0
  219. package/src/app/settings/llm/components/ProviderModelList/ModelConfigModal.tsx +128 -0
  220. package/src/app/settings/llm/components/ProviderModelList/ModelFetcher.tsx +81 -0
  221. package/src/app/settings/llm/components/ProviderModelList/Option.tsx +38 -0
  222. package/src/app/settings/llm/components/ProviderModelList/index.tsx +142 -0
  223. package/src/app/settings/llm/const.ts +1 -1
  224. package/src/app/settings/llm/index.tsx +7 -6
  225. package/src/app/settings/tts/TTS/index.tsx +1 -1
  226. package/src/components/AntdStaticMethods/index.test.tsx +43 -0
  227. package/src/components/ModelIcon/index.tsx +25 -7
  228. package/src/components/ModelSelect/index.tsx +67 -56
  229. package/src/config/modelProviders/anthropic.ts +6 -1
  230. package/src/config/modelProviders/azure.ts +42 -0
  231. package/src/config/modelProviders/bedrock.ts +4 -1
  232. package/src/config/modelProviders/google.ts +2 -14
  233. package/src/config/modelProviders/groq.ts +3 -0
  234. package/src/config/modelProviders/index.ts +19 -14
  235. package/src/config/modelProviders/mistral.ts +5 -0
  236. package/src/config/modelProviders/moonshot.ts +3 -1
  237. package/src/config/modelProviders/ollama.ts +6 -17
  238. package/src/config/modelProviders/openai.ts +9 -13
  239. package/src/config/modelProviders/openrouter.ts +6 -1
  240. package/src/config/modelProviders/perplexity.ts +2 -0
  241. package/src/config/modelProviders/togetherai.ts +11 -0
  242. package/src/config/modelProviders/zeroone.ts +3 -0
  243. package/src/config/modelProviders/zhipu.ts +3 -0
  244. package/src/config/server/provider.ts +52 -7
  245. package/src/const/auth.ts +0 -1
  246. package/src/const/{settings.ts → settings/index.ts} +31 -4
  247. package/src/const/url.ts +1 -1
  248. package/src/database/core/db.ts +14 -0
  249. package/src/database/schemas/user.ts +1 -25
  250. package/src/features/AgentSetting/AgentConfig/ModelSelect.tsx +7 -11
  251. package/src/features/ChatInput/STT/common.tsx +80 -78
  252. package/src/features/ChatInput/STT/index.tsx +8 -6
  253. package/src/features/Conversation/Error/APIKeyForm/Bedrock.tsx +8 -8
  254. package/src/features/Conversation/Error/APIKeyForm/ProviderApiKeyForm.tsx +73 -0
  255. package/src/features/Conversation/Error/APIKeyForm/ProviderAvatar.tsx +74 -0
  256. package/src/features/Conversation/Error/APIKeyForm/index.tsx +25 -49
  257. package/src/features/ModelSwitchPanel/index.tsx +40 -13
  258. package/src/hooks/_header.ts +5 -20
  259. package/src/libs/agent-runtime/BaseAI.ts +17 -1
  260. package/src/libs/agent-runtime/anthropic/index.ts +3 -7
  261. package/src/libs/agent-runtime/azureOpenai/index.test.ts +166 -0
  262. package/src/libs/agent-runtime/azureOpenai/index.ts +16 -8
  263. package/src/libs/agent-runtime/bedrock/index.test.ts +199 -22
  264. package/src/libs/agent-runtime/bedrock/index.ts +11 -18
  265. package/src/libs/agent-runtime/groq/index.test.ts +350 -0
  266. package/src/libs/agent-runtime/groq/index.ts +14 -77
  267. package/src/libs/agent-runtime/mistral/index.test.ts +25 -19
  268. package/src/libs/agent-runtime/mistral/index.ts +24 -86
  269. package/src/libs/agent-runtime/moonshot/index.test.ts +2 -2
  270. package/src/libs/agent-runtime/moonshot/index.ts +14 -77
  271. package/src/libs/agent-runtime/openai/__snapshots__/index.test.ts.snap +99 -0
  272. package/src/libs/agent-runtime/openai/fixtures/openai-models.json +170 -0
  273. package/src/libs/agent-runtime/openai/index.test.ts +15 -50
  274. package/src/libs/agent-runtime/openai/index.ts +15 -107
  275. package/src/libs/agent-runtime/openrouter/__snapshots__/index.test.ts.snap +82 -0
  276. package/src/libs/agent-runtime/openrouter/fixtures/models.json +62 -0
  277. package/src/libs/agent-runtime/openrouter/index.test.ts +25 -9
  278. package/src/libs/agent-runtime/openrouter/index.ts +42 -84
  279. package/src/libs/agent-runtime/openrouter/type.ts +28 -0
  280. package/src/libs/agent-runtime/togetherai/index.test.ts +12 -9
  281. package/src/libs/agent-runtime/togetherai/index.ts +20 -85
  282. package/src/libs/agent-runtime/utils/anthropicHelpers.test.ts +14 -22
  283. package/src/libs/agent-runtime/utils/anthropicHelpers.ts +4 -10
  284. package/src/libs/agent-runtime/utils/openaiCompatibleFactory/index.ts +147 -0
  285. package/src/libs/agent-runtime/zeroone/index.test.ts +350 -0
  286. package/src/libs/agent-runtime/zeroone/index.ts +14 -77
  287. package/src/locales/default/common.ts +0 -28
  288. package/src/locales/default/components.ts +15 -0
  289. package/src/locales/default/error.ts +2 -54
  290. package/src/locales/default/index.ts +4 -0
  291. package/src/locales/default/modelProvider.ts +229 -0
  292. package/src/locales/default/setting.ts +51 -202
  293. package/src/locales/resources.test.ts +49 -0
  294. package/src/locales/resources.ts +7 -20
  295. package/src/migrations/FromV3ToV4/fixtures/azure-input-v3.json +79 -0
  296. package/src/migrations/FromV3ToV4/fixtures/azure-output-v4.json +75 -0
  297. package/src/migrations/FromV3ToV4/fixtures/ollama-input-v3.json +85 -0
  298. package/src/migrations/FromV3ToV4/fixtures/ollama-output-v4.json +86 -0
  299. package/src/migrations/FromV3ToV4/fixtures/openai-input-v3.json +77 -0
  300. package/src/migrations/FromV3ToV4/fixtures/openai-output-v4.json +79 -0
  301. package/src/migrations/FromV3ToV4/fixtures/openrouter-input-v3.json +82 -0
  302. package/src/migrations/FromV3ToV4/fixtures/openrouter-output-v4.json +89 -0
  303. package/src/migrations/FromV3ToV4/fixtures/output-v4-from-v1.json +203 -0
  304. package/src/migrations/FromV3ToV4/index.ts +96 -0
  305. package/src/migrations/FromV3ToV4/migrations.test.ts +195 -0
  306. package/src/migrations/FromV3ToV4/types/v3.ts +59 -0
  307. package/src/migrations/FromV3ToV4/types/v4.ts +37 -0
  308. package/src/migrations/index.ts +11 -3
  309. package/src/services/_auth.test.ts +4 -6
  310. package/src/services/_auth.ts +8 -60
  311. package/src/services/_header.ts +5 -22
  312. package/src/services/_url.ts +1 -0
  313. package/src/services/chat.ts +16 -6
  314. package/src/services/global.ts +1 -1
  315. package/src/services/models.ts +23 -0
  316. package/src/services/ollama.ts +2 -2
  317. package/src/store/chat/slices/share/action.test.ts +113 -0
  318. package/src/store/chat/slices/share/action.ts +1 -1
  319. package/src/store/global/slices/common/action.test.ts +166 -1
  320. package/src/store/global/slices/common/action.ts +2 -1
  321. package/src/store/global/slices/settings/{action.test.ts → actions/general.test.ts} +1 -19
  322. package/src/store/global/slices/settings/{action.ts → actions/general.ts} +4 -19
  323. package/src/store/global/slices/settings/actions/index.ts +18 -0
  324. package/src/store/global/slices/settings/actions/llm.test.ts +60 -0
  325. package/src/store/global/slices/settings/actions/llm.ts +88 -0
  326. package/src/store/global/slices/settings/initialState.ts +3 -1
  327. package/src/store/global/slices/settings/reducers/customModelCard.test.ts +204 -0
  328. package/src/store/global/slices/settings/reducers/customModelCard.ts +64 -0
  329. package/src/store/global/slices/settings/selectors/index.ts +1 -0
  330. package/src/store/global/slices/settings/selectors/modelConfig.test.ts +189 -0
  331. package/src/store/global/slices/settings/selectors/modelConfig.ts +179 -0
  332. package/src/store/global/slices/settings/selectors/modelProvider.test.ts +47 -138
  333. package/src/store/global/slices/settings/selectors/modelProvider.ts +102 -243
  334. package/src/store/global/store.ts +1 -1
  335. package/src/types/llm.ts +12 -1
  336. package/src/types/serverConfig.ts +22 -0
  337. package/src/types/settings/index.ts +0 -12
  338. package/src/types/settings/modelProvider.ts +34 -90
  339. package/src/utils/client/switchLang.test.ts +34 -0
  340. package/src/utils/difference.test.ts +46 -0
  341. package/src/utils/difference.ts +15 -2
  342. package/src/utils/fetch.ts +1 -3
  343. package/src/utils/parseModels.ts +62 -0
  344. package/vercel.json +1 -1
  345. package/docs/package.json +0 -5
  346. package/src/features/Conversation/Error/APIKeyForm/Anthropic.tsx +0 -40
  347. package/src/features/Conversation/Error/APIKeyForm/Google.tsx +0 -61
  348. package/src/features/Conversation/Error/APIKeyForm/Groq.tsx +0 -60
  349. package/src/features/Conversation/Error/APIKeyForm/Mistral.tsx +0 -60
  350. package/src/features/Conversation/Error/APIKeyForm/Moonshot.tsx +0 -60
  351. package/src/features/Conversation/Error/APIKeyForm/OpenAI.tsx +0 -63
  352. package/src/features/Conversation/Error/APIKeyForm/OpenRouter.tsx +0 -40
  353. package/src/features/Conversation/Error/APIKeyForm/Perplexity.tsx +0 -60
  354. package/src/features/Conversation/Error/APIKeyForm/TogetherAI.tsx +0 -40
  355. package/src/features/Conversation/Error/APIKeyForm/ZeroOne.tsx +0 -60
  356. package/src/features/Conversation/Error/APIKeyForm/Zhipu.tsx +0 -62
  357. package/src/libs/agent-runtime/utils/env.ts +0 -1
  358. package/src/store/global/slices/settings/selectors/__snapshots__/modelProvider.test.ts.snap +0 -230
  359. /package/src/app/api/chat/{auth.ts → auth/utils.ts} +0 -0
  360. /package/src/components/{AntdStaticMethods.tsx → AntdStaticMethods/index.tsx} +0 -0
@@ -6,11 +6,12 @@ import { rgba } from 'polished';
6
6
  import { memo } from 'react';
7
7
  import { useTranslation } from 'react-i18next';
8
8
  import { Center, Flexbox } from 'react-layout-kit';
9
- import ModelIcon from 'src/components/ModelIcon';
10
- import ModelProviderIcon from 'src/components/ModelProviderIcon';
11
9
 
12
10
  import { ChatModelCard } from '@/types/llm';
13
11
 
12
+ import ModelIcon from '../ModelIcon';
13
+ import ModelProviderIcon from '../ModelProviderIcon';
14
+
14
15
  const useStyles = createStyles(({ css, token }) => ({
15
16
  custom: css`
16
17
  width: 36px;
@@ -56,13 +57,71 @@ const useStyles = createStyles(({ css, token }) => ({
56
57
  `,
57
58
  }));
58
59
 
60
+ interface ModelInfoTagsProps extends ChatModelCard {
61
+ directionReverse?: boolean;
62
+ placement?: 'top' | 'right';
63
+ }
64
+ export const ModelInfoTags = memo<ModelInfoTagsProps>(
65
+ ({ directionReverse, placement = 'right', ...model }) => {
66
+ const { t } = useTranslation('components');
67
+ const { styles, cx } = useStyles();
68
+
69
+ return (
70
+ <Flexbox direction={directionReverse ? 'horizontal-reverse' : 'horizontal'} gap={4}>
71
+ {model.files && (
72
+ <Tooltip placement={placement} title={t('ModelSelect.featureTag.file')}>
73
+ <div className={cx(styles.tag, styles.tagGreen)}>
74
+ <Icon icon={LucidePaperclip} />
75
+ </div>
76
+ </Tooltip>
77
+ )}
78
+ {model.vision && (
79
+ <Tooltip placement={placement} title={t('ModelSelect.featureTag.vision')}>
80
+ <div className={cx(styles.tag, styles.tagGreen)}>
81
+ <Icon icon={LucideEye} />
82
+ </div>
83
+ </Tooltip>
84
+ )}
85
+ {model.functionCall && (
86
+ <Tooltip
87
+ overlayStyle={{ maxWidth: 'unset' }}
88
+ placement={placement}
89
+ title={t('ModelSelect.featureTag.functionCall')}
90
+ >
91
+ <div className={cx(styles.tag, styles.tagBlue)}>
92
+ <Icon icon={ToyBrick} />
93
+ </div>
94
+ </Tooltip>
95
+ )}
96
+ {model.tokens && (
97
+ <Tooltip
98
+ overlayStyle={{ maxWidth: 'unset' }}
99
+ placement={placement}
100
+ title={t('ModelSelect.featureTag.tokens', {
101
+ tokens: numeral(model.tokens).format('0,0'),
102
+ })}
103
+ >
104
+ <Center className={styles.token}>{Math.floor(model.tokens / 1000)}K</Center>
105
+ </Tooltip>
106
+ )}
107
+ {/*{model.isCustom && (*/}
108
+ {/* <Tooltip*/}
109
+ {/* overlayStyle={{ maxWidth: 300 }}*/}
110
+ {/* placement={placement}*/}
111
+ {/* title={t('ModelSelect.featureTag.custom')}*/}
112
+ {/* >*/}
113
+ {/* <Center className={styles.custom}>DIY</Center>*/}
114
+ {/* </Tooltip>*/}
115
+ {/*)}*/}
116
+ </Flexbox>
117
+ );
118
+ },
119
+ );
120
+
59
121
  interface ModelItemRenderProps extends ChatModelCard {
60
122
  showInfoTag?: boolean;
61
123
  }
62
124
  export const ModelItemRender = memo<ModelItemRenderProps>(({ showInfoTag = true, ...model }) => {
63
- const { styles, cx } = useStyles();
64
- const { t } = useTranslation('common');
65
-
66
125
  return (
67
126
  <Flexbox align={'center'} gap={32} horizontal justify={'space-between'}>
68
127
  <Flexbox align={'center'} gap={8} horizontal>
@@ -70,55 +129,7 @@ export const ModelItemRender = memo<ModelItemRenderProps>(({ showInfoTag = true,
70
129
  {model.displayName || model.id}
71
130
  </Flexbox>
72
131
 
73
- {showInfoTag && (
74
- <Flexbox gap={4} horizontal>
75
- {model.files && (
76
- <Tooltip placement={'right'} title={t('ModelSelect.featureTag.file')}>
77
- <div className={cx(styles.tag, styles.tagGreen)}>
78
- <Icon icon={LucidePaperclip} />
79
- </div>
80
- </Tooltip>
81
- )}
82
- {model.vision && (
83
- <Tooltip placement={'right'} title={t('ModelSelect.featureTag.vision')}>
84
- <div className={cx(styles.tag, styles.tagGreen)}>
85
- <Icon icon={LucideEye} />
86
- </div>
87
- </Tooltip>
88
- )}
89
- {model.functionCall && (
90
- <Tooltip
91
- overlayStyle={{ maxWidth: 'unset' }}
92
- placement={'right'}
93
- title={t('ModelSelect.featureTag.functionCall')}
94
- >
95
- <div className={cx(styles.tag, styles.tagBlue)}>
96
- <Icon icon={ToyBrick} />
97
- </div>
98
- </Tooltip>
99
- )}
100
- {model.tokens && (
101
- <Tooltip
102
- overlayStyle={{ maxWidth: 'unset' }}
103
- placement={'right'}
104
- title={t('ModelSelect.featureTag.tokens', {
105
- tokens: numeral(model.tokens).format('0,0'),
106
- })}
107
- >
108
- <Center className={styles.token}>{Math.floor(model.tokens / 1000)}K</Center>
109
- </Tooltip>
110
- )}
111
- {model.isCustom && (
112
- <Tooltip
113
- overlayStyle={{ maxWidth: 300 }}
114
- placement={'right'}
115
- title={t('ModelSelect.featureTag.custom')}
116
- >
117
- <Center className={styles.custom}>DIY</Center>
118
- </Tooltip>
119
- )}
120
- </Flexbox>
121
- )}
132
+ {showInfoTag && <ModelInfoTags {...model} />}
122
133
  </Flexbox>
123
134
  );
124
135
  });
@@ -128,12 +139,12 @@ interface ProviderItemRenderProps {
128
139
  }
129
140
 
130
141
  export const ProviderItemRender = memo<ProviderItemRenderProps>(({ provider }) => {
131
- const { t } = useTranslation('common');
142
+ const { t } = useTranslation('modelProvider');
132
143
 
133
144
  return (
134
145
  <Flexbox align={'center'} gap={4} horizontal>
135
146
  <ModelProviderIcon provider={provider} />
136
- {t(`modelProvider.${provider}` as any)}
147
+ {t(`${provider}.title` as any)}
137
148
  </Flexbox>
138
149
  );
139
150
  });
@@ -6,6 +6,7 @@ const Anthropic: ModelProviderCard = {
6
6
  description:
7
7
  'Ideal balance of intelligence and speed for enterprise workloads. Maximum utility at a lower price, dependable, balanced for scaled deployments',
8
8
  displayName: 'Claude 3 Sonnet',
9
+ enabled: true,
9
10
  id: 'claude-3-sonnet-20240229',
10
11
  maxOutput: 4096,
11
12
  tokens: 200_000,
@@ -15,6 +16,7 @@ const Anthropic: ModelProviderCard = {
15
16
  description:
16
17
  'Most powerful model for highly complex tasks. Top-level performance, intelligence, fluency, and understanding',
17
18
  displayName: 'Claude 3 Opus',
19
+ enabled: true,
18
20
  id: 'claude-3-opus-20240229',
19
21
  maxOutput: 4096,
20
22
  tokens: 200_000,
@@ -24,6 +26,7 @@ const Anthropic: ModelProviderCard = {
24
26
  description:
25
27
  'Fastest and most compact model for near-instant responsiveness. Quick and accurate targeted performance',
26
28
  displayName: 'Claude 3 Haiku',
29
+ enabled: true,
27
30
  id: 'claude-3-haiku-20240307',
28
31
  maxOutput: 4096,
29
32
  tokens: 200_000,
@@ -31,19 +34,21 @@ const Anthropic: ModelProviderCard = {
31
34
  },
32
35
  {
33
36
  displayName: 'Claude 2.1',
37
+ enabled: false,
34
38
  id: 'claude-2.1',
35
39
  maxOutput: 4096,
36
40
  tokens: 200_000,
37
41
  },
38
42
  {
39
43
  displayName: 'Claude 2.0',
44
+ enabled: false,
40
45
  id: 'claude-2.0',
41
46
  maxOutput: 4096,
42
47
  tokens: 100_000,
43
48
  },
44
49
  {
45
50
  displayName: 'Claude Instant 1.2',
46
- hidden: true,
51
+ enabled: false,
47
52
  id: 'claude-instant-1.2',
48
53
  maxOutput: 4096,
49
54
  tokens: 100_000,
@@ -0,0 +1,42 @@
1
+ import { ModelProviderCard } from '@/types/llm';
2
+
3
+ const Azure: ModelProviderCard = {
4
+ chatModels: [
5
+ {
6
+ deploymentName: 'gpt-35-turbo',
7
+ description: 'GPT 3.5 Turbo,适用于各种文本生成和理解任务',
8
+ displayName: 'GPT-3.5 Turbo',
9
+ enabled: true,
10
+ functionCall: true,
11
+ id: 'gpt-35-turbo',
12
+ maxOutput: 4096,
13
+ tokens: 16_385,
14
+ },
15
+ {
16
+ deploymentName: 'gpt-35-turbo-16k',
17
+ displayName: 'GPT-3.5 Turbo',
18
+ functionCall: true,
19
+ id: 'gpt-35-turbo-16k',
20
+ tokens: 16_384,
21
+ },
22
+ {
23
+ deploymentName: 'gpt-4-turbo',
24
+ displayName: 'GPT-4 Turbo',
25
+ enabled: true,
26
+ functionCall: true,
27
+ id: 'gpt-4',
28
+ tokens: 128_000,
29
+ },
30
+ {
31
+ deploymentName: 'gpt-4-vision',
32
+ description: 'GPT-4 视觉预览版,支持视觉任务',
33
+ displayName: 'GPT-4 Turbo with Vision Preview',
34
+ id: 'gpt-4-vision-preview',
35
+ tokens: 128_000,
36
+ vision: true,
37
+ },
38
+ ],
39
+ id: 'azure',
40
+ };
41
+
42
+ export default Azure;
@@ -6,7 +6,6 @@ const Bedrock: ModelProviderCard = {
6
6
  description:
7
7
  'Amazon Titan Text G1 - Express v1,上下文长度可达 8000 个 token,适合广泛的用途。',
8
8
  displayName: 'Titan Text G1 - Express',
9
- hidden: true,
10
9
  id: 'amazon.titan-text-express-v1:0:8k',
11
10
  tokens: 8000,
12
11
  },
@@ -14,6 +13,7 @@ const Bedrock: ModelProviderCard = {
14
13
  description:
15
14
  'Anthropic 推出的 Claude 3 Sonnet 模型在智能和速度之间取得理想的平衡,尤其是在处理企业工作负载方面。该模型提供最大的效用,同时价格低于竞争产品,并且其经过精心设计,是大规模部署人工智能的可信赖、高耐久性骨干模型。 Claude 3 Sonnet 可以处理图像和返回文本输出,并且提供 200K 上下文窗口。',
16
15
  displayName: 'Claude 3 Sonnet',
16
+ enabled: true,
17
17
  id: 'anthropic.claude-3-sonnet-20240229-v1:0',
18
18
  tokens: 200_000,
19
19
  vision: true,
@@ -22,6 +22,7 @@ const Bedrock: ModelProviderCard = {
22
22
  description:
23
23
  'Claude 3 Haiku 是 Anthropic 最快速、最紧凑的模型,具有近乎即时的响应能力。该模型可以快速回答简单的查询和请求。客户将能够构建模仿人类交互的无缝人工智能体验。 Claude 3 Haiku 可以处理图像和返回文本输出,并且提供 200K 上下文窗口。',
24
24
  displayName: 'Claude 3 Haiku',
25
+ enabled: true,
25
26
  id: 'anthropic.claude-3-haiku-20240307-v1:0',
26
27
  tokens: 200_000,
27
28
  vision: true,
@@ -43,12 +44,14 @@ const Bedrock: ModelProviderCard = {
43
44
  {
44
45
  description: 'Llama 2 Chat 13B v1,上下文大小为 4k,Llama 2 模型的对话用例优化变体。',
45
46
  displayName: 'Llama 2 Chat 13B',
47
+ enabled: true,
46
48
  id: 'meta.llama2-13b-chat-v1',
47
49
  tokens: 4000,
48
50
  },
49
51
  {
50
52
  description: 'Llama 2 Chat 70B v1,上下文大小为 4k,Llama 2 模型的对话用例优化变体。',
51
53
  displayName: 'Llama 2 Chat 70B',
54
+ enabled: true,
52
55
  id: 'meta.llama2-70b-chat-v1',
53
56
  tokens: 4000,
54
57
  },
@@ -5,15 +5,12 @@ const Google: ModelProviderCard = {
5
5
  {
6
6
  description: 'A legacy text-only model optimized for chat conversations',
7
7
  displayName: 'PaLM 2 Chat (Legacy)',
8
- hidden: true,
9
8
  id: 'chat-bison-001',
10
9
  maxOutput: 1024,
11
- tokens: 5120,
12
10
  },
13
11
  {
14
12
  description: 'A legacy model that understands text and generates text as an output',
15
13
  displayName: 'PaLM 2 (Legacy)',
16
- hidden: true,
17
14
  id: 'text-bison-001',
18
15
  maxOutput: 1024,
19
16
  tokens: 9220,
@@ -21,6 +18,7 @@ const Google: ModelProviderCard = {
21
18
  {
22
19
  description: 'The best model for scaling across a wide range of tasks',
23
20
  displayName: 'Gemini 1.0 Pro',
21
+ enabled: true,
24
22
  id: 'gemini-pro',
25
23
  maxOutput: 2048,
26
24
  tokens: 32_768,
@@ -28,6 +26,7 @@ const Google: ModelProviderCard = {
28
26
  {
29
27
  description: 'The best image understanding model to handle a broad range of applications',
30
28
  displayName: 'Gemini 1.0 Pro Vision',
29
+ enabled: true,
31
30
  id: 'gemini-1.0-pro-vision-latest',
32
31
  maxOutput: 4096,
33
32
  tokens: 16_384,
@@ -36,25 +35,15 @@ const Google: ModelProviderCard = {
36
35
  {
37
36
  description: 'The best image understanding model to handle a broad range of applications',
38
37
  displayName: 'Gemini 1.0 Pro Vision',
39
- hidden: true,
40
38
  id: 'gemini-pro-vision',
41
39
  maxOutput: 4096,
42
40
  tokens: 16_384,
43
41
  vision: true,
44
42
  },
45
- {
46
- description: 'The best model for scaling across a wide range of tasks',
47
- displayName: 'Gemini 1.0 Pro',
48
- hidden: true,
49
- id: '1.0-pro',
50
- maxOutput: 2048,
51
- tokens: 32_768,
52
- },
53
43
  {
54
44
  description:
55
45
  'The best model for scaling across a wide range of tasks. This is a stable model that supports tuning.',
56
46
  displayName: 'Gemini 1.0 Pro 001 (Tuning)',
57
- hidden: true,
58
47
  id: 'gemini-1.0-pro-001',
59
48
  maxOutput: 2048,
60
49
  tokens: 32_768,
@@ -63,7 +52,6 @@ const Google: ModelProviderCard = {
63
52
  description:
64
53
  'The best model for scaling across a wide range of tasks. This is the latest model.',
65
54
  displayName: 'Gemini 1.0 Pro Latest',
66
- hidden: true,
67
55
  id: 'gemini-1.0-pro-latest',
68
56
  maxOutput: 2048,
69
57
  tokens: 32_768,
@@ -4,16 +4,19 @@ const Groq: ModelProviderCard = {
4
4
  chatModels: [
5
5
  {
6
6
  displayName: 'Mixtral-8x7b-Instruct-v0.1',
7
+ enabled: true,
7
8
  id: 'mixtral-8x7b-32768',
8
9
  tokens: 32_768,
9
10
  },
10
11
  {
11
12
  displayName: 'Gemma-7b-it',
13
+ enabled: true,
12
14
  id: 'gemma-7b-it',
13
15
  tokens: 8192,
14
16
  },
15
17
  {
16
18
  displayName: 'LLaMA2-70b-chat',
19
+ enabled: true,
17
20
  id: 'llama2-70b-4096',
18
21
  tokens: 4096,
19
22
  },
@@ -1,4 +1,4 @@
1
- import { ChatModelCard } from '@/types/llm';
1
+ import { ChatModelCard, ModelProviderCard } from '@/types/llm';
2
2
 
3
3
  import AnthropicProvider from './anthropic';
4
4
  import BedrockProvider from './bedrock';
@@ -30,16 +30,21 @@ export const LOBE_DEFAULT_MODEL_LIST: ChatModelCard[] = [
30
30
  ZeroOneProvider.chatModels,
31
31
  ].flat();
32
32
 
33
- export { default as AnthropicProvider } from './anthropic';
34
- export { default as BedrockProvider } from './bedrock';
35
- export { default as GoogleProvider } from './google';
36
- export { default as GroqProvider } from './groq';
37
- export { default as MistralProvider } from './mistral';
38
- export { default as MoonshotProvider } from './moonshot';
39
- export { default as OllamaProvider } from './ollama';
40
- export { default as OpenAIProvider } from './openai';
41
- export { default as OpenRouterProvider } from './openrouter';
42
- export { default as PerplexityProvider } from './perplexity';
43
- export { default as TogetherAIProvider } from './togetherai';
44
- export { default as ZeroOneProvider } from './zeroone';
45
- export { default as ZhiPuProvider } from './zhipu';
33
+ export const filterEnabledModels = (provider: ModelProviderCard) => {
34
+ return provider.chatModels.filter((v) => v.enabled).map((m) => m.id);
35
+ };
36
+
37
+ export { default as AnthropicProviderCard } from './anthropic';
38
+ export { default as AzureProviderCard } from './azure';
39
+ export { default as BedrockProviderCard } from './bedrock';
40
+ export { default as GoogleProviderCard } from './google';
41
+ export { default as GroqProviderCard } from './groq';
42
+ export { default as MistralProviderCard } from './mistral';
43
+ export { default as MoonshotProviderCard } from './moonshot';
44
+ export { default as OllamaProviderCard } from './ollama';
45
+ export { default as OpenAIProviderCard } from './openai';
46
+ export { default as OpenRouterProviderCard } from './openrouter';
47
+ export { default as PerplexityProviderCard } from './perplexity';
48
+ export { default as TogetherAIProviderCard } from './togetherai';
49
+ export { default as ZeroOneProviderCard } from './zeroone';
50
+ export { default as ZhiPuProviderCard } from './zhipu';
@@ -4,26 +4,31 @@ const Mistral: ModelProviderCard = {
4
4
  chatModels: [
5
5
  {
6
6
  displayName: 'Mistral 7B',
7
+ enabled: true,
7
8
  id: 'open-mistral-7b',
8
9
  tokens: 32_768,
9
10
  },
10
11
  {
11
12
  displayName: 'Mixtral 8x7B',
13
+ enabled: true,
12
14
  id: 'open-mixtral-8x7b',
13
15
  tokens: 32_768,
14
16
  },
15
17
  {
16
18
  displayName: 'Mistral Small (2402)',
19
+ enabled: true,
17
20
  id: 'mistral-small-2402',
18
21
  tokens: 32_768,
19
22
  },
20
23
  {
21
24
  displayName: 'Mistral Medium (2312)',
25
+ enabled: true,
22
26
  id: 'mistral-medium-2312',
23
27
  tokens: 32_768,
24
28
  },
25
29
  {
26
30
  displayName: 'Mistral Large (2402)',
31
+ enabled: true,
27
32
  id: 'mistral-large-2402',
28
33
  tokens: 32_768,
29
34
  },
@@ -4,23 +4,25 @@ const Moonshot: ModelProviderCard = {
4
4
  chatModels: [
5
5
  {
6
6
  displayName: 'Moonshot V1 8K',
7
+ enabled: true,
7
8
  id: 'moonshot-v1-8k',
8
9
  tokens: 8192,
9
10
  },
10
11
  {
11
12
  displayName: 'Moonshot V1 32K',
13
+ enabled: true,
12
14
  id: 'moonshot-v1-32k',
13
15
  tokens: 32_768,
14
16
  },
15
17
  {
16
18
  displayName: 'Moonshot V1 128K',
19
+ enabled: true,
17
20
  id: 'moonshot-v1-128k',
18
21
  tokens: 128_000,
19
22
  },
20
23
  {
21
24
  displayName: 'Moonshot Kimi Reverse',
22
25
  files: true,
23
- hidden: true,
24
26
  id: 'moonshot-v1',
25
27
  tokens: 200_000,
26
28
  vision: true,
@@ -4,6 +4,7 @@ const Ollama: ModelProviderCard = {
4
4
  chatModels: [
5
5
  {
6
6
  displayName: 'Gemma 7B',
7
+ enabled: true,
7
8
  functionCall: false,
8
9
  id: 'gemma',
9
10
  tokens: 4000,
@@ -11,6 +12,7 @@ const Ollama: ModelProviderCard = {
11
12
  },
12
13
  {
13
14
  displayName: 'Gemma 2B',
15
+ enabled: true,
14
16
  functionCall: false,
15
17
  id: 'gemma:2b',
16
18
  tokens: 4000,
@@ -19,13 +21,13 @@ const Ollama: ModelProviderCard = {
19
21
  {
20
22
  displayName: 'Llama2 Chat 13B',
21
23
  functionCall: false,
22
- hidden: true,
23
24
  id: 'llama2:13b',
24
25
  tokens: 4000,
25
26
  vision: false,
26
27
  },
27
28
  {
28
29
  displayName: 'Llama2 Chat 7B',
30
+ enabled: true,
29
31
  functionCall: false,
30
32
  id: 'llama2',
31
33
  tokens: 4000,
@@ -34,7 +36,6 @@ const Ollama: ModelProviderCard = {
34
36
  {
35
37
  displayName: 'Llama2 Chat 70B',
36
38
  functionCall: false,
37
- hidden: true,
38
39
  id: 'llama2:70b',
39
40
  tokens: 4000,
40
41
  vision: false,
@@ -42,7 +43,6 @@ const Ollama: ModelProviderCard = {
42
43
  {
43
44
  displayName: 'Llama2 CN 13B',
44
45
  functionCall: false,
45
- hidden: true,
46
46
  id: 'llama2-chinese:13b',
47
47
  tokens: 4000,
48
48
  vision: false,
@@ -64,7 +64,6 @@ const Ollama: ModelProviderCard = {
64
64
  {
65
65
  displayName: 'Code Llama 34B',
66
66
  functionCall: false,
67
- hidden: true,
68
67
  id: 'codellama:34b',
69
68
  tokens: 16_000,
70
69
  vision: false,
@@ -72,7 +71,6 @@ const Ollama: ModelProviderCard = {
72
71
  {
73
72
  displayName: 'Code Llama 70B',
74
73
  functionCall: false,
75
- hidden: true,
76
74
  id: 'codellama:70b',
77
75
  tokens: 16_000,
78
76
  vision: false,
@@ -80,13 +78,13 @@ const Ollama: ModelProviderCard = {
80
78
  {
81
79
  displayName: 'Code Llama 7B (Python)',
82
80
  functionCall: false,
83
- hidden: true,
84
81
  id: 'codellama:python',
85
82
  tokens: 16_000,
86
83
  vision: false,
87
84
  },
88
85
  {
89
86
  displayName: 'Mistral',
87
+ enabled: true,
90
88
  functionCall: false,
91
89
  id: 'mistral',
92
90
  tokens: 4800,
@@ -94,6 +92,7 @@ const Ollama: ModelProviderCard = {
94
92
  },
95
93
  {
96
94
  displayName: 'Mixtral 8x7B',
95
+ enabled: true,
97
96
  functionCall: false,
98
97
  id: 'mixtral',
99
98
  tokens: 32_000,
@@ -108,6 +107,7 @@ const Ollama: ModelProviderCard = {
108
107
  },
109
108
  {
110
109
  displayName: 'Qwen Chat 7B',
110
+ enabled: true,
111
111
  functionCall: false,
112
112
  id: 'qwen:7b',
113
113
  tokens: 32_768,
@@ -116,7 +116,6 @@ const Ollama: ModelProviderCard = {
116
116
  {
117
117
  displayName: 'Qwen Chat 14B',
118
118
  functionCall: false,
119
- hidden: true,
120
119
  id: 'qwen:14b',
121
120
  tokens: 32_768,
122
121
  vision: false,
@@ -124,7 +123,6 @@ const Ollama: ModelProviderCard = {
124
123
  {
125
124
  displayName: 'Qwen Chat 72B',
126
125
  functionCall: false,
127
- hidden: true,
128
126
  id: 'qwen:72b',
129
127
  tokens: 32_768,
130
128
  vision: false,
@@ -132,7 +130,6 @@ const Ollama: ModelProviderCard = {
132
130
  {
133
131
  displayName: 'LLaVA 7B',
134
132
  functionCall: false,
135
- hidden: true,
136
133
  id: 'llava',
137
134
  tokens: 4000,
138
135
  vision: true,
@@ -140,7 +137,6 @@ const Ollama: ModelProviderCard = {
140
137
  {
141
138
  displayName: 'LLaVA 13B',
142
139
  functionCall: false,
143
- hidden: true,
144
140
  id: 'llava:13b',
145
141
  tokens: 4000,
146
142
  vision: true,
@@ -148,7 +144,6 @@ const Ollama: ModelProviderCard = {
148
144
  {
149
145
  displayName: 'LLaVA 34B',
150
146
  functionCall: false,
151
- hidden: true,
152
147
  id: 'llava:34b',
153
148
  tokens: 4000,
154
149
  vision: true,
@@ -157,7 +152,6 @@ const Ollama: ModelProviderCard = {
157
152
  {
158
153
  displayName: 'Qwen Plus',
159
154
  functionCall: true,
160
- hidden: true,
161
155
  id: 'qwen-plus',
162
156
  tokens: 30_000,
163
157
  vision: false,
@@ -165,7 +159,6 @@ const Ollama: ModelProviderCard = {
165
159
  {
166
160
  displayName: 'Qwen Turbo',
167
161
  functionCall: true,
168
- hidden: true,
169
162
  id: 'qwen-turbo',
170
163
  tokens: 6000,
171
164
  vision: false,
@@ -173,7 +166,6 @@ const Ollama: ModelProviderCard = {
173
166
  {
174
167
  displayName: 'Qwen Max',
175
168
  functionCall: true,
176
- hidden: true,
177
169
  id: 'qwen-max',
178
170
  tokens: 6000,
179
171
  vision: false,
@@ -181,7 +173,6 @@ const Ollama: ModelProviderCard = {
181
173
  {
182
174
  displayName: 'Qwen Max Long',
183
175
  functionCall: true,
184
- hidden: true,
185
176
  id: 'qwen-max-longcontext',
186
177
  tokens: 28_000,
187
178
  vision: false,
@@ -189,7 +180,6 @@ const Ollama: ModelProviderCard = {
189
180
  {
190
181
  displayName: 'Qwen VL Max',
191
182
  functionCall: false,
192
- hidden: true,
193
183
  id: 'qwen-vl-max',
194
184
  tokens: 6000,
195
185
  vision: true,
@@ -197,7 +187,6 @@ const Ollama: ModelProviderCard = {
197
187
  {
198
188
  displayName: 'Qwen VL Plus',
199
189
  functionCall: false,
200
- hidden: true,
201
190
  id: 'qwen-vl-plus',
202
191
  tokens: 30_000,
203
192
  vision: true,