@lobehub/chat 0.146.2 → 0.147.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (358) 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 +73 -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 +12 -0
  12. package/docs/self-hosting/advanced/analytics.zh-CN.mdx +10 -0
  13. package/docs/self-hosting/advanced/authentication.mdx +19 -0
  14. package/docs/self-hosting/advanced/authentication.zh-CN.mdx +15 -0
  15. package/docs/self-hosting/advanced/sso-providers/auth0.mdx +19 -2
  16. package/docs/self-hosting/advanced/sso-providers/auth0.zh-CN.mdx +15 -2
  17. package/docs/self-hosting/advanced/sso-providers/authentik.mdx +18 -3
  18. package/docs/self-hosting/advanced/sso-providers/authentik.zh-CN.mdx +14 -2
  19. package/docs/self-hosting/advanced/sso-providers/github.mdx +13 -0
  20. package/docs/self-hosting/advanced/sso-providers/github.zh-CN.mdx +13 -3
  21. package/docs/self-hosting/advanced/sso-providers/microsoft-entra-id.mdx +18 -2
  22. package/docs/self-hosting/advanced/sso-providers/microsoft-entra-id.zh-CN.mdx +15 -2
  23. package/docs/self-hosting/advanced/sso-providers/zitadel.mdx +17 -2
  24. package/docs/self-hosting/advanced/sso-providers/zitadel.zh-CN.mdx +14 -2
  25. package/docs/self-hosting/advanced/upstream-sync.mdx +13 -0
  26. package/docs/self-hosting/advanced/upstream-sync.zh-CN.mdx +10 -0
  27. package/docs/self-hosting/environment-variables/analytics.mdx +15 -0
  28. package/docs/self-hosting/environment-variables/analytics.zh-CN.mdx +13 -0
  29. package/docs/self-hosting/environment-variables/auth.mdx +14 -0
  30. package/docs/self-hosting/environment-variables/auth.zh-CN.mdx +15 -1
  31. package/docs/self-hosting/environment-variables/basic.mdx +15 -0
  32. package/docs/self-hosting/environment-variables/basic.zh-CN.mdx +11 -0
  33. package/docs/self-hosting/environment-variables/model-provider.mdx +26 -0
  34. package/docs/self-hosting/environment-variables/model-provider.zh-CN.mdx +10 -0
  35. package/docs/self-hosting/environment-variables.mdx +13 -2
  36. package/docs/self-hosting/environment-variables.zh-CN.mdx +9 -0
  37. package/docs/self-hosting/examples/azure-openai.mdx +12 -0
  38. package/docs/self-hosting/examples/azure-openai.zh-CN.mdx +12 -0
  39. package/docs/self-hosting/examples/ollama.mdx +13 -0
  40. package/docs/self-hosting/examples/ollama.zh-CN.mdx +11 -0
  41. package/docs/self-hosting/faq/no-v1-suffix.mdx +12 -0
  42. package/docs/self-hosting/faq/no-v1-suffix.zh-CN.mdx +9 -0
  43. package/docs/self-hosting/faq/proxy-with-unable-to-verify-leaf-signature.mdx +14 -0
  44. package/docs/self-hosting/faq/proxy-with-unable-to-verify-leaf-signature.zh-CN.mdx +11 -0
  45. package/docs/self-hosting/platform/docker-compose.mdx +21 -5
  46. package/docs/self-hosting/platform/docker-compose.zh-CN.mdx +18 -5
  47. package/docs/self-hosting/platform/docker.mdx +26 -8
  48. package/docs/self-hosting/platform/docker.zh-CN.mdx +27 -9
  49. package/docs/self-hosting/platform/netlify.mdx +18 -2
  50. package/docs/self-hosting/platform/netlify.zh-CN.mdx +14 -1
  51. package/docs/self-hosting/platform/railway.mdx +12 -0
  52. package/docs/self-hosting/platform/railway.zh-CN.mdx +11 -0
  53. package/docs/self-hosting/platform/repocloud.mdx +12 -0
  54. package/docs/self-hosting/platform/repocloud.zh-CN.mdx +10 -0
  55. package/docs/self-hosting/platform/sealos.mdx +11 -0
  56. package/docs/self-hosting/platform/sealos.zh-CN.mdx +10 -0
  57. package/docs/self-hosting/platform/vercel.mdx +12 -0
  58. package/docs/self-hosting/platform/vercel.zh-CN.mdx +11 -0
  59. package/docs/self-hosting/platform/zeabur.mdx +11 -0
  60. package/docs/self-hosting/platform/zeabur.zh-CN.mdx +10 -0
  61. package/docs/self-hosting/start.mdx +12 -0
  62. package/docs/self-hosting/start.zh-CN.mdx +13 -0
  63. package/docs/usage/agents/concepts.mdx +13 -0
  64. package/docs/usage/agents/concepts.zh-CN.mdx +10 -0
  65. package/docs/usage/agents/custom-agent.mdx +16 -2
  66. package/docs/usage/agents/custom-agent.zh-CN.mdx +14 -2
  67. package/docs/usage/agents/model.mdx +11 -2
  68. package/docs/usage/agents/model.zh-CN.mdx +12 -0
  69. package/docs/usage/agents/prompt.mdx +15 -0
  70. package/docs/usage/agents/prompt.zh-CN.mdx +10 -0
  71. package/docs/usage/agents/topics.mdx +13 -0
  72. package/docs/usage/agents/topics.zh-CN.mdx +11 -0
  73. package/docs/usage/features/agent-market.mdx +11 -1
  74. package/docs/usage/features/agent-market.zh-CN.mdx +13 -0
  75. package/docs/usage/features/local-llm.mdx +12 -2
  76. package/docs/usage/features/local-llm.zh-CN.mdx +3 -3
  77. package/docs/usage/features/mobile.mdx +10 -1
  78. package/docs/usage/features/mobile.zh-CN.mdx +11 -0
  79. package/docs/usage/features/more.mdx +13 -0
  80. package/docs/usage/features/more.zh-CN.mdx +10 -0
  81. package/docs/usage/features/multi-ai-providers.mdx +14 -1
  82. package/docs/usage/features/multi-ai-providers.zh-CN.mdx +16 -0
  83. package/docs/usage/features/plugin-system.mdx +12 -1
  84. package/docs/usage/features/plugin-system.zh-CN.mdx +9 -0
  85. package/docs/usage/features/pwa.mdx +11 -1
  86. package/docs/usage/features/pwa.zh-CN.mdx +13 -0
  87. package/docs/usage/features/text-to-image.mdx +11 -1
  88. package/docs/usage/features/text-to-image.zh-CN.mdx +13 -0
  89. package/docs/usage/features/theme.mdx +12 -1
  90. package/docs/usage/features/theme.zh-CN.mdx +11 -0
  91. package/docs/usage/features/tts.mdx +14 -1
  92. package/docs/usage/features/tts.zh-CN.mdx +12 -0
  93. package/docs/usage/features/vision.mdx +11 -1
  94. package/docs/usage/features/vision.zh-CN.mdx +10 -0
  95. package/docs/usage/plugins/basic-usage.mdx +12 -0
  96. package/docs/usage/plugins/basic-usage.zh-CN.mdx +10 -0
  97. package/docs/usage/plugins/custom-plugin.mdx +12 -0
  98. package/docs/usage/plugins/custom-plugin.zh-CN.mdx +10 -0
  99. package/docs/usage/plugins/development.mdx +18 -0
  100. package/docs/usage/plugins/development.zh-CN.mdx +12 -0
  101. package/docs/usage/plugins/store.mdx +12 -0
  102. package/docs/usage/plugins/store.zh-CN.mdx +9 -0
  103. package/docs/usage/providers/groq.mdx +14 -2
  104. package/docs/usage/providers/groq.zh-CN.mdx +12 -2
  105. package/docs/usage/providers/ollama/gemma.mdx +13 -3
  106. package/docs/usage/providers/ollama/gemma.zh-CN.mdx +12 -3
  107. package/docs/usage/providers/ollama/qwen.mdx +12 -4
  108. package/docs/usage/providers/ollama/qwen.zh-CN.mdx +10 -3
  109. package/docs/usage/providers/ollama.mdx +19 -9
  110. package/docs/usage/providers/ollama.zh-CN.mdx +20 -9
  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/migrations/FromV3ToV4/fixtures/azure-input-v3.json +79 -0
  294. package/src/migrations/FromV3ToV4/fixtures/azure-output-v4.json +75 -0
  295. package/src/migrations/FromV3ToV4/fixtures/ollama-input-v3.json +85 -0
  296. package/src/migrations/FromV3ToV4/fixtures/ollama-output-v4.json +86 -0
  297. package/src/migrations/FromV3ToV4/fixtures/openai-input-v3.json +77 -0
  298. package/src/migrations/FromV3ToV4/fixtures/openai-output-v4.json +79 -0
  299. package/src/migrations/FromV3ToV4/fixtures/openrouter-input-v3.json +82 -0
  300. package/src/migrations/FromV3ToV4/fixtures/openrouter-output-v4.json +89 -0
  301. package/src/migrations/FromV3ToV4/fixtures/output-v4-from-v1.json +203 -0
  302. package/src/migrations/FromV3ToV4/index.ts +96 -0
  303. package/src/migrations/FromV3ToV4/migrations.test.ts +195 -0
  304. package/src/migrations/FromV3ToV4/types/v3.ts +59 -0
  305. package/src/migrations/FromV3ToV4/types/v4.ts +37 -0
  306. package/src/migrations/index.ts +11 -3
  307. package/src/services/_auth.test.ts +4 -6
  308. package/src/services/_auth.ts +8 -60
  309. package/src/services/_header.ts +5 -22
  310. package/src/services/_url.ts +1 -0
  311. package/src/services/chat.ts +16 -6
  312. package/src/services/global.ts +1 -1
  313. package/src/services/models.ts +23 -0
  314. package/src/services/ollama.ts +2 -2
  315. package/src/store/chat/slices/share/action.test.ts +113 -0
  316. package/src/store/chat/slices/share/action.ts +1 -1
  317. package/src/store/global/slices/common/action.test.ts +166 -1
  318. package/src/store/global/slices/common/action.ts +2 -1
  319. package/src/store/global/slices/settings/{action.test.ts → actions/general.test.ts} +1 -19
  320. package/src/store/global/slices/settings/{action.ts → actions/general.ts} +4 -19
  321. package/src/store/global/slices/settings/actions/index.ts +18 -0
  322. package/src/store/global/slices/settings/actions/llm.test.ts +60 -0
  323. package/src/store/global/slices/settings/actions/llm.ts +88 -0
  324. package/src/store/global/slices/settings/initialState.ts +3 -1
  325. package/src/store/global/slices/settings/reducers/customModelCard.test.ts +204 -0
  326. package/src/store/global/slices/settings/reducers/customModelCard.ts +64 -0
  327. package/src/store/global/slices/settings/selectors/index.ts +1 -0
  328. package/src/store/global/slices/settings/selectors/modelConfig.test.ts +189 -0
  329. package/src/store/global/slices/settings/selectors/modelConfig.ts +179 -0
  330. package/src/store/global/slices/settings/selectors/modelProvider.test.ts +47 -138
  331. package/src/store/global/slices/settings/selectors/modelProvider.ts +102 -243
  332. package/src/store/global/store.ts +1 -1
  333. package/src/types/llm.ts +12 -1
  334. package/src/types/serverConfig.ts +22 -0
  335. package/src/types/settings/index.ts +0 -12
  336. package/src/types/settings/modelProvider.ts +34 -90
  337. package/src/utils/client/switchLang.test.ts +34 -0
  338. package/src/utils/difference.test.ts +46 -0
  339. package/src/utils/difference.ts +15 -2
  340. package/src/utils/fetch.ts +1 -3
  341. package/src/utils/parseModels.ts +62 -0
  342. package/vercel.json +1 -1
  343. package/docs/package.json +0 -5
  344. package/src/features/Conversation/Error/APIKeyForm/Anthropic.tsx +0 -40
  345. package/src/features/Conversation/Error/APIKeyForm/Google.tsx +0 -61
  346. package/src/features/Conversation/Error/APIKeyForm/Groq.tsx +0 -60
  347. package/src/features/Conversation/Error/APIKeyForm/Mistral.tsx +0 -60
  348. package/src/features/Conversation/Error/APIKeyForm/Moonshot.tsx +0 -60
  349. package/src/features/Conversation/Error/APIKeyForm/OpenAI.tsx +0 -63
  350. package/src/features/Conversation/Error/APIKeyForm/OpenRouter.tsx +0 -40
  351. package/src/features/Conversation/Error/APIKeyForm/Perplexity.tsx +0 -60
  352. package/src/features/Conversation/Error/APIKeyForm/TogetherAI.tsx +0 -40
  353. package/src/features/Conversation/Error/APIKeyForm/ZeroOne.tsx +0 -60
  354. package/src/features/Conversation/Error/APIKeyForm/Zhipu.tsx +0 -62
  355. package/src/libs/agent-runtime/utils/env.ts +0 -1
  356. package/src/store/global/slices/settings/selectors/__snapshots__/modelProvider.test.ts.snap +0 -230
  357. /package/src/app/api/chat/{auth.ts → auth/utils.ts} +0 -0
  358. /package/src/components/{AntdStaticMethods.tsx → AntdStaticMethods/index.tsx} +0 -0
