@lobehub/lobehub 2.0.0-next.332 → 2.0.0-next.333

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 (209) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/apps/desktop/src/main/const/dir.ts +3 -0
  3. package/apps/desktop/src/main/controllers/SystemCtr.ts +19 -0
  4. package/apps/desktop/src/main/controllers/__tests__/SystemCtr.test.ts +1 -0
  5. package/apps/desktop/src/main/menus/impls/macOS.test.ts +1 -0
  6. package/changelog/v1.json +12 -0
  7. package/docs/changelog/2023-09-09-plugin-system.mdx +3 -2
  8. package/docs/changelog/2023-11-14-gpt4-vision.mdx +6 -4
  9. package/docs/changelog/2023-11-19-tts-stt.mdx +3 -2
  10. package/docs/changelog/2023-12-22-dalle-3.mdx +5 -2
  11. package/docs/changelog/2023-12-22-dalle-3.zh-CN.mdx +2 -2
  12. package/docs/changelog/2024-02-08-sso-oauth.mdx +2 -2
  13. package/docs/changelog/2024-06-19-lobe-chat-v1.mdx +3 -2
  14. package/docs/changelog/2024-06-19-lobe-chat-v1.zh-CN.mdx +2 -2
  15. package/docs/changelog/2024-07-19-gpt-4o-mini.mdx +3 -2
  16. package/docs/changelog/2024-07-19-gpt-4o-mini.zh-CN.mdx +2 -2
  17. package/docs/changelog/2024-08-02-lobe-chat-database-docker.mdx +3 -2
  18. package/docs/changelog/2024-08-21-file-upload-and-knowledge-base.mdx +5 -4
  19. package/docs/changelog/2024-09-13-openai-o1-models.mdx +2 -2
  20. package/docs/changelog/2024-09-20-artifacts.mdx +3 -2
  21. package/docs/changelog/2024-09-20-artifacts.zh-CN.mdx +2 -2
  22. package/docs/changelog/2024-10-27-pin-assistant.mdx +3 -2
  23. package/docs/changelog/2024-11-06-share-text-json.mdx +4 -2
  24. package/docs/changelog/2024-11-06-share-text-json.zh-CN.mdx +2 -2
  25. package/docs/changelog/2024-11-25-november-providers.mdx +2 -2
  26. package/docs/changelog/2024-11-27-forkable-chat.mdx +2 -2
  27. package/docs/changelog/2025-01-03-user-profile.mdx +2 -2
  28. package/docs/changelog/2025-01-22-new-ai-provider.mdx +2 -2
  29. package/docs/changelog/2025-02-02-deepseek-r1.mdx +4 -4
  30. package/docs/development/basic/add-new-authentication-providers.mdx +4 -0
  31. package/docs/development/basic/add-new-authentication-providers.zh-CN.mdx +4 -0
  32. package/docs/development/basic/add-new-image-model.mdx +4 -0
  33. package/docs/development/basic/add-new-image-model.zh-CN.mdx +4 -0
  34. package/docs/development/basic/architecture.mdx +4 -0
  35. package/docs/development/basic/architecture.zh-CN.mdx +4 -0
  36. package/docs/development/basic/chat-api.mdx +4 -0
  37. package/docs/development/basic/chat-api.zh-CN.mdx +4 -0
  38. package/docs/development/basic/comfyui-development.mdx +3 -1
  39. package/docs/development/basic/contributing-guidelines.mdx +4 -0
  40. package/docs/development/basic/contributing-guidelines.zh-CN.mdx +4 -0
  41. package/docs/development/basic/feature-development-frontend.mdx +11 -3
  42. package/docs/development/basic/feature-development-frontend.zh-CN.mdx +11 -3
  43. package/docs/development/basic/feature-development.mdx +14 -5
  44. package/docs/development/basic/feature-development.zh-CN.mdx +14 -5
  45. package/docs/development/basic/folder-structure.mdx +7 -0
  46. package/docs/development/basic/folder-structure.zh-CN.mdx +7 -0
  47. package/docs/development/basic/resources.mdx +4 -0
  48. package/docs/development/basic/resources.zh-CN.mdx +4 -0
  49. package/docs/development/basic/setup-development.mdx +4 -0
  50. package/docs/development/basic/setup-development.zh-CN.mdx +4 -0
  51. package/docs/development/basic/test.mdx +4 -0
  52. package/docs/development/basic/test.zh-CN.mdx +4 -0
  53. package/docs/development/basic/work-with-server-side-database.mdx +5 -5
  54. package/docs/development/basic/work-with-server-side-database.zh-CN.mdx +5 -5
  55. package/docs/development/internationalization/add-new-locale.mdx +4 -0
  56. package/docs/development/internationalization/add-new-locale.zh-CN.mdx +4 -0
  57. package/docs/development/internationalization/internationalization-implementation.mdx +4 -0
  58. package/docs/development/internationalization/internationalization-implementation.zh-CN.mdx +4 -0
  59. package/docs/development/others/lighthouse.mdx +4 -0
  60. package/docs/development/others/lighthouse.zh-CN.mdx +4 -0
  61. package/docs/development/start.mdx +4 -0
  62. package/docs/development/start.zh-CN.mdx +4 -0
  63. package/docs/development/state-management/state-management-intro.mdx +4 -2
  64. package/docs/development/state-management/state-management-intro.zh-CN.mdx +4 -2
  65. package/docs/development/state-management/state-management-selectors.mdx +6 -1
  66. package/docs/development/state-management/state-management-selectors.zh-CN.mdx +6 -1
  67. package/docs/development/tests/integration-testing.zh-CN.mdx +4 -0
  68. package/docs/self-hosting/advanced/analytics.mdx +2 -2
  69. package/docs/self-hosting/advanced/auth/better-auth/apple.mdx +132 -0
  70. package/docs/self-hosting/advanced/auth/better-auth/apple.zh-CN.mdx +127 -0
  71. package/docs/self-hosting/advanced/auth/better-auth/auth0.mdx +111 -0
  72. package/docs/self-hosting/advanced/auth/better-auth/auth0.zh-CN.mdx +107 -0
  73. package/docs/self-hosting/advanced/auth/better-auth/authelia.mdx +66 -0
  74. package/docs/self-hosting/advanced/auth/better-auth/authelia.zh-CN.mdx +62 -0
  75. package/docs/self-hosting/advanced/auth/better-auth/authentik.mdx +67 -0
  76. package/docs/self-hosting/advanced/auth/better-auth/authentik.zh-CN.mdx +63 -0
  77. package/docs/self-hosting/advanced/auth/better-auth/casdoor.mdx +62 -0
  78. package/docs/self-hosting/advanced/auth/better-auth/casdoor.zh-CN.mdx +58 -0
  79. package/docs/self-hosting/advanced/auth/better-auth/cloudflare-zero-trust.mdx +59 -0
  80. package/docs/self-hosting/advanced/auth/better-auth/cloudflare-zero-trust.zh-CN.mdx +55 -0
  81. package/docs/self-hosting/advanced/auth/better-auth/cognito.mdx +88 -0
  82. package/docs/self-hosting/advanced/auth/better-auth/cognito.zh-CN.mdx +85 -0
  83. package/docs/self-hosting/advanced/auth/better-auth/feishu.mdx +73 -0
  84. package/docs/self-hosting/advanced/auth/better-auth/feishu.zh-CN.mdx +69 -0
  85. package/docs/self-hosting/advanced/auth/better-auth/generic-oidc.mdx +86 -0
  86. package/docs/self-hosting/advanced/auth/better-auth/generic-oidc.zh-CN.mdx +83 -0
  87. package/docs/self-hosting/advanced/auth/better-auth/github.mdx +93 -0
  88. package/docs/self-hosting/advanced/auth/better-auth/github.zh-CN.mdx +90 -0
  89. package/docs/self-hosting/advanced/auth/better-auth/google.mdx +80 -0
  90. package/docs/self-hosting/advanced/auth/better-auth/google.zh-CN.mdx +77 -0
  91. package/docs/self-hosting/advanced/auth/better-auth/keycloak.mdx +77 -0
  92. package/docs/self-hosting/advanced/auth/better-auth/keycloak.zh-CN.mdx +74 -0
  93. package/docs/self-hosting/advanced/auth/better-auth/logto.mdx +64 -0
  94. package/docs/self-hosting/advanced/auth/better-auth/logto.zh-CN.mdx +60 -0
  95. package/docs/self-hosting/advanced/auth/better-auth/microsoft.mdx +113 -0
  96. package/docs/self-hosting/advanced/auth/better-auth/microsoft.zh-CN.mdx +109 -0
  97. package/docs/self-hosting/advanced/auth/better-auth/okta.mdx +67 -0
  98. package/docs/self-hosting/advanced/auth/better-auth/okta.zh-CN.mdx +63 -0
  99. package/docs/self-hosting/advanced/auth/better-auth/wechat.mdx +77 -0
  100. package/docs/self-hosting/advanced/auth/better-auth/wechat.zh-CN.mdx +72 -0
  101. package/docs/self-hosting/advanced/auth/better-auth/zitadel.mdx +73 -0
  102. package/docs/self-hosting/advanced/auth/better-auth/zitadel.zh-CN.mdx +69 -0
  103. package/docs/self-hosting/advanced/auth/clerk.mdx +2 -2
  104. package/docs/self-hosting/advanced/auth/legacy.mdx +106 -0
  105. package/docs/self-hosting/advanced/auth/legacy.zh-CN.mdx +101 -0
  106. package/docs/self-hosting/advanced/auth/next-auth/auth0.mdx +3 -2
  107. package/docs/self-hosting/advanced/auth/next-auth/authelia.mdx +3 -2
  108. package/docs/self-hosting/advanced/auth/next-auth/authentik.mdx +3 -2
  109. package/docs/self-hosting/advanced/auth/next-auth/casdoor.mdx +5 -2
  110. package/docs/self-hosting/advanced/auth/next-auth/casdoor.zh-CN.mdx +2 -0
  111. package/docs/self-hosting/advanced/auth/next-auth/cloudflare-zero-trust.mdx +3 -2
  112. package/docs/self-hosting/advanced/auth/next-auth/cloudflare-zero-trust.zh-CN.mdx +2 -2
  113. package/docs/self-hosting/advanced/auth/next-auth/github.mdx +3 -2
  114. package/docs/self-hosting/advanced/auth/next-auth/google.mdx +10 -12
  115. package/docs/self-hosting/advanced/auth/next-auth/keycloak.mdx +3 -2
  116. package/docs/self-hosting/advanced/auth/next-auth/logto.mdx +2 -2
  117. package/docs/self-hosting/advanced/auth/next-auth/microsoft-entra-id.mdx +3 -2
  118. package/docs/self-hosting/advanced/auth/next-auth/okta.mdx +3 -2
  119. package/docs/self-hosting/advanced/auth/next-auth/okta.zh-CN.mdx +1 -3
  120. package/docs/self-hosting/advanced/auth/next-auth/wechat.mdx +2 -2
  121. package/docs/self-hosting/advanced/auth/next-auth/zitadel.mdx +3 -2
  122. package/docs/self-hosting/advanced/auth.mdx +86 -139
  123. package/docs/self-hosting/advanced/auth.zh-CN.mdx +84 -135
  124. package/docs/self-hosting/advanced/desktop.mdx +9 -3
  125. package/docs/self-hosting/advanced/desktop.zh-CN.mdx +9 -3
  126. package/docs/self-hosting/advanced/feature-flags.mdx +3 -2
  127. package/docs/self-hosting/advanced/knowledge-base.mdx +2 -2
  128. package/docs/self-hosting/advanced/model-list.mdx +2 -2
  129. package/docs/self-hosting/advanced/observability/grafana.mdx +4 -2
  130. package/docs/self-hosting/advanced/observability/grafana.zh-CN.mdx +2 -1
  131. package/docs/self-hosting/advanced/observability/langfuse.mdx +3 -2
  132. package/docs/self-hosting/advanced/online-search.mdx +4 -6
  133. package/docs/self-hosting/advanced/s3/tencent-cloud.mdx +2 -2
  134. package/docs/self-hosting/advanced/settings-url-share.mdx +3 -2
  135. package/docs/self-hosting/advanced/upstream-sync.mdx +3 -4
  136. package/docs/self-hosting/advanced/upstream-sync.zh-CN.mdx +0 -2
  137. package/docs/self-hosting/environment-variables/analytics.mdx +3 -2
  138. package/docs/self-hosting/environment-variables/auth.mdx +5 -12
  139. package/docs/self-hosting/environment-variables/auth.zh-CN.mdx +2 -9
  140. package/docs/self-hosting/environment-variables/basic.mdx +3 -10
  141. package/docs/self-hosting/environment-variables/basic.zh-CN.mdx +0 -7
  142. package/docs/self-hosting/environment-variables/model-provider.mdx +3 -4
  143. package/docs/self-hosting/environment-variables/s3.mdx +2 -2
  144. package/docs/self-hosting/environment-variables.mdx +2 -3
  145. package/docs/self-hosting/examples/azure-openai.mdx +2 -3
  146. package/docs/self-hosting/examples/azure-openai.zh-CN.mdx +0 -1
  147. package/docs/self-hosting/examples/ollama.mdx +3 -2
  148. package/docs/self-hosting/faq/no-v1-suffix.mdx +4 -4
  149. package/docs/self-hosting/faq/proxy-with-unable-to-verify-leaf-signature.mdx +3 -2
  150. package/docs/self-hosting/faq/vercel-ai-image-timeout.mdx +2 -2
  151. package/docs/self-hosting/migration/v2/breaking-changes.mdx +73 -0
  152. package/docs/self-hosting/migration/v2/breaking-changes.zh-CN.mdx +71 -0
  153. package/docs/self-hosting/platform/alibaba-cloud.mdx +2 -7
  154. package/docs/self-hosting/platform/alibaba-cloud.zh-CN.mdx +1 -6
  155. package/docs/self-hosting/platform/btpanel.mdx +4 -2
  156. package/docs/self-hosting/platform/btpanel.zh-CN.mdx +2 -2
  157. package/docs/self-hosting/platform/docker-compose.mdx +3 -3
  158. package/docs/self-hosting/platform/docker-compose.zh-CN.mdx +0 -1
  159. package/docs/self-hosting/platform/docker.mdx +2 -11
  160. package/docs/self-hosting/platform/docker.zh-CN.mdx +0 -8
  161. package/docs/self-hosting/platform/netlify.mdx +5 -17
  162. package/docs/self-hosting/platform/netlify.zh-CN.mdx +3 -17
  163. package/docs/self-hosting/platform/railway.mdx +3 -7
  164. package/docs/self-hosting/platform/railway.zh-CN.mdx +1 -7
  165. package/docs/self-hosting/platform/repocloud.mdx +3 -7
  166. package/docs/self-hosting/platform/repocloud.zh-CN.mdx +1 -6
  167. package/docs/self-hosting/platform/sealos.mdx +2 -7
  168. package/docs/self-hosting/platform/sealos.zh-CN.mdx +1 -6
  169. package/docs/self-hosting/platform/tencentcloud-lighthouse.mdx +2 -7
  170. package/docs/self-hosting/platform/tencentcloud-lighthouse.zh-CN.mdx +1 -6
  171. package/docs/self-hosting/platform/vercel.mdx +4 -9
  172. package/docs/self-hosting/platform/vercel.zh-CN.mdx +3 -8
  173. package/docs/self-hosting/platform/zeabur.mdx +2 -11
  174. package/docs/self-hosting/platform/zeabur.zh-CN.mdx +1 -10
  175. package/docs/self-hosting/server-database/docker-compose.mdx +11 -19
  176. package/docs/self-hosting/server-database/docker-compose.zh-CN.mdx +12 -21
  177. package/docs/self-hosting/server-database/docker.mdx +9 -24
  178. package/docs/self-hosting/server-database/docker.zh-CN.mdx +7 -24
  179. package/docs/self-hosting/server-database/dokploy.mdx +27 -25
  180. package/docs/self-hosting/server-database/dokploy.zh-CN.mdx +23 -21
  181. package/docs/self-hosting/server-database/netlify.mdx +2 -2
  182. package/docs/self-hosting/server-database/netlify.zh-CN.mdx +2 -2
  183. package/docs/self-hosting/server-database/railway.mdx +2 -2
  184. package/docs/self-hosting/server-database/repocloud.mdx +2 -2
  185. package/docs/self-hosting/server-database/sealos.mdx +2 -2
  186. package/docs/self-hosting/server-database/vercel.mdx +19 -72
  187. package/docs/self-hosting/server-database/vercel.zh-CN.mdx +17 -68
  188. package/docs/self-hosting/server-database/zeabur.mdx +2 -2
  189. package/docs/self-hosting/server-database.mdx +1 -19
  190. package/docs/self-hosting/server-database.zh-CN.mdx +0 -17
  191. package/docs/self-hosting/start.mdx +2 -2
  192. package/docs/self-hosting/start.zh-CN.mdx +2 -2
  193. package/locales/en-US/desktop-onboarding.json +1 -0
  194. package/locales/zh-CN/desktop-onboarding.json +1 -0
  195. package/package.json +2 -2
  196. package/packages/builtin-tool-cloud-sandbox/src/systemRole.ts +62 -2
  197. package/packages/conversation-flow/src/__tests__/fixtures/inputs/tasks/index.ts +2 -0
  198. package/packages/conversation-flow/src/__tests__/fixtures/inputs/tasks/multi-tasks-with-summary.json +234 -0
  199. package/packages/conversation-flow/src/__tests__/parse.test.ts +25 -0
  200. package/packages/conversation-flow/src/transformation/ContextTreeBuilder.ts +15 -0
  201. package/packages/conversation-flow/src/transformation/FlatListBuilder.ts +20 -0
  202. package/packages/types/src/serverConfig.ts +0 -1
  203. package/src/app/[variants]/(desktop)/desktop-onboarding/features/LoginStep.tsx +39 -1
  204. package/src/app/[variants]/(main)/settings/common/features/Common/Common.tsx +34 -14
  205. package/src/envs/app.ts +0 -13
  206. package/src/locales/default/desktop-onboarding.ts +1 -0
  207. package/src/server/globalConfig/index.ts +1 -2
  208. package/src/services/electron/system.ts +4 -0
  209. package/src/store/serverConfig/selectors.ts +0 -1
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  title: Deploy LobeChat with database on Vercel
3
3
  description: >-
4
- Learn how to deploy LobeChat with database on Vercel with ease, including: database, authentication and S3 storage service.
5
-
4
+ Learn how to deploy LobeChat with database on Vercel with ease, including:
5
+ database, authentication and S3 storage service.
6
6
  tags:
7
7
  - Deploy LobeChat
8
8
  - Vercel Deployment
9
- - OpenAI API Key
10
- - Custom Domain Binding
9
+ - Better Auth
10
+ - S3 Storage
11
11
  ---
12
12
 
13
13
  # Deploying Server Database Version on Vercel
@@ -18,7 +18,6 @@ This article will detail how to deploy the server database version of LobeChat o
18
18
  Before proceeding, please make sure of the following:
19
19
 
20
20
  - Export all data, as after deploying the server-side database, existing user data cannot be automatically migrated and can only be manually imported after backup!
21
- - The `ACCESS_CODE` in the environment variables is either unset or cleared!
22
21
  - When configuring the environment variables required for the server-side database, make sure to fill in all of them before deployment, otherwise you may encounter database migration issues!
23
22
  </Callout>
24
23
 
@@ -50,9 +49,6 @@ This article will detail how to deploy the server database version of LobeChat o
50
49
  ```shell
51
50
  # Serverless Postgres DB Url
52
51
  DATABASE_URL=
53
-
54
- # Specify service mode as server, otherwise it will not enter the server-side database
55
- NEXT_PUBLIC_SERVICE_MODE=server
56
52
  ```
57
53
 
58
54
  An example of filling in Vercel is as follows:
@@ -69,9 +65,6 @@ This article will detail how to deploy the server database version of LobeChat o
69
65
 
70
66
  # Specify Postgres database driver as node
71
67
  DATABASE_DRIVER=node
72
-
73
- # Specify service mode as server, otherwise it will not enter the server-side database
74
- NEXT_PUBLIC_SERVICE_MODE=server
75
68
  ```
76
69
 
77
70
  An example of filling in Vercel is as follows:
@@ -88,11 +81,9 @@ This article will detail how to deploy the server database version of LobeChat o
88
81
 
89
82
  ### Add the `KEY_VAULTS_SECRET` Environment Variable
90
83
 
91
- After adding the `DATABASE_URL` environment variable for the database, you need to add a `KEY_VAULTS_SECRET` environment variable. This variable is used to encrypt sensitive information such as apikeys stored by users. You can generate a random 32-character string as the key using `openssl rand -base64 32`.
84
+ After adding the `DATABASE_URL` environment variable for the database, you need to add a `KEY_VAULTS_SECRET` environment variable. This variable is used to encrypt sensitive information such as apikeys stored by users. Click the button below to generate:
92
85
 
93
- ```shell
94
- KEY_VAULTS_SECRET=jgwsK28dspyVQoIf8/M3IIHl1h6LYYceSYNXeLpy6uk=
95
- ```
86
+ <GenerateSecret envName="KEY_VAULTS_SECRET" />
96
87
 
97
88
  Make sure to add this to the Vercel environment variables as well.
98
89
 
@@ -106,66 +97,26 @@ This article will detail how to deploy the server database version of LobeChat o
106
97
  The server-side database needs to be paired with a user authentication service to function properly. Therefore, the corresponding authentication service needs to be configured.
107
98
 
108
99
  <Steps>
109
- ### Prepare Clerk Authentication Service
110
-
111
- Go to [Clerk](https://clerk.com?utm_source=lobehub\&utm_medium=docs) to register and create an application to obtain the corresponding Public Key and Secret Key.
112
-
113
- <Callout type={'info'}>
114
- If you are not familiar with Clerk, you can refer to [Authentication
115
- Service-Clerk](/en/docs/self-hosting/advanced/authentication#clerk) for details on using Clerk.
116
- </Callout>
117
-
118
- ### Add Public and Private Key Environment Variables in Vercel
119
-
120
- In Vercel's deployment environment variables, add the `NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY` and `CLERK_SECRET_KEY` environment variables. You can click on "API Keys" in the menu, then copy the corresponding values and paste them into Vercel's environment variables.
121
-
122
- <Image alt={'Find the corresponding public and private key environment variables in Clerk'} src={'https://github.com/lobehub/lobe-chat/assets/28616219/89883703-7a1a-4a11-b944-5d804544e57c'} />
123
-
124
- The environment variables required for this step are as follows:
125
-
126
- ```shell
127
- NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_live_xxxxxxxxxxx
128
- CLERK_SECRET_KEY=sk_live_xxxxxxxxxxxxxxxxxxxxxx
129
- ```
130
-
131
- Add the above variables to Vercel:
100
+ ### Add Authentication Environment Variables
132
101
 
133
- <Image alt={'Add Clerk public and private key environment variables in Vercel'} src={'https://github.com/lobehub/lobe-chat/assets/28616219/2bfa13df-6e20-4768-97c0-4dad06c85a2f'} />
102
+ In Vercel's deployment environment variables, add the following environment variables to enable authentication (powered by [Better Auth](https://www.better-auth.com)):
134
103
 
135
- ### Create and Configure Webhook in Clerk
104
+ Click the button below to generate `AUTH_SECRET` (session encryption key):
136
105
 
137
- Since we let Clerk fully handle user authentication and management, we need Clerk to notify our application and store data in the database when there are changes in the user's lifecycle (create, update, delete). We achieve this requirement through the Webhook provided by Clerk.
106
+ <GenerateSecret envName="AUTH_SECRET" />
138
107
 
139
- We need to add an endpoint in Clerk's Webhooks to inform Clerk to send notifications to this endpoint when a user's information changes.
108
+ You also need to configure the `JWKS_KEY` environment variable for signing and verifying JWTs. Click the button below to generate:
140
109
 
141
- <Image alt={'Add Webhooks endpoint in Clerk'} src={'https://github.com/lobehub/lobe-chat/assets/28616219/f50f47fb-5e8e-4930-bf4e-8cf6f5b8afb9'} />
110
+ <GenerateJWKSKey />
142
111
 
143
- Fill in the endpoint with the URL of your Vercel project, such as `https://your-project.vercel.app/api/webhooks/clerk`. Then, subscribe to events by checking the three user events (`user.created`, `user.deleted`, `user.updated`), and click create.
112
+ With these variables, users can register and login with email and password.
144
113
 
145
- <Callout type={'warning'}>
146
- The `https://` in the URL is essential to maintain the integrity of the URL.
114
+ <Callout type={'info'}>
115
+ For advanced features like SSO providers, magic link login, and email verification, see [Authentication Service](/docs/self-hosting/advanced/auth).
147
116
  </Callout>
148
-
149
- <Image alt={'Configure URL and user events when adding Clerk Webhooks'} src={'https://github.com/lobehub/lobe-chat/assets/28616219/0249ea56-ab17-4aa9-a56c-9ebd556c2645'} />
150
-
151
- ### Add Webhook Secret to Vercel Environment Variables
152
-
153
- After creation, you can find the secret of this Webhook in the bottom right corner:
154
-
155
- <Image alt={'View Clerk Webhooks secret'} src={'https://github.com/lobehub/lobe-chat/assets/28616219/fab4abb2-584b-49de-9340-813382951635'} />
156
-
157
- The environment variable corresponding to this secret is `CLERK_WEBHOOK_SECRET`:
158
-
159
- ```shell
160
- CLERK_WEBHOOK_SECRET=whsec_xxxxxxxxxxxxxxxxxxxxxx
161
- ```
162
-
163
- Add it to Vercel's environment variables:
164
-
165
- <Image alt={'Add Clerk Webhooks secret in Vercel'} src={'https://github.com/lobehub/lobe-chat/assets/28616219/5fdc9479-007f-46ab-9d6e-a9603e949116'} />
166
117
  </Steps>
167
118
 
168
- By completing these steps, you have successfully configured the Clerk authentication service. Next, we will configure the S3 storage service.
119
+ By completing these steps, you have successfully configured the authentication service. Next, we will configure the S3 storage service.
169
120
 
170
121
  ## 3. Configure S3 Storage Service
171
122
 
@@ -320,17 +271,13 @@ For easy copying, here is a summary of the environment variables required to con
320
271
  ```shell
321
272
  APP_URL=https://your-project.com
322
273
 
323
- # Specify the service mode as server
324
- NEXT_PUBLIC_SERVICE_MODE=server
325
-
326
274
  # Postgres database URL
327
275
  DATABASE_URL=
328
276
  KEY_VAULTS_SECRET=jgwsK28dspyVQoIf8/M3IIHl1h6LYYceSYNXeLpy6uk=
329
277
 
330
- # Clerk related configurations
331
- NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_live_xxxxxxxxxxx
332
- CLERK_SECRET_KEY=sk_live_xxxxxxxxxxxxxxxxxxxxxx
333
- CLERK_WEBHOOK_SECRET=whsec_xxxxxxxxxxxxxxxxxxxxxx
278
+ # Authentication
279
+ AUTH_SECRET=jgwsK28dspyVQoIf8/M3IIHl1h6LYYceSYNXeLpy6uk=
280
+ JWKS_KEY='{"keys":[...]}'
334
281
 
335
282
  # S3 related configurations
336
283
  # S3 keys
@@ -4,7 +4,7 @@ description: 本文详细介绍如何在 Vercel 中部署服务端数据库版 L
4
4
  tags:
5
5
  - 服务端数据库
6
6
  - Postgres
7
- - Clerk
7
+ - Better Auth
8
8
  - S3存储服务
9
9
  - Vercel部署
10
10
  - 数据库配置
@@ -20,7 +20,6 @@ tags:
20
20
  进行后续操作前,请务必确认以下事项:
21
21
 
22
22
  - 导出所有数据,部署服务端数据库后,原有用户数据无法自动迁移,只能提前备份后进行手动导入!
23
- - 环境变量中的`ACCESS_CODE`未设置或已清除!
24
23
  - 配置服务端数据库所需要的环境变量时,需全部填入后再进行部署,否则可能遭遇数据库迁移问题!
25
24
  </Callout>
26
25
 
@@ -51,9 +50,6 @@ tags:
51
50
  ```shell
52
51
  # Serverless Postgres DB Url
53
52
  DATABASE_URL=
54
-
55
- # 指定 service mode 为 server,否则不会进入服务端数据库
56
- NEXT_PUBLIC_SERVICE_MODE=server
57
53
  ```
58
54
 
59
55
  在 Vercel 中填写的示例如下:
@@ -70,9 +66,6 @@ tags:
70
66
 
71
67
  # 指定 Postgres database driver 为 node
72
68
  DATABASE_DRIVER=node
73
-
74
- # 指定 service mode 为 server,否则不会进入服务端数据库
75
- NEXT_PUBLIC_SERVICE_MODE=server
76
69
  ```
77
70
 
78
71
  在 Vercel 中填写的示例如下:
@@ -88,11 +81,9 @@ tags:
88
81
 
89
82
  ### 添加 `KEY_VAULTS_SECRET` 环境变量
90
83
 
91
- 在完成数据库 `DATABASE_URL` 环境变量添加后,需要添加一个 `KEY_VAULTS_SECRET` 环境变量。该变量用于加密用户存储的 apikey 等敏感信息。你可以使用 `openssl rand -base64 32` 生成一个随机的 32 位字符串作为密钥。
84
+ 在完成数据库 `DATABASE_URL` 环境变量添加后,需要添加一个 `KEY_VAULTS_SECRET` 环境变量。该变量用于加密用户存储的 apikey 等敏感信息。点击下方按钮一键生成:
92
85
 
93
- ```shell
94
- KEY_VAULTS_SECRET=jgwsK28dspyVQoIf8/M3IIHl1h6LYYceSYNXeLpy6uk=
95
- ```
86
+ <GenerateSecret envName="KEY_VAULTS_SECRET" />
96
87
 
97
88
  同样需要将其添加到 Vercel 环境变量中。
98
89
 
@@ -106,64 +97,26 @@ tags:
106
97
  服务端数据库需要搭配用户身份验证服务才可以正常使用。因此需要配置对应的身份验证服务。
107
98
 
108
99
  <Steps>
109
- ### 准备 Clerk 身份验证服务
110
-
111
- 前往 [Clerk](https://clerk.com?utm_source=lobehub\&utm_medium=docs) 注册并创建应用,获取相应的 Public Key 和 Secret Key。
112
-
113
- <Callout type={'info'}>
114
- 如果对 Clerk 不太了解,可以查阅 [身份验证服务 -
115
- Clerk](/zh/docs/self-hosting/advanced/authentication#clerk) 了解 Clerk 的使用详情。
116
- </Callout>
117
-
118
- ### 在 Vercel 中添加公、私钥环境变量
119
-
120
- 在 Vercel 的部署环境变量中,添加 `NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY` 和 `CLERK_SECRET_KEY` 环境变量。你可以在菜单中点击「API Keys」,然后复制对应的值填入 Vercel 的环境变量中。
121
-
122
- <Image alt={'在 Clerk 中找到对应的公私钥环境变量'} src={'https://github.com/lobehub/lobe-chat/assets/28616219/89883703-7a1a-4a11-b944-5d804544e57c'} />
123
-
124
- 此步骤所需的环境变量如下:
125
-
126
- ```shell
127
- NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_live_xxxxxxxxxxx
128
- CLERK_SECRET_KEY=sk_live_xxxxxxxxxxxxxxxxxxxxxx
129
- ```
100
+ ### 添加身份验证环境变量
130
101
 
131
- 添加上述变量到 Vercel 中:
102
+ Vercel 的部署环境变量中,添加以下环境变量以启用身份验证(基于 [Better Auth](https://www.better-auth.com)):
132
103
 
133
- <Image alt={'在 Vercel 中添加 Clerk 公私钥环境变量'} src={'https://github.com/lobehub/lobe-chat/assets/28616219/2bfa13df-6e20-4768-97c0-4dad06c85a2f'} />
104
+ 点击下方按钮一键生成 `AUTH_SECRET`(会话加密密钥):
134
105
 
135
- ### Clerk 中创建并配置 Webhook
106
+ <GenerateSecret envName="AUTH_SECRET" />
136
107
 
137
- 由于我们让 Clerk 完全接管用户鉴权与管理,因此我们需要在 Clerk 用户生命周期变更时(创建、更新、删除)中通知我们的应用并存储落库。我们通过 Clerk 提供的 Webhook 来实现这一诉求。
108
+ 同时需要配置 `JWKS_KEY` 环境变量,用于签名和验证 JWT。点击下方按钮一键生成:
138
109
 
139
- 我们需要在 Clerk 的 Webhooks 中添加一个端点(Endpoint),告诉 Clerk 当用户发生变更时,向这个端点发送通知。
110
+ <GenerateJWKSKey />
140
111
 
141
- <Image alt={'Clerk 添加 Webhooks 端点'} src={'https://github.com/lobehub/lobe-chat/assets/28616219/f50f47fb-5e8e-4930-bf4e-8cf6f5b8afb9'} />
112
+ 配置这些变量后,用户即可使用邮箱和密码注册登录。
142
113
 
143
- endpoint 中填写你的 Vercel 项目的 URL,如 `https://your-project.vercel.app/api/webhooks/clerk`。然后在订阅事件(Subscribe to events)中,勾选 user 的三个事件(`user.created` 、`user.deleted`、`user.updated`),然后点击创建。
144
-
145
- <Callout type={'warning'}>URL 的`https://`不可缺失,须保持 URL 的完整性</Callout>
146
-
147
- <Image alt={'添加 Clerk Webhooks 时,配置 URL 和用户事件'} src={'https://github.com/lobehub/lobe-chat/assets/28616219/0249ea56-ab17-4aa9-a56c-9ebd556c2645'} />
148
-
149
- ### 将 Webhook 秘钥添加到 Vercel 环境变量
150
-
151
- 创建完毕后,可以在右下角找到该 Webhook 的秘钥:
152
-
153
- <Image alt={'查看 Clerk Webhooks 秘钥'} src={'https://github.com/lobehub/lobe-chat/assets/28616219/fab4abb2-584b-49de-9340-813382951635'} />
154
-
155
- 这个秘钥所对应的环境变量名为 `CLERK_WEBHOOK_SECRET`:
156
-
157
- ```shell
158
- CLERK_WEBHOOK_SECRET=whsec_xxxxxxxxxxxxxxxxxxxxxx
159
- ```
160
-
161
- 将其添加到 Vercel 的环境变量中:
162
-
163
- <Image alt={'在 Vercel 中 添加 Clerk Webhooks 秘钥'} src={'https://github.com/lobehub/lobe-chat/assets/28616219/5fdc9479-007f-46ab-9d6e-a9603e949116'} />
114
+ <Callout type={'info'}>
115
+ 如需 SSO 登录、魔法链接登录、邮箱验证等高级功能,请参阅 [身份验证服务](/zh/docs/self-hosting/advanced/auth)。
116
+ </Callout>
164
117
  </Steps>
165
118
 
166
- 这样,你已经成功配置了 Clerk 身份验证服务。接下来我们将配置 S3 存储服务。
119
+ 这样,你已经成功配置了身份验证服务。接下来我们将配置 S3 存储服务。
167
120
 
168
121
  ## 三、 配置 S3 存储服务
169
122
 
@@ -313,17 +266,13 @@ tags:
313
266
  ```shell
314
267
  APP_URL=https://your-project.com
315
268
 
316
- # 指定服务模式为 server
317
- NEXT_PUBLIC_SERVICE_MODE=server
318
-
319
269
  # Postgres 数据库 URL
320
270
  DATABASE_URL=
321
271
  KEY_VAULTS_SECRET=jgwsK28dspyVQoIf8/M3IIHl1h6LYYceSYNXeLpy6uk=
322
272
 
323
- # Clerk 相关配置
324
- NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_live_xxxxxxxxxxx
325
- CLERK_SECRET_KEY=sk_live_xxxxxxxxxxxxxxxxxxxxxx
326
- CLERK_WEBHOOK_SECRET=whsec_xxxxxxxxxxxxxxxxxxxxxx
273
+ # 身份验证
274
+ AUTH_SECRET=jgwsK28dspyVQoIf8/M3IIHl1h6LYYceSYNXeLpy6uk=
275
+ JWKS_KEY='{"keys":[...]}'
327
276
 
328
277
  # S3 相关配置
329
278
  # S3 秘钥
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  title: Deploying LobeChat Database on Zeabur
3
3
  description: >-
4
- Learn how to deploy LobeChat on Zeabur with ease. Follow the provided steps to set up your chat application seamlessly.
5
-
4
+ Learn how to deploy LobeChat on Zeabur with ease. Follow the provided steps to
5
+ set up your chat application seamlessly.
6
6
  tags:
7
7
  - Deploy LobeChat
8
8
  - Zeabur Deployment
@@ -47,24 +47,6 @@ Before deployment, make sure you have a Postgres database instance ready. You ca
47
47
  Since we support file-based conversations/knowledge base conversations, we need to install the `pgvector` plugin for Postgres. This plugin provides vector search capabilities and is a key component for LobeChat to implement RAG.
48
48
 
49
49
  <Steps>
50
- ### `NEXT_PUBLIC_SERVICE_MODE`
51
-
52
- LobeChat supports both client-side and server-side databases, so we provide an environment variable for switching modes, which is `NEXT_PUBLIC_SERVICE_MODE`, with a default value of `client`.
53
-
54
- For server-side database deployment scenarios, you need to set `NEXT_PUBLIC_SERVICE_MODE` to `server`.
55
-
56
- <Callout type={'info'}>
57
- In the official `lobe-chat-database` Docker image, this environment variable is already set to
58
- `server` by default. Therefore, if you deploy using the Docker image, you do not need to configure
59
- this environment variable again.
60
- </Callout>
61
-
62
- <Callout type={'tip'}>
63
- Since environment variables starting with `NEXT_PUBLIC` take effect in the front-end code, they cannot be modified through container runtime injection. (Refer to the `next.js` documentation [Configuring: Environment Variables | Next.js (nextjs.org)](https://nextjs.org/docs/pages/building-your-application/configuring/environment-variables)). This is why we chose to create a separate DB version image.
64
-
65
- If you need to modify variables with the `NEXT_PUBLIC` prefix in a Docker deployment, you must build the image yourself and inject your own `NEXT_PUBLIC` prefixed environment variables during the build.
66
- </Callout>
67
-
68
50
  ### `DATABASE_URL`
69
51
 
70
52
  The core of configuring the database is to add the `DATABASE_URL` environment variable and fill in the Postgres database connection URL you have prepared. The typical format of the database connection URL is `postgres://username:password@host:port/database`.
@@ -95,7 +77,7 @@ Since we support file-based conversations/knowledge base conversations, we need
95
77
 
96
78
  <Callout type={'info'}>
97
79
  You can generate a random 32-character string as the value of `KEY_VAULTS_SECRET` using `openssl
98
- rand -base64 32`.
80
+ rand -base64 32`.
99
81
  </Callout>
100
82
  </Steps>
101
83
 
@@ -45,23 +45,6 @@ LobeChat 默认使用客户端数据库(IndexedDB),同时也支持使用
45
45
  同时,由于我们支持了文件对话 / 知识库对话的能力,因此我们需要为 Postgres 安装 `pgvector` 插件,该插件提供了向量搜索的能力,是 LobeChat 实现 RAG 的重要构件之一。
46
46
 
47
47
  <Steps>
48
- ### `NEXT_PUBLIC_SERVICE_MODE`
49
-
50
- LobeChat 同时支持了客户端数据库和服务端数据库,因此我们提供了一个环境变量用于切换模式,这个变量为 `NEXT_PUBLIC_SERVICE_MODE`,该值默认为 `client`。
51
-
52
- 针对服务端数据库部署场景,你需要将 `NEXT_PUBLIC_SERVICE_MODE` 设置为 `server`。
53
-
54
- <Callout type={'info'}>
55
- 在官方的 `lobe-chat-database` Docker 镜像中,已经默认将该环境变量设为 `server`,因此如果你使用
56
- Docker 镜像部署,则无需再配置该环境变量。
57
- </Callout>
58
-
59
- <Callout type={'tip'}>
60
- 由于 `NEXT_PUBLIC` 开头的环境变量是在前端代码中生效的,而因此无法通过容器运行时注入进行修改。 (`next.js`的参考文档 [Configuring: Environment Variables | Next.js (nextjs.org)](https://nextjs.org/docs/pages/building-your-application/configuring/environment-variables) ) 这也是为什么我们选择再打一个 DB 版镜像的原因。
61
-
62
- 如果你需要在 Docker 部署中修改 `NEXT_PUBLIC` 前缀的变量,你必须自行构建镜像,在 build 时就把自己的 `NEXT_PUBLIC` 开头的环境变量打进去。
63
- </Callout>
64
-
65
48
  ### `DATABASE_URL`
66
49
 
67
50
  配置数据库,核心是添加 `DATABASE_URL` 环境变量,将你准备好的 Postgres 数据库连接 URL 填入其中。数据库连接 URL 的通常格式为 `postgres://username:password@host:port/database`。
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  title: Build Your Own LobeChat - Choose Your Deployment Platform
3
3
  description: >-
4
- Explore multiple deployment platforms like Vercel, Docker, Docker Compose, and more to deploy LobeChat. Choose the platform that best suits your needs.
5
-
4
+ Explore multiple deployment platforms like Vercel, Docker, Docker Compose, and
5
+ more to deploy LobeChat. Choose the platform that best suits your needs.
6
6
  tags:
7
7
  - Lobe Chat
8
8
  - Deployment Platform
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  title: 构建属于自己的 LobeChat - 自选部署平台
3
3
  description: >-
4
- 选择适合自己的部署平台,构建个性化的 Lobe Chat。支持 Docker、Docker Compose、Netlify、Railway、Repocloud、Sealos、Vercel 和 Zeabur 部署。
5
-
4
+ 选择适合自己的部署平台,构建个性化的 Lobe Chat。支持 Docker、Docker
5
+ Compose、Netlify、Railway、Repocloud、Sealos、Vercel 和 Zeabur 部署。
6
6
  tags:
7
7
  - Lobe Chat
8
8
  - 部署平台
@@ -73,6 +73,7 @@
73
73
  "screen5.badge": "Sign in",
74
74
  "screen5.description": "Sign in to sync Agents, Groups, settings, and Context across all devices.",
75
75
  "screen5.errors.desktopOnlyOidc": "OIDC authorization is only available in the desktop app runtime.",
76
+ "screen5.legacyLocalDb.link": "Migrate legacy local database",
76
77
  "screen5.methods.cloud.description": "Sign in with your LobeHub Cloud account to sync everything seamlessly",
77
78
  "screen5.methods.cloud.name": "LobeHub Cloud",
78
79
  "screen5.methods.selfhost.description": "Connect to your own LobeHub server instance",
@@ -73,6 +73,7 @@
73
73
  "screen5.badge": "登录",
74
74
  "screen5.description": "登录以在所有设备间同步代理、群组、设置和上下文。",
75
75
  "screen5.errors.desktopOnlyOidc": "OIDC 授权仅在桌面端运行时可用。",
76
+ "screen5.legacyLocalDb.link": "迁移旧版本地数据库",
76
77
  "screen5.methods.cloud.description": "使用您的 LobeHub 云账户登录,实现无缝同步",
77
78
  "screen5.methods.cloud.name": "LobeHub Cloud",
78
79
  "screen5.methods.selfhost.description": "连接到你自己的 LobeHub 服务实例",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/lobehub",
3
- "version": "2.0.0-next.332",
3
+ "version": "2.0.0-next.333",
4
4
  "description": "LobeHub - an open-source,comprehensive AI Agent framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.",
5
5
  "keywords": [
6
6
  "framework",
@@ -207,7 +207,7 @@
207
207
  "@lobehub/icons": "^4.0.2",
208
208
  "@lobehub/market-sdk": "0.29.1",
209
209
  "@lobehub/tts": "^4.0.2",
210
- "@lobehub/ui": "^4.24.0",
210
+ "@lobehub/ui": "^4.25.0",
211
211
  "@modelcontextprotocol/sdk": "^1.25.1",
212
212
  "@neondatabase/serverless": "^1.0.2",
213
213
  "@next/third-parties": "^16.1.1",
@@ -11,6 +11,58 @@ export const systemPrompt = `You have access to a Cloud Sandbox that provides a
11
11
  </sandbox_environment>
12
12
 
13
13
 
14
+ <preinstalled_software>
15
+ **IMPORTANT: Prefer Pre-installed Software**
16
+ The sandbox comes with pre-installed software and libraries. **Always prioritize using these pre-installed tools** when they can solve the user's problem, rather than installing additional packages.
17
+
18
+ **Operating System:**
19
+ - Debian 12
20
+
21
+ **Programming Languages & Runtimes:**
22
+ - Python (with pip)
23
+ - Node.js (with npm)
24
+
25
+ **Build Tools:**
26
+ - build-essential 12.9
27
+ - gcc/g++ 12.2.0
28
+
29
+ **Python Libraries (Pre-installed):**
30
+ - numpy 2.4.1 - Numerical computing
31
+ - scipy 1.17.0 - Scientific computing
32
+ - pandas 2.3.3 - Data analysis
33
+ - matplotlib 3.10.8 - Static visualization
34
+ - plotly 6.5.2 - Interactive visualization
35
+ - scikit-learn 1.8.0 - Machine learning
36
+ - opencv-python 4.13.0.90 - Computer vision
37
+ - Pillow 12.1.0 - Image processing
38
+ - wheel 0.45.1 - Python package installer
39
+
40
+ **Document & Media Tools:**
41
+ - LibreOffice - Office document processing
42
+ - Pandoc - Document format conversion
43
+ - pdftoppm - PDF to image conversion
44
+ - FFmpeg 5.1.8-0+deb12u1 - Audio/video processing
45
+
46
+ **Browser Automation:**
47
+ - Playwright - Browser automation
48
+ - marpc-cli - Browser-based PPTX generation
49
+
50
+ **Fonts:**
51
+ - Noto Sans CJK - Chinese/Japanese/Korean sans-serif font
52
+ - Noto Serif CJK - Chinese/Japanese/Korean serif font
53
+
54
+ **NOT Available (do not attempt to use):**
55
+ - Tesseract (OCR) - Not installed
56
+ - Puppeteer - Not installed, use Playwright instead
57
+ - mermaid-cli - Not installed
58
+
59
+ **Installation Guidelines:**
60
+ - Only install additional packages when pre-installed software cannot fulfill the requirement
61
+ - When Python libraries are already available, use them directly without pip install
62
+ - For document generation, prioritize LibreOffice and Pandoc before Python libraries
63
+ </preinstalled_software>
64
+
65
+
14
66
  <core_capabilities>
15
67
  You have access to the following tools for interacting with the cloud sandbox:
16
68
 
@@ -114,7 +166,15 @@ When code execution produces any output files (documents, images, data, etc.), y
114
166
  When executing Python code:
115
167
 
116
168
 
169
+ **Using Pre-installed Libraries:**
170
+ - **Always check if required libraries are pre-installed** (see preinstalled_software section)
171
+ - numpy, scipy, pandas, matplotlib, plotly, scikit-learn, opencv-python, Pillow are already available
172
+ - **Skip pip install** for pre-installed libraries - use them directly
173
+ - Only use \`pip install\` for libraries NOT in the pre-installed list
174
+
175
+
117
176
  **Visualization with Matplotlib:**
177
+ - matplotlib 3.10.8 is pre-installed - use directly without installation
118
178
  - Never use seaborn library
119
179
  - Give each chart its own distinct plot (no subplots)
120
180
  - Never set specific colors unless explicitly asked by the user
@@ -127,10 +187,10 @@ You MUST use the following libraries for each supported file format:
127
187
  - **DOCX**: Use \`python-docx\`
128
188
  - **XLSX**: Use \`openpyxl\`
129
189
  - **PPTX**: Use \`python-pptx\`
130
- - **CSV**: Use \`pandas\`
190
+ - **CSV**: Use pre-installed \`pandas\` (no installation needed)
131
191
  - **ODS/ODT/ODP**: Use \`odfpy\`
132
192
 
133
- Install required packages first: \`pip install <package-name>\`
193
+ For libraries NOT pre-installed: Install with \`pip install <package-name>\` before use.
134
194
  **After successful generation, automatically export the document file.**
135
195
 
136
196
 
@@ -1,8 +1,10 @@
1
1
  import type { Message } from '../../../../types';
2
+ import multiTasksWithSummary from './multi-tasks-with-summary.json';
2
3
  import simple from './simple.json';
3
4
  import withSummary from './with-summary.json';
4
5
 
5
6
  export const tasks = {
7
+ multiTasksWithSummary: multiTasksWithSummary as Message[],
6
8
  simple: simple as Message[],
7
9
  withSummary: withSummary as Message[],
8
10
  };