@lobehub/lobehub 1.143.0-next.2 → 2.0.0-next.10

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 (244) hide show
  1. package/.github/workflows/desktop-pr-build.yml +12 -10
  2. package/.github/workflows/docker.yml +25 -20
  3. package/.github/workflows/e2e.yml +3 -3
  4. package/.github/workflows/release-desktop-beta.yml +8 -8
  5. package/.github/workflows/release.yml +1 -1
  6. package/.github/workflows/test.yml +4 -4
  7. package/CHANGELOG.md +265 -0
  8. package/README.md +7 -0
  9. package/README.zh-CN.md +7 -0
  10. package/apps/desktop/src/main/utils/next-electron-rsc.ts +7 -5
  11. package/changelog/v1.json +85 -0
  12. package/docs/development/database-schema.dbml +11 -1
  13. package/docs/self-hosting/advanced/auth/next-auth/auth0.mdx +2 -2
  14. package/docs/self-hosting/advanced/auth/next-auth/auth0.zh-CN.mdx +2 -2
  15. package/docs/self-hosting/advanced/auth/next-auth/authelia.mdx +2 -2
  16. package/docs/self-hosting/advanced/auth/next-auth/authelia.zh-CN.mdx +2 -2
  17. package/docs/self-hosting/advanced/auth/next-auth/authentik.mdx +2 -2
  18. package/docs/self-hosting/advanced/auth/next-auth/authentik.zh-CN.mdx +2 -2
  19. package/docs/self-hosting/advanced/auth/next-auth/casdoor.mdx +2 -2
  20. package/docs/self-hosting/advanced/auth/next-auth/casdoor.zh-CN.mdx +2 -2
  21. package/docs/self-hosting/advanced/auth/next-auth/cloudflare-zero-trust.mdx +2 -2
  22. package/docs/self-hosting/advanced/auth/next-auth/cloudflare-zero-trust.zh-CN.mdx +2 -2
  23. package/docs/self-hosting/advanced/auth/next-auth/github.mdx +2 -2
  24. package/docs/self-hosting/advanced/auth/next-auth/github.zh-CN.mdx +2 -2
  25. package/docs/self-hosting/advanced/auth/next-auth/google.mdx +32 -29
  26. package/docs/self-hosting/advanced/auth/next-auth/keycloak.mdx +2 -2
  27. package/docs/self-hosting/advanced/auth/next-auth/keycloak.zh-CN.mdx +2 -2
  28. package/docs/self-hosting/advanced/auth/next-auth/logto.mdx +5 -3
  29. package/docs/self-hosting/advanced/auth/next-auth/logto.zh-CN.mdx +5 -3
  30. package/docs/self-hosting/advanced/auth/next-auth/microsoft-entra-id.mdx +2 -2
  31. package/docs/self-hosting/advanced/auth/next-auth/microsoft-entra-id.zh-CN.mdx +2 -2
  32. package/docs/self-hosting/advanced/auth/next-auth/okta.mdx +2 -2
  33. package/docs/self-hosting/advanced/auth/next-auth/okta.zh-CN.mdx +2 -2
  34. package/docs/self-hosting/advanced/auth/next-auth/wechat.mdx +2 -2
  35. package/docs/self-hosting/advanced/auth/next-auth/wechat.zh-CN.mdx +2 -2
  36. package/docs/self-hosting/advanced/auth/next-auth/zitadel.mdx +2 -2
  37. package/docs/self-hosting/advanced/auth/next-auth/zitadel.zh-CN.mdx +2 -2
  38. package/docs/self-hosting/advanced/auth.mdx +32 -21
  39. package/docs/self-hosting/advanced/auth.zh-CN.mdx +30 -19
  40. package/docs/self-hosting/advanced/online-search.mdx +30 -25
  41. package/docs/self-hosting/advanced/online-search.zh-CN.mdx +25 -23
  42. package/locales/ar/models.json +15 -6
  43. package/locales/bg-BG/models.json +15 -6
  44. package/locales/de-DE/models.json +15 -6
  45. package/locales/en-US/models.json +15 -6
  46. package/locales/es-ES/models.json +15 -6
  47. package/locales/fa-IR/models.json +15 -6
  48. package/locales/fr-FR/models.json +15 -6
  49. package/locales/it-IT/models.json +15 -6
  50. package/locales/ja-JP/models.json +15 -6
  51. package/locales/ko-KR/models.json +15 -6
  52. package/locales/nl-NL/models.json +15 -6
  53. package/locales/pl-PL/models.json +15 -6
  54. package/locales/pt-BR/models.json +15 -6
  55. package/locales/ru-RU/models.json +15 -6
  56. package/locales/tr-TR/models.json +15 -6
  57. package/locales/vi-VN/models.json +15 -6
  58. package/locales/zh-CN/models.json +15 -6
  59. package/locales/zh-TW/models.json +15 -6
  60. package/next.config.ts +2 -3
  61. package/package.json +13 -19
  62. package/packages/const/src/index.ts +0 -1
  63. package/packages/const/src/models.ts +13 -0
  64. package/packages/const/src/url.ts +1 -4
  65. package/packages/context-engine/src/index.ts +1 -6
  66. package/packages/context-engine/src/processors/GroupMessageFlatten.ts +12 -2
  67. package/packages/context-engine/src/processors/__tests__/GroupMessageFlatten.test.ts +73 -9
  68. package/packages/context-engine/src/providers/index.ts +0 -2
  69. package/packages/database/migrations/0041_improve_index.sql +10 -0
  70. package/packages/database/migrations/meta/0041_snapshot.json +7784 -0
  71. package/packages/database/migrations/meta/_journal.json +7 -0
  72. package/packages/database/package.json +1 -1
  73. package/packages/database/src/core/migrations.json +17 -0
  74. package/packages/database/src/models/__tests__/message.grouping.test.ts +812 -0
  75. package/packages/database/src/models/__tests__/message.test.ts +322 -170
  76. package/packages/database/src/models/message.ts +62 -24
  77. package/packages/database/src/models/session.ts +60 -19
  78. package/packages/database/src/schemas/agent.ts +10 -11
  79. package/packages/database/src/schemas/message.ts +5 -1
  80. package/packages/database/src/schemas/relations.ts +6 -4
  81. package/packages/database/src/schemas/session.ts +2 -0
  82. package/packages/database/src/schemas/topic.ts +6 -1
  83. package/packages/database/src/utils/__tests__/groupMessages.test.ts +145 -2
  84. package/packages/database/src/utils/groupMessages.ts +7 -5
  85. package/packages/electron-client-ipc/package.json +4 -1
  86. package/packages/file-loaders/package.json +1 -0
  87. package/packages/model-bank/src/aiModels/anthropic.ts +0 -63
  88. package/packages/model-bank/src/aiModels/azure.ts +155 -0
  89. package/packages/model-bank/src/aiModels/bedrock.ts +44 -0
  90. package/packages/model-bank/src/aiModels/higress.ts +0 -55
  91. package/packages/model-bank/src/aiModels/infiniai.ts +21 -0
  92. package/packages/model-bank/src/aiModels/ollamacloud.ts +13 -0
  93. package/packages/model-bank/src/aiModels/siliconcloud.ts +19 -0
  94. package/packages/model-runtime/src/core/openaiCompatibleFactory/createImage.ts +1 -1
  95. package/packages/model-runtime/src/core/openaiCompatibleFactory/index.test.ts +33 -3
  96. package/packages/model-runtime/src/core/parameterResolver.ts +3 -0
  97. package/packages/model-runtime/src/core/streams/openai/__snapshots__/responsesStream.test.ts.snap +0 -38
  98. package/packages/model-runtime/src/providers/azureOpenai/index.ts +2 -1
  99. package/packages/model-runtime/src/providers/minimax/index.ts +5 -5
  100. package/packages/model-runtime/src/providers/search1api/index.test.ts +2 -2
  101. package/packages/types/src/message/common/base.ts +13 -0
  102. package/packages/types/src/message/common/image.ts +8 -0
  103. package/packages/types/src/message/common/metadata.ts +39 -0
  104. package/packages/types/src/message/common/tools.ts +10 -0
  105. package/packages/types/src/message/db/params.ts +47 -1
  106. package/packages/types/src/message/ui/chat.ts +4 -1
  107. package/packages/types/src/search.ts +16 -0
  108. package/packages/web-crawler/src/crawImpl/firecrawl.ts +39 -12
  109. package/scripts/migrateServerDB/index.ts +2 -1
  110. package/src/app/(backend)/oidc/consent/route.ts +0 -1
  111. package/src/app/(backend)/webapi/revalidate/route.ts +1 -1
  112. package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatInput/V1Mobile/index.tsx +2 -2
  113. package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatInput/V1Mobile/useSend.ts +6 -4
  114. package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatInput/useSend.ts +15 -10
  115. package/src/app/[variants]/(main)/chat/@session/features/SessionListContent/List/Item/index.tsx +4 -2
  116. package/src/app/[variants]/(main)/settings/_layout/SettingsContent.tsx +0 -3
  117. package/src/app/[variants]/layout.tsx +1 -0
  118. package/src/app/sitemap.tsx +7 -1
  119. package/src/components/Thinking/index.tsx +4 -3
  120. package/src/config/modelProviders/anthropic.ts +0 -23
  121. package/src/config/modelProviders/higress.ts +0 -23
  122. package/src/config/modelProviders/minimax.ts +1 -1
  123. package/src/config/modelProviders/qiniu.ts +1 -1
  124. package/src/envs/auth.ts +0 -179
  125. package/src/features/AgentSetting/AgentPlugin/index.tsx +21 -13
  126. package/src/features/ChatInput/ActionBar/STT/browser.tsx +2 -2
  127. package/src/features/ChatInput/ActionBar/STT/openai.tsx +2 -2
  128. package/src/features/ChatInput/ActionBar/Tools/useControls.tsx +1 -3
  129. package/src/features/Conversation/Error/ErrorJsonViewer.tsx +4 -3
  130. package/src/features/Conversation/Error/OllamaBizError/index.tsx +7 -2
  131. package/src/features/Conversation/Error/index.tsx +15 -5
  132. package/src/features/Conversation/MarkdownElements/LobeArtifact/Render/index.tsx +2 -2
  133. package/src/features/Conversation/Messages/Assistant/Extra/index.tsx +2 -2
  134. package/src/features/Conversation/Messages/Assistant/MessageContent.tsx +5 -3
  135. package/src/features/Conversation/Messages/Assistant/Tool/Inspector/BuiltinPluginTitle.tsx +2 -2
  136. package/src/features/Conversation/Messages/Assistant/Tool/Inspector/ToolTitle.tsx +4 -2
  137. package/src/features/Conversation/Messages/Assistant/Tool/Render/CustomRender.tsx +2 -2
  138. package/src/features/Conversation/Messages/Assistant/Tool/Render/index.tsx +2 -2
  139. package/src/features/Conversation/Messages/Assistant/Tool/index.tsx +2 -2
  140. package/src/features/Conversation/Messages/Assistant/index.tsx +4 -4
  141. package/src/features/Conversation/Messages/Default.tsx +2 -2
  142. package/src/features/Conversation/Messages/User/Extra.tsx +2 -2
  143. package/src/features/Conversation/Messages/User/index.tsx +4 -4
  144. package/src/features/Conversation/Messages/index.tsx +3 -3
  145. package/src/features/Conversation/components/AutoScroll.tsx +2 -2
  146. package/src/features/Conversation/components/Extras/Usage/UsageDetail/index.tsx +9 -6
  147. package/src/features/PluginTag/index.tsx +1 -3
  148. package/src/features/PluginsUI/Render/BuiltinType/index.test.tsx +37 -28
  149. package/src/features/Portal/Artifacts/Body/index.tsx +2 -2
  150. package/src/libs/next-auth/auth.config.ts +1 -1
  151. package/src/libs/next-auth/sso-providers/auth0.ts +0 -7
  152. package/src/libs/next-auth/sso-providers/authelia.ts +3 -5
  153. package/src/libs/next-auth/sso-providers/authentik.ts +0 -7
  154. package/src/libs/next-auth/sso-providers/cloudflare-zero-trust.ts +3 -6
  155. package/src/libs/next-auth/sso-providers/cognito.ts +1 -5
  156. package/src/libs/next-auth/sso-providers/generic-oidc.ts +3 -5
  157. package/src/libs/next-auth/sso-providers/github.ts +0 -6
  158. package/src/libs/next-auth/sso-providers/google.ts +0 -2
  159. package/src/libs/next-auth/sso-providers/index.ts +0 -2
  160. package/src/libs/next-auth/sso-providers/keycloak.ts +0 -3
  161. package/src/libs/next-auth/sso-providers/logto.ts +3 -5
  162. package/src/libs/next-auth/sso-providers/okta.ts +0 -4
  163. package/src/libs/next-auth/sso-providers/zitadel.ts +0 -7
  164. package/src/libs/oidc-provider/provider.ts +1 -1
  165. package/src/server/modules/AssistantStore/index.ts +1 -1
  166. package/src/server/modules/ModelRuntime/trace.ts +11 -4
  167. package/src/server/routers/lambda/message.ts +14 -3
  168. package/src/server/routers/lambda/session.ts +8 -5
  169. package/src/server/services/search/impls/firecrawl/index.ts +51 -11
  170. package/src/server/services/search/impls/firecrawl/type.ts +60 -9
  171. package/src/services/chat/chat.test.ts +1 -40
  172. package/src/services/chat/contextEngineering.test.ts +0 -30
  173. package/src/services/chat/contextEngineering.ts +1 -12
  174. package/src/services/chat/index.ts +2 -7
  175. package/src/services/chat/types.ts +1 -1
  176. package/src/services/message/_deprecated.ts +1 -1
  177. package/src/services/message/client.ts +8 -2
  178. package/src/services/message/server.ts +7 -2
  179. package/src/services/message/type.ts +6 -1
  180. package/src/services/user/client.test.ts +4 -1
  181. package/src/store/chat/helpers.test.ts +99 -0
  182. package/src/store/chat/helpers.ts +21 -2
  183. package/src/store/chat/selectors.ts +1 -1
  184. package/src/store/chat/slices/aiChat/actions/generateAIChat.ts +3 -3
  185. package/src/store/chat/slices/builtinTool/actions/index.ts +1 -4
  186. package/src/store/chat/slices/message/action.test.ts +5 -1
  187. package/src/store/chat/slices/message/action.ts +102 -14
  188. package/src/store/chat/slices/message/reducer.test.ts +363 -5
  189. package/src/store/chat/slices/message/reducer.ts +87 -3
  190. package/src/store/chat/slices/message/{selectors.test.ts → selectors/chat.test.ts} +266 -30
  191. package/src/store/chat/slices/message/{selectors.ts → selectors/chat.ts} +29 -79
  192. package/src/store/chat/slices/message/selectors/index.ts +2 -0
  193. package/src/store/chat/slices/message/selectors/messageState.test.ts +36 -0
  194. package/src/store/chat/slices/message/selectors/messageState.ts +80 -0
  195. package/src/store/chat/slices/plugin/action.test.ts +34 -132
  196. package/src/store/chat/slices/plugin/action.ts +1 -44
  197. package/src/store/tool/selectors/tool.test.ts +1 -1
  198. package/src/store/tool/selectors/tool.ts +6 -8
  199. package/src/store/tool/slices/builtin/action.test.ts +83 -35
  200. package/src/store/tool/slices/builtin/action.ts +0 -9
  201. package/src/store/tool/slices/builtin/selectors.test.ts +4 -30
  202. package/src/store/tool/slices/builtin/selectors.ts +15 -21
  203. package/src/tools/index.ts +0 -6
  204. package/src/tools/renders.ts +0 -3
  205. package/src/tools/web-browsing/Portal/Search/Footer.tsx +2 -2
  206. package/tsconfig.json +9 -2
  207. package/packages/const/src/guide.ts +0 -89
  208. package/packages/context-engine/src/providers/InboxGuide.ts +0 -102
  209. package/packages/context-engine/src/providers/__tests__/InboxGuideProvider.test.ts +0 -121
  210. package/src/app/[variants]/(main)/settings/llm/ProviderList/Azure/index.tsx +0 -93
  211. package/src/app/[variants]/(main)/settings/llm/ProviderList/Bedrock/index.tsx +0 -70
  212. package/src/app/[variants]/(main)/settings/llm/ProviderList/Cloudflare/index.tsx +0 -39
  213. package/src/app/[variants]/(main)/settings/llm/ProviderList/Github/index.tsx +0 -52
  214. package/src/app/[variants]/(main)/settings/llm/ProviderList/HuggingFace/index.tsx +0 -52
  215. package/src/app/[variants]/(main)/settings/llm/ProviderList/Ollama/index.tsx +0 -20
  216. package/src/app/[variants]/(main)/settings/llm/ProviderList/OpenAI/index.tsx +0 -17
  217. package/src/app/[variants]/(main)/settings/llm/ProviderList/providers.tsx +0 -132
  218. package/src/app/[variants]/(main)/settings/llm/components/Checker.tsx +0 -118
  219. package/src/app/[variants]/(main)/settings/llm/components/ProviderConfig/index.tsx +0 -303
  220. package/src/app/[variants]/(main)/settings/llm/components/ProviderModelList/CustomModelOption.tsx +0 -98
  221. package/src/app/[variants]/(main)/settings/llm/components/ProviderModelList/ModelConfigModal/Form.tsx +0 -104
  222. package/src/app/[variants]/(main)/settings/llm/components/ProviderModelList/ModelConfigModal/index.tsx +0 -77
  223. package/src/app/[variants]/(main)/settings/llm/components/ProviderModelList/ModelFetcher.tsx +0 -105
  224. package/src/app/[variants]/(main)/settings/llm/components/ProviderModelList/Option.tsx +0 -68
  225. package/src/app/[variants]/(main)/settings/llm/components/ProviderModelList/index.tsx +0 -146
  226. package/src/app/[variants]/(main)/settings/llm/const.ts +0 -20
  227. package/src/app/[variants]/(main)/settings/llm/features/Footer.tsx +0 -35
  228. package/src/app/[variants]/(main)/settings/llm/index.tsx +0 -30
  229. package/src/app/[variants]/(main)/settings/llm/type.ts +0 -5
  230. package/src/envs/__tests__/auth.test.ts +0 -200
  231. package/src/libs/next-auth/sso-providers/azure-ad.ts +0 -33
  232. package/src/services/chat/__snapshots__/chat.test.ts.snap +0 -110
  233. package/src/store/chat/slices/builtinTool/actions/__tests__/dalle.test.ts +0 -121
  234. package/src/store/chat/slices/builtinTool/actions/dalle.ts +0 -124
  235. package/src/tools/dalle/Render/GalleyGrid.tsx +0 -60
  236. package/src/tools/dalle/Render/Item/EditMode.tsx +0 -66
  237. package/src/tools/dalle/Render/Item/Error.tsx +0 -49
  238. package/src/tools/dalle/Render/Item/Image.tsx +0 -44
  239. package/src/tools/dalle/Render/Item/ImageFileItem.tsx +0 -57
  240. package/src/tools/dalle/Render/Item/index.tsx +0 -88
  241. package/src/tools/dalle/Render/ToolBar.tsx +0 -56
  242. package/src/tools/dalle/Render/index.tsx +0 -52
  243. package/src/tools/dalle/index.ts +0 -92
  244. /package/src/{middleware.ts → proxy.ts} +0 -0
@@ -45,12 +45,12 @@ tags:
45
45
 
46
46
  | Environment Variable | Type | Description |
47
47
  | ------------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
48
- | `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` |
48
+ | `AUTH_SECRET` | Required | Key used to encrypt Auth.js session tokens. You can generate a key using the following command: `openssl rand -base64 32` |
49
49
  | `NEXT_AUTH_SSO_PROVIDERS` | Required | Select the single sign-on provider for LoboChat. Use `okta` for Okta. |
50
50
  | `AUTH_OKTA_ID` | Required | Client ID of the Okta application |
51
51
  | `AUTH_OKTA_SECRET` | Required | Client Secret of the Okta application |
52
52
  | `AUTH_OKTA_ISSUER` | Required | Domain of the Okta application, `https://example.oktapreview.com` |
53
- | `NEXTAUTH_URL` | Optional | 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` |
53
+ | `AUTH_URL` | Optional | 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` |
54
54
 
55
55
  <Callout type={'tip'}>
56
56
  You can refer to the related variable details at [📘Environment Variables](/docs/self-hosting/environment-variable/auth#okta).
@@ -44,12 +44,12 @@ tags:
44
44
 
45
45
  | 环境变量 | 类型 | 描述 |
46
46
  | ------------------------- | -- | ------------------------------------------------------------------------------------ |
47
- | `NEXT_AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成密钥:`openssl rand -base64 32` |
47
+ | `AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成密钥:`openssl rand -base64 32` |
48
48
  | `NEXT_AUTH_SSO_PROVIDERS` | 必选 | 选择 LoboChat 的单点登录提供商。使用 Okta 请填写 `okta`。 |
49
49
  | `AUTH_OKTA_ID` | 必选 | Okta 应用程序的客户端 ID |
50
50
  | `AUTH_OKTA_SECRET` | 必选 | Okta 应用程序的客户端密钥 |
51
51
  | `AUTH_OKTA_ISSUER` | 必选 | Okta 应用程序的域名,`https://example.oktapreview.com` |
52
- | `NEXTAUTH_URL` | 可选 | 该 URL 用于指定 Auth.js 在执行 OAuth 认证时的回调地址。仅当默认地址不正确时才需要设置。`https://example.com/api/auth` |
52
+ | `AUTH_URL` | 可选 | 该 URL 用于指定 Auth.js 在执行 OAuth 认证时的回调地址。仅当默认地址不正确时才需要设置。`https://example.com/api/auth` |
53
53
 
54
54
  <Callout type={'tip'}>
55
55
  您可以在 [📘环境变量](/zh/docs/self-hosting/environment-variables/auth#okta) 查阅相关变量详情。
@@ -30,11 +30,11 @@ tags:
30
30
 
31
31
  | Environment Variable | Type | Description |
32
32
  | ------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
33
- | `NEXT_AUTH_SECRET` | Required | Key used to encrypt Auth.js session tokens. You can generate the key using the command: `openssl rand -base64 32` |
33
+ | `AUTH_SECRET` | Required | Key used to encrypt Auth.js session tokens. You can generate the key using the command: `openssl rand -base64 32` |
34
34
  | `NEXT_AUTH_SSO_PROVIDERS` | Required | Select the Single Sign-On provider for LobeChat. Use `github` for Github. |
35
35
  | `WECHAT_CLIENT_ID` | Required | Client ID from the Wechat website application details page |
36
36
  | `WECHAT_CLIENT_SECRET` | Required | Client Secret from the Wechat website application details page |
37
- | `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` |
37
+ | `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` |
38
38
 
39
39
  <Callout type={'tip'}>
40
40
  Go to [📘 Environment Variables](/en/docs/self-hosting/environment-variables/auth#wechat) for more details about related variables.
@@ -28,11 +28,11 @@ tags:
28
28
 
29
29
  | 环境变量 | 类型 | 描述 |
30
30
  | ------------------------- | -- | ------------------------------------------------------------------------------------------- |
31
- | `NEXT_AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成秘钥: `openssl rand -base64 32` |
31
+ | `AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成秘钥: `openssl rand -base64 32` |
32
32
  | `NEXT_AUTH_SSO_PROVIDERS` | 必选 | 选择 LoboChat 的单点登录提供商。使用 Github 请填写 `github`。 |
33
33
  | `WECHAT_CLIENT_ID` | 必选 | 微信网站应用详情页的 客户端 ID |
34
34
  | `WECHAT_CLIENT_SECRET` | 必选 | 微信网站应用详情页的 客户端 Secret |
35
- | `NEXTAUTH_URL` | 必选 | 该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址,当默认生成的重定向地址发生不正确时才需要设置。`https://example.com/api/auth` |
35
+ | `AUTH_URL` | 必选 | 该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址,当默认生成的重定向地址发生不正确时才需要设置。`https://example.com/api/auth` |
36
36
 
37
37
  <Callout type={'tip'}>
38
38
  前往 [📘 环境变量](/zh/docs/self-hosting/environment-variables/auth#wechat) 可查阅相关变量详情。
@@ -65,12 +65,12 @@ tags:
65
65
 
66
66
  | Environment Variable | Type | Description |
67
67
  | ------------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
68
- | `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` |
68
+ | `AUTH_SECRET` | Required | Key used to encrypt Auth.js session tokens. You can generate a key using the following command: `openssl rand -base64 32` |
69
69
  | `NEXT_AUTH_SSO_PROVIDERS` | Required | Select the single sign-on provider for LoboChat. Use `zitadel` for ZITADEL. |
70
70
  | `AUTH_ZITADEL_ID` | Required | Client ID (`ClientId` as shown in ZITADEL) of the ZITADEL application |
71
71
  | `AUTH_ZITADEL_SECRET` | Required | Client Secret (`ClientSecret` as shown in ZITADEL) of the ZITADEL application |
72
72
  | `AUTH_ZITADEL_ISSUER` | Required | Issuer URL of the ZITADEL application |
73
- | `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` |
73
+ | `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` |
74
74
 
75
75
  <Callout type={'tip'}>
76
76
  You can refer to the related variable details at [📘Environment Variables](/docs/self-hosting/environment-variables/auth#zitadel).
@@ -62,12 +62,12 @@ tags:
62
62
 
63
63
  | 环境变量 | 类型 | 描述 |
64
64
  | ------------------------- | -- | ----------------------------------------------------------------------------------- |
65
- | `NEXT_AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成密钥:`openssl rand -base64 32` |
65
+ | `AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成密钥:`openssl rand -base64 32` |
66
66
  | `NEXT_AUTH_SSO_PROVIDERS` | 必选 | 为 LobeChat 选择单点登录提供程序。对于 ZITADEL,请填写 `zitadel`。 |
67
67
  | `AUTH_ZITADEL_ID` | 必选 | ZITADEL 应用的 Client ID(`ClientId`)。 |
68
68
  | `AUTH_ZITADEL_SECRET` | 必选 | ZITADEL 应用的 Client Secret(`ClientSecret`)。 |
69
69
  | `AUTH_ZITADEL_ISSUER` | 必选 | ZITADEL 应用的 OpenID Connect 颁发者(issuer)URL。 |
70
- | `NEXTAUTH_URL` | 必选 | 该 URL 用于指定 Auth.js 中执行 OAuth 认证的回调地址。仅当默认地址不正确时才需要设置。`https://example.com/api/auth` |
70
+ | `AUTH_URL` | 必选 | 该 URL 用于指定 Auth.js 中执行 OAuth 认证的回调地址。仅当默认地址不正确时才需要设置。`https://example.com/api/auth` |
71
71
 
72
72
  <Callout type={'tip'}>
73
73
  您可以在 [📘 环境变量](/zh/docs/self-hosting/environment-variables/auth#zitadel) 中查看相关变量的详细信息。
@@ -26,12 +26,13 @@ By setting the environment variables `NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY` and `CL
26
26
 
27
27
  Before using NextAuth, please set the following variables in LobeChat's environment variables:
28
28
 
29
- | Environment Variable | Type | Description |
30
- | ------------------------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
31
- | `NEXT_PUBLIC_ENABLE_NEXT_AUTH` | Required | This is used to enable the NextAuth service. Set it to `1` to enable it; changing this setting requires recompiling the application. Users deploying with the `lobehub/lobe-chat-database` image have this configuration added by default. |
32
- | `NEXT_AUTH_SECRET` | Required | The key used to encrypt Auth.js session tokens. You can use the following command: `openssl rand -base64 32`, or visit `https://generate-secret.vercel.app/32` to generate the key. |
33
- | `NEXTAUTH_URL` | Required | This URL specifies the callback address for Auth.js when performing OAuth verification. Set this only if the default generated redirect address is incorrect. `https://example.com/api/auth` |
34
- | `NEXT_AUTH_SSO_PROVIDERS` | Optional | This environment variable is used to enable multiple identity verification sources simultaneously, separated by commas, for example, `auth0,microsoft-entra-id,authentik`. |
29
+ | Environment Variable | Type | Description |
30
+ | -------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
31
+ | `NEXT_PUBLIC_ENABLE_NEXT_AUTH` | Required | This is used to enable the NextAuth service. Set it to `1` to enable it; changing this setting requires recompiling the application. Users deploying with the `lobehub/lobe-chat-database` image have this configuration added by default. |
32
+ | `AUTH_SECRET` | Required | The key used to encrypt Auth.js session tokens. You can use the following command: `openssl rand -base64 32`, or visit `https://generate-secret.vercel.app/32` to generate the key. |
33
+ | `AUTH_URL` | Required | This URL specifies the callback address for Auth.js when performing OAuth verification. Set this only if the default generated redirect address is incorrect. `https://example.com/api/auth` |
34
+ | `NEXT_AUTH_SSO_PROVIDERS` | Optional | This environment variable is used to enable multiple identity verification sources simultaneously, separated by commas, for example, `auth0,microsoft-entra-id,authentik`. |
35
+ | `NEXT_AUTH_SSO_SESSION_STRATEGY` | Optional | The session strategy for Auth.js. Options are `jwt` or `database`. Default is `jwt`. |
35
36
 
36
37
  Currently supported identity verification services include:
37
38
 
@@ -67,21 +68,31 @@ To simultaneously enable multiple identity verification sources, please set the
67
68
 
68
69
  The order corresponds to the display order of the SSO providers.
69
70
 
70
- | SSO Provider | Value |
71
- | --------------------- | ----------------------- |
72
- | Auth0 | `auth0` |
73
- | Authenlia | `authenlia` |
74
- | Authentik | `authentik` |
75
- | Casdoor | `casdoor` |
76
- | Cloudflare Zero Trust | `cloudflare-zero-trust` |
77
- | Github | `github` |
78
- | Logto | `logto` |
79
- | Microsoft Entra ID | `microsoft-entra-id` |
80
- | ZITADEL | `zitadel` |
81
- | Keycloak | `keycloak` |
82
- | Google | `google` |
83
- | Okta | `okta` |
71
+ | SSO Provider | Value | Additional Features |
72
+ | --------------------- | ----------------------- | ------------------- |
73
+ | Auth0 | `auth0` | |
74
+ | Authenlia | `authenlia` | |
75
+ | Authentik | `authentik` | |
76
+ | Casdoor | `casdoor` | `Webhook` |
77
+ | Cloudflare Zero Trust | `cloudflare-zero-trust` | |
78
+ | Github | `github` | |
79
+ | Logto | `logto` | `Webhook` |
80
+ | Microsoft Entra ID | `microsoft-entra-id` | |
81
+ | ZITADEL | `zitadel` | |
82
+ | Keycloak | `keycloak` | |
83
+ | Google | `google` | |
84
+ | Okta | `okta` | |
85
+
86
+ ## Additional Features
87
+
88
+ ### Webhook Support
89
+
90
+ Allow LobeChat to receive notifications when user information is updated in the identity provider. Supported providers include Casdoor and Logto. Please refer to the specific provider documentation for configuration details.
91
+
92
+ ### Database Session
93
+
94
+ Allow the session store in database, see also the [Auth.js Session Documentation](https://authjs.dev/concepts/session-strategies#database-session).
84
95
 
85
96
  ## Other SSO Providers
86
97
 
87
- Please refer to the [NextAuth.js](https://next-auth.js.org/providers) documentation and feel free to submit a Pull Request.
98
+ Please refer to the [Auth.js](https://authjs.dev/getting-started/authentication/oauth) documentation and feel free to submit a Pull Request.
@@ -24,12 +24,13 @@ LobeChat 与 Clerk 做了深度集成,能够为用户提供一个更加安全
24
24
 
25
25
  在使用 NextAuth 之前,请先在 LobeChat 的环境变量中设置以下变量:
26
26
 
27
- | 环境变量 | 类型 | 描述 |
28
- | ------------------------------ | -- | ------------------------------------------------------------------------------------------------------------ |
29
- | `NEXT_PUBLIC_ENABLE_NEXT_AUTH` | 必选 | 用于启用 NextAuth 服务,设置为 `1` 以启用,更改此项需要重新编译应用。使用 `lobehub/lobe-chat-database` 镜像部署的用户已经默认添加了该项配置。 |
30
- | `NEXT_AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令: `openssl rand -base64 32`,或者访问 `https://generate-secret.vercel.app/32` 生成秘钥。 |
31
- | `NEXTAUTH_URL` | 必选 | 该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址,当默认生成的重定向地址发生不正确时才需要设置。`https://example.com/api/auth` |
32
- | `NEXT_AUTH_SSO_PROVIDERS` | 可选 | 该环境变量用于同时启用多个身份验证源,以逗号 `,` 分割,例如 `auth0,microsoft-entra-id,authentik`。 |
27
+ | 环境变量 | 类型 | 描述 |
28
+ | -------------------------------- | -- | ------------------------------------------------------------------------------------------------------------ |
29
+ | `NEXT_PUBLIC_ENABLE_NEXT_AUTH` | 必选 | 用于启用 NextAuth 服务,设置为 `1` 以启用,更改此项需要重新编译应用。使用 `lobehub/lobe-chat-database` 镜像部署的用户已经默认添加了该项配置。 |
30
+ | `NEXT_AUTH_SECRET` | 必选 | 用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令: `openssl rand -base64 32`,或者访问 `https://generate-secret.vercel.app/32` 生成秘钥。 |
31
+ | `AUTH_URL` | 必选 | 该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址,当默认生成的重定向地址发生不正确时才需要设置。`https://example.com/api/auth` |
32
+ | `NEXT_AUTH_SSO_PROVIDERS` | 可选 | 该环境变量用于同时启用多个身份验证源,以逗号 `,` 分割,例如 `auth0,microsoft-entra-id,authentik`。 |
33
+ | `NEXT_AUTH_SSO_SESSION_STRATEGY` | 可选 | Auth.js 的会话策略。选项为 `jwt` 或 `database`。默认值为 `jwt`。 |
33
34
 
34
35
  目前支持的身份验证服务有:
35
36
 
@@ -63,19 +64,29 @@ LobeChat 与 Clerk 做了深度集成,能够为用户提供一个更加安全
63
64
 
64
65
  顺序为 SSO 提供商的显示顺序。
65
66
 
66
- | SSO 提供商 | 值 |
67
- | --------------------- | ----------------------- |
68
- | Auth0 | `auth0` |
69
- | Authenlia | `authenlia` |
70
- | Authentik | `authentik` |
71
- | Casdoor | `casdoor` |
72
- | Cloudflare Zero Trust | `cloudflare-zero-trust` |
73
- | Github | `github` |
74
- | Logto | `logto` |
75
- | Microsoft Entra ID | `microsoft-entra-id` |
76
- | ZITADEL | `zitadel` |
77
- | Keycloak | `keycloak` |
78
- | Okta | `okta` |
67
+ | SSO 提供商 | 值 | 额外功能 |
68
+ | --------------------- | ----------------------- | --------- |
69
+ | Auth0 | `auth0` | |
70
+ | Authenlia | `authenlia` | |
71
+ | Authentik | `authentik` | |
72
+ | Casdoor | `casdoor` | `Webhook` |
73
+ | Cloudflare Zero Trust | `cloudflare-zero-trust` | |
74
+ | Github | `github` | |
75
+ | Logto | `logto` | `Webhook` |
76
+ | Microsoft Entra ID | `microsoft-entra-id` | |
77
+ | ZITADEL | `zitadel` | |
78
+ | Keycloak | `keycloak` | |
79
+ | Okta | `okta` | |
80
+
81
+ ## 额外功能
82
+
83
+ ### Webhook 支持
84
+
85
+ 允许 LobeChat 在身份提供商中用户信息更新时接收通知。支持的提供商包括 Casdoor 和 Logto。请参考具体提供商文档进行配置。
86
+
87
+ ### 数据库会话
88
+
89
+ 允许会话存储在数据库中,详情请参阅 [Auth.js 会话文档](https://authjs.dev/concepts/session-strategies#database-session)。
79
90
 
80
91
  ## 其他 SSO 提供商
81
92
 
@@ -2,9 +2,11 @@
2
2
  title: >-
3
3
  Configuring Online Search Functionality - Enhancing AI's Ability to Access Web Information
4
4
 
5
+
5
6
  description: >-
6
7
  Learn how to configure the SearXNG online search functionality for LobeChat, enabling AI to access the latest web information.
7
8
 
9
+
8
10
  tags:
9
11
  - Online Search
10
12
  - SearXNG
@@ -17,7 +19,10 @@ tags:
17
19
  LobeChat supports configuring **web search functionality** for AI, enabling it to retrieve real-time information from the internet to provide more accurate and up-to-date responses. Web search supports multiple search engine providers, including [SearXNG](https://github.com/searxng/searxng), [Search1API](https://www.search1api.com), [Google](https://programmablesearchengine.google.com), and [Brave](https://brave.com/search/api), among others.
18
20
 
19
21
  <Callout type="info">
20
- Web search allows AI to access time-sensitive content, such as the latest news, technology trends, or product information. You can deploy the open-source SearXNG yourself, or choose to integrate mainstream search services like Search1API, Google, Brave, etc., combining them freely based on your use case.
22
+ Web search allows AI to access time-sensitive content, such as the latest news, technology trends,
23
+ or product information. You can deploy the open-source SearXNG yourself, or choose to integrate
24
+ mainstream search services like Search1API, Google, Brave, etc., combining them freely based on
25
+ your use case.
21
26
  </Callout>
22
27
 
23
28
  By setting the search service environment variable `SEARCH_PROVIDERS` and the corresponding API Keys, LobeChat will query multiple sources and return the results. You can also configure crawler service environment variables such as `CRAWLER_IMPLS` (e.g., `browserless`, `firecrawl`, `tavily`, etc.) to extract webpage content, enhancing the capability of search + reading.
@@ -29,20 +34,20 @@ By setting the search service environment variable `SEARCH_PROVIDERS` and the co
29
34
  Configure available web crawlers for structured extraction of webpage content.
30
35
 
31
36
  ```env
32
- CRAWLER_IMPLS="native,search1api"
37
+ CRAWLER_IMPLS="naive,search1api"
33
38
  ```
34
39
 
35
40
  Supported crawler types are listed below:
36
41
 
37
- | Value | Description | Environment Variable |
38
- | ------------- | ------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
39
- | `browserless` | Headless browser crawler based on [Browserless](https://www.browserless.io/), suitable for rendering complex pages. | `BROWSERLESS_TOKEN` |
40
- | `exa` | Crawler capabilities provided by [Exa](https://exa.ai/), API required. | `EXA_API_KEY` |
41
- | `firecrawl` | [Firecrawl](https://firecrawl.dev/) headless browser API, ideal for modern websites. | `FIRECRAWL_API_KEY` |
42
- | `jina` | Crawler service from [Jina AI](https://jina.ai/), supports fast content summarization. | `JINA_READER_API_KEY` |
43
- | `native` | Built-in general-purpose crawler for standard web structures. | |
44
- | `search1api` | Page crawling capabilities from [Search1API](https://www.search1api.com), great for structured content extraction. | `SEARCH1API_API_KEY` `SEARCH1API_CRAWL_API_KEY` `SEARCH1API_SEARCH_API_KEY` |
45
- | `tavily` | Web scraping and summarization API from [Tavily](https://www.tavily.com/). | `TAVILY_API_KEY` |
42
+ | Value | Description | Environment Variable |
43
+ | ------------- | ------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
44
+ | `browserless` | Headless browser crawler based on [Browserless](https://www.browserless.io/), suitable for rendering complex pages. | `BROWSERLESS_TOKEN` |
45
+ | `exa` | Crawler capabilities provided by [Exa](https://exa.ai/), API required. | `EXA_API_KEY` |
46
+ | `firecrawl` | [Firecrawl](https://firecrawl.dev/) headless browser API, ideal for modern websites. | `FIRECRAWL_API_KEY` |
47
+ | `jina` | Crawler service from [Jina AI](https://jina.ai/), supports fast content summarization. | `JINA_READER_API_KEY` |
48
+ | `naive` | Built-in general-purpose crawler for standard web structures. | |
49
+ | `search1api` | Page crawling capabilities from [Search1API](https://www.search1api.com), great for structured content extraction. | `SEARCH1API_API_KEY` `SEARCH1API_CRAWL_API_KEY` `SEARCH1API_SEARCH_API_KEY` |
50
+ | `tavily` | Web scraping and summarization API from [Tavily](https://www.tavily.com/). | `TAVILY_API_KEY` |
46
51
 
47
52
  > 💡 Setting multiple crawlers increases success rate; the system will try different ones based on priority.
48
53
 
@@ -58,19 +63,19 @@ SEARCH_PROVIDERS="searxng"
58
63
 
59
64
  Supported search engines include:
60
65
 
61
- | Value | Description | Environment Variable |
62
- | ------------ | --------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
63
- | `anspire` | Search service provided by [Anspire](https://anspire.ai/). | `ANSPIRE_API_KEY` |
64
- | `bocha` | Search service from [Bocha](https://open.bochaai.com/). | `BOCHA_API_KEY` |
65
- | `brave` | [Brave](https://search.brave.com/help/api), a privacy-friendly search source. | `BRAVE_API_KEY` |
66
- | `exa` | [Exa](https://exa.ai/), a search API designed for AI. | `EXA_API_KEY` |
67
- | `firecrawl` | Search capabilities via [Firecrawl](https://firecrawl.dev/). | `FIRECRAWL_API_KEY` |
68
- | `google` | Uses [Google Programmable Search Engine](https://programmablesearchengine.google.com/). | `GOOGLE_PSE_API_KEY` `GOOGLE_PSE_ENGINE_ID` |
69
- | `jina` | Semantic search provided by [Jina AI](https://jina.ai/). | `JINA_READER_API_KEY` |
70
- | `kagi` | Premium search API by [Kagi](https://kagi.com/), requires a subscription key. | `KAGI_API_KEY` |
71
- | `search1api` | Aggregated search capabilities from [Search1API](https://www.search1api.com). | `SEARCH1API_API_KEY` `SEARCH1API_CRAWL_API_KEY` `SEARCH1API_SEARCH_API_KEY` |
72
- | `searxng` | Use a self-hosted or public [SearXNG](https://searx.space/) instance. | `SEARXNG_URL` |
73
- | `tavily` | [Tavily](https://www.tavily.com/), offers fast web summaries and answers. | `TAVILY_API_KEY` |
66
+ | Value | Description | Environment Variable |
67
+ | ------------ | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
68
+ | `anspire` | Search service provided by [Anspire](https://anspire.ai/). | `ANSPIRE_API_KEY` |
69
+ | `bocha` | Search service from [Bocha](https://open.bochaai.com/). | `BOCHA_API_KEY` |
70
+ | `brave` | [Brave](https://search.brave.com/help/api), a privacy-friendly search source. | `BRAVE_API_KEY` |
71
+ | `exa` | [Exa](https://exa.ai/), a search API designed for AI. | `EXA_API_KEY` |
72
+ | `firecrawl` | Search capabilities via [Firecrawl](https://firecrawl.dev/). | `FIRECRAWL_API_KEY` |
73
+ | `google` | Uses [Google Programmable Search Engine](https://programmablesearchengine.google.com/). | `GOOGLE_PSE_API_KEY` `GOOGLE_PSE_ENGINE_ID` |
74
+ | `jina` | Semantic search provided by [Jina AI](https://jina.ai/). | `JINA_READER_API_KEY` |
75
+ | `kagi` | Premium search API by [Kagi](https://kagi.com/), requires a subscription key. | `KAGI_API_KEY` |
76
+ | `search1api` | Aggregated search capabilities from [Search1API](https://www.search1api.com). | `SEARCH1API_API_KEY` `SEARCH1API_CRAWL_API_KEY` `SEARCH1API_SEARCH_API_KEY` |
77
+ | `searxng` | Use a self-hosted or public [SearXNG](https://searx.space/) instance. | `SEARXNG_URL` |
78
+ | `tavily` | [Tavily](https://www.tavily.com/), offers fast web summaries and answers. | `TAVILY_API_KEY` |
74
79
 
75
80
  > ⚠️ Some search providers require you to apply for an API Key and configure it in your `.env` file.
76
81
 
@@ -139,7 +144,7 @@ GOOGLE_PSE_ENGINE_ID=your-google-cx-id
139
144
  Sets the access URL for the [Firecrawl](https://firecrawl.dev/) API, used for web content scraping. Default value:
140
145
 
141
146
  ```env
142
- FIRECRAWL_URL=https://api.firecrawl.dev/v1
147
+ FIRECRAWL_URL=https://api.firecrawl.dev/v2
143
148
  ```
144
149
 
145
150
  > ⚙️ Usually does not need to be changed unless you’re using a self-hosted version or a proxy service.
@@ -13,7 +13,9 @@ tags:
13
13
  LobeChat 支持为 AI 配置**联网搜索功能**,使其能够实时获取互联网信息,从而提供更准确、最新的回答。联网搜索支持多个搜索引擎提供商,包括 [SearXNG](https://github.com/searxng/searxng)、[Search1API](https://www.search1api.com)、[Google](https://programmablesearchengine.google.com)、[Brave](https://brave.com/search/api) 等。
14
14
 
15
15
  <Callout type="info">
16
- 联网搜索可以让 AI 获取时效性内容,如最新新闻、技术动态或产品信息。你可以使用开源的 SearXNG 自行部署,也可以选择集成主流搜索引擎服务,如 Search1API、Google、Brave 等,根据你的使用场景自由组合。
16
+ 联网搜索可以让 AI 获取时效性内容,如最新新闻、技术动态或产品信息。你可以使用开源的 SearXNG
17
+ 自行部署,也可以选择集成主流搜索引擎服务,如 Search1API、Google、Brave
18
+ 等,根据你的使用场景自由组合。
17
19
  </Callout>
18
20
 
19
21
  通过设置搜索服务环境变量 `SEARCH_PROVIDERS` 和对应的 API Key,LobeChat 将在多个搜索源中查询并返回结果。你还可以搭配配置爬虫服务环境变量 `CRAWLER_IMPLS`(如 `browserless`、`firecrawl`、`tavily` 等)以提取网页内容,实现搜索 + 阅读的增强能力。
@@ -25,20 +27,20 @@ LobeChat 支持为 AI 配置**联网搜索功能**,使其能够实时获取互
25
27
  配置可用的网页爬虫,用于对网页进行结构化内容提取。
26
28
 
27
29
  ```env
28
- CRAWLER_IMPLS="native,search1api"
30
+ CRAWLER_IMPLS="naive,search1api"
29
31
  ```
30
32
 
31
33
  支持的爬虫类型如下:
32
34
 
33
- | 值 | 说明 | 环境变量 |
34
- | ------------- | ---------------------------------------------------------------- | -------------------------- |
35
- | `browserless` | 基于 [Browserless](https://www.browserless.io/) 的无头浏览器爬虫,适合渲染复杂页面。 | `BROWSERLESS_TOKEN` |
36
- | `exa` | 使用 [Exa](https://exa.ai/) 提供的爬虫能力,需申请 API。 | `EXA_API_KEY` |
37
- | `firecrawl` | [Firecrawl](https://firecrawl.dev/) 无头浏览器 API,适合现代网站抓取。 | `FIRECRAWL_API_KEY` |
38
- | `jina` | 使用 [Jina AI](https://jina.ai/) 的爬虫服务,支持快速提取摘要信息。 | `JINA_READER_API_KEY` |
39
- | `native` | 内置通用爬虫,适用于标准网页结构。 | |
35
+ | 值 | 说明 | 环境变量 |
36
+ | ------------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------- |
37
+ | `browserless` | 基于 [Browserless](https://www.browserless.io/) 的无头浏览器爬虫,适合渲染复杂页面。 | `BROWSERLESS_TOKEN` |
38
+ | `exa` | 使用 [Exa](https://exa.ai/) 提供的爬虫能力,需申请 API。 | `EXA_API_KEY` |
39
+ | `firecrawl` | [Firecrawl](https://firecrawl.dev/) 无头浏览器 API,适合现代网站抓取。 | `FIRECRAWL_API_KEY` |
40
+ | `jina` | 使用 [Jina AI](https://jina.ai/) 的爬虫服务,支持快速提取摘要信息。 | `JINA_READER_API_KEY` |
41
+ | `naive` | 内置简易通用爬虫,适用于标准网页结构。 | |
40
42
  | `search1api` | 利用 [Search1API](https://www.search1api.com) 提供的页面抓取能力,适合结构化内容提取。 | `SEARCH1API_API_KEY` `SEARCH1API_CRAWL_API_KEY` `SEARCH1API_SEARCH_API_KEY` |
41
- | `tavily` | 使用 [Tavily](https://www.tavily.com/) 的网页抓取与摘要 API。 | `TAVILY_API_KEY` |
43
+ | `tavily` | 使用 [Tavily](https://www.tavily.com/) 的网页抓取与摘要 API。 | `TAVILY_API_KEY` |
42
44
 
43
45
  > 💡 设置多个爬虫可提升成功率,系统将根据优先级尝试不同爬虫。
44
46
 
@@ -54,19 +56,19 @@ SEARCH_PROVIDERS="searxng"
54
56
 
55
57
  支持的搜索引擎如下:
56
58
 
57
- | 值 | 说明 | 环境变量 |
58
- | ------------ | ------------------------------------------------------------------------------------- | ------------------------------------------- |
59
- | `anspire` | 基于 [Anspire(安思派)](https://anspire.ai/) 提供的搜索服务。 | `ANSPIRE_API_KEY` |
60
- | `bocha` | 基于 [Bocha(博查)](https://open.bochaai.com/) 提供的搜索服务。 | `BOCHA_API_KEY` |
61
- | `brave` | [Brave](https://search.brave.com/help/api),隐私友好的搜索源。 | `BRAVE_API_KEY` |
62
- | `exa` | [Exa](https://exa.ai/),面向 AI 的搜索 API。 | `EXA_API_KEY` |
63
- | `firecrawl` | 支持 [Firecrawl](https://firecrawl.dev/) 提供的搜索服务。 | `FIRECRAWL_API_KEY` |
64
- | `google` | 使用 [Google Programmable Search Engine](https://programmablesearchengine.google.com/)。 | `GOOGLE_PSE_API_KEY` `GOOGLE_PSE_ENGINE_ID` |
65
- | `jina` | 使用 [Jina AI](https://jina.ai/) 提供的语义搜索服务。 | `JINA_READER_API_KEY` |
66
- | `kagi` | [Kagi](https://kagi.com/) 提供的高级搜索 API,需订阅 Key。 | `KAGI_API_KEY` |
59
+ | 值 | 说明 | 环境变量 |
60
+ | ------------ | ------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
61
+ | `anspire` | 基于 [Anspire(安思派)](https://anspire.ai/) 提供的搜索服务。 | `ANSPIRE_API_KEY` |
62
+ | `bocha` | 基于 [Bocha(博查)](https://open.bochaai.com/) 提供的搜索服务。 | `BOCHA_API_KEY` |
63
+ | `brave` | [Brave](https://search.brave.com/help/api),隐私友好的搜索源。 | `BRAVE_API_KEY` |
64
+ | `exa` | [Exa](https://exa.ai/),面向 AI 的搜索 API。 | `EXA_API_KEY` |
65
+ | `firecrawl` | 支持 [Firecrawl](https://firecrawl.dev/) 提供的搜索服务。 | `FIRECRAWL_API_KEY` |
66
+ | `google` | 使用 [Google Programmable Search Engine](https://programmablesearchengine.google.com/)。 | `GOOGLE_PSE_API_KEY` `GOOGLE_PSE_ENGINE_ID` |
67
+ | `jina` | 使用 [Jina AI](https://jina.ai/) 提供的语义搜索服务。 | `JINA_READER_API_KEY` |
68
+ | `kagi` | [Kagi](https://kagi.com/) 提供的高级搜索 API,需订阅 Key。 | `KAGI_API_KEY` |
67
69
  | `search1api` | 使用 [Search1API](https://www.search1api.com) 聚合搜索能力。 | `SEARCH1API_API_KEY` `SEARCH1API_CRAWL_API_KEY` `SEARCH1API_SEARCH_API_KEY` |
68
- | `searxng` | 使用自托管或公共 [SearXNG](https://searx.space/) 实例。 | `SEARXNG_URL` |
69
- | `tavily` | [Tavily](https://www.tavily.com/),快速网页摘要与答案返回。 | `TAVILY_API_KEY` |
70
+ | `searxng` | 使用自托管或公共 [SearXNG](https://searx.space/) 实例。 | `SEARXNG_URL` |
71
+ | `tavily` | [Tavily](https://www.tavily.com/),快速网页摘要与答案返回。 | `TAVILY_API_KEY` |
70
72
 
71
73
  > ⚠️ 某些搜索提供商需要单独申请 API Key,并在 `.env` 中配置相关凭证。
72
74
 
@@ -135,7 +137,7 @@ GOOGLE_PSE_ENGINE_ID=your-google-cx-id
135
137
  设置 [Firecrawl](https://firecrawl.dev/) API 的访问地址。用于网页内容抓取,默认值如下:
136
138
 
137
139
  ```env
138
- FIRECRAWL_URL=https://api.firecrawl.dev/v1
140
+ FIRECRAWL_URL=https://api.firecrawl.dev/v2
139
141
  ```
140
142
 
141
143
  > ⚙️ 一般无需修改,除非你使用的是自托管版本或代理服务。
@@ -191,6 +191,9 @@
191
191
  "Kwai-Kolors/Kolors": {
192
192
  "description": "Kolors هو نموذج توليد صور نصية واسع النطاق يعتمد على الانتشار الكامن طوره فريق Kolors في Kuaishou. تم تدريبه على مليارات أزواج نص-صورة، ويظهر تفوقًا ملحوظًا في جودة الصور، دقة الفهم الدلالي المعقد، وعرض الأحرف الصينية والإنجليزية. يدعم الإدخال باللغتين الصينية والإنجليزية، ويبرع في فهم وتوليد المحتوى الخاص باللغة الصينية."
193
193
  },
194
+ "Kwaipilot/KAT-Dev": {
195
+ "description": "KAT-Dev (32B) هو نموذج مفتوح المصدر يحتوي على 32 مليار معلمة، صُمم خصيصًا لمهام هندسة البرمجيات. حقق معدل حل بنسبة 62.4٪ في اختبار SWE-Bench Verified، مما يجعله يحتل المرتبة الخامسة بين جميع النماذج مفتوحة المصدر بمختلف أحجامها. تم تحسين هذا النموذج عبر مراحل متعددة، بما في ذلك التدريب الوسيط، والتعديل الخاضع للإشراف (SFT)، والتعلم المعزز (RL)، بهدف تقديم دعم قوي لمهام البرمجة المعقدة مثل إكمال الشيفرة، وإصلاح الأخطاء، ومراجعة الشيفرة."
196
+ },
194
197
  "Llama-3.2-11B-Vision-Instruct": {
195
198
  "description": "قدرات استدلال الصور الممتازة على الصور عالية الدقة، مناسبة لتطبيقات الفهم البصري."
196
199
  },
@@ -788,12 +791,6 @@
788
791
  "claude-3-5-haiku-latest": {
789
792
  "description": "كلود 3.5 هايكو يوفر استجابة سريعة، مناسب للمهام الخفيفة."
790
793
  },
791
- "claude-3-5-sonnet-20240620": {
792
- "description": "Claude 3.5 Sonnet يوفر قدرات تتجاوز Opus وسرعة أكبر من Sonnet، مع الحفاظ على نفس السعر. Sonnet بارع بشكل خاص في البرمجة، وعلوم البيانات، ومعالجة الصور، ومهام الوكالة."
793
- },
794
- "claude-3-5-sonnet-20241022": {
795
- "description": "يقدم كلاف 3.5 سونيت قدرات تتجاوز أوبوس وسرعة أكبر من سونيت، مع الحفاظ على نفس الأسعار. سونيت متخصصة بشكل خاص في البرمجة، علوم البيانات، معالجة الصور، والمهام الوكيلة."
796
- },
797
794
  "claude-3-7-sonnet-20250219": {
798
795
  "description": "Claude 3.7 Sonnet هو أحدث نموذج من Anthropic، يتميز بأداء ممتاز في تقييمات واسعة، ويتفوق على نماذج المنافسين ونموذج Claude 3.5 Sonnet، مع الحفاظ على سرعة وتكلفة نماذجنا المتوسطة."
799
796
  },
@@ -1811,6 +1808,9 @@
1811
1808
  "gpt-5": {
1812
1809
  "description": "أفضل نموذج للترميز والمهام الوكيلة عبر المجالات. يحقق GPT-5 قفزة في الدقة والسرعة والاستدلال والتعرف على السياق والتفكير المنظم وحل المشكلات."
1813
1810
  },
1811
+ "gpt-5-chat": {
1812
+ "description": "GPT-5 Chat هو إصدار معاينة مُحسَّن خصيصًا لسيناريوهات المحادثة. يدعم إدخال النصوص والصور، ويُنتج نصوصًا فقط، مما يجعله مثاليًا لتطبيقات الدردشة والذكاء الاصطناعي التفاعلي."
1813
+ },
1814
1814
  "gpt-5-chat-latest": {
1815
1815
  "description": "نموذج GPT-5 المستخدم في ChatGPT. يجمع بين قدرات قوية في فهم اللغة وتوليدها، مناسب لتطبيقات التفاعل الحواري."
1816
1816
  },
@@ -2402,6 +2402,9 @@
2402
2402
  "minicpm-v": {
2403
2403
  "description": "MiniCPM-V هو نموذج متعدد الوسائط من الجيل الجديد تم إطلاقه بواسطة OpenBMB، ويتميز بقدرات استثنائية في التعرف على النصوص وفهم الوسائط المتعددة، ويدعم مجموعة واسعة من سيناريوهات الاستخدام."
2404
2404
  },
2405
+ "minimax-m2": {
2406
+ "description": "MiniMax M2 هو نموذج لغوي كبير وفعّال، تم تطويره خصيصًا لتلبية احتياجات الترميز وتدفقات عمل الوكلاء."
2407
+ },
2405
2408
  "ministral-3b-latest": {
2406
2409
  "description": "Ministral 3B هو نموذج حافة عالمي المستوى من Mistral."
2407
2410
  },
@@ -3212,6 +3215,12 @@
3212
3215
  "us.anthropic.claude-3-7-sonnet-20250219-v1:0": {
3213
3216
  "description": "كلود 3.7 سونيت هو أسرع نموذج من الجيل التالي من أنثروبيك. مقارنةً بكلود 3 هايكو، تم تحسين كلود 3.7 سونيت في جميع المهارات، وتجاوز العديد من اختبارات الذكاء لأكبر نموذج من الجيل السابق، كلود 3 أوبس."
3214
3217
  },
3218
+ "us.anthropic.claude-haiku-4-5-20251001-v1:0": {
3219
+ "description": "Claude Haiku 4.5 هو أسرع وأذكى نموذج Haiku من Anthropic، يتميز بسرعة فائقة وقدرة متقدمة على التفكير المتسلسل."
3220
+ },
3221
+ "us.anthropic.claude-sonnet-4-5-20250929-v1:0": {
3222
+ "description": "Claude Sonnet 4.5 هو النموذج الأذكى الذي طورته Anthropic حتى الآن."
3223
+ },
3215
3224
  "v0-1.0-md": {
3216
3225
  "description": "نموذج v0-1.0-md هو نموذج قديم يتم تقديمه من خلال واجهة برمجة التطبيقات v0"
3217
3226
  },
@@ -191,6 +191,9 @@
191
191
  "Kwai-Kolors/Kolors": {
192
192
  "description": "Kolors е голям модел за генериране на изображения от текст, базиран на латентна дифузия, разработен от екипа Kolors на Kuaishou. Обучен с милиарди двойки текст-изображение, моделът демонстрира значителни предимства в качеството на визуализация, точността на сложната семантика и рендирането на китайски и английски символи. Той поддържа вход на китайски и английски език и се представя отлично в разбирането и генерирането на специфично китайско съдържание."
193
193
  },
194
+ "Kwaipilot/KAT-Dev": {
195
+ "description": "KAT-Dev (32B) е модел с отворен код с 32 милиарда параметъра, специално проектиран за задачи в областта на софтуерното инженерство. В бенчмарка SWE-Bench Verified постига успеваемост от 62.4%, което го нарежда на пето място сред всички модели с отворен код с различен мащаб. Моделът е оптимизиран чрез няколко етапа, включително междинно обучение, контролирано фино настройване (SFT) и обучение с подсилване (RL), с цел да осигури мощна поддръжка за сложни програмистки задачи като допълване на код, отстраняване на дефекти и преглед на код."
196
+ },
194
197
  "Llama-3.2-11B-Vision-Instruct": {
195
198
  "description": "Изключителни способности за визуално разсъждение върху изображения с висока резолюция, подходящи за приложения за визуално разбиране."
196
199
  },
@@ -788,12 +791,6 @@
788
791
  "claude-3-5-haiku-latest": {
789
792
  "description": "Claude 3.5 Haiku предлага бързи отговори, подходящи за леки задачи."
790
793
  },
791
- "claude-3-5-sonnet-20240620": {
792
- "description": "Claude 3.5 Sonnet предлага способности, надминаващи Opus и по-бърза скорост от Sonnet, като същевременно поддържа същата цена. Sonnet е особено силен в програмирането, науката за данни, визуалната обработка и задачи с агенти."
793
- },
794
- "claude-3-5-sonnet-20241022": {
795
- "description": "Claude 3.5 Sonnet предлага възможности, които надминават Opus и скорости, които са по-бързи от Sonnet, като същевременно поддържа същата цена като Sonnet. Sonnet е специално силен в програмирането, науката за данни, визуалната обработка и задачи, свързани с代理."
796
- },
797
794
  "claude-3-7-sonnet-20250219": {
798
795
  "description": "Claude 3.7 Sonnet предлага индустриални стандарти, с производителност, надвишаваща конкурентните модели и Claude 3 Opus, с отлични резултати в широки оценки, като същевременно предлага скорост и разходи, характерни за нашите модели от среден клас."
799
796
  },
@@ -1811,6 +1808,9 @@
1811
1808
  "gpt-5": {
1812
1809
  "description": "Най-добрият модел за междуотраслово кодиране и задачи с агенти. GPT-5 постига пробиви в точност, скорост, разсъждение, разпознаване на контекст, структурирано мислене и решаване на проблеми."
1813
1810
  },
1811
+ "gpt-5-chat": {
1812
+ "description": "GPT-5 Chat е предварителна версия, оптимизирана специално за диалогови ситуации. Поддържа въвеждане на текст и изображения, но извежда само текст, което го прави подходящ за чатботове и разговорни AI приложения."
1813
+ },
1814
1814
  "gpt-5-chat-latest": {
1815
1815
  "description": "Моделът GPT-5, използван в ChatGPT. Комбинира мощно разбиране и генериране на език, подходящ за диалогови приложения."
1816
1816
  },
@@ -2402,6 +2402,9 @@
2402
2402
  "minicpm-v": {
2403
2403
  "description": "MiniCPM-V е новото поколение мултимодален голям модел, представен от OpenBMB, който притежава изключителни способности за OCR разпознаване и мултимодално разбиране, поддържащ широк спектър от приложения."
2404
2404
  },
2405
+ "minimax-m2": {
2406
+ "description": "MiniMax M2 е ефективен голям езиков модел, създаден специално за кодиране и работни процеси с агенти."
2407
+ },
2405
2408
  "ministral-3b-latest": {
2406
2409
  "description": "Ministral 3B е световен лидер сред моделите на Mistral."
2407
2410
  },
@@ -3212,6 +3215,12 @@
3212
3215
  "us.anthropic.claude-3-7-sonnet-20250219-v1:0": {
3213
3216
  "description": "Claude 3.7 сонет е най-бързият модел от следващото поколение на Anthropic. В сравнение с Claude 3 Haiku, Claude 3.7 Сонет е подобрен във всички умения и надминава най-големия модел от предишното поколение Claude 3 Opus в много интелектуални тестове."
3214
3217
  },
3218
+ "us.anthropic.claude-haiku-4-5-20251001-v1:0": {
3219
+ "description": "Claude Haiku 4.5 е най-бързият и интелигентен Haiku модел на Anthropic, отличаващ се със светкавична скорост и разширени способности за мислене."
3220
+ },
3221
+ "us.anthropic.claude-sonnet-4-5-20250929-v1:0": {
3222
+ "description": "Claude Sonnet 4.5 е най-интелигентният модел на Anthropic до момента."
3223
+ },
3215
3224
  "v0-1.0-md": {
3216
3225
  "description": "Моделът v0-1.0-md е стара версия, която се обслужва чрез v0 API"
3217
3226
  },