@@ -1,3 +1,13 @@
1
+ ---
2
+ title: 在 LobeChat 中配置 Github 身份验证服务
3
+ description: 学习如何在 LobeChat 中配置Github身份验证服务,包括创建新的Github App、设置权限和环境变量。
4
+ tags:
5
+ - Github 身份验证
6
+ - Github App
7
+ - 环境变量配置
8
+ - 单点登录
9
+ - LobeChat
10
+ ---
1
11
  # 配置 Github 身份验证服务
2
12
 
3
13
  ## Github 配置流程
@@ -50,12 +60,12 @@
50
60
 
51
61
  <Callout type={'tip'}>
52
62
  前往 [📘 环境变量](/zh/self-hosting/environment-variable#Github) 可查阅相关变量详情。
53
- </Callout>
63
+
64
+ </Callout>
54
65
  </Steps>
55
66
 
56
67
  <Callout type={'info'}>
57
68
  部署成功后,用户将可以通过Github身份认证并使用 LobeChat。
58
69
  </Callout>
59
70
 
60
-
61
- [github-create-app]: https://github.com/settings/apps/new
71
+ [github-create-app]: https://github.com/settings/apps/new
@@ -1,3 +1,17 @@
1
+ ---
2
+ title: Configuration of Microsoft Entra ID Authentication Service for LobeChat
3
+ description: >-
4
+ Learn how to configure Microsoft Entra ID Authentication Service for LobeChat,
5
+ create applications, add users, and set up environment variables for seamless
6
+ integration.
7
+ tags:
8
+ - Microsoft Entra ID
9
+ - Authentication Service
10
+ - Azure Portal
11
+ - SSO
12
+ - Environment Variables
13
+ - LobeChat
14
+ ---
1
15
  # Configuration of Microsoft Entra ID Authentication Service
2
16
 
3
17
  <Steps>
@@ -16,7 +30,8 @@
16
30
  <Callout type={'info'}>
17
31
  - You can fill in or modify the Redirect URIs after registering, but make sure the URL you enter matches the deployed URL.
18
32
  - Please replace "your-domain" with your own domain.
19
- </Callout>
33
+
34
+ </Callout>
20
35
 
21
36
  <Image alt="App Register" inStep src="https://github.com/lobehub/lobe-chat/assets/13883964/4f9d83bd-b3fc-4abc-bcf4-ccbad65c219d" />
22
37
 
@@ -53,7 +68,8 @@
53
68
 
54
69
  <Callout type={'tip'}>
55
70
  You can refer to [📘 environment variables](/en/self-hosting/environment-variable#microsoft-entra-id) for details on related variables.
56
- </Callout>
71
+
72
+ </Callout>
57
73
 
58
74
  </Steps>
59
75
 
@@ -1,3 +1,14 @@
1
+ ---
2
+ title: 在 LobeChat 中配置 Microsoft Entra ID 身份验证服务
3
+ description: 学习如何在 LobeChat 中配置 Microsoft Entra ID 身份验证服务,包括创建应用、新增用户和配置环境变量。详细步骤和相关资料。
4
+ tags:
5
+ - Microsoft Entra ID
6
+ - Microsoft Azure Portal
7
+ - 身份验证服务
8
+ - 应用注册
9
+ - 环境变量
10
+ - 用户管理
11
+ ---
1
12
  # 配置 Microsoft Entra ID 身份验证服务
2
13
 
3
14
  ## Microsoft Entra ID 配置流程
@@ -18,7 +29,8 @@
18
29
  <Callout type={'info'}>
19
30
  - 可以在 Register 后再填写或修改 Redirect URIs,但是务必保证填写的 URL 与部署的 URL 一致。
20
31
  - your-domain 请填写自己的域名
21
- </Callout>
32
+
33
+ </Callout>
22
34
 
23
35
  <Image alt="App Register" inStep src="https://github.com/lobehub/lobe-chat/assets/13883964/4f9d83bd-b3fc-4abc-bcf4-ccbad65c219d" />
24
36
 
@@ -55,7 +67,8 @@
55
67
 
56
68
  <Callout type={'tip'}>
57
69
  前往 [📘 环境变量](/zh/self-hosting/environment-variable#microsoft-entra-id) 可查阅相关变量详情。
58
- </Callout>
70
+
71
+ </Callout>
59
72
  </Steps>
60
73
 
61
74
  <Callout type={'info'}>
@@ -1,3 +1,16 @@
1
+ ---
2
+ title: Configure ZITADEL Authentication Service for LobeChat
3
+ description: >-
4
+ Learn how to configure ZITADEL Authentication Service for LobeChat deployment,
5
+ including creating ZITADEL applications, setting up environment variables, and
6
+ enabling single sign-on (SSO).
7
+ tags:
8
+ - ZITADEL Authentication
9
+ - LobeChat Deployment
10
+ - Single Sign-On (SSO)
11
+ - Environment Variables
12
+ - ZITADEL Applications
13
+ ---
1
14
  # Configure ZITADEL Authentication Service
2
15
 
3
16
  <Steps>
@@ -26,7 +39,8 @@
26
39
  <Callout type={'important'}>
27
40
  - You can fill in or modify redirect URIs after creating the application, but make sure the filled URL is consistent with the deployed URL.
28
41
  - Replace `http(s)://your-domain` with the actual URL that LobeChat is deployed to.
29
- </Callout>
42
+
43
+ </Callout>
30
44
 
31
45
  Confirm the configuration and click **Create**.
32
46
 
@@ -57,7 +71,8 @@
57
71
 
58
72
  <Callout type={'tip'}>
59
73
  You can refer to the related variable details at [📘Environment Variables](/en/self-hosting/environment-variables/auth#zitadel).
60
- </Callout>
74
+
75
+ </Callout>
61
76
  </Steps>
62
77
 
63
78
  <Callout>
@@ -1,3 +1,13 @@
1
+ ---
2
+ title: 在 LobeChat 中配置 ZITADEL 身份验证服务
3
+ description: 学习如何在 LobeChat 中配置 ZITADEL 身份验证服务,包括创建应用、配置环境变量等步骤。
4
+ tags:
5
+ - ZITADEL
6
+ - 身份验证服务
7
+ - 环境变量配置
8
+ - 单点登录
9
+ - LobeChat
10
+ ---
1
11
  # 配置 ZITADEL 身份验证服务
2
12
 
3
13
  <Steps>
@@ -26,7 +36,8 @@
26
36
  <Callout type={'important'}>
27
37
  - 可以创建应用后再填写或修改重定向 URL,但请确保填写的 URL 与部署的 URL 一致。
28
38
  - 请将 `http(s)://your-domain` 替换为 LobeChat 部署的实际 URL。
29
- </Callout>
39
+
40
+ </Callout>
30
41
 
31
42
  确认配置并点击「创建」。
32
43
 
@@ -57,7 +68,8 @@
57
68
 
58
69
  <Callout type={'tip'}>
59
70
  您可以在 [📘 环境变量](/zh/self-hosting/environment-variables/auth#zitadel) 中查看相关变量的详细信息。
60
- </Callout>
71
+
72
+ </Callout>
61
73
  </Steps>
62
74
 
63
75
  <Callout>
@@ -1,3 +1,16 @@
1
+ ---
2
+ title: LobeChat Upstream Sync and Docker Deployment Guide
3
+ description: >-
4
+ Learn how to enable automatic updates for LobeChat Vercel deployments and
5
+ upgrade Docker deployment versions easily. Follow step-by-step instructions
6
+ for a seamless deployment process.
7
+ tags:
8
+ - Upstream Sync
9
+ - Vercel Deployment
10
+ - Docker Deployment
11
+ - Automatic Updates
12
+ - Redeploy Docker Container
13
+ ---
1
14
  # Upstream Sync
2
15
 
3
16
  ## `A` Vercel / Zeabur Deployment
@@ -1,3 +1,13 @@
1
+ ---
2
+ title: LobeChat 启动自动更新 - Vercel / Zeabur 部署
3
+ description: 按照指南重新部署项目以解决 LobeChat 在 Vercel 中默认创建新项目导致的“有可用更新”提示问题,并启用自动更新。
4
+ tags:
5
+ - Vercel
6
+ - Zeabur
7
+ - 自动更新
8
+ - Docker部署
9
+ - Github Actions
10
+ ---
1
11
  # 启动自动更新
2
12
 
3
13
  ## `A` Vercel / Zeabur 部署
@@ -1,3 +1,18 @@
1
+ ---
2
+ title: >-
3
+ Integrating Data Analytics Services in LobeChat: Environment Variables and
4
+ Configuration
5
+ description: >-
6
+ Learn how to configure environment variables for Vercel Analytics, Google
7
+ Analytics, PostHog Analytics, and Umami Analytics in LobeChat for data
8
+ collection and analysis.
9
+ tags:
10
+ - Data Analytics
11
+ - LobeChat
12
+ - Analytics Services
13
+ - Environment Variables
14
+ - Configuration
15
+ ---
1
16
  # Data Statistics
2
17
 
3
18
  We have integrated several free/open-source data analytics services in LobeChat for collecting user usage data. Here are environment variables that you can use.
@@ -1,3 +1,16 @@
1
+ ---
2
+ title: 在 LobeChat 中 配置数据统计服务环境变量指南
3
+ description: >-
4
+ 了解如何在 LobeChat 中配置各种数据统计服务的环境变量,包括Vercel Analytics、Google Analytics、Posthog
5
+ Analytics和Umami Analytics。
6
+ tags:
7
+ - 数据统计
8
+ - 环境变量
9
+ - Vercel Analytics
10
+ - Google Analytics
11
+ - Posthog Analytics
12
+ - Umami Analytics
13
+ ---
1
14
  # 数据统计
2
15
 
3
16
  我们在 LobeChat 中集成了若干免费 / 开源的数据统计服务,用于了解用户的使用情况,以下是相关环境变量。
@@ -1,3 +1,17 @@
1
+ ---
2
+ title: LobeChat Authentication Service Environment Variables
3
+ description: >-
4
+ Explore the essential environment variables for configuring authentication
5
+ services in LobeChat, including OAuth SSO, NextAuth settings, and
6
+ provider-specific details.
7
+ tags:
8
+ - LobeChat
9
+ - Authentication Service
10
+ - Environment Variables
11
+ - OAuth SSO
12
+ - NextAuth
13
+ - Provider Details
14
+ ---
1
15
  ## Authentication Service
2
16
 
3
17
  LobeChat provides a complete authentication service capability when deployed. The following are the relevant environment variables. You can use these environment variables to easily define the identity verification services that need to be enabled in LobeChat.
@@ -1,3 +1,18 @@
1
+ ---
2
+ title: LobeChat 身份验证服务设置
3
+ description: >-
4
+ 了解如何配置 LobeChat 的身份验证服务环境变量,包括单点登录 (SSO)、Auth0、Microsoft Entra
5
+ ID、Authentik、Github 和 ZITADEL。
6
+ tags:
7
+ - LobeChat
8
+ - 身份验证服务
9
+ - 单点登录
10
+ - Auth0
11
+ - Microsoft Entra ID
12
+ - Authentik
13
+ - Github
14
+ - ZITADEL
15
+ ---
1
16
  # 身份验证服务
2
17
 
3
18
  LobeChat 在部署时提供了完善的身份验证服务能力,以下是相关的环境变量,你可以使用这些环境变量轻松定义需要在 LobeChat 中开启的身份验证服务。
@@ -80,7 +95,6 @@ LobeChat 在部署时提供了完善的身份验证服务能力,以下是相
80
95
 
81
96
  ## Authentik
82
97
 
83
-
84
98
  ### `AUTHENTIK_CLIENT_ID`
85
99
 
86
100
  - 类型:必选
@@ -1,3 +1,18 @@
1
+ ---
2
+ title: Customize LobeChat Deployment with Environment Variables
3
+ description: >-
4
+ Learn about the common environment variables used to customize LobeChat
5
+ deployment, including access code, OAuth SSO, base path, and default agent
6
+ configuration.
7
+ tags:
8
+ - LobeChat
9
+ - environment variables
10
+ - deployment
11
+ - access code
12
+ - OAuth SSO
13
+ - base path
14
+ - default agent configuration
15
+ ---
1
16
  # Environment Variables
2
17
 
3
18
  LobeChat provides some additional configuration options during deployment, which can be customized using environment variables.
@@ -1,3 +1,14 @@
1
+ ---
2
+ title: LobeChat 环境变量配置指南
3
+ description: 了解如何使用环境变量自定义设置 LobeChat 部署,包括访问密码、单点登录、basePath 设置等。
4
+ tags:
5
+ - LobeChat
6
+ - 环境变量
7
+ - 配置指南
8
+ - 单点登录
9
+ - 插件服务
10
+ - 助手市场
11
+ ---
1
12
  # 环境变量
2
13
 
3
14
  LobeChat 在部署时提供了一些额外的配置项,你可以使用环境变量进行自定义设置。
@@ -1,3 +1,29 @@
1
+ ---
2
+ title: LobeChat Model Service Providers - Environment Variables and Configuration
3
+ description: >-
4
+ Learn about the environment variables and configuration settings for various
5
+ model service providers like OpenAI, Azure OpenAI, ZHIPU AI, Moonshot AI,
6
+ Google AI, AWS Bedrock, Ollama, Perplexity AI, Anthropic AI, Mistral AI, Groq
7
+ AI, OpenRouter AI, 01.AI, and TogetherAI.
8
+ tags:
9
+ - Model Service Providers
10
+ - Environment Variables
11
+ - Configuration
12
+ - OpenAI
13
+ - Azure OpenAI
14
+ - ZHIPU AI
15
+ - Moonshot AI
16
+ - Google AI
17
+ - AWS Bedrock
18
+ - Ollama
19
+ - Perplexity AI
20
+ - Anthropic AI
21
+ - Mistral AI
22
+ - Groq AI
23
+ - OpenRouter AI
24
+ - 01.AI
25
+ - TogetherAI
26
+ ---
1
27
  # Model Service Providers
2
28
 
3
29
  When deploying LobeChat, a rich set of environment variables related to model service providers is provided, allowing you to easily define the model service providers to be enabled in LobeChat.
@@ -1,3 +1,13 @@
1
+ ---
2
+ title: LobeChat 模型服务商相关环境变量配置指南
3
+ description: 了解如何配置各个模型服务商的环境变量以在 LobeChat 中使用不同的AI模型服务。
4
+ tags:
5
+ - LobeChat
6
+ - 模型服务商
7
+ - 环境变量
8
+ - AI模型
9
+ - 配置指南
10
+ ---
1
11
  # 模型服务商
2
12
 
3
13
  LobeChat 在部署时提供了丰富的模型服务商相关的环境变量,你可以使用这些环境变量轻松定义需要在 LobeChat 中开启的模型服务商。
@@ -1,9 +1,20 @@
1
+ ---
2
+ title: LobeChat Environment Variables - Customizing Guide
3
+ description: >-
4
+ Learn how to customize LobeChat configuration using environment variables for
5
+ additional features and options.
6
+ tags:
7
+ - LobeChat
8
+ - Environment Variables
9
+ - Configuration
10
+ - Customization
11
+ ---
1
12
  # Environment Variables
2
13
 
3
14
  LobeChat provides some additional configuration options when deployed, which can be customized using environment variables.
4
15
 
5
16
  <Cards>
6
- <Cards.Card href={'environment-variables/basic'} title={'Basic Environment Variables'} />
17
+ <Card href={'environment-variables/basic'} title={'Basic Environment Variables'} />
7
18
 
8
- <Cards.Card href={'environment-variables/model-provider'} title={'Model Service Providers'} />
19
+ <Card href={'environment-variables/model-provider'} title={'Model Service Providers'} />
9
20
  </Cards>
@@ -1,3 +1,12 @@
1
+ ---
2
+ title: LobeChat 环境变量 - 自定义设置
3
+ description: 了解如何使用环境变量在部署 LobeChat 时进行自定义设置。包括基础环境变量和模型服务商设置。
4
+ tags:
5
+ - LobeChat
6
+ - 环境变量
7
+ - 自定义设置
8
+ - 模型服务商
9
+ ---
1
10
  # 环境变量
2
11
 
3
12
  LobeChat 在部署时提供了一些额外的配置项,你可以使用环境变量进行自定义设置。
@@ -1,3 +1,15 @@
1
+ ---
2
+ title: Configuring Azure OpenAI for LobeChat
3
+ description: >-
4
+ Learn how to configure Azure OpenAI for LobeChat, including usage limitations,
5
+ interface configuration, and deployment settings.
6
+ tags:
7
+ - Azure OpenAI
8
+ - LobeChat
9
+ - Configuration
10
+ - Azure API
11
+ - Model Service Provider
12
+ ---
1
13
  # Integrating with Azure OpenAI
2
14
 
3
15
  LobeChat supports using [Azure OpenAI][azure-openai-url] as the model service provider for OpenAI. This article will explain how to configure Azure OpenAI.
@@ -1,3 +1,15 @@
1
+ ---
2
+ title: 在 LobeChat 中集成 Azure OpenAI
3
+ description: 了解如何在 LobeChat 中配置 Azure OpenAI 以及使用限制。从界面配置到部署时的环境变量设置,一步步指导。
4
+ tags:
5
+ - Azure OpenAI
6
+ - 配置指南
7
+ - 使用限制
8
+ - 语言模型
9
+ - Azure API
10
+ - API密钥
11
+ - 环境变量
12
+ ---
1
13
  # 与 Azure OpenAI 集成使用
2
14
 
3
15
  LobeChat 支持使用 [Azure OpenAI][azure-openai-url] 作为 OpenAI 的模型服务商,本文将介绍如何配置 Azure OpenAI。
@@ -1,3 +1,16 @@
1
+ ---
2
+ title: Integrating LobeChat with Ollama for Enhanced Language Models
3
+ description: >-
4
+ Learn how to configure and deploy LobeChat to leverage Ollama's powerful
5
+ language models locally. Follow the guide to run Ollama and LobeChat on your
6
+ system.
7
+ tags:
8
+ - Ollama integration
9
+ - LobeChat configuration
10
+ - Local deployment
11
+ - Language models
12
+ - Ollama usage
13
+ ---
1
14
  # Integrating with Ollama
2
15
 
3
16
  Ollama is a powerful framework for running large language models (LLMs) locally, supporting various language models including Llama 2, Mistral, and more. Now, LobeChat supports integration with Ollama, meaning you can easily use the language models provided by Ollama to enhance your application within LobeChat.
@@ -1,3 +1,14 @@
1
+ ---
2
+ title: 在 LobeChat 中集成 Ollama
3
+ description: 学习如何在 LobeChat 中配置与部署 Ollama 语言模型框架,提升本地大模型使用体验。
4
+ tags:
5
+ - Ollama
6
+ - LobeChat
7
+ - 语言模型
8
+ - 集成
9
+ - 配置
10
+ - 部署
11
+ ---
1
12
  # 与 Ollama 集成
2
13
 
3
14
  Ollama 是一款强大的本地运行大型语言模型(LLM)的框架,支持多种语言模型,包括 Llama 2, Mistral 等。现在,LobeChat 已经支持与 Ollama 的集成,这意味着你可以在 LobeChat 中轻松使用 Ollama 提供的语言模型来增强你的应用。
@@ -1,3 +1,15 @@
1
+ ---
2
+ title: >-
3
+ Troubleshooting `OPENAI_PROXY_URL` in LobeChat Configuration for Empty
4
+ Response
5
+ description: >-
6
+ Learn how to troubleshoot and resolve the issue of receiving an empty response
7
+ after configuring the LobeChat `OPENAI_PROXY_URL` environment variable.
8
+ tags:
9
+ - OPENAI_PROXY_URL
10
+ - environment variable
11
+ - configuration troubleshooting
12
+ ---
1
13
  # Configuring `OPENAI_PROXY_URL` Environment Variable but Getting Empty Response
2
14
 
3
15
  ### Problem Description
@@ -1,3 +1,12 @@
1
+ ---
2
+ title: 在 LobeChat 中配置 `OPENAI_PROXY_URL` 环境变量但返回值为空
3
+ description: 重新检查并确认 LobeChat 环境变量 `OPENAI_PROXY_URL` 是否设置正确,包括是否正确地添加了 `/v1` 后缀(如果需要)。
4
+ tags:
5
+ - OPENAI_PROXY_URL
6
+ - 环境变量配置
7
+ - 返回值为空
8
+ - 问题解决
9
+ ---
1
10
  # 配置 `OPENAI_PROXY_URL` 环境变量但返回值为空
2
11
 
3
12
  ### 问题描述
@@ -1,3 +1,17 @@
1
+ ---
2
+ title: Resolving `UNABLE_TO_VERIFY_LEAF_SIGNATURE` Error in LobeChat When Using Proxy
3
+ description: >-
4
+ Learn how to bypass Node.js certificate validation to resolve certificate
5
+ verification errors in LobeChat when using a proxy with self-signed or
6
+ untrusted certificates.
7
+ tags:
8
+ - Node.js
9
+ - certificate validation
10
+ - proxy server
11
+ - security
12
+ - Docker
13
+ - certificate issue
14
+ ---
1
15
  # Encounter `UNABLE_TO_VERIFY_LEAF_SIGNATURE` Error When Using Proxy
2
16
 
3
17
  ## Problem Description
@@ -1,3 +1,14 @@
1
+ ---
2
+ title: 解决 LobeChat 使用代理时遇到证书验证错误的问题
3
+ description: 在 LobeChat 私有化部署时,使用代理进行网络请求可能会遇到证书验证错误。了解如何通过跳过 Node.js 的证书验证来解决这一问题。
4
+ tags:
5
+ - 证书验证错误
6
+ - 代理服务器
7
+ - Node.js
8
+ - 环境变量
9
+ - Docker
10
+ - 安全性
11
+ ---
1
12
  # 使用代理时遇到 `UNABLE_TO_VERIFY_LEAF_SIGNATURE` 错误
2
13
 
3
14
  ## 问题描述
@@ -1,3 +1,16 @@
1
+ ---
2
+ title: Deploy LobeChat with Docker Compose
3
+ description: >-
4
+ Learn how to deploy the LobeChat service using Docker Compose. Follow
5
+ step-by-step instructions to install Docker, run the deployment command, and
6
+ set up automatic updates.
7
+ tags:
8
+ - Docker Compose
9
+ - LobeChat Service
10
+ - Docker Deployment
11
+ - Automatic Updates
12
+ - Crontab Script
13
+ ---
1
14
  # Docker Compose Deployment Guide
2
15
 
3
16
  <div style={{display:"flex", gap: 4}}>
@@ -16,18 +29,21 @@ We provide a [Docker image][docker-release-link] for deploying the LobeChat serv
16
29
  (Skip this step if already installed)
17
30
 
18
31
  <Tabs items={['Ubuntu', 'CentOS']}>
19
- <Tabs.Tab>
32
+ <Tab>
20
33
  ```fish
21
34
  $ apt install docker.io
22
35
  ```
23
- </Tabs.Tab>
36
+
37
+ </Tab>
24
38
 
25
- <Tabs.Tab>
39
+ <Tab>
26
40
  ```fish
27
41
  $ yum install docker
28
42
  ```
29
- </Tabs.Tab>
30
- </Tabs>
43
+
44
+ </Tab>
45
+
46
+ </Tabs>
31
47
 
32
48
  ### Run Docker Compose Deployment Command
33
49
 
@@ -1,3 +1,13 @@
1
+ ---
2
+ title: 通过 Docker Compose 部署 LobeChat
3
+ description: 学习如何使用 Docker Compose 部署 LobeChat 服务,包括安装 Docker 容器环境和自动更新脚本设置。
4
+ tags:
5
+ - Docker Compose
6
+ - LobeChat
7
+ - Docker 容器
8
+ - 自动更新脚本
9
+ - 部署指引
10
+ ---
1
11
  # Docker Compose 部署指引
2
12
 
3
13
  <div style={{display:"flex", gap: 4}}>
@@ -16,18 +26,21 @@
16
26
  (如果已安装,请跳过此步)
17
27
 
18
28
  <Tabs items={['Ubuntu', 'CentOS']}>
19
- <Tabs.Tab>
29
+ <Tab>
20
30
  ```fish
21
31
  $ apt install docker.io
22
32
  ```
23
- </Tabs.Tab>
33
+
34
+ </Tab>
24
35
 
25
- <Tabs.Tab>
36
+ <Tab>
26
37
  ```fish
27
38
  $ yum install docker
28
39
  ```
29
- </Tabs.Tab>
30
- </Tabs>
40
+
41
+ </Tab>
42
+
43
+ </Tabs>
31
44
 
32
45
  ### 运行 Docker Compose 部署指令
33
46