@lobehub/lobehub 2.0.0-next.2 → 2.0.0-next.20

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 (591) hide show
  1. package/.env.desktop +1 -2
  2. package/.env.example +0 -3
  3. package/.env.example.development +0 -2
  4. package/.github/workflows/desktop-pr-build.yml +18 -16
  5. package/.github/workflows/docker.yml +25 -20
  6. package/.github/workflows/e2e.yml +17 -3
  7. package/.github/workflows/release-desktop-beta.yml +12 -12
  8. package/.github/workflows/release.yml +2 -4
  9. package/.github/workflows/test.yml +8 -10
  10. package/.nvmrc +1 -1
  11. package/CHANGELOG.md +459 -0
  12. package/Dockerfile +1 -3
  13. package/README.md +2 -45
  14. package/README.zh-CN.md +2 -45
  15. package/apps/desktop/src/main/utils/next-electron-rsc.ts +7 -5
  16. package/apps/desktop/tsconfig.json +0 -1
  17. package/changelog/v1.json +150 -0
  18. package/docs/development/database-schema.dbml +11 -1
  19. package/docs/self-hosting/advanced/auth/next-auth/auth0.mdx +2 -2
  20. package/docs/self-hosting/advanced/auth/next-auth/auth0.zh-CN.mdx +2 -2
  21. package/docs/self-hosting/advanced/auth/next-auth/authelia.mdx +2 -2
  22. package/docs/self-hosting/advanced/auth/next-auth/authelia.zh-CN.mdx +2 -2
  23. package/docs/self-hosting/advanced/auth/next-auth/authentik.mdx +2 -2
  24. package/docs/self-hosting/advanced/auth/next-auth/authentik.zh-CN.mdx +2 -2
  25. package/docs/self-hosting/advanced/auth/next-auth/casdoor.mdx +2 -2
  26. package/docs/self-hosting/advanced/auth/next-auth/casdoor.zh-CN.mdx +2 -2
  27. package/docs/self-hosting/advanced/auth/next-auth/cloudflare-zero-trust.mdx +2 -2
  28. package/docs/self-hosting/advanced/auth/next-auth/cloudflare-zero-trust.zh-CN.mdx +2 -2
  29. package/docs/self-hosting/advanced/auth/next-auth/github.mdx +2 -2
  30. package/docs/self-hosting/advanced/auth/next-auth/github.zh-CN.mdx +2 -2
  31. package/docs/self-hosting/advanced/auth/next-auth/google.mdx +32 -29
  32. package/docs/self-hosting/advanced/auth/next-auth/keycloak.mdx +2 -2
  33. package/docs/self-hosting/advanced/auth/next-auth/keycloak.zh-CN.mdx +2 -2
  34. package/docs/self-hosting/advanced/auth/next-auth/logto.mdx +5 -3
  35. package/docs/self-hosting/advanced/auth/next-auth/logto.zh-CN.mdx +5 -3
  36. package/docs/self-hosting/advanced/auth/next-auth/microsoft-entra-id.mdx +2 -2
  37. package/docs/self-hosting/advanced/auth/next-auth/microsoft-entra-id.zh-CN.mdx +2 -2
  38. package/docs/self-hosting/advanced/auth/next-auth/okta.mdx +2 -2
  39. package/docs/self-hosting/advanced/auth/next-auth/okta.zh-CN.mdx +2 -2
  40. package/docs/self-hosting/advanced/auth/next-auth/wechat.mdx +2 -2
  41. package/docs/self-hosting/advanced/auth/next-auth/wechat.zh-CN.mdx +2 -2
  42. package/docs/self-hosting/advanced/auth/next-auth/zitadel.mdx +2 -2
  43. package/docs/self-hosting/advanced/auth/next-auth/zitadel.zh-CN.mdx +2 -2
  44. package/docs/self-hosting/advanced/auth.mdx +32 -21
  45. package/docs/self-hosting/advanced/auth.zh-CN.mdx +30 -19
  46. package/docs/self-hosting/advanced/feature-flags.mdx +0 -1
  47. package/docs/self-hosting/advanced/feature-flags.zh-CN.mdx +0 -1
  48. package/docs/self-hosting/advanced/online-search.mdx +30 -25
  49. package/docs/self-hosting/advanced/online-search.zh-CN.mdx +25 -23
  50. package/e2e/src/features/discover/smoke.feature +34 -1
  51. package/e2e/src/steps/discover/smoke.steps.ts +116 -4
  52. package/e2e/tsconfig.json +0 -1
  53. package/locales/ar/models.json +15 -6
  54. package/locales/ar/oauth.json +1 -0
  55. package/locales/bg-BG/models.json +15 -6
  56. package/locales/bg-BG/oauth.json +1 -0
  57. package/locales/de-DE/models.json +15 -6
  58. package/locales/de-DE/oauth.json +1 -0
  59. package/locales/en-US/models.json +15 -6
  60. package/locales/en-US/oauth.json +1 -0
  61. package/locales/es-ES/models.json +15 -6
  62. package/locales/es-ES/oauth.json +1 -0
  63. package/locales/fa-IR/models.json +15 -6
  64. package/locales/fa-IR/oauth.json +1 -0
  65. package/locales/fr-FR/models.json +15 -6
  66. package/locales/fr-FR/oauth.json +1 -0
  67. package/locales/it-IT/models.json +15 -6
  68. package/locales/it-IT/oauth.json +1 -0
  69. package/locales/ja-JP/models.json +15 -6
  70. package/locales/ja-JP/oauth.json +1 -0
  71. package/locales/ko-KR/models.json +21 -12
  72. package/locales/ko-KR/oauth.json +1 -0
  73. package/locales/nl-NL/models.json +15 -6
  74. package/locales/nl-NL/oauth.json +1 -0
  75. package/locales/pl-PL/models.json +15 -6
  76. package/locales/pl-PL/oauth.json +1 -0
  77. package/locales/pt-BR/models.json +15 -6
  78. package/locales/pt-BR/oauth.json +1 -0
  79. package/locales/ru-RU/models.json +15 -6
  80. package/locales/ru-RU/oauth.json +1 -0
  81. package/locales/tr-TR/models.json +15 -6
  82. package/locales/tr-TR/oauth.json +1 -0
  83. package/locales/vi-VN/models.json +15 -6
  84. package/locales/vi-VN/oauth.json +1 -0
  85. package/locales/zh-CN/models.json +15 -6
  86. package/locales/zh-CN/oauth.json +1 -0
  87. package/locales/zh-TW/models.json +15 -6
  88. package/locales/zh-TW/oauth.json +1 -0
  89. package/next.config.ts +2 -3
  90. package/package.json +74 -80
  91. package/packages/const/src/index.ts +0 -1
  92. package/packages/const/src/models.ts +13 -0
  93. package/packages/const/src/url.ts +1 -4
  94. package/packages/const/src/version.ts +3 -3
  95. package/packages/context-engine/src/index.ts +1 -6
  96. package/packages/context-engine/src/processors/GroupMessageFlatten.ts +12 -2
  97. package/packages/context-engine/src/processors/__tests__/GroupMessageFlatten.test.ts +73 -9
  98. package/packages/context-engine/src/providers/index.ts +0 -2
  99. package/packages/database/migrations/0041_improve_index.sql +10 -0
  100. package/packages/database/migrations/meta/0041_snapshot.json +7784 -0
  101. package/packages/database/migrations/meta/_journal.json +7 -0
  102. package/packages/database/package.json +1 -1
  103. package/packages/database/src/core/migrations.json +17 -0
  104. package/packages/database/src/core/web-server.ts +2 -1
  105. package/packages/database/src/models/__tests__/message.grouping.test.ts +812 -0
  106. package/packages/database/src/models/__tests__/message.test.ts +322 -170
  107. package/packages/database/src/models/message.ts +62 -24
  108. package/packages/database/src/models/session.ts +60 -19
  109. package/packages/database/src/repositories/dataImporter/deprecated/__tests__/index.test.ts +2 -1
  110. package/packages/database/src/repositories/dataImporter/deprecated/index.ts +7 -1
  111. package/packages/database/src/schemas/agent.ts +10 -11
  112. package/packages/database/src/schemas/message.ts +5 -1
  113. package/packages/database/src/schemas/relations.ts +6 -4
  114. package/packages/database/src/schemas/session.ts +2 -0
  115. package/packages/database/src/schemas/topic.ts +6 -1
  116. package/packages/database/src/utils/__tests__/groupMessages.test.ts +145 -2
  117. package/packages/database/src/utils/groupMessages.ts +7 -5
  118. package/packages/electron-client-ipc/package.json +4 -1
  119. package/packages/file-loaders/package.json +1 -0
  120. package/packages/memory-extract/package.json +1 -1
  121. package/packages/model-bank/src/aiModels/anthropic.ts +0 -63
  122. package/packages/model-bank/src/aiModels/azure.ts +155 -0
  123. package/packages/model-bank/src/aiModels/bedrock.ts +44 -0
  124. package/packages/model-bank/src/aiModels/higress.ts +0 -55
  125. package/packages/model-bank/src/aiModels/infiniai.ts +21 -0
  126. package/packages/model-bank/src/aiModels/ollamacloud.ts +13 -0
  127. package/packages/model-bank/src/aiModels/siliconcloud.ts +19 -0
  128. package/packages/model-runtime/src/core/parameterResolver.ts +3 -0
  129. package/packages/model-runtime/src/core/streams/openai/__snapshots__/responsesStream.test.ts.snap +0 -38
  130. package/packages/model-runtime/src/providers/azureOpenai/index.ts +2 -1
  131. package/packages/model-runtime/src/providers/minimax/index.ts +5 -5
  132. package/packages/model-runtime/src/providers/search1api/index.test.ts +2 -2
  133. package/packages/model-runtime/src/utils/googleErrorParser.test.ts +125 -0
  134. package/packages/model-runtime/src/utils/googleErrorParser.ts +103 -77
  135. package/packages/types/src/message/common/base.ts +13 -0
  136. package/packages/types/src/message/common/image.ts +8 -0
  137. package/packages/types/src/message/common/metadata.ts +39 -0
  138. package/packages/types/src/message/common/tools.ts +10 -0
  139. package/packages/types/src/message/db/params.ts +47 -1
  140. package/packages/types/src/message/ui/chat.ts +4 -1
  141. package/packages/types/src/message/ui/params.ts +98 -4
  142. package/packages/types/src/search.ts +16 -0
  143. package/packages/types/src/serverConfig.ts +2 -6
  144. package/packages/types/src/user/index.ts +13 -1
  145. package/packages/types/src/user/settings/index.ts +22 -0
  146. package/packages/web-crawler/src/crawImpl/firecrawl.ts +39 -12
  147. package/packages/web-crawler/tsconfig.json +0 -1
  148. package/scripts/migrateServerDB/errorHint.js +1 -7
  149. package/scripts/migrateServerDB/index.ts +2 -1
  150. package/src/app/(backend)/webapi/revalidate/route.ts +1 -1
  151. package/src/app/[variants]/(auth)/signup/[[...signup]]/page.tsx +1 -8
  152. package/src/app/[variants]/(main)/(mobile)/me/(home)/__tests__/useCategory.test.tsx +9 -0
  153. package/src/app/[variants]/(main)/(mobile)/me/(home)/features/UserBanner.tsx +3 -6
  154. package/src/app/[variants]/(main)/(mobile)/me/(home)/layout.tsx +0 -2
  155. package/src/app/[variants]/(main)/_layout/Desktop/SideBar/TopActions.tsx +1 -4
  156. package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatInput/V1Mobile/index.tsx +2 -2
  157. package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatInput/V1Mobile/useSend.ts +6 -4
  158. package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatInput/useSend.ts +15 -10
  159. package/src/app/[variants]/(main)/chat/@session/features/SessionListContent/List/Item/Actions.tsx +3 -28
  160. package/src/app/[variants]/(main)/chat/@session/features/SessionListContent/List/Item/index.tsx +4 -2
  161. package/src/app/[variants]/(main)/chat/_layout/Desktop/index.tsx +0 -2
  162. package/src/app/[variants]/(main)/chat/_layout/Mobile.tsx +1 -5
  163. package/src/app/[variants]/(main)/chat/settings/features/HeaderContent.tsx +2 -62
  164. package/src/app/[variants]/(main)/discover/(list)/features/Pagination.tsx +1 -0
  165. package/src/app/[variants]/(main)/discover/(list)/features/SortButton/index.tsx +1 -1
  166. package/src/app/[variants]/(main)/discover/(list)/mcp/features/List/Item.tsx +1 -0
  167. package/src/app/[variants]/(main)/discover/(list)/model/features/List/Item.tsx +1 -0
  168. package/src/app/[variants]/(main)/discover/(list)/provider/features/List/Item.tsx +1 -0
  169. package/src/app/[variants]/(main)/discover/components/CategoryMenu.tsx +9 -1
  170. package/src/app/[variants]/(main)/image/@topic/features/Topics/TopicList.tsx +1 -0
  171. package/src/app/[variants]/(main)/image/features/PromptInput/index.tsx +1 -1
  172. package/src/app/[variants]/(main)/image/page.tsx +0 -2
  173. package/src/app/[variants]/(main)/labs/components/LabCard.tsx +3 -1
  174. package/src/app/[variants]/(main)/profile/_layout/Desktop/index.tsx +23 -24
  175. package/src/app/[variants]/(main)/profile/_layout/Mobile/index.tsx +5 -9
  176. package/src/app/[variants]/(main)/settings/_layout/Desktop/index.tsx +0 -2
  177. package/src/app/[variants]/(main)/settings/_layout/Mobile/index.tsx +0 -2
  178. package/src/app/[variants]/(main)/settings/_layout/SettingsContent.tsx +0 -3
  179. package/src/app/[variants]/(main)/settings/provider/(list)/ProviderGrid/Card.tsx +1 -1
  180. package/src/app/[variants]/(main)/settings/provider/detail/azure/index.tsx +5 -7
  181. package/src/app/[variants]/layout.tsx +1 -0
  182. package/src/app/[variants]/loading/index.tsx +1 -10
  183. package/src/app/[variants]/oauth/ResultLayout.tsx +47 -0
  184. package/src/app/[variants]/oauth/callback/error/page.tsx +20 -33
  185. package/src/app/[variants]/oauth/callback/layout.tsx +1 -0
  186. package/src/app/[variants]/oauth/callback/success/page.tsx +8 -22
  187. package/src/app/[variants]/oauth/consent/[uid]/Consent/BuiltinConsent.tsx +47 -0
  188. package/src/app/[variants]/oauth/consent/[uid]/{Consent.tsx → Consent/index.tsx} +12 -1
  189. package/src/app/[variants]/oauth/consent/[uid]/Login.tsx +9 -1
  190. package/src/app/sitemap.tsx +7 -1
  191. package/src/components/InvalidAPIKey/APIKeyForm/Bedrock.tsx +8 -13
  192. package/src/components/Link.tsx +12 -0
  193. package/src/components/Thinking/index.tsx +4 -3
  194. package/src/config/db.ts +0 -5
  195. package/src/config/featureFlags/schema.test.ts +0 -2
  196. package/src/config/featureFlags/schema.ts +0 -6
  197. package/src/config/modelProviders/ai21.ts +1 -16
  198. package/src/config/modelProviders/ai302.ts +1 -128
  199. package/src/config/modelProviders/ai360.ts +1 -32
  200. package/src/config/modelProviders/anthropic.ts +1 -94
  201. package/src/config/modelProviders/azure.ts +1 -51
  202. package/src/config/modelProviders/baichuan.ts +1 -57
  203. package/src/config/modelProviders/bedrock.ts +1 -276
  204. package/src/config/modelProviders/cloudflare.ts +1 -64
  205. package/src/config/modelProviders/deepseek.ts +1 -19
  206. package/src/config/modelProviders/fireworksai.ts +1 -174
  207. package/src/config/modelProviders/giteeai.ts +1 -135
  208. package/src/config/modelProviders/github.ts +1 -254
  209. package/src/config/modelProviders/google.ts +1 -130
  210. package/src/config/modelProviders/groq.ts +1 -119
  211. package/src/config/modelProviders/higress.ts +1 -1736
  212. package/src/config/modelProviders/huggingface.ts +1 -54
  213. package/src/config/modelProviders/hunyuan.ts +1 -83
  214. package/src/config/modelProviders/infiniai.ts +1 -74
  215. package/src/config/modelProviders/internlm.ts +1 -20
  216. package/src/config/modelProviders/minimax.ts +1 -1
  217. package/src/config/modelProviders/mistral.ts +1 -95
  218. package/src/config/modelProviders/modelscope.ts +1 -27
  219. package/src/config/modelProviders/moonshot.ts +1 -29
  220. package/src/config/modelProviders/novita.ts +1 -105
  221. package/src/config/modelProviders/ollama.ts +1 -325
  222. package/src/config/modelProviders/openai.ts +1 -242
  223. package/src/config/modelProviders/openrouter.ts +1 -240
  224. package/src/config/modelProviders/perplexity.ts +1 -45
  225. package/src/config/modelProviders/ppio.ts +1 -152
  226. package/src/config/modelProviders/qiniu.ts +2 -19
  227. package/src/config/modelProviders/qwen.ts +1 -245
  228. package/src/config/modelProviders/search1api.ts +1 -34
  229. package/src/config/modelProviders/sensenova.ts +1 -69
  230. package/src/config/modelProviders/siliconcloud.ts +1 -417
  231. package/src/config/modelProviders/spark.ts +1 -59
  232. package/src/config/modelProviders/stepfun.ts +1 -98
  233. package/src/config/modelProviders/taichu.ts +1 -18
  234. package/src/config/modelProviders/togetherai.ts +1 -274
  235. package/src/config/modelProviders/upstage.ts +1 -28
  236. package/src/config/modelProviders/wenxin.ts +1 -140
  237. package/src/config/modelProviders/xai.ts +1 -38
  238. package/src/config/modelProviders/zeroone.ts +1 -81
  239. package/src/config/modelProviders/zhipu.ts +1 -108
  240. package/src/envs/app.ts +5 -8
  241. package/src/envs/auth.ts +0 -179
  242. package/src/features/AgentSetting/AgentPlugin/index.tsx +2 -2
  243. package/src/features/ChatInput/ActionBar/STT/browser.tsx +2 -2
  244. package/src/features/ChatInput/ActionBar/STT/openai.tsx +2 -2
  245. package/src/features/ChatInput/ActionBar/Tools/useControls.tsx +1 -3
  246. package/src/features/Conversation/Error/ErrorJsonViewer.tsx +4 -3
  247. package/src/features/Conversation/Error/OllamaBizError/index.tsx +7 -2
  248. package/src/features/Conversation/Error/index.tsx +15 -5
  249. package/src/features/Conversation/MarkdownElements/LobeArtifact/Render/index.tsx +2 -2
  250. package/src/features/Conversation/Messages/Assistant/Extra/index.tsx +2 -2
  251. package/src/features/Conversation/Messages/Assistant/MessageContent.tsx +5 -3
  252. package/src/features/Conversation/Messages/Assistant/Tool/Inspector/BuiltinPluginTitle.tsx +2 -2
  253. package/src/features/Conversation/Messages/Assistant/Tool/Inspector/ToolTitle.tsx +4 -2
  254. package/src/features/Conversation/Messages/Assistant/Tool/Render/CustomRender.tsx +2 -2
  255. package/src/features/Conversation/Messages/Assistant/Tool/Render/index.tsx +2 -2
  256. package/src/features/Conversation/Messages/Assistant/Tool/index.tsx +2 -2
  257. package/src/features/Conversation/Messages/Assistant/index.tsx +4 -4
  258. package/src/features/Conversation/Messages/Default.tsx +2 -2
  259. package/src/features/Conversation/Messages/User/Extra.tsx +2 -2
  260. package/src/features/Conversation/Messages/User/index.tsx +4 -4
  261. package/src/features/Conversation/Messages/index.tsx +3 -3
  262. package/src/features/Conversation/components/AutoScroll.tsx +2 -2
  263. package/src/features/Conversation/components/Extras/Usage/UsageDetail/index.tsx +9 -6
  264. package/src/features/DataImporter/index.tsx +15 -60
  265. package/src/features/DevPanel/PostgresViewer/usePgTable.ts +3 -2
  266. package/src/features/PluginTag/index.tsx +1 -3
  267. package/src/features/PluginsUI/Render/BuiltinType/index.test.tsx +37 -28
  268. package/src/features/Portal/Artifacts/Body/index.tsx +2 -2
  269. package/src/helpers/isCanUseFC.ts +0 -8
  270. package/src/hooks/useEnabledChatModels.ts +0 -8
  271. package/src/hooks/useInterceptingRoutes.test.ts +21 -3
  272. package/src/hooks/useModelContextWindowTokens.ts +0 -8
  273. package/src/hooks/useModelHasContextWindowToken.ts +1 -10
  274. package/src/hooks/useModelSupportFiles.ts +1 -11
  275. package/src/hooks/useModelSupportReasoning.ts +1 -11
  276. package/src/hooks/useModelSupportToolUse.ts +1 -11
  277. package/src/hooks/useModelSupportVision.ts +1 -11
  278. package/src/layout/AuthProvider/Clerk/index.tsx +2 -16
  279. package/src/libs/next-auth/auth.config.ts +3 -6
  280. package/src/libs/next-auth/sso-providers/auth0.ts +0 -7
  281. package/src/libs/next-auth/sso-providers/authelia.ts +3 -5
  282. package/src/libs/next-auth/sso-providers/authentik.ts +0 -7
  283. package/src/libs/next-auth/sso-providers/cloudflare-zero-trust.ts +3 -6
  284. package/src/libs/next-auth/sso-providers/cognito.ts +1 -5
  285. package/src/libs/next-auth/sso-providers/generic-oidc.ts +3 -5
  286. package/src/libs/next-auth/sso-providers/github.ts +0 -6
  287. package/src/libs/next-auth/sso-providers/google.ts +0 -2
  288. package/src/libs/next-auth/sso-providers/index.ts +0 -2
  289. package/src/libs/next-auth/sso-providers/keycloak.ts +0 -3
  290. package/src/libs/next-auth/sso-providers/logto.ts +3 -5
  291. package/src/libs/next-auth/sso-providers/okta.ts +0 -4
  292. package/src/libs/next-auth/sso-providers/zitadel.ts +0 -7
  293. package/src/libs/oidc-provider/provider.ts +1 -1
  294. package/src/libs/trpc/client/index.ts +0 -1
  295. package/src/libs/trpc/client/lambda.ts +8 -5
  296. package/src/libs/trpc/lambda/context.ts +4 -1
  297. package/src/locales/default/oauth.ts +1 -0
  298. package/src/server/globalConfig/index.ts +0 -23
  299. package/src/server/modules/AssistantStore/index.ts +1 -1
  300. package/src/server/modules/ModelRuntime/trace.ts +11 -4
  301. package/src/server/routers/desktop/mcp.ts +1 -3
  302. package/src/server/routers/lambda/__tests__/integration/message.integration.test.ts +0 -41
  303. package/src/server/routers/lambda/config/__snapshots__/index.test.ts.snap +175 -12
  304. package/src/server/routers/lambda/config/index.test.ts +38 -30
  305. package/src/server/routers/lambda/message.ts +17 -13
  306. package/src/server/routers/lambda/session.ts +8 -5
  307. package/src/server/routers/lambda/user.ts +24 -25
  308. package/src/server/routers/tools/mcp.ts +2 -3
  309. package/src/server/routers/tools/search.test.ts +1 -7
  310. package/src/server/routers/tools/search.ts +1 -4
  311. package/src/server/services/search/impls/firecrawl/index.ts +51 -11
  312. package/src/server/services/search/impls/firecrawl/type.ts +60 -9
  313. package/src/services/__tests__/tool.test.ts +0 -3
  314. package/src/services/aiModel/index.test.ts +0 -3
  315. package/src/services/aiModel/index.ts +1 -7
  316. package/src/services/aiProvider/index.test.ts +0 -3
  317. package/src/services/aiProvider/index.ts +1 -7
  318. package/src/services/chat/chat.test.ts +13 -40
  319. package/src/services/chat/contextEngineering.test.ts +0 -30
  320. package/src/services/chat/contextEngineering.ts +1 -12
  321. package/src/services/chat/helper.ts +7 -31
  322. package/src/services/chat/index.ts +2 -7
  323. package/src/services/chat/types.ts +1 -1
  324. package/src/services/chatGroup/index.ts +1 -10
  325. package/src/services/config.ts +1 -65
  326. package/src/services/export/index.ts +1 -4
  327. package/src/services/file/index.ts +1 -11
  328. package/src/services/import/index.ts +1 -7
  329. package/src/services/message/index.ts +1 -11
  330. package/src/services/message/server.ts +7 -6
  331. package/src/services/message/type.ts +6 -3
  332. package/src/services/models.ts +2 -11
  333. package/src/services/plugin/index.ts +1 -11
  334. package/src/services/session/index.ts +1 -11
  335. package/src/services/tableViewer/client.ts +12 -15
  336. package/src/services/thread/index.ts +1 -7
  337. package/src/services/topic/index.ts +1 -11
  338. package/src/services/user/index.ts +1 -13
  339. package/src/store/chat/helpers.test.ts +99 -0
  340. package/src/store/chat/helpers.ts +21 -2
  341. package/src/store/chat/selectors.ts +1 -1
  342. package/src/store/chat/slices/aiChat/actions/__tests__/generateAIChat.test.ts +0 -241
  343. package/src/store/chat/slices/aiChat/actions/__tests__/generateAIChatV2.test.ts +26 -1
  344. package/src/store/chat/slices/aiChat/actions/__tests__/helpers.ts +3 -1
  345. package/src/store/chat/slices/aiChat/actions/generateAIChat.ts +45 -155
  346. package/src/store/chat/slices/builtinTool/actions/index.ts +1 -4
  347. package/src/store/chat/slices/message/action.test.ts +5 -1
  348. package/src/store/chat/slices/message/action.ts +102 -14
  349. package/src/store/chat/slices/message/reducer.test.ts +363 -5
  350. package/src/store/chat/slices/message/reducer.ts +87 -3
  351. package/src/store/chat/slices/message/{selectors.test.ts → selectors/chat.test.ts} +266 -30
  352. package/src/store/chat/slices/message/{selectors.ts → selectors/chat.ts} +29 -79
  353. package/src/store/chat/slices/message/selectors/index.ts +2 -0
  354. package/src/store/chat/slices/message/selectors/messageState.test.ts +36 -0
  355. package/src/store/chat/slices/message/selectors/messageState.ts +80 -0
  356. package/src/store/chat/slices/plugin/action.test.ts +34 -132
  357. package/src/store/chat/slices/plugin/action.ts +1 -44
  358. package/src/store/global/store.ts +1 -7
  359. package/src/store/tool/selectors/tool.test.ts +1 -1
  360. package/src/store/tool/selectors/tool.ts +6 -8
  361. package/src/store/tool/slices/builtin/action.test.ts +83 -35
  362. package/src/store/tool/slices/builtin/action.ts +0 -9
  363. package/src/store/tool/slices/builtin/selectors.test.ts +4 -30
  364. package/src/store/tool/slices/builtin/selectors.ts +15 -21
  365. package/src/store/user/initialState.ts +1 -7
  366. package/src/store/user/selectors.ts +1 -5
  367. package/src/store/user/slices/common/action.test.ts +1 -4
  368. package/src/store/user/slices/common/action.ts +5 -4
  369. package/src/store/user/slices/settings/selectors/index.ts +1 -0
  370. package/src/store/user/slices/settings/selectors/keyVaults.ts +21 -0
  371. package/src/store/user/store.ts +0 -3
  372. package/src/tools/index.ts +0 -6
  373. package/src/tools/renders.ts +0 -3
  374. package/src/tools/web-browsing/Portal/Search/Footer.tsx +2 -2
  375. package/src/tools/web-browsing/Render/Search/ConfigForm/Form.tsx +1 -1
  376. package/tsconfig.json +9 -3
  377. package/packages/const/src/guide.ts +0 -89
  378. package/packages/context-engine/src/providers/InboxGuide.ts +0 -102
  379. package/packages/context-engine/src/providers/__tests__/InboxGuideProvider.test.ts +0 -121
  380. package/packages/utils/src/_deprecated/__snapshots__/parseModels.test.ts.snap +0 -104
  381. package/packages/utils/src/_deprecated/parseModels.test.ts +0 -287
  382. package/packages/utils/src/_deprecated/parseModels.ts +0 -165
  383. package/src/app/(backend)/trpc/edge/[trpc]/route.ts +0 -26
  384. package/src/app/[variants]/(main)/(mobile)/me/data/features/Category.tsx +0 -48
  385. package/src/app/[variants]/(main)/(mobile)/me/data/features/Header.tsx +0 -33
  386. package/src/app/[variants]/(main)/(mobile)/me/data/layout.tsx +0 -13
  387. package/src/app/[variants]/(main)/(mobile)/me/data/loading.tsx +0 -5
  388. package/src/app/[variants]/(main)/(mobile)/me/data/page.tsx +0 -29
  389. package/src/app/[variants]/(main)/chat/features/Migration/DBReader.ts +0 -290
  390. package/src/app/[variants]/(main)/chat/features/Migration/ExportConfigButton.tsx +0 -35
  391. package/src/app/[variants]/(main)/chat/features/Migration/Failed.tsx +0 -120
  392. package/src/app/[variants]/(main)/chat/features/Migration/Modal.tsx +0 -81
  393. package/src/app/[variants]/(main)/chat/features/Migration/Start.tsx +0 -108
  394. package/src/app/[variants]/(main)/chat/features/Migration/UpgradeButton.tsx +0 -71
  395. package/src/app/[variants]/(main)/chat/features/Migration/const.ts +0 -15
  396. package/src/app/[variants]/(main)/chat/features/Migration/index.tsx +0 -50
  397. package/src/app/[variants]/(main)/settings/llm/ProviderList/Azure/index.tsx +0 -93
  398. package/src/app/[variants]/(main)/settings/llm/ProviderList/Bedrock/index.tsx +0 -70
  399. package/src/app/[variants]/(main)/settings/llm/ProviderList/Cloudflare/index.tsx +0 -39
  400. package/src/app/[variants]/(main)/settings/llm/ProviderList/Github/index.tsx +0 -52
  401. package/src/app/[variants]/(main)/settings/llm/ProviderList/HuggingFace/index.tsx +0 -52
  402. package/src/app/[variants]/(main)/settings/llm/ProviderList/Ollama/index.tsx +0 -20
  403. package/src/app/[variants]/(main)/settings/llm/ProviderList/OpenAI/index.tsx +0 -17
  404. package/src/app/[variants]/(main)/settings/llm/ProviderList/providers.tsx +0 -132
  405. package/src/app/[variants]/(main)/settings/llm/components/Checker.tsx +0 -118
  406. package/src/app/[variants]/(main)/settings/llm/components/ProviderConfig/index.tsx +0 -303
  407. package/src/app/[variants]/(main)/settings/llm/components/ProviderModelList/CustomModelOption.tsx +0 -98
  408. package/src/app/[variants]/(main)/settings/llm/components/ProviderModelList/ModelConfigModal/Form.tsx +0 -104
  409. package/src/app/[variants]/(main)/settings/llm/components/ProviderModelList/ModelConfigModal/index.tsx +0 -77
  410. package/src/app/[variants]/(main)/settings/llm/components/ProviderModelList/ModelFetcher.tsx +0 -105
  411. package/src/app/[variants]/(main)/settings/llm/components/ProviderModelList/Option.tsx +0 -68
  412. package/src/app/[variants]/(main)/settings/llm/components/ProviderModelList/index.tsx +0 -146
  413. package/src/app/[variants]/(main)/settings/llm/const.ts +0 -20
  414. package/src/app/[variants]/(main)/settings/llm/features/Footer.tsx +0 -35
  415. package/src/app/[variants]/(main)/settings/llm/index.tsx +0 -30
  416. package/src/app/[variants]/(main)/settings/llm/type.ts +0 -5
  417. package/src/app/[variants]/loading/Client/Content.tsx +0 -48
  418. package/src/app/[variants]/loading/Client/Error.tsx +0 -27
  419. package/src/app/[variants]/loading/Client/Redirect.tsx +0 -47
  420. package/src/app/[variants]/loading/Client/index.tsx +0 -22
  421. package/src/components/InnerLink.tsx +0 -20
  422. package/src/database/_deprecated/core/__tests__/db-upgrade.test.ts +0 -42
  423. package/src/database/_deprecated/core/__tests__/db.test.ts +0 -79
  424. package/src/database/_deprecated/core/__tests__/model.test.ts +0 -55
  425. package/src/database/_deprecated/core/db.ts +0 -246
  426. package/src/database/_deprecated/core/index.ts +0 -2
  427. package/src/database/_deprecated/core/migrations/migrateSettingsToUser/fixtures/input.json +0 -55
  428. package/src/database/_deprecated/core/migrations/migrateSettingsToUser/fixtures/output.json +0 -60
  429. package/src/database/_deprecated/core/migrations/migrateSettingsToUser/index.test.ts +0 -14
  430. package/src/database/_deprecated/core/migrations/migrateSettingsToUser/index.ts +0 -22
  431. package/src/database/_deprecated/core/migrations/migrateSettingsToUser/type.ts +0 -105
  432. package/src/database/_deprecated/core/model.ts +0 -218
  433. package/src/database/_deprecated/core/schemas.ts +0 -88
  434. package/src/database/_deprecated/core/types/db.ts +0 -15
  435. package/src/database/_deprecated/models/__DEBUG.ts +0 -124
  436. package/src/database/_deprecated/models/__tests__/file.test.ts +0 -83
  437. package/src/database/_deprecated/models/__tests__/message.test.ts +0 -426
  438. package/src/database/_deprecated/models/__tests__/plugin.test.ts +0 -81
  439. package/src/database/_deprecated/models/__tests__/session.test.ts +0 -253
  440. package/src/database/_deprecated/models/__tests__/sessionGroup.test.ts +0 -220
  441. package/src/database/_deprecated/models/__tests__/topic.test.ts +0 -523
  442. package/src/database/_deprecated/models/__tests__/user.test.ts +0 -82
  443. package/src/database/_deprecated/models/file.ts +0 -51
  444. package/src/database/_deprecated/models/message.ts +0 -277
  445. package/src/database/_deprecated/models/plugin.ts +0 -62
  446. package/src/database/_deprecated/models/session.ts +0 -271
  447. package/src/database/_deprecated/models/sessionGroup.ts +0 -93
  448. package/src/database/_deprecated/models/topic.ts +0 -250
  449. package/src/database/_deprecated/models/user.ts +0 -69
  450. package/src/database/_deprecated/schemas/files.ts +0 -39
  451. package/src/database/_deprecated/schemas/message.ts +0 -50
  452. package/src/database/_deprecated/schemas/plugin.ts +0 -12
  453. package/src/database/_deprecated/schemas/session.ts +0 -54
  454. package/src/database/_deprecated/schemas/sessionGroup.ts +0 -8
  455. package/src/database/_deprecated/schemas/topic.ts +0 -12
  456. package/src/database/_deprecated/schemas/user.ts +0 -40
  457. package/src/envs/__tests__/auth.test.ts +0 -200
  458. package/src/features/DataImporter/_deprecated.ts +0 -43
  459. package/src/features/InitClientDB/EnableModal.tsx +0 -118
  460. package/src/features/InitClientDB/ErrorResult.tsx +0 -143
  461. package/src/features/InitClientDB/InitIndicator.tsx +0 -124
  462. package/src/features/InitClientDB/PGliteIcon.tsx +0 -28
  463. package/src/features/InitClientDB/features/DatabaseRepair/Backup.tsx +0 -75
  464. package/src/features/InitClientDB/features/DatabaseRepair/Diagnosis.tsx +0 -98
  465. package/src/features/InitClientDB/features/DatabaseRepair/Repair.tsx +0 -218
  466. package/src/features/InitClientDB/features/DatabaseRepair/index.tsx +0 -91
  467. package/src/features/InitClientDB/index.tsx +0 -37
  468. package/src/hooks/_header.ts +0 -23
  469. package/src/libs/next-auth/sso-providers/azure-ad.ts +0 -33
  470. package/src/libs/trpc/client/edge.ts +0 -26
  471. package/src/libs/trpc/edge/context.ts +0 -71
  472. package/src/libs/trpc/edge/index.ts +0 -45
  473. package/src/libs/trpc/edge/init.ts +0 -26
  474. package/src/libs/trpc/edge/middleware/jwtPayload.test.ts +0 -75
  475. package/src/libs/trpc/edge/middleware/jwtPayload.ts +0 -14
  476. package/src/migrations/FromV0ToV1.ts +0 -10
  477. package/src/migrations/FromV1ToV2/fixtures/input-v1-session.json +0 -191
  478. package/src/migrations/FromV1ToV2/fixtures/output-v2.json +0 -202
  479. package/src/migrations/FromV1ToV2/index.ts +0 -82
  480. package/src/migrations/FromV1ToV2/migrations.test.ts +0 -224
  481. package/src/migrations/FromV1ToV2/types/v1.ts +0 -78
  482. package/src/migrations/FromV1ToV2/types/v2.ts +0 -52
  483. package/src/migrations/FromV2ToV3/fixtures/input-v2-session.json +0 -72
  484. package/src/migrations/FromV2ToV3/fixtures/output-v3-from-v1.json +0 -203
  485. package/src/migrations/FromV2ToV3/fixtures/output-v3.json +0 -74
  486. package/src/migrations/FromV2ToV3/index.ts +0 -30
  487. package/src/migrations/FromV2ToV3/migrations.test.ts +0 -42
  488. package/src/migrations/FromV2ToV3/types/v3.ts +0 -27
  489. package/src/migrations/FromV3ToV4/fixtures/azure-input-v3.json +0 -79
  490. package/src/migrations/FromV3ToV4/fixtures/azure-output-v4.json +0 -75
  491. package/src/migrations/FromV3ToV4/fixtures/ollama-input-v3.json +0 -85
  492. package/src/migrations/FromV3ToV4/fixtures/ollama-output-v4.json +0 -86
  493. package/src/migrations/FromV3ToV4/fixtures/openai-input-v3.json +0 -77
  494. package/src/migrations/FromV3ToV4/fixtures/openai-output-v4.json +0 -77
  495. package/src/migrations/FromV3ToV4/fixtures/openrouter-input-v3.json +0 -82
  496. package/src/migrations/FromV3ToV4/fixtures/openrouter-output-v4.json +0 -85
  497. package/src/migrations/FromV3ToV4/fixtures/output-v4-from-v1.json +0 -203
  498. package/src/migrations/FromV3ToV4/index.ts +0 -102
  499. package/src/migrations/FromV3ToV4/migrations.test.ts +0 -195
  500. package/src/migrations/FromV3ToV4/types/v3.ts +0 -52
  501. package/src/migrations/FromV3ToV4/types/v4.ts +0 -37
  502. package/src/migrations/FromV4ToV5/fixtures/from-v1-to-v5-output.json +0 -245
  503. package/src/migrations/FromV4ToV5/fixtures/function-input-v4.json +0 -96
  504. package/src/migrations/FromV4ToV5/fixtures/function-output-v5.json +0 -120
  505. package/src/migrations/FromV4ToV5/index.ts +0 -58
  506. package/src/migrations/FromV4ToV5/migrations.test.ts +0 -49
  507. package/src/migrations/FromV4ToV5/types/v4.ts +0 -21
  508. package/src/migrations/FromV4ToV5/types/v5.ts +0 -27
  509. package/src/migrations/FromV5ToV6/fixtures/from-v1-to-v6-output.json +0 -247
  510. package/src/migrations/FromV5ToV6/fixtures/session-input-v5.json +0 -81
  511. package/src/migrations/FromV5ToV6/fixtures/session-output-v6.json +0 -85
  512. package/src/migrations/FromV5ToV6/index.ts +0 -61
  513. package/src/migrations/FromV5ToV6/migrations.test.ts +0 -50
  514. package/src/migrations/FromV5ToV6/types/v5.ts +0 -48
  515. package/src/migrations/FromV5ToV6/types/v6.ts +0 -63
  516. package/src/migrations/FromV6ToV7/fixtures/output-v7-from-v1.json +0 -203
  517. package/src/migrations/FromV6ToV7/fixtures/provider-input-v6.json +0 -103
  518. package/src/migrations/FromV6ToV7/fixtures/provider-output-v7.json +0 -118
  519. package/src/migrations/FromV6ToV7/index.ts +0 -101
  520. package/src/migrations/FromV6ToV7/migrations.test.ts +0 -64
  521. package/src/migrations/FromV6ToV7/types/v6.ts +0 -61
  522. package/src/migrations/FromV6ToV7/types/v7.ts +0 -69
  523. package/src/migrations/VersionController.test.ts +0 -88
  524. package/src/migrations/VersionController.ts +0 -67
  525. package/src/migrations/index.ts +0 -61
  526. package/src/server/globalConfig/_deprecated.test.ts +0 -92
  527. package/src/server/globalConfig/_deprecated.ts +0 -41
  528. package/src/server/routers/edge/appStatus.ts +0 -3
  529. package/src/server/routers/edge/index.ts +0 -14
  530. package/src/server/routers/edge/upload.ts +0 -16
  531. package/src/services/aiModel/client.ts +0 -70
  532. package/src/services/aiProvider/client.ts +0 -58
  533. package/src/services/baseClientService/index.ts +0 -9
  534. package/src/services/chat/__snapshots__/chat.test.ts.snap +0 -110
  535. package/src/services/chatGroup/client.ts +0 -63
  536. package/src/services/export/_deprecated.ts +0 -155
  537. package/src/services/export/client.ts +0 -15
  538. package/src/services/file/_deprecated.test.ts +0 -119
  539. package/src/services/file/_deprecated.ts +0 -80
  540. package/src/services/file/client.test.ts +0 -199
  541. package/src/services/file/client.ts +0 -85
  542. package/src/services/import/_deprecated.ts +0 -115
  543. package/src/services/import/client.test.ts +0 -1015
  544. package/src/services/import/client.ts +0 -64
  545. package/src/services/message/_deprecated.test.ts +0 -398
  546. package/src/services/message/_deprecated.ts +0 -168
  547. package/src/services/message/client.test.ts +0 -410
  548. package/src/services/message/client.ts +0 -186
  549. package/src/services/plugin/_deprecated.test.ts +0 -162
  550. package/src/services/plugin/_deprecated.ts +0 -42
  551. package/src/services/plugin/client.test.ts +0 -177
  552. package/src/services/plugin/client.ts +0 -46
  553. package/src/services/session/_deprecated.test.ts +0 -440
  554. package/src/services/session/_deprecated.ts +0 -190
  555. package/src/services/session/client.test.ts +0 -413
  556. package/src/services/session/client.ts +0 -193
  557. package/src/services/thread/client.ts +0 -51
  558. package/src/services/topic/_deprecated.test.ts +0 -245
  559. package/src/services/topic/_deprecated.ts +0 -75
  560. package/src/services/topic/client.ts +0 -89
  561. package/src/services/topic/pglite.test.ts +0 -212
  562. package/src/services/user/_deprecated.test.ts +0 -101
  563. package/src/services/user/_deprecated.ts +0 -70
  564. package/src/services/user/client.test.ts +0 -108
  565. package/src/services/user/client.ts +0 -104
  566. package/src/store/chat/slices/builtinTool/actions/__tests__/dalle.test.ts +0 -121
  567. package/src/store/chat/slices/builtinTool/actions/dalle.ts +0 -124
  568. package/src/store/global/actions/clientDb.ts +0 -67
  569. package/src/store/user/slices/modelList/__snapshots__/action.test.ts.snap +0 -12
  570. package/src/store/user/slices/modelList/action.test.ts +0 -359
  571. package/src/store/user/slices/modelList/action.ts +0 -223
  572. package/src/store/user/slices/modelList/initialState.ts +0 -15
  573. package/src/store/user/slices/modelList/reducers/customModelCard.test.ts +0 -204
  574. package/src/store/user/slices/modelList/reducers/customModelCard.ts +0 -64
  575. package/src/store/user/slices/modelList/selectors/index.ts +0 -3
  576. package/src/store/user/slices/modelList/selectors/keyVaults.test.ts +0 -201
  577. package/src/store/user/slices/modelList/selectors/keyVaults.ts +0 -50
  578. package/src/store/user/slices/modelList/selectors/modelConfig.test.ts +0 -219
  579. package/src/store/user/slices/modelList/selectors/modelConfig.ts +0 -95
  580. package/src/store/user/slices/modelList/selectors/modelProvider.test.ts +0 -138
  581. package/src/store/user/slices/modelList/selectors/modelProvider.ts +0 -170
  582. package/src/tools/dalle/Render/GalleyGrid.tsx +0 -60
  583. package/src/tools/dalle/Render/Item/EditMode.tsx +0 -66
  584. package/src/tools/dalle/Render/Item/Error.tsx +0 -49
  585. package/src/tools/dalle/Render/Item/Image.tsx +0 -44
  586. package/src/tools/dalle/Render/Item/ImageFileItem.tsx +0 -57
  587. package/src/tools/dalle/Render/Item/index.tsx +0 -88
  588. package/src/tools/dalle/Render/ToolBar.tsx +0 -56
  589. package/src/tools/dalle/Render/index.tsx +0 -52
  590. package/src/tools/dalle/index.ts +0 -92
  591. /package/src/{middleware.ts → proxy.ts} +0 -0
package/changelog/v1.json CHANGED
@@ -1,4 +1,154 @@
1
1
  [
2
+ {
3
+ "children": {
4
+ "improvements": [
5
+ "Improve oidc layout style."
6
+ ]
7
+ },
8
+ "date": "2025-11-03",
9
+ "version": "2.0.0-next.20"
10
+ },
11
+ {
12
+ "children": {
13
+ "improvements": [
14
+ "Remove NEXT_PUBLIC_SERVICE_MODE env and use server by default."
15
+ ]
16
+ },
17
+ "date": "2025-11-03",
18
+ "version": "2.0.0-next.19"
19
+ },
20
+ {
21
+ "children": {
22
+ "improvements": [
23
+ "Improve built-in client OIDC user flow."
24
+ ]
25
+ },
26
+ "date": "2025-11-03",
27
+ "version": "2.0.0-next.18"
28
+ },
29
+ {
30
+ "children": {
31
+ "fixes": [
32
+ "Fix regex ReDoS."
33
+ ]
34
+ },
35
+ "date": "2025-11-03",
36
+ "version": "2.0.0-next.17"
37
+ },
38
+ {
39
+ "children": {
40
+ "improvements": [
41
+ "Remove deperated code."
42
+ ]
43
+ },
44
+ "date": "2025-11-03",
45
+ "version": "2.0.0-next.16"
46
+ },
47
+ {
48
+ "children": {},
49
+ "date": "2025-11-03",
50
+ "version": "2.0.0-next.15"
51
+ },
52
+ {
53
+ "children": {
54
+ "improvements": [
55
+ "Remove client service."
56
+ ]
57
+ },
58
+ "date": "2025-11-02",
59
+ "version": "2.0.0-next.14"
60
+ },
61
+ {
62
+ "children": {
63
+ "fixes": [
64
+ "Fix image prompt form."
65
+ ]
66
+ },
67
+ "date": "2025-11-02",
68
+ "version": "2.0.0-next.13"
69
+ },
70
+ {
71
+ "children": {
72
+ "improvements": [
73
+ "Add padding to TopicList component."
74
+ ]
75
+ },
76
+ "date": "2025-11-02",
77
+ "version": "2.0.0-next.12"
78
+ },
79
+ {
80
+ "children": {
81
+ "improvements": [
82
+ "Smoothed model descriptions in ko-KR locales."
83
+ ]
84
+ },
85
+ "date": "2025-11-02",
86
+ "version": "2.0.0-next.11"
87
+ },
88
+ {
89
+ "children": {},
90
+ "date": "2025-11-02",
91
+ "version": "2.0.0-next.10"
92
+ },
93
+ {
94
+ "children": {
95
+ "improvements": [
96
+ "Remove dalle builtin plugin."
97
+ ]
98
+ },
99
+ "date": "2025-11-02",
100
+ "version": "2.0.0-next.9"
101
+ },
102
+ {
103
+ "children": {
104
+ "improvements": [
105
+ "Update i18n."
106
+ ]
107
+ },
108
+ "date": "2025-11-02",
109
+ "version": "2.0.0-next.8"
110
+ },
111
+ {
112
+ "children": {
113
+ "features": [
114
+ "Upgrade to Next 16."
115
+ ]
116
+ },
117
+ "date": "2025-11-01",
118
+ "version": "2.0.0-next.7"
119
+ },
120
+ {
121
+ "children": {},
122
+ "date": "2025-10-31",
123
+ "version": "2.0.0-next.6"
124
+ },
125
+ {
126
+ "children": {
127
+ "improvements": [
128
+ "Migrating Firecrawl to v2."
129
+ ]
130
+ },
131
+ "date": "2025-10-31",
132
+ "version": "2.0.0-next.5"
133
+ },
134
+ {
135
+ "children": {
136
+ "improvements": [
137
+ "Update i18n."
138
+ ]
139
+ },
140
+ "date": "2025-10-31",
141
+ "version": "2.0.0-next.4"
142
+ },
143
+ {
144
+ "children": {
145
+ "improvements": [
146
+ "Add new bedrock model support, add pricing info for Azure GPT-5 series models."
147
+ ]
148
+ },
149
+ "date": "2025-10-30",
150
+ "version": "2.0.0-next.3"
151
+ },
2
152
  {
3
153
  "children": {
4
154
  "fixes": [
@@ -41,6 +41,7 @@ table agents_files {
41
41
 
42
42
  indexes {
43
43
  (file_id, agent_id, user_id) [pk]
44
+ agent_id [name: 'agents_files_agent_id_idx']
44
45
  }
45
46
  }
46
47
 
@@ -334,6 +335,7 @@ table message_groups {
334
335
 
335
336
  indexes {
336
337
  (client_id, user_id) [name: 'message_groups_client_id_user_id_unique', unique]
338
+ topic_id [name: 'message_groups_topic_id_idx']
337
339
  }
338
340
  }
339
341
 
@@ -444,6 +446,7 @@ table messages {
444
446
  user_id [name: 'messages_user_id_idx']
445
447
  session_id [name: 'messages_session_id_idx']
446
448
  thread_id [name: 'messages_thread_id_idx']
449
+ agent_id [name: 'messages_agent_id_idx']
447
450
  }
448
451
  }
449
452
 
@@ -805,6 +808,8 @@ table agents_to_sessions {
805
808
 
806
809
  indexes {
807
810
  (agent_id, session_id) [pk]
811
+ session_id [name: 'agents_to_sessions_session_id_idx']
812
+ agent_id [name: 'agents_to_sessions_agent_id_idx']
808
813
  }
809
814
  }
810
815
 
@@ -865,6 +870,8 @@ table sessions {
865
870
  (client_id, user_id) [name: 'sessions_client_id_user_id_unique', unique]
866
871
  user_id [name: 'sessions_user_id_idx']
867
872
  (id, user_id) [name: 'sessions_id_user_id_idx']
873
+ (user_id, updated_at) [name: 'sessions_user_id_updated_at_idx']
874
+ group_id [name: 'sessions_group_id_idx']
868
875
  }
869
876
  }
870
877
 
@@ -885,6 +892,7 @@ table threads {
885
892
 
886
893
  indexes {
887
894
  (client_id, user_id) [name: 'threads_client_id_user_id_unique', unique]
895
+ topic_id [name: 'threads_topic_id_idx']
888
896
  }
889
897
  }
890
898
 
@@ -917,6 +925,8 @@ table topics {
917
925
  (client_id, user_id) [name: 'topics_client_id_user_id_unique', unique]
918
926
  user_id [name: 'topics_user_id_idx']
919
927
  (id, user_id) [name: 'topics_id_user_id_idx']
928
+ session_id [name: 'topics_session_id_idx']
929
+ group_id [name: 'topics_group_id_idx']
920
930
  }
921
931
  }
922
932
 
@@ -1166,4 +1176,4 @@ ref: topic_documents.document_id > documents.id
1166
1176
 
1167
1177
  ref: topic_documents.topic_id > topics.id
1168
1178
 
1169
- ref: topics.session_id - sessions.id
1179
+ ref: topics.session_id - sessions.id
@@ -55,12 +55,12 @@ tags:
55
55
 
56
56
  | Environment Variable | Type | Description |
57
57
  | ------------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
58
- | `NEXT_AUTH_SECRET` | Required | Key used to encrypt Auth.js session tokens. You can generate a key using the following command: `openssl rand -base64 32` |
58
+ | `AUTH_SECRET` | Required | Key used to encrypt Auth.js session tokens. You can generate a key using the following command: `openssl rand -base64 32` |
59
59
  | `NEXT_AUTH_SSO_PROVIDERS` | Required | Select the single sign-on provider for LoboChat. Use `auth0` for Auth0. |
60
60
  | `AUTH_AUTH0_ID` | Required | Client ID of the Auth0 application |
61
61
  | `AUTH_AUTH0_SECRET` | Required | Client Secret of the Auth0 application |
62
62
  | `AUTH_AUTH0_ISSUER` | Required | Domain of the Auth0 application, `https://example.auth0.com` |
63
- | `NEXTAUTH_URL` | Required | The URL is used to specify the callback address for the execution of OAuth authentication in Auth.js. It needs to be set only when the default address is incorrect. `https://example.com/api/auth` |
63
+ | `AUTH_URL` | Required | The URL is used to specify the callback address for the execution of OAuth authentication in Auth.js. It needs to be set only when the default address is incorrect. `https://example.com/api/auth` |
64
64
 
65
65
  <Callout type={'tip'}>
66
66
  You can refer to the related variable details at [📘Environment Variables](/docs/self-hosting/environment-variable#auth0).
@@ -51,12 +51,12 @@ tags:
51
51
 
52
52
  | 环境变量 | 类型 | 描述 |
53
53
  | ------------------------- | -- | ------------------------------------------------------------------------------------------- |
54
- | `NEXT_AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成秘钥: `openssl rand -base64 32` |
54
+ | `AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成秘钥: `openssl rand -base64 32` |
55
55
  | `NEXT_AUTH_SSO_PROVIDERS` | 必选 | 选择 LoboChat 的单点登录提供商。使用 Auth0 请填写 `auth0`。 |
56
56
  | `AUTH_AUTH0_ID` | 必选 | Auth0 应用程序的 Client ID |
57
57
  | `AUTH_AUTH0_SECRET` | 必选 | Auth0 应用程序的 Client Secret |
58
58
  | `AUTH_AUTH0_ISSUER` | 必选 | Auth0 应用程序的 Domain,`https://example.auth0.com` |
59
- | `NEXTAUTH_URL` | 必选 | 该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址,当默认生成的重定向地址发生不正确时才需要设置。`https://example.com/api/auth` |
59
+ | `AUTH_URL` | 必选 | 该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址,当默认生成的重定向地址发生不正确时才需要设置。`https://example.com/api/auth` |
60
60
 
61
61
  <Callout type={'tip'}>
62
62
  前往 [📘 环境变量](/zh/docs/self-hosting/environment-variables/auth#auth-0) 可查阅相关变量详情。
@@ -54,12 +54,12 @@ tags:
54
54
 
55
55
  | Environment Variable | Type | Description |
56
56
  | ------------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
57
- | `NEXT_AUTH_SECRET` | Required | The secret used to encrypt Auth.js session tokens. You can generate a secret using the following command: `openssl rand -base64 32` |
57
+ | `AUTH_SECRET` | Required | The secret used to encrypt Auth.js session tokens. You can generate a secret using the following command: `openssl rand -base64 32` |
58
58
  | `NEXT_AUTH_SSO_PROVIDERS` | Required | Select the SSO provider for LoboChat. Use `authentik` for Authentik. |
59
59
  | `AUTH_AUTHELIA_ID` | Required | The id just configured in Authelia, example value is lobe-chat |
60
60
  | `AUTH_AUTHELIA_SECRET` | Required | The plaintext corresponding to the secret just configured in Authelia, example value is `insecure_secret` |
61
61
  | `AUTH_AUTHELIA_ISSUER` | Required | Your Authelia URL, for example [https://sso.example.com](https://sso.example.com) |
62
- | `NEXTAUTH_URL` | Required | This URL is used to specify the callback address for Auth.js when performing OAuth verification. It only needs to be set when the default generated redirect address is incorrect. [https://chat.example.com/api/auth](https://chat.example.com/api/auth) |
62
+ | `AUTH_URL` | Required | This URL is used to specify the callback address for Auth.js when performing OAuth verification. It only needs to be set when the default generated redirect address is incorrect. [https://chat.example.com/api/auth](https://chat.example.com/api/auth) |
63
63
 
64
64
  <Callout type={'tip'}>
65
65
  Go to [📘 Environment Variables](/docs/self-hosting/environment-variable#Authelia) for details about the variables.
@@ -53,12 +53,12 @@ tags:
53
53
 
54
54
  | 环境变量 | 类型 | 描述 |
55
55
  | ------------------------- | -- | ------------------------------------------------------------------------------------------------ |
56
- | `NEXT_AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成秘钥: `openssl rand -base64 32` |
56
+ | `AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成秘钥: `openssl rand -base64 32` |
57
57
  | `NEXT_AUTH_SSO_PROVIDERS` | 必选 | 选择 LoboChat 的单点登录提供商。使用 Authelia 请填写 `authelia`。 |
58
58
  | `AUTH_AUTHELIA_ID` | 必选 | 刚刚在 Authelia 配置的 `id`,示例值是 `lobe-chat` |
59
59
  | `AUTH_AUTHELIA_SECRET` | 必选 | 刚刚在 Authelia 配置的 `secret` 对应的明文,示例值是 `insecure_secret` |
60
60
  | `AUTH_AUTHELIA_ISSUER` | 必选 | 您的 Authelia 的网址,例如 `https://sso.example.com` |
61
- | `NEXTAUTH_URL` | 必选 | 该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址,当默认生成的重定向地址发生不正确时才需要设置。`https://chat.example.com/api/auth` |
61
+ | `AUTH_URL` | 必选 | 该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址,当默认生成的重定向地址发生不正确时才需要设置。`https://chat.example.com/api/auth` |
62
62
 
63
63
  <Callout type={'tip'}>
64
64
  前往 [📘 环境变量](/zh/docs/self-hosting/environment-variable#Authelia) 可查阅相关变量详情。
@@ -49,12 +49,12 @@ tags:
49
49
 
50
50
  | Environment Variable | Type | Description |
51
51
  | ------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
52
- | `NEXT_AUTH_SECRET` | Required | The secret used to encrypt Auth.js session tokens. You can generate a secret using the following command: `openssl rand -base64 32` |
52
+ | `AUTH_SECRET` | Required | The secret used to encrypt Auth.js session tokens. You can generate a secret using the following command: `openssl rand -base64 32` |
53
53
  | `NEXT_AUTH_SSO_PROVIDERS` | Required | Select the SSO provider for LoboChat. Use `authentik` for Authentik. |
54
54
  | `AUTH_AUTHENTIK_ID` | Required | The Client ID from the Authentik application provider details page |
55
55
  | `AUTH_AUTHENTIK_SECRET` | Required | The Client Secret from the Authentik application provider details page |
56
56
  | `AUTH_AUTHENTIK_ISSUER` | Required | The OpenID Configuration Issuer from the Authentik application provider details page |
57
- | `NEXTAUTH_URL` | Required | This URL is used to specify the callback address for Auth.js when performing OAuth authentication. It only needs to be set when the default generated redirect address is incorrect. `https://example.com/api/auth` |
57
+ | `AUTH_URL` | Required | This URL is used to specify the callback address for Auth.js when performing OAuth authentication. It only needs to be set when the default generated redirect address is incorrect. `https://example.com/api/auth` |
58
58
 
59
59
  <Callout type={'tip'}>
60
60
  Go to [📘 Environment Variables](/docs/self-hosting/environment-variable#Authentik) for details about the variables.
@@ -45,12 +45,12 @@ tags:
45
45
 
46
46
  | 环境变量 | 类型 | 描述 |
47
47
  | ------------------------- | -- | ------------------------------------------------------------------------------------------- |
48
- | `NEXT_AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成秘钥: `openssl rand -base64 32` |
48
+ | `AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成秘钥: `openssl rand -base64 32` |
49
49
  | `NEXT_AUTH_SSO_PROVIDERS` | 必选 | 选择 LoboChat 的单点登录提供商。使用 Authentik 请填写 `authentik`。 |
50
50
  | `AUTH_AUTHENTIK_ID` | 必选 | Authentik 提供程序详情页的 客户端 ID |
51
51
  | `AUTH_AUTHENTIK_SECRET` | 必选 | Authentik 提供程序详情页的 客户端 Secret |
52
52
  | `AUTH_AUTHENTIK_ISSUER` | 必选 | Authentik 提供程序详情页的 OpenID 配置颁发者 |
53
- | `NEXTAUTH_URL` | 必选 | 该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址,当默认生成的重定向地址发生不正确时才需要设置。`https://example.com/api/auth` |
53
+ | `AUTH_URL` | 必选 | 该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址,当默认生成的重定向地址发生不正确时才需要设置。`https://example.com/api/auth` |
54
54
 
55
55
  <Callout type={'tip'}>
56
56
  前往 [📘 环境变量](/zh/docs/self-hosting/environment-variable#Authentik) 可查阅相关变量详情。
@@ -134,12 +134,12 @@ If you are deploying using a public network, the following assumptions apply:
134
134
 
135
135
  | Environment Variable | Type | Description |
136
136
  | ------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
137
- | `NEXT_AUTH_SECRET` | Required | A key for encrypting Auth.js session tokens. You can generate a key using the command: `openssl rand -base64 32`. |
137
+ | `AUTH_SECRET` | Required | A key for encrypting Auth.js session tokens. You can generate a key using the command: `openssl rand -base64 32`. |
138
138
  | `NEXT_AUTH_SSO_PROVIDERS` | Required | Select the single sign-on provider for LobeChat. Fill in `casdoor` for using Casdoor. |
139
139
  | `AUTH_CASDOOR_ID` | Required | The client ID from the Casdoor application details page. |
140
140
  | `AUTH_CASDOOR_SECRET` | Required | The client secret from the Casdoor application details page. |
141
141
  | `AUTH_CASDOOR_ISSUER` | Required | The OpenID Connect issuer for the Casdoor provider. |
142
- | `NEXTAUTH_URL` | Required | This URL specifies the callback address for Auth.js during OAuth verification and needs to be set only if the default generated redirect address is incorrect. `https://lobe.example.com/api/auth` |
142
+ | `AUTH_URL` | Required | This URL specifies the callback address for Auth.js during OAuth verification and needs to be set only if the default generated redirect address is incorrect. `https://lobe.example.com/api/auth` |
143
143
  | `CASDOOR_WEBHOOK_SECRET` | Optional | A key used to verify whether the request sent by Casdoor is legal. |
144
144
 
145
145
  <Callout type={'tip'}>
@@ -133,12 +133,12 @@ tags:
133
133
 
134
134
  | 环境变量 | 类型 | 描述 |
135
135
  | ------------------------- | -- | ------------------------------------------------------------------------------------------------ |
136
- | `NEXT_AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成秘钥: `openssl rand -base64 32` |
136
+ | `AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成秘钥: `openssl rand -base64 32` |
137
137
  | `NEXT_AUTH_SSO_PROVIDERS` | 必选 | 选择 LoboChat 的单点登录提供商。使用 Casdoor 请填写 `casdoor`。 |
138
138
  | `AUTH_CASDOOR_ID` | 必选 | Casdoor 应用详情页的客户端 ID |
139
139
  | `AUTH_CASDOOR_SECRET` | 必选 | Casdoor 应用详情页的客户端密钥 |
140
140
  | `AUTH_CASDOOR_ISSUER` | 必选 | Casdoor 提供程序的 OpenID Connect 颁发者。 |
141
- | `NEXTAUTH_URL` | 必选 | 该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址,当默认生成的重定向地址发生不正确时才需要设置。`https://lobe.example.com/api/auth` |
141
+ | `AUTH_URL` | 必选 | 该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址,当默认生成的重定向地址发生不正确时才需要设置。`https://lobe.example.com/api/auth` |
142
142
  | `CASDOOR_WEBHOOK_SECRET` | 可选 | 用于验证 Casdoor 发送的 Webhook 请求是否合法的密钥。 |
143
143
 
144
144
  <Callout type={'tip'}>
@@ -48,12 +48,12 @@ tags:
48
48
 
49
49
  | Environment Variable | Type | Description |
50
50
  | ----------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
51
- | `NEXT_AUTH_SECRET` | Required | The secret used to encrypt Auth.js session tokens. You can generate a secret using the following command: `openssl rand -base64 32` |
51
+ | `AUTH_SECRET` | Required | The secret used to encrypt Auth.js session tokens. You can generate a secret using the following command: `openssl rand -base64 32` |
52
52
  | `NEXT_AUTH_SSO_PROVIDERS` | Required | Select the SSO provider for LoboChat. Use `cloudflare-zero-trust` for Cloudflare Zero Trust. |
53
53
  | `AUTH_CLOUDFLARE_ZERO_TRUST_ID` | Required | The Client ID from the Cloudflare Zero Trust application provider details page |
54
54
  | `AUTH_CLOUDFLARE_ZERO_TRUST_SECRET` | Required | The Client Secret from the Cloudflare Zero Trust application provider details page |
55
55
  | `AUTH_CLOUDFLARE_ZERO_TRUST_ISSUER` | Required | The OpenID Configuration Issuer from the Cloudflare Zero Trust application provider details page |
56
- | `NEXTAUTH_URL` | Required | This URL is used to specify the callback address for Auth.js when performing OAuth authentication. It only needs to be set when the default generated redirect address is incorrect. `https://example.com/api/auth` |
56
+ | `AUTH_URL` | Required | This URL is used to specify the callback address for Auth.js when performing OAuth authentication. It only needs to be set when the default generated redirect address is incorrect. `https://example.com/api/auth` |
57
57
 
58
58
  <Callout type={'tip'}>
59
59
  Go to [📘 Environment Variables](/docs/self-hosting/environment-variable#Cloudflare%20Zero%20Trust) for details about the variables.
@@ -46,12 +46,12 @@ tags:
46
46
 
47
47
  | 环境变量 | 类型 | 描述 |
48
48
  | ----------------------------------- | -- | ------------------------------------------------------------------------------------------------------------ |
49
- | `NEXT_AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成秘钥: `openssl rand -base64 32` |
49
+ | `AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成秘钥: `openssl rand -base64 32` |
50
50
  | `NEXT_AUTH_SSO_PROVIDERS` | 必选 | 选择 LoboChat 的单点登录提供商。使用 Cloudflare Zero Trust 请填写 `cloudflare-zero-trust`。 |
51
51
  | `AUTH_CLOUDFLARE_ZERO_TRUST_ID` | 必选 | 在 Cloudflare Zero Trust 生成的 `Client ID`,示例值是 `lobe-chat` |
52
52
  | `AUTH_CLOUDFLARE_ZERO_TRUST_SECRET` | 必选 | 在 Cloudflare Zero Trust 生成的 `Client secret`,示例值是 `insecure_secret` |
53
53
  | `AUTH_CLOUDFLARE_ZERO_TRUST_ISSUER` | 必选 | 在 Cloudflare Zero Trust 生成的 `Issuer`,例如 `https://example.cloudflareaccess.com/cdn-cgi/access/sso/oidc/7db0f` |
54
- | `NEXTAUTH_URL` | 必选 | 该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址,当默认生成的重定向地址发生不正确时才需要设置。`https://chat.example.com/api/auth` |
54
+ | `AUTH_URL` | 必选 | 该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址,当默认生成的重定向地址发生不正确时才需要设置。`https://chat.example.com/api/auth` |
55
55
 
56
56
  <Callout type={'tip'}>
57
57
  前往 [📘 环境变量](/zh/docs/self-hosting/environment-variable#Cloudflare%20Zero%20Trust) 可查阅相关变量详情。
@@ -54,11 +54,11 @@ tags:
54
54
 
55
55
  | Environment Variable | Type | Description |
56
56
  | ------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
57
- | `NEXT_AUTH_SECRET` | Required | Key used to encrypt Auth.js session tokens. You can generate the key using the command: `openssl rand -base64 32` |
57
+ | `AUTH_SECRET` | Required | Key used to encrypt Auth.js session tokens. You can generate the key using the command: `openssl rand -base64 32` |
58
58
  | `NEXT_AUTH_SSO_PROVIDERS` | Required | Select the Single Sign-On provider for LobeChat. Use `github` for Github. |
59
59
  | `AUTH_GITHUB_ID` | Required | Client ID in the Github App details page. |
60
60
  | `AUTH_GITHUB_SECRET` | Required | Client Secret in the Github App details page. |
61
- | `NEXTAUTH_URL` | Required | This URL is used to specify the callback address for Auth.js when performing OAuth authentication. Only set it if the default generated redirect address is incorrect. `https://example.com/api/auth` |
61
+ | `AUTH_URL` | Required | This URL is used to specify the callback address for Auth.js when performing OAuth authentication. Only set it if the default generated redirect address is incorrect. `https://example.com/api/auth` |
62
62
 
63
63
  <Callout type={'tip'}>
64
64
  Go to [📘 Environment Variables](/docs/self-hosting/environment-variables/auth#github) for detailed
@@ -52,11 +52,11 @@ tags:
52
52
 
53
53
  | 环境变量 | 类型 | 描述 |
54
54
  | ------------------------- | -- | ------------------------------------------------------------------------------------------- |
55
- | `NEXT_AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成秘钥: `openssl rand -base64 32` |
55
+ | `AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成秘钥: `openssl rand -base64 32` |
56
56
  | `NEXT_AUTH_SSO_PROVIDERS` | 必选 | 选择 LoboChat 的单点登录提供商。使用 Github 请填写 `github`。 |
57
57
  | `AUTH_GITHUB_ID` | 必选 | Github App 详情页的 客户端 ID |
58
58
  | `AUTH_GITHUB_SECRET` | 必选 | Github App 详情页的 客户端 Secret |
59
- | `NEXTAUTH_URL` | 必选 | 该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址,当默认生成的重定向地址发生不正确时才需要设置。`https://example.com/api/auth` |
59
+ | `AUTH_URL` | 必选 | 该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址,当默认生成的重定向地址发生不正确时才需要设置。`https://example.com/api/auth` |
60
60
 
61
61
  <Callout type={'tip'}>
62
62
  前往 [📘 环境变量](/zh/docs/self-hosting/environment-variables/auth#github) 可查阅相关变量详情。
@@ -21,49 +21,52 @@ tags:
21
21
  <Steps>
22
22
  ### Create a Google Cloud OAuth 2.0 Client
23
23
 
24
- In your [Google Cloud Console][google-cloud-console], navigate to **APIs & Services > Credentials**.
24
+ In your [Google Cloud Console][google-cloud-console], navigate to **APIs & Services > Credentials**.
25
25
 
26
- Click on **Create Credentials** and select **OAuth client ID**.
26
+ Click on **Create Credentials** and select **OAuth client ID**.
27
27
 
28
- If you haven't already set up a consent screen, you will be prompted to do so. Complete the OAuth consent screen setup (specify app name, support email, and add authorized users if needed).
28
+ If you haven't already set up a consent screen, you will be prompted to do so. Complete the OAuth consent screen setup (specify app name, support email, and add authorized users if needed).
29
29
 
30
- Select **Web application** as the application type.
30
+ Select **Web application** as the application type.
31
31
 
32
- In the **Authorized redirect URIs** section, enter:
32
+ In the **Authorized redirect URIs** section, enter:
33
33
 
34
- ```bash
35
- https://your-domain/api/auth/callback/google
36
- ```
34
+ ```bash
35
+ https://your-domain/api/auth/callback/google
36
+ ```
37
37
 
38
- \<Callout type={'info'}>
39
- \- You can add or modify redirect URIs after registration, but make sure the URL matches your deployed LobeChat instance.
40
- \- Replace "your-domain" with your actual domain. </Callout>
38
+ <Callout type={'info'}>
39
+ \- You can add or modify redirect URIs after registration, but make sure the URL matches your deployed LobeChat instance.
40
+ \- Replace "your-domain" with your actual domain.
41
+ </Callout>
41
42
 
42
- Click **Create**.
43
+ Click **Create**.
43
44
 
44
- After creation, copy the **Client ID** and **Client Secret**.
45
+ After creation, copy the **Client ID** and **Client Secret**.
45
46
 
46
47
  <Image alt="Google OAuth Setup" inStep src="https://developers.google.com/static/identity/images/gsi/web/gcs-signin-2.png" />
47
48
 
48
- ### Add Users (Optional for Internal Use Only)
49
+ ### Add Users (Optional for Internal Use Only)
49
50
 
50
- If your application is in **Testing** or **Internal** publishing status, add user emails in the OAuth consent screen under **Test users**.
51
- Users not added here will not be able to authenticate.
51
+ If your application is in **Testing** or **Internal** publishing status, add user emails in the OAuth consent screen under **Test users**.
52
+ Users not added here will not be able to authenticate.
52
53
 
53
- ### Configure Environment Variables
54
+ ### Configure Environment Variables
54
55
 
55
- When deploying LobeChat, configure the following environment variables:
56
+ When deploying LobeChat, configure the following environment variables:
56
57
 
57
- | Environment Variable | Type | Description |
58
- | ------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------- |
59
- | `NEXT_AUTH_SECRET` | Required | Key to encrypt Auth.js session tokens. Generate using: `openssl rand -base64 32` |
60
- | `NEXT_AUTH_SSO_PROVIDERS` | Required | Select the single sign-on provider for LobeChat. Use `google` for Google SSO. |
61
- | `AUTH_GOOGLE_ID` | Required | Client ID from Google Cloud OAuth. |
62
- | `AUTH_GOOGLE_SECRET` | Required | Client Secret from Google Cloud OAuth. |
63
- | `NEXTAUTH_URL` | Required | Specifies the callback address for Auth.js when performing OAuth authentication. E.g. `https://your-domain/api/auth` |
58
+ | Environment Variable | Type | Description |
59
+ | ------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------- |
60
+ | `NEXT_AUTH_SECRET` | Required | Key to encrypt Auth.js session tokens. Generate using: `openssl rand -base64 32` |
61
+ | `NEXT_AUTH_SSO_PROVIDERS` | Required | Select the single sign-on provider for LobeChat. Use `google` for Google SSO. |
62
+ | `AUTH_GOOGLE_ID` | Required | Client ID from Google Cloud OAuth. |
63
+ | `AUTH_GOOGLE_SECRET` | Required | Client Secret from Google Cloud OAuth. |
64
+ | `AUTH_URL` | Required | Specifies the callback address for Auth.js when performing OAuth authentication. E.g. `https://your-domain/api/auth` |
64
65
 
65
- \<Callout type={'tip'}>
66
- See [📘 environment variables](/docs/self-hosting/environment-variable#google) for more details on these variables. </Callout> </Steps>
66
+ <Callout type={'tip'}>
67
+ See [📘 environment variables](/docs/self-hosting/environment-variable#google) for more details on these variables.
68
+ </Callout>
69
+ </Steps>
67
70
 
68
71
  <Callout>
69
72
  After successful deployment, users can sign in to LobeChat using their Google accounts (those added as Test Users, if not in production).
@@ -75,8 +78,8 @@ See the [Google Identity Platform Documentation][google-identity-docs] for advan
75
78
 
76
79
  ## Related Resources
77
80
 
78
- * [Quickstart: Configure a Google OAuth client][google-oauth-quickstart]
81
+ - [Quickstart: Configure a Google OAuth client][google-oauth-quickstart]
79
82
 
80
83
  [google-cloud-console]: https://console.cloud.google.com/apis/credentials
81
- [google-oauth-quickstart]: https://developers.google.com/identity/protocols/oauth2/web-server#creatingcred
82
84
  [google-identity-docs]: https://developers.google.com/identity
85
+ [google-oauth-quickstart]: https://developers.google.com/identity/protocols/oauth2/web-server#creatingcred
@@ -108,12 +108,12 @@ If you deploy using a public network, this guide assumes:
108
108
 
109
109
  | Environment Variable | Type | Description |
110
110
  | ------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
111
- | `NEXT_AUTH_SECRET` | Required | Key used to encrypt Auth.js session tokens. You can generate a key using: `openssl rand -base64 32` |
111
+ | `AUTH_SECRET` | Required | Key used to encrypt Auth.js session tokens. You can generate a key using: `openssl rand -base64 32` |
112
112
  | `NEXT_AUTH_SSO_PROVIDERS` | Required | Select the single sign-on provider for LobeChat. For Keycloak, fill in `keycloak`. |
113
113
  | `AUTH_KEYCLOAK_ID` | Required | Keycloak client ID |
114
114
  | `AUTH_KEYCLOAK_SECRET` | Required | Keycloak client secret |
115
115
  | `AUTH_KEYCLOAK_ISSUER` | Required | OpenID Connect issuer URL for the Keycloak provider, in the format `{keycloak_url}/realms/{realm_name}` |
116
- | `NEXTAUTH_URL` | Required | This URL specifies the callback address for Auth.js during OAuth verification. Only needed when the default generated redirect address is incorrect. `https://lobe.example.com/api/auth` |
116
+ | `AUTH_URL` | Required | This URL specifies the callback address for Auth.js during OAuth verification. Only needed when the default generated redirect address is incorrect. `https://lobe.example.com/api/auth` |
117
117
 
118
118
  <Callout type={'tip'}>
119
119
  Visit [📘 Environment Variables](/zh/docs/self-hosting/environment-variables/auth#keycloak) for details on related variables.
@@ -105,12 +105,12 @@ tags:
105
105
 
106
106
  | 环境变量 | 类型 | 描述 |
107
107
  | ------------------------- | -- | ------------------------------------------------------------------------------------------------ |
108
- | `NEXT_AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成秘钥: `openssl rand -base64 32` |
108
+ | `AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成秘钥: `openssl rand -base64 32` |
109
109
  | `NEXT_AUTH_SSO_PROVIDERS` | 必选 | 选择 LoboChat 的单点登录提供商。使用 Keycloak 请填写 `keycloak`。 |
110
110
  | `AUTH_KEYCLOAK_ID` | 必选 | Keycloak 客户端 ID |
111
111
  | `AUTH_KEYCLOAK_SECRET` | 必选 | Keycloak 客户端密钥 |
112
112
  | `AUTH_KEYCLOAK_ISSUER` | 必选 | Keycloak 提供程序的 OpenID Connect 颁发者 URL,格式为 `{keycloak_url}/realms/{realm_name}` |
113
- | `NEXTAUTH_URL` | 必选 | 该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址,当默认生成的重定向地址发生不正确时才需要设置。`https://lobe.example.com/api/auth` |
113
+ | `AUTH_URL` | 必选 | 该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址,当默认生成的重定向地址发生不正确时才需要设置。`https://lobe.example.com/api/auth` |
114
114
 
115
115
  <Callout type={'tip'}>
116
116
  前往 [📘 环境变量](/zh/docs/self-hosting/environment-variables/auth#keycloak) 可查阅相关变量详情。
@@ -50,7 +50,9 @@ If you are using Logto Cloud, assume its endpoint domain is `https://example.log
50
50
  Go to `Webhooks`, create a Webhook, and fill in the following fields:
51
51
 
52
52
  - Endpoint URL: `https://lobe.example.com/api/webhooks/logto`
53
- - Events: `User.Data.Updated`
53
+ - Events:
54
+ - `User.Data.Updated`: Allow LobeChat to synchronize user profile information updates from Logto.
55
+ - `User.SuspensionStatus.Updated`: Allow LobeChat to remove the active session from suspended users from logging in, only available when database session strategy is `database`.
54
56
 
55
57
  After successful creation, copy the Webhook's `Signing Key` and fill it in the `LOGTO_WEBHOOK_SIGNING_KEY` environment variable.
56
58
 
@@ -69,12 +71,12 @@ If you are using Logto Cloud, assume its endpoint domain is `https://example.log
69
71
 
70
72
  | Environment Variable | Type | Description |
71
73
  | --------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
72
- | `NEXT_AUTH_SECRET` | Required | The key used to encrypt Auth.js session tokens. You can generate a key using the command: `openssl rand -base64 32` |
74
+ | `AUTH_SECRET` | Required | The key used to encrypt Auth.js session tokens. You can generate a key using the command: `openssl rand -base64 32` |
73
75
  | `NEXT_AUTH_SSO_PROVIDERS` | Required | Select the single sign-on provider for LobeChat. For Logto, enter `logto`. |
74
76
  | `AUTH_LOGTO_ID` | Required | The Client ID from the Logto App details page |
75
77
  | `AUTH_LOGTO_SECRET` | Required | The Client Secret from the Logto App details page |
76
78
  | `AUTH_LOGTO_ISSUER` | Required | OpenID Connect issuer of the Logto provider |
77
- | `NEXTAUTH_URL` | Required | This URL specifies the callback address for Auth.js during OAuth verification, needed only if the default generated redirect address is incorrect. `https://lobe.example.com/api/auth` |
79
+ | `AUTH_URL` | Required | This URL specifies the callback address for Auth.js during OAuth verification, needed only if the default generated redirect address is incorrect. `https://lobe.example.com/api/auth` |
78
80
  | `LOGTO_WEBHOOK_SIGNING_KEY` | Optional | The key used to verify the legality of Webhook requests sent by Logto. |
79
81
 
80
82
  <Callout type={'tip'}>
@@ -47,7 +47,9 @@ tags:
47
47
  前往 `Webhooks` ,创建一个 Webhook,填写以下字段:
48
48
 
49
49
  - 端点 URL: `https://lobe.example.com/api/webhooks/logto`
50
- - 事件: `User.Data.Updated`
50
+ - 事件:
51
+ - `User.Data.Updated`: 允许 LobeChat 同步 Logto 中用户资料信息的更新。
52
+ - `User.SuspensionStatus.Updated`: 允许 LobeChat 将被暂停的用户移除登录会话,仅在数据库会话策略为 `database` 时可用。
51
53
 
52
54
  创建成功后,复制 Webhook 的 `签名密钥`。填写到环境变量中的 `LOGTO_WEBHOOK_SIGNING_KEY`。
53
55
 
@@ -66,12 +68,12 @@ tags:
66
68
 
67
69
  | 环境变量 | 类型 | 描述 |
68
70
  | --------------------------- | -- | ------------------------------------------------------------------------------------------------ |
69
- | `NEXT_AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成秘钥: `openssl rand -base64 32` |
71
+ | `AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成秘钥: `openssl rand -base64 32` |
70
72
  | `NEXT_AUTH_SSO_PROVIDERS` | 必选 | 选择 LoboChat 的单点登录提供商。使用 Logto 请填写 `logto`。 |
71
73
  | `AUTH_LOGTO_ID` | 必选 | Logto App 详情页的 Client ID |
72
74
  | `AUTH_LOGTO_SECRET` | 必选 | Logto App 详情页的 Client Secret |
73
75
  | `AUTH_LOGTO_ISSUER` | 必选 | Logto 提供程序的 OpenID Connect 颁发者 |
74
- | `NEXTAUTH_URL` | 必选 | 该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址,当默认生成的重定向地址发生不正确时才需要设置。`https://lobe.example.com/api/auth` |
76
+ | `AUTH_URL` | 必选 | 该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址,当默认生成的重定向地址发生不正确时才需要设置。`https://lobe.example.com/api/auth` |
75
77
  | `LOGTO_WEBHOOK_SIGNING_KEY` | 可选 | 用于验证 Logto 发送的 Webhook 请求是否合法的密钥。 |
76
78
 
77
79
  <Callout type={'tip'}>