@lobehub/chat 1.2.0 → 1.2.2

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 (1981) hide show
  1. package/.bunfig.toml +3 -0
  2. package/.dockerignore +11 -0
  3. package/.env.example +183 -0
  4. package/.eslintignore +1 -2
  5. package/.eslintrc.js +32 -1
  6. package/.github/FUNDING.yml +13 -0
  7. package/.github/ISSUE_TEMPLATE/1_bug_report.yml +46 -22
  8. package/.github/ISSUE_TEMPLATE/1_bug_report_cn.yml +69 -0
  9. package/.github/ISSUE_TEMPLATE/2_feature_request.yml +6 -6
  10. package/.github/ISSUE_TEMPLATE/2_feature_request_cn.yml +21 -0
  11. package/.github/ISSUE_TEMPLATE/config.yml +4 -0
  12. package/.github/PULL_REQUEST_TEMPLATE.md +2 -0
  13. package/.github/workflows/docker.yml +45 -0
  14. package/.github/workflows/issue-auto-comments.yml +73 -0
  15. package/.github/workflows/issue-close-require.yml +26 -6
  16. package/.github/workflows/issues-translate.yml +14 -0
  17. package/.github/workflows/lighthouse.yml +72 -0
  18. package/.github/workflows/release.yml +46 -15
  19. package/.github/workflows/sync.yml +54 -0
  20. package/.github/workflows/test.yml +44 -16
  21. package/.github/workflows/wiki-sync.yml +19 -0
  22. package/.husky/pre-commit +0 -3
  23. package/.i18nrc.js +41 -7
  24. package/.nvmrc +1 -0
  25. package/.seorc.cjs +9 -0
  26. package/CHANGELOG.md +17495 -56
  27. package/CODE_OF_CONDUCT.md +128 -0
  28. package/CONTRIBUTING.md +88 -0
  29. package/Dockerfile +138 -0
  30. package/LICENSE +38 -0
  31. package/README.md +739 -80
  32. package/README.zh-CN.md +828 -0
  33. package/__mocks__/zustand/traditional.ts +25 -0
  34. package/codecov.yml +11 -0
  35. package/contributing/Basic/Add-New-Authentication-Providers.md +193 -0
  36. package/contributing/Basic/Add-New-Authentication-Providers.zh-CN.md +192 -0
  37. package/contributing/Basic/Architecture.md +47 -0
  38. package/contributing/Basic/Architecture.zh-CN.md +47 -0
  39. package/contributing/Basic/Chat-API.md +136 -0
  40. package/contributing/Basic/Chat-API.zh-CN.md +174 -0
  41. package/contributing/Basic/Contributing-Guidelines.md +83 -0
  42. package/contributing/Basic/Contributing-Guidelines.zh-CN.md +85 -0
  43. package/contributing/Basic/Feature-Development-Frontend.md +126 -0
  44. package/contributing/Basic/Feature-Development-Frontend.zh-CN.md +126 -0
  45. package/contributing/Basic/Feature-Development.md +713 -0
  46. package/contributing/Basic/Feature-Development.zh-CN.md +707 -0
  47. package/contributing/Basic/Folder-Structure.md +40 -0
  48. package/contributing/Basic/Folder-Structure.zh-CN.md +40 -0
  49. package/contributing/Basic/Intro.md +111 -0
  50. package/contributing/Basic/Intro.zh-CN.md +111 -0
  51. package/contributing/Basic/Resources.md +19 -0
  52. package/contributing/Basic/Resources.zh-CN.md +19 -0
  53. package/contributing/Basic/Setup-Development.md +69 -0
  54. package/contributing/Basic/Setup-Development.zh-CN.md +69 -0
  55. package/contributing/Basic/Test.md +87 -0
  56. package/contributing/Basic/Test.zh-CN.md +87 -0
  57. package/contributing/Home.md +87 -0
  58. package/contributing/Internationalization/Add-New-Locale.md +62 -0
  59. package/contributing/Internationalization/Add-New-Locale.zh-CN.md +62 -0
  60. package/contributing/Internationalization/Internationalization-Implementation.md +125 -0
  61. package/contributing/Internationalization/Internationalization-Implementation.zh-CN.md +125 -0
  62. package/contributing/Others/Lighthouse.md +65 -0
  63. package/contributing/Others/Lighthouse.zh-CN.md +65 -0
  64. package/contributing/State-Management/State-Management-Intro.md +224 -0
  65. package/contributing/State-Management/State-Management-Intro.zh-CN.md +216 -0
  66. package/contributing/State-Management/State-Management-Selectors.md +68 -0
  67. package/contributing/State-Management/State-Management-Selectors.zh-CN.md +49 -0
  68. package/contributing/Upstream-Sync.md +58 -0
  69. package/contributing/Upstream-Sync.zh-CN.md +58 -0
  70. package/contributing/_Footer.md +1 -0
  71. package/contributing/_Sidebar.md +48 -0
  72. package/docs/self-hosting/advanced/analytics.mdx +31 -0
  73. package/docs/self-hosting/advanced/analytics.zh-CN.mdx +28 -0
  74. package/docs/self-hosting/advanced/authentication.mdx +67 -0
  75. package/docs/self-hosting/advanced/authentication.zh-CN.mdx +65 -0
  76. package/docs/self-hosting/advanced/feature-flags.mdx +47 -0
  77. package/docs/self-hosting/advanced/feature-flags.zh-CN.mdx +43 -0
  78. package/docs/self-hosting/advanced/model-list.mdx +48 -0
  79. package/docs/self-hosting/advanced/model-list.zh-CN.mdx +47 -0
  80. package/docs/self-hosting/advanced/server-database.mdx +425 -0
  81. package/docs/self-hosting/advanced/server-database.zh-CN.mdx +413 -0
  82. package/docs/self-hosting/advanced/settings-url-share.mdx +147 -0
  83. package/docs/self-hosting/advanced/settings-url-share.zh-CN.mdx +145 -0
  84. package/docs/self-hosting/advanced/sso-providers/auth0.mdx +133 -0
  85. package/docs/self-hosting/advanced/sso-providers/auth0.zh-CN.mdx +125 -0
  86. package/docs/self-hosting/advanced/sso-providers/authentik.mdx +74 -0
  87. package/docs/self-hosting/advanced/sso-providers/authentik.zh-CN.mdx +68 -0
  88. package/docs/self-hosting/advanced/sso-providers/github.mdx +102 -0
  89. package/docs/self-hosting/advanced/sso-providers/github.zh-CN.mdx +94 -0
  90. package/docs/self-hosting/advanced/sso-providers/microsoft-entra-id.mdx +105 -0
  91. package/docs/self-hosting/advanced/sso-providers/microsoft-entra-id.zh-CN.mdx +99 -0
  92. package/docs/self-hosting/advanced/sso-providers/zitadel.mdx +119 -0
  93. package/docs/self-hosting/advanced/sso-providers/zitadel.zh-CN.mdx +112 -0
  94. package/docs/self-hosting/advanced/upstream-sync.mdx +161 -0
  95. package/docs/self-hosting/advanced/upstream-sync.zh-CN.mdx +153 -0
  96. package/docs/self-hosting/environment-variables/analytics.mdx +84 -0
  97. package/docs/self-hosting/environment-variables/analytics.zh-CN.mdx +82 -0
  98. package/docs/self-hosting/environment-variables/auth.mdx +171 -0
  99. package/docs/self-hosting/environment-variables/auth.zh-CN.mdx +168 -0
  100. package/docs/self-hosting/environment-variables/basic.mdx +118 -0
  101. package/docs/self-hosting/environment-variables/basic.zh-CN.mdx +114 -0
  102. package/docs/self-hosting/environment-variables/model-provider.mdx +299 -0
  103. package/docs/self-hosting/environment-variables/model-provider.zh-CN.mdx +297 -0
  104. package/docs/self-hosting/environment-variables.mdx +22 -0
  105. package/docs/self-hosting/environment-variables.zh-CN.mdx +20 -0
  106. package/docs/self-hosting/examples/azure-openai.mdx +46 -0
  107. package/docs/self-hosting/examples/azure-openai.zh-CN.mdx +48 -0
  108. package/docs/self-hosting/examples/ollama.mdx +104 -0
  109. package/docs/self-hosting/examples/ollama.zh-CN.mdx +102 -0
  110. package/docs/self-hosting/faq/no-v1-suffix.mdx +30 -0
  111. package/docs/self-hosting/faq/no-v1-suffix.zh-CN.mdx +27 -0
  112. package/docs/self-hosting/faq/proxy-with-unable-to-verify-leaf-signature.mdx +84 -0
  113. package/docs/self-hosting/faq/proxy-with-unable-to-verify-leaf-signature.zh-CN.mdx +81 -0
  114. package/docs/self-hosting/platform/docker-compose.mdx +143 -0
  115. package/docs/self-hosting/platform/docker-compose.zh-CN.mdx +133 -0
  116. package/docs/self-hosting/platform/docker.mdx +169 -0
  117. package/docs/self-hosting/platform/docker.zh-CN.mdx +167 -0
  118. package/docs/self-hosting/platform/netlify.mdx +154 -0
  119. package/docs/self-hosting/platform/netlify.zh-CN.mdx +148 -0
  120. package/docs/self-hosting/platform/railway.mdx +35 -0
  121. package/docs/self-hosting/platform/railway.zh-CN.mdx +34 -0
  122. package/docs/self-hosting/platform/repocloud.mdx +38 -0
  123. package/docs/self-hosting/platform/repocloud.zh-CN.mdx +36 -0
  124. package/docs/self-hosting/platform/sealos.mdx +37 -0
  125. package/docs/self-hosting/platform/sealos.zh-CN.mdx +36 -0
  126. package/docs/self-hosting/platform/vercel.mdx +46 -0
  127. package/docs/self-hosting/platform/vercel.zh-CN.mdx +48 -0
  128. package/docs/self-hosting/platform/zeabur.mdx +84 -0
  129. package/docs/self-hosting/platform/zeabur.zh-CN.mdx +83 -0
  130. package/docs/self-hosting/start.mdx +31 -0
  131. package/docs/self-hosting/start.zh-CN.mdx +32 -0
  132. package/docs/usage/agents/concepts.mdx +41 -0
  133. package/docs/usage/agents/concepts.zh-CN.mdx +38 -0
  134. package/docs/usage/agents/custom-agent.mdx +58 -0
  135. package/docs/usage/agents/custom-agent.zh-CN.mdx +53 -0
  136. package/docs/usage/agents/model.mdx +80 -0
  137. package/docs/usage/agents/model.zh-CN.mdx +75 -0
  138. package/docs/usage/agents/prompt.mdx +110 -0
  139. package/docs/usage/agents/prompt.zh-CN.mdx +106 -0
  140. package/docs/usage/agents/topics.mdx +27 -0
  141. package/docs/usage/agents/topics.zh-CN.mdx +25 -0
  142. package/docs/usage/features/agent-market.mdx +40 -0
  143. package/docs/usage/features/agent-market.zh-CN.mdx +36 -0
  144. package/docs/usage/features/auth.mdx +65 -0
  145. package/docs/usage/features/auth.zh-CN.mdx +60 -0
  146. package/docs/usage/features/database.mdx +60 -0
  147. package/docs/usage/features/database.zh-CN.mdx +54 -0
  148. package/docs/usage/features/local-llm.mdx +56 -0
  149. package/docs/usage/features/local-llm.zh-CN.mdx +48 -0
  150. package/docs/usage/features/mobile.mdx +24 -0
  151. package/docs/usage/features/mobile.zh-CN.mdx +23 -0
  152. package/docs/usage/features/more.mdx +33 -0
  153. package/docs/usage/features/more.zh-CN.mdx +28 -0
  154. package/docs/usage/features/multi-ai-providers.mdx +66 -0
  155. package/docs/usage/features/multi-ai-providers.zh-CN.mdx +66 -0
  156. package/docs/usage/features/plugin-system.mdx +89 -0
  157. package/docs/usage/features/plugin-system.zh-CN.mdx +78 -0
  158. package/docs/usage/features/pwa.mdx +74 -0
  159. package/docs/usage/features/pwa.zh-CN.mdx +74 -0
  160. package/docs/usage/features/text-to-image.mdx +26 -0
  161. package/docs/usage/features/text-to-image.zh-CN.mdx +26 -0
  162. package/docs/usage/features/theme.mdx +34 -0
  163. package/docs/usage/features/theme.zh-CN.mdx +30 -0
  164. package/docs/usage/features/tts.mdx +52 -0
  165. package/docs/usage/features/tts.zh-CN.mdx +46 -0
  166. package/docs/usage/features/vision.mdx +28 -0
  167. package/docs/usage/features/vision.zh-CN.mdx +25 -0
  168. package/docs/usage/plugins/basic-usage.mdx +69 -0
  169. package/docs/usage/plugins/basic-usage.zh-CN.mdx +67 -0
  170. package/docs/usage/plugins/custom-plugin.mdx +37 -0
  171. package/docs/usage/plugins/custom-plugin.zh-CN.mdx +35 -0
  172. package/docs/usage/plugins/development.mdx +329 -0
  173. package/docs/usage/plugins/development.zh-CN.mdx +323 -0
  174. package/docs/usage/plugins/store.mdx +30 -0
  175. package/docs/usage/plugins/store.zh-CN.mdx +27 -0
  176. package/docs/usage/providers/01ai.mdx +85 -0
  177. package/docs/usage/providers/01ai.zh-CN.mdx +85 -0
  178. package/docs/usage/providers/anthropic.mdx +78 -0
  179. package/docs/usage/providers/anthropic.zh-CN.mdx +75 -0
  180. package/docs/usage/providers/azure.mdx +88 -0
  181. package/docs/usage/providers/azure.zh-CN.mdx +79 -0
  182. package/docs/usage/providers/bedrock.mdx +139 -0
  183. package/docs/usage/providers/bedrock.zh-CN.mdx +134 -0
  184. package/docs/usage/providers/deepseek.mdx +90 -0
  185. package/docs/usage/providers/deepseek.zh-CN.mdx +85 -0
  186. package/docs/usage/providers/gemini.mdx +82 -0
  187. package/docs/usage/providers/gemini.zh-CN.mdx +78 -0
  188. package/docs/usage/providers/groq.mdx +72 -0
  189. package/docs/usage/providers/groq.zh-CN.mdx +67 -0
  190. package/docs/usage/providers/minimax.mdx +87 -0
  191. package/docs/usage/providers/minimax.zh-CN.mdx +84 -0
  192. package/docs/usage/providers/mistral.mdx +69 -0
  193. package/docs/usage/providers/mistral.zh-CN.mdx +64 -0
  194. package/docs/usage/providers/moonshot.mdx +68 -0
  195. package/docs/usage/providers/moonshot.zh-CN.mdx +63 -0
  196. package/docs/usage/providers/ollama/gemma.mdx +68 -0
  197. package/docs/usage/providers/ollama/gemma.zh-CN.mdx +67 -0
  198. package/docs/usage/providers/ollama/qwen.mdx +69 -0
  199. package/docs/usage/providers/ollama/qwen.zh-CN.mdx +66 -0
  200. package/docs/usage/providers/ollama.mdx +205 -0
  201. package/docs/usage/providers/ollama.zh-CN.mdx +203 -0
  202. package/docs/usage/providers/openai.mdx +94 -0
  203. package/docs/usage/providers/openai.zh-CN.mdx +87 -0
  204. package/docs/usage/providers/openrouter.mdx +110 -0
  205. package/docs/usage/providers/openrouter.zh-CN.mdx +104 -0
  206. package/docs/usage/providers/perplexity.mdx +62 -0
  207. package/docs/usage/providers/perplexity.zh-CN.mdx +59 -0
  208. package/docs/usage/providers/qwen.mdx +92 -0
  209. package/docs/usage/providers/qwen.zh-CN.mdx +87 -0
  210. package/docs/usage/providers/stepfun.mdx +66 -0
  211. package/docs/usage/providers/stepfun.zh-CN.mdx +62 -0
  212. package/docs/usage/providers/togetherai.mdx +72 -0
  213. package/docs/usage/providers/togetherai.zh-CN.mdx +70 -0
  214. package/docs/usage/providers/zhipu.mdx +67 -0
  215. package/docs/usage/providers/zhipu.zh-CN.mdx +61 -0
  216. package/docs/usage/providers.mdx +36 -0
  217. package/docs/usage/providers.zh-CN.mdx +34 -0
  218. package/docs/usage/start.mdx +48 -0
  219. package/docs/usage/start.zh-CN.mdx +40 -0
  220. package/docs/usage/tools-calling/anthropic.mdx +1 -0
  221. package/docs/usage/tools-calling/anthropic.zh-CN.mdx +956 -0
  222. package/docs/usage/tools-calling/google.mdx +1 -0
  223. package/docs/usage/tools-calling/google.zh-CN.mdx +13 -0
  224. package/docs/usage/tools-calling/groq.mdx +1 -0
  225. package/docs/usage/tools-calling/groq.zh-CN.mdx +15 -0
  226. package/docs/usage/tools-calling/openai.mdx +1 -0
  227. package/docs/usage/tools-calling/openai.zh-CN.mdx +833 -0
  228. package/docs/usage/tools-calling.mdx +3 -0
  229. package/docs/usage/tools-calling.zh-CN.mdx +255 -0
  230. package/drizzle.config.ts +29 -0
  231. package/locales/ar/auth.json +8 -0
  232. package/locales/ar/chat.json +137 -0
  233. package/locales/ar/clerk.json +769 -0
  234. package/locales/ar/common.json +224 -0
  235. package/locales/ar/components.json +16 -0
  236. package/locales/ar/error.json +117 -0
  237. package/locales/ar/market.json +32 -0
  238. package/locales/ar/metadata.json +18 -0
  239. package/locales/ar/migration.json +45 -0
  240. package/locales/ar/modelProvider.json +108 -0
  241. package/locales/ar/plugin.json +166 -0
  242. package/locales/ar/portal.json +4 -0
  243. package/locales/ar/setting.json +411 -0
  244. package/locales/ar/tool.json +10 -0
  245. package/locales/ar/welcome.json +49 -0
  246. package/locales/bg-BG/auth.json +8 -0
  247. package/locales/bg-BG/chat.json +137 -0
  248. package/locales/bg-BG/clerk.json +769 -0
  249. package/locales/bg-BG/common.json +224 -0
  250. package/locales/bg-BG/components.json +16 -0
  251. package/locales/bg-BG/error.json +117 -0
  252. package/locales/bg-BG/market.json +32 -0
  253. package/locales/bg-BG/metadata.json +18 -0
  254. package/locales/bg-BG/migration.json +45 -0
  255. package/locales/bg-BG/modelProvider.json +108 -0
  256. package/locales/bg-BG/plugin.json +166 -0
  257. package/locales/bg-BG/portal.json +4 -0
  258. package/locales/bg-BG/setting.json +411 -0
  259. package/locales/bg-BG/tool.json +10 -0
  260. package/locales/bg-BG/welcome.json +49 -0
  261. package/locales/de-DE/auth.json +8 -0
  262. package/locales/de-DE/chat.json +137 -0
  263. package/locales/de-DE/clerk.json +769 -0
  264. package/locales/de-DE/common.json +224 -0
  265. package/locales/de-DE/components.json +16 -0
  266. package/locales/de-DE/error.json +117 -0
  267. package/locales/de-DE/market.json +32 -0
  268. package/locales/de-DE/metadata.json +18 -0
  269. package/locales/de-DE/migration.json +45 -0
  270. package/locales/de-DE/modelProvider.json +108 -0
  271. package/locales/de-DE/plugin.json +166 -0
  272. package/locales/de-DE/portal.json +4 -0
  273. package/locales/de-DE/setting.json +411 -0
  274. package/locales/de-DE/tool.json +10 -0
  275. package/locales/de-DE/welcome.json +49 -0
  276. package/locales/en-US/auth.json +8 -0
  277. package/locales/en-US/chat.json +137 -0
  278. package/locales/en-US/clerk.json +769 -0
  279. package/locales/en-US/common.json +224 -0
  280. package/locales/en-US/components.json +16 -0
  281. package/locales/en-US/error.json +117 -0
  282. package/locales/en-US/market.json +32 -0
  283. package/locales/en-US/metadata.json +18 -0
  284. package/locales/en-US/migration.json +45 -0
  285. package/locales/en-US/modelProvider.json +108 -0
  286. package/locales/en-US/plugin.json +166 -0
  287. package/locales/en-US/portal.json +4 -0
  288. package/locales/en-US/setting.json +411 -0
  289. package/locales/en-US/tool.json +10 -0
  290. package/locales/en-US/welcome.json +49 -0
  291. package/locales/es-ES/auth.json +8 -0
  292. package/locales/es-ES/chat.json +137 -0
  293. package/locales/es-ES/clerk.json +769 -0
  294. package/locales/es-ES/common.json +224 -0
  295. package/locales/es-ES/components.json +16 -0
  296. package/locales/es-ES/error.json +117 -0
  297. package/locales/es-ES/market.json +32 -0
  298. package/locales/es-ES/metadata.json +18 -0
  299. package/locales/es-ES/migration.json +45 -0
  300. package/locales/es-ES/modelProvider.json +108 -0
  301. package/locales/es-ES/plugin.json +166 -0
  302. package/locales/es-ES/portal.json +4 -0
  303. package/locales/es-ES/setting.json +411 -0
  304. package/locales/es-ES/tool.json +10 -0
  305. package/locales/es-ES/welcome.json +49 -0
  306. package/locales/fr-FR/auth.json +8 -0
  307. package/locales/fr-FR/chat.json +137 -0
  308. package/locales/fr-FR/clerk.json +769 -0
  309. package/locales/fr-FR/common.json +224 -0
  310. package/locales/fr-FR/components.json +16 -0
  311. package/locales/fr-FR/error.json +117 -0
  312. package/locales/fr-FR/market.json +32 -0
  313. package/locales/fr-FR/metadata.json +18 -0
  314. package/locales/fr-FR/migration.json +45 -0
  315. package/locales/fr-FR/modelProvider.json +108 -0
  316. package/locales/fr-FR/plugin.json +166 -0
  317. package/locales/fr-FR/portal.json +4 -0
  318. package/locales/fr-FR/setting.json +411 -0
  319. package/locales/fr-FR/tool.json +10 -0
  320. package/locales/fr-FR/welcome.json +49 -0
  321. package/locales/it-IT/auth.json +8 -0
  322. package/locales/it-IT/chat.json +137 -0
  323. package/locales/it-IT/clerk.json +769 -0
  324. package/locales/it-IT/common.json +224 -0
  325. package/locales/it-IT/components.json +16 -0
  326. package/locales/it-IT/error.json +117 -0
  327. package/locales/it-IT/market.json +32 -0
  328. package/locales/it-IT/metadata.json +18 -0
  329. package/locales/it-IT/migration.json +45 -0
  330. package/locales/it-IT/modelProvider.json +108 -0
  331. package/locales/it-IT/plugin.json +166 -0
  332. package/locales/it-IT/portal.json +4 -0
  333. package/locales/it-IT/setting.json +411 -0
  334. package/locales/it-IT/tool.json +10 -0
  335. package/locales/it-IT/welcome.json +49 -0
  336. package/locales/ja-JP/auth.json +8 -0
  337. package/locales/ja-JP/chat.json +137 -0
  338. package/locales/ja-JP/clerk.json +769 -0
  339. package/locales/ja-JP/common.json +224 -0
  340. package/locales/ja-JP/components.json +16 -0
  341. package/locales/ja-JP/error.json +117 -0
  342. package/locales/ja-JP/market.json +32 -0
  343. package/locales/ja-JP/metadata.json +18 -0
  344. package/locales/ja-JP/migration.json +45 -0
  345. package/locales/ja-JP/modelProvider.json +108 -0
  346. package/locales/ja-JP/plugin.json +166 -0
  347. package/locales/ja-JP/portal.json +4 -0
  348. package/locales/ja-JP/setting.json +411 -0
  349. package/locales/ja-JP/tool.json +10 -0
  350. package/locales/ja-JP/welcome.json +49 -0
  351. package/locales/ko-KR/auth.json +8 -0
  352. package/locales/ko-KR/chat.json +137 -0
  353. package/locales/ko-KR/clerk.json +769 -0
  354. package/locales/ko-KR/common.json +224 -0
  355. package/locales/ko-KR/components.json +16 -0
  356. package/locales/ko-KR/error.json +117 -0
  357. package/locales/ko-KR/market.json +32 -0
  358. package/locales/ko-KR/metadata.json +18 -0
  359. package/locales/ko-KR/migration.json +45 -0
  360. package/locales/ko-KR/modelProvider.json +108 -0
  361. package/locales/ko-KR/plugin.json +166 -0
  362. package/locales/ko-KR/portal.json +4 -0
  363. package/locales/ko-KR/setting.json +411 -0
  364. package/locales/ko-KR/tool.json +10 -0
  365. package/locales/ko-KR/welcome.json +49 -0
  366. package/locales/nl-NL/auth.json +8 -0
  367. package/locales/nl-NL/chat.json +137 -0
  368. package/locales/nl-NL/clerk.json +769 -0
  369. package/locales/nl-NL/common.json +224 -0
  370. package/locales/nl-NL/components.json +16 -0
  371. package/locales/nl-NL/error.json +117 -0
  372. package/locales/nl-NL/market.json +32 -0
  373. package/locales/nl-NL/metadata.json +18 -0
  374. package/locales/nl-NL/migration.json +45 -0
  375. package/locales/nl-NL/modelProvider.json +108 -0
  376. package/locales/nl-NL/plugin.json +166 -0
  377. package/locales/nl-NL/portal.json +4 -0
  378. package/locales/nl-NL/setting.json +411 -0
  379. package/locales/nl-NL/tool.json +10 -0
  380. package/locales/nl-NL/welcome.json +49 -0
  381. package/locales/pl-PL/auth.json +8 -0
  382. package/locales/pl-PL/chat.json +137 -0
  383. package/locales/pl-PL/clerk.json +769 -0
  384. package/locales/pl-PL/common.json +224 -0
  385. package/locales/pl-PL/components.json +16 -0
  386. package/locales/pl-PL/error.json +117 -0
  387. package/locales/pl-PL/market.json +32 -0
  388. package/locales/pl-PL/metadata.json +18 -0
  389. package/locales/pl-PL/migration.json +45 -0
  390. package/locales/pl-PL/modelProvider.json +108 -0
  391. package/locales/pl-PL/plugin.json +166 -0
  392. package/locales/pl-PL/portal.json +4 -0
  393. package/locales/pl-PL/setting.json +411 -0
  394. package/locales/pl-PL/tool.json +10 -0
  395. package/locales/pl-PL/welcome.json +49 -0
  396. package/locales/pt-BR/auth.json +8 -0
  397. package/locales/pt-BR/chat.json +137 -0
  398. package/locales/pt-BR/clerk.json +769 -0
  399. package/locales/pt-BR/common.json +224 -0
  400. package/locales/pt-BR/components.json +16 -0
  401. package/locales/pt-BR/error.json +117 -0
  402. package/locales/pt-BR/market.json +32 -0
  403. package/locales/pt-BR/metadata.json +18 -0
  404. package/locales/pt-BR/migration.json +45 -0
  405. package/locales/pt-BR/modelProvider.json +108 -0
  406. package/locales/pt-BR/plugin.json +166 -0
  407. package/locales/pt-BR/portal.json +4 -0
  408. package/locales/pt-BR/setting.json +411 -0
  409. package/locales/pt-BR/tool.json +10 -0
  410. package/locales/pt-BR/welcome.json +49 -0
  411. package/locales/ru-RU/auth.json +8 -0
  412. package/locales/ru-RU/chat.json +137 -0
  413. package/locales/ru-RU/clerk.json +769 -0
  414. package/locales/ru-RU/common.json +224 -0
  415. package/locales/ru-RU/components.json +16 -0
  416. package/locales/ru-RU/error.json +117 -0
  417. package/locales/ru-RU/market.json +32 -0
  418. package/locales/ru-RU/metadata.json +18 -0
  419. package/locales/ru-RU/migration.json +45 -0
  420. package/locales/ru-RU/modelProvider.json +108 -0
  421. package/locales/ru-RU/plugin.json +166 -0
  422. package/locales/ru-RU/portal.json +4 -0
  423. package/locales/ru-RU/setting.json +411 -0
  424. package/locales/ru-RU/tool.json +10 -0
  425. package/locales/ru-RU/welcome.json +49 -0
  426. package/locales/tr-TR/auth.json +8 -0
  427. package/locales/tr-TR/chat.json +137 -0
  428. package/locales/tr-TR/clerk.json +769 -0
  429. package/locales/tr-TR/common.json +224 -0
  430. package/locales/tr-TR/components.json +16 -0
  431. package/locales/tr-TR/error.json +117 -0
  432. package/locales/tr-TR/market.json +32 -0
  433. package/locales/tr-TR/metadata.json +18 -0
  434. package/locales/tr-TR/migration.json +45 -0
  435. package/locales/tr-TR/modelProvider.json +108 -0
  436. package/locales/tr-TR/plugin.json +166 -0
  437. package/locales/tr-TR/portal.json +4 -0
  438. package/locales/tr-TR/setting.json +411 -0
  439. package/locales/tr-TR/tool.json +10 -0
  440. package/locales/tr-TR/welcome.json +49 -0
  441. package/locales/vi-VN/auth.json +8 -0
  442. package/locales/vi-VN/chat.json +137 -0
  443. package/locales/vi-VN/clerk.json +769 -0
  444. package/locales/vi-VN/common.json +224 -0
  445. package/locales/vi-VN/components.json +16 -0
  446. package/locales/vi-VN/error.json +117 -0
  447. package/locales/vi-VN/market.json +32 -0
  448. package/locales/vi-VN/metadata.json +18 -0
  449. package/locales/vi-VN/migration.json +45 -0
  450. package/locales/vi-VN/modelProvider.json +108 -0
  451. package/locales/vi-VN/plugin.json +166 -0
  452. package/locales/vi-VN/portal.json +4 -0
  453. package/locales/vi-VN/setting.json +411 -0
  454. package/locales/vi-VN/tool.json +10 -0
  455. package/locales/vi-VN/welcome.json +49 -0
  456. package/locales/zh-CN/auth.json +8 -0
  457. package/locales/zh-CN/chat.json +137 -0
  458. package/locales/zh-CN/clerk.json +769 -0
  459. package/locales/zh-CN/common.json +224 -0
  460. package/locales/zh-CN/components.json +16 -0
  461. package/locales/zh-CN/error.json +117 -0
  462. package/locales/zh-CN/market.json +32 -0
  463. package/locales/zh-CN/metadata.json +18 -0
  464. package/locales/zh-CN/migration.json +45 -0
  465. package/locales/zh-CN/modelProvider.json +108 -0
  466. package/locales/zh-CN/plugin.json +166 -0
  467. package/locales/zh-CN/portal.json +4 -0
  468. package/locales/zh-CN/setting.json +411 -0
  469. package/locales/zh-CN/tool.json +10 -0
  470. package/locales/zh-CN/welcome.json +49 -0
  471. package/locales/zh-TW/auth.json +8 -0
  472. package/locales/zh-TW/chat.json +137 -0
  473. package/locales/zh-TW/clerk.json +769 -0
  474. package/locales/zh-TW/common.json +224 -0
  475. package/locales/zh-TW/components.json +16 -0
  476. package/locales/zh-TW/error.json +117 -0
  477. package/locales/zh-TW/market.json +32 -0
  478. package/locales/zh-TW/metadata.json +18 -0
  479. package/locales/zh-TW/migration.json +45 -0
  480. package/locales/zh-TW/modelProvider.json +108 -0
  481. package/locales/zh-TW/plugin.json +166 -0
  482. package/locales/zh-TW/portal.json +4 -0
  483. package/locales/zh-TW/setting.json +411 -0
  484. package/locales/zh-TW/tool.json +10 -0
  485. package/locales/zh-TW/welcome.json +49 -0
  486. package/netlify.toml +10 -0
  487. package/next-sitemap.config.mjs +53 -0
  488. package/next.config.mjs +183 -9
  489. package/package.json +215 -85
  490. package/public/apple-touch-icon.png +0 -0
  491. package/public/favicon-32x32.ico +0 -0
  492. package/public/favicon.ico +0 -0
  493. package/public/icons/icon-192x192.maskable.png +0 -0
  494. package/public/icons/icon-192x192.png +0 -0
  495. package/public/icons/icon-512x512.maskable.png +0 -0
  496. package/public/icons/icon-512x512.png +0 -0
  497. package/public/images/banner_market_modal.webp +0 -0
  498. package/public/images/chatmode_chat_dark.webp +0 -0
  499. package/public/images/chatmode_chat_light.webp +0 -0
  500. package/public/images/chatmode_docs_dark.webp +0 -0
  501. package/public/images/chatmode_docs_light.webp +0 -0
  502. package/public/images/empty_topic_dark.webp +0 -0
  503. package/public/images/empty_topic_light.webp +0 -0
  504. package/public/images/logo.png +0 -0
  505. package/public/images/screenshot_background.webp +0 -0
  506. package/public/images/theme_auto.webp +0 -0
  507. package/public/images/theme_dark.webp +0 -0
  508. package/public/images/theme_light.webp +0 -0
  509. package/public/manifest.json +166 -0
  510. package/public/og/cover.png +0 -0
  511. package/public/screenshots/shot-1.desktop.png +0 -0
  512. package/public/screenshots/shot-1.mobile.png +0 -0
  513. package/public/screenshots/shot-2.desktop.png +0 -0
  514. package/public/screenshots/shot-2.mobile.png +0 -0
  515. package/public/screenshots/shot-3.desktop.png +0 -0
  516. package/public/screenshots/shot-3.mobile.png +0 -0
  517. package/public/screenshots/shot-4.desktop.png +0 -0
  518. package/public/screenshots/shot-4.mobile.png +0 -0
  519. package/public/screenshots/shot-5.desktop.png +0 -0
  520. package/public/screenshots/shot-5.mobile.png +0 -0
  521. package/public/videos/feedback.mp4 +0 -0
  522. package/public/videos/star.mp4 +0 -0
  523. package/renovate.json +13 -0
  524. package/scripts/docsWorkflow/const.ts +14 -0
  525. package/scripts/docsWorkflow/index.ts +82 -0
  526. package/scripts/docsWorkflow/toc.ts +60 -0
  527. package/scripts/docsWorkflow/utils.ts +38 -0
  528. package/scripts/i18nWorkflow/const.ts +18 -0
  529. package/scripts/i18nWorkflow/genDefaultLocale.ts +19 -0
  530. package/scripts/i18nWorkflow/genDiff.ts +50 -0
  531. package/scripts/i18nWorkflow/index.ts +11 -0
  532. package/scripts/i18nWorkflow/utils.ts +54 -0
  533. package/scripts/mdxWorkflow/index.ts +48 -0
  534. package/scripts/migrateServerDB/index.ts +32 -0
  535. package/scripts/readmeWorkflow/const.ts +19 -0
  536. package/scripts/readmeWorkflow/index.ts +12 -0
  537. package/scripts/readmeWorkflow/syncAgentIndex.ts +47 -0
  538. package/scripts/readmeWorkflow/syncPluginIndex.ts +42 -0
  539. package/scripts/readmeWorkflow/utlis.ts +52 -0
  540. package/sentry.client.config.ts +30 -0
  541. package/sentry.edge.config.ts +17 -0
  542. package/sentry.server.config.ts +19 -0
  543. package/src/app/(auth)/layout.tsx +19 -0
  544. package/src/app/(auth)/login/[[...login]]/page.tsx +21 -0
  545. package/src/app/(auth)/signup/[[...signup]]/page.tsx +21 -0
  546. package/src/app/(loading)/Client.tsx +13 -0
  547. package/src/app/(loading)/Redirect.tsx +51 -0
  548. package/src/app/(main)/(mobile)/me/(home)/__tests__/UserBanner.test.tsx +80 -0
  549. package/src/app/(main)/(mobile)/me/(home)/__tests__/useCategory.test.tsx +116 -0
  550. package/src/app/(main)/(mobile)/me/(home)/features/Category.tsx +15 -0
  551. package/src/app/(main)/(mobile)/me/(home)/features/Header.tsx +30 -0
  552. package/src/app/(main)/(mobile)/me/(home)/features/UserBanner.tsx +37 -0
  553. package/src/app/(main)/(mobile)/me/(home)/features/useCategory.tsx +118 -0
  554. package/src/app/(main)/(mobile)/me/(home)/layout.tsx +17 -0
  555. package/src/app/(main)/(mobile)/me/(home)/loading.tsx +38 -0
  556. package/src/app/(main)/(mobile)/me/(home)/page.tsx +38 -0
  557. package/src/app/(main)/(mobile)/me/data/features/Category.tsx +48 -0
  558. package/src/app/(main)/(mobile)/me/data/features/Header.tsx +33 -0
  559. package/src/app/(main)/(mobile)/me/data/layout.tsx +13 -0
  560. package/src/app/(main)/(mobile)/me/data/loading.tsx +5 -0
  561. package/src/app/(main)/(mobile)/me/data/page.tsx +27 -0
  562. package/src/app/(main)/(mobile)/me/profile/features/Category.tsx +45 -0
  563. package/src/app/(main)/(mobile)/me/profile/features/Header.tsx +33 -0
  564. package/src/app/(main)/(mobile)/me/profile/layout.tsx +16 -0
  565. package/src/app/(main)/(mobile)/me/profile/loading.tsx +5 -0
  566. package/src/app/(main)/(mobile)/me/profile/page.tsx +28 -0
  567. package/src/app/(main)/(mobile)/me/settings/features/Category.tsx +15 -0
  568. package/src/app/(main)/(mobile)/me/settings/features/Header.tsx +33 -0
  569. package/src/app/(main)/(mobile)/me/settings/features/useCategory.tsx +62 -0
  570. package/src/app/(main)/(mobile)/me/settings/layout.tsx +13 -0
  571. package/src/app/(main)/(mobile)/me/settings/loading.tsx +5 -0
  572. package/src/app/(main)/(mobile)/me/settings/page.tsx +28 -0
  573. package/src/app/(main)/@nav/_layout/Desktop/Avatar.test.tsx +55 -0
  574. package/src/app/(main)/@nav/_layout/Desktop/Avatar.tsx +53 -0
  575. package/src/app/(main)/@nav/_layout/Desktop/BottomActions.tsx +24 -0
  576. package/src/app/(main)/@nav/_layout/Desktop/TopActions.tsx +50 -0
  577. package/src/app/(main)/@nav/_layout/Desktop/index.tsx +26 -0
  578. package/src/app/(main)/@nav/_layout/Mobile.tsx +71 -0
  579. package/src/app/(main)/@nav/default.tsx +10 -0
  580. package/src/app/(main)/_layout/Desktop.tsx +33 -0
  581. package/src/app/(main)/_layout/Mobile.tsx +29 -0
  582. package/src/app/(main)/_layout/type.ts +6 -0
  583. package/src/app/(main)/chat/(workspace)/@conversation/default.tsx +23 -0
  584. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatHydration/index.tsx +33 -0
  585. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/DragUpload.tsx +245 -0
  586. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/LocalFiles.tsx +10 -0
  587. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/SendMore.tsx +120 -0
  588. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/index.tsx +182 -0
  589. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/Header/index.tsx +25 -0
  590. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/TextArea.test.tsx +316 -0
  591. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/TextArea.tsx +129 -0
  592. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/__tests__/useAutoFocus.test.ts +45 -0
  593. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/index.tsx +60 -0
  594. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/useAutoFocus.ts +13 -0
  595. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Mobile/Files.tsx +19 -0
  596. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Mobile/index.tsx +52 -0
  597. package/src/app/(main)/chat/(workspace)/@portal/_layout/Desktop.tsx +17 -0
  598. package/src/app/(main)/chat/(workspace)/@portal/_layout/Mobile.tsx +18 -0
  599. package/src/app/(main)/chat/(workspace)/@portal/default.tsx +27 -0
  600. package/src/app/(main)/chat/(workspace)/@portal/features/Header.tsx +52 -0
  601. package/src/app/(main)/chat/(workspace)/@portal/features/Tools/ToolList/Item/index.tsx +74 -0
  602. package/src/app/(main)/chat/(workspace)/@portal/features/Tools/ToolList/Item/style.ts +46 -0
  603. package/src/app/(main)/chat/(workspace)/@portal/features/Tools/ToolList/index.tsx +39 -0
  604. package/src/app/(main)/chat/(workspace)/@portal/features/Tools/ToolUI/Footer.tsx +33 -0
  605. package/src/app/(main)/chat/(workspace)/@portal/features/Tools/ToolUI/ToolRender.tsx +50 -0
  606. package/src/app/(main)/chat/(workspace)/@portal/features/Tools/ToolUI/index.tsx +37 -0
  607. package/src/app/(main)/chat/(workspace)/@portal/index.tsx +18 -0
  608. package/src/app/(main)/chat/(workspace)/@topic/_layout/Desktop.tsx +17 -0
  609. package/src/app/(main)/chat/(workspace)/@topic/_layout/Mobile.tsx +21 -0
  610. package/src/app/(main)/chat/(workspace)/@topic/default.tsx +32 -0
  611. package/src/app/(main)/chat/(workspace)/@topic/features/Header.tsx +88 -0
  612. package/src/app/(main)/chat/(workspace)/@topic/features/SkeletonList.tsx +57 -0
  613. package/src/app/(main)/chat/(workspace)/@topic/features/SystemRole/SystemRoleContent.tsx +128 -0
  614. package/src/app/(main)/chat/(workspace)/@topic/features/SystemRole/index.tsx +18 -0
  615. package/src/app/(main)/chat/(workspace)/@topic/features/SystemRole/style.ts +32 -0
  616. package/src/app/(main)/chat/(workspace)/@topic/features/TopicListContent/DefaultContent.tsx +29 -0
  617. package/src/app/(main)/chat/(workspace)/@topic/features/TopicListContent/TopicContent.tsx +211 -0
  618. package/src/app/(main)/chat/(workspace)/@topic/features/TopicListContent/TopicItem.tsx +81 -0
  619. package/src/app/(main)/chat/(workspace)/@topic/features/TopicListContent/index.tsx +107 -0
  620. package/src/app/(main)/chat/(workspace)/@topic/features/TopicSearchBar/index.tsx +42 -0
  621. package/src/app/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/HeaderAction.tsx +40 -0
  622. package/src/app/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/Main.tsx +91 -0
  623. package/src/app/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/Tags.tsx +31 -0
  624. package/src/app/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/index.tsx +8 -0
  625. package/src/app/(main)/chat/(workspace)/_layout/Desktop/HotKeys.tsx +49 -0
  626. package/src/app/(main)/chat/(workspace)/_layout/Desktop/Portal.tsx +79 -0
  627. package/src/app/(main)/chat/(workspace)/_layout/Desktop/TopicPanel.tsx +82 -0
  628. package/src/app/(main)/chat/(workspace)/_layout/Desktop/index.tsx +37 -0
  629. package/src/app/(main)/chat/(workspace)/_layout/Mobile/ChatHeader/ChatHeaderTitle.tsx +55 -0
  630. package/src/app/(main)/chat/(workspace)/_layout/Mobile/ChatHeader/index.tsx +37 -0
  631. package/src/app/(main)/chat/(workspace)/_layout/Mobile/TopicModal.tsx +35 -0
  632. package/src/app/(main)/chat/(workspace)/_layout/Mobile/index.tsx +21 -0
  633. package/src/app/(main)/chat/(workspace)/_layout/type.ts +8 -0
  634. package/src/app/(main)/chat/(workspace)/_layout/useInitAgentConfig.ts +10 -0
  635. package/src/app/(main)/chat/(workspace)/features/PluginTag/PluginStatus.tsx +108 -0
  636. package/src/app/(main)/chat/(workspace)/features/PluginTag/index.tsx +60 -0
  637. package/src/app/(main)/chat/(workspace)/features/SettingButton.tsx +25 -0
  638. package/src/app/(main)/chat/(workspace)/features/ShareButton/Preview.tsx +79 -0
  639. package/src/app/(main)/chat/(workspace)/features/ShareButton/ShareModal.tsx +164 -0
  640. package/src/app/(main)/chat/(workspace)/features/ShareButton/index.tsx +40 -0
  641. package/src/app/(main)/chat/(workspace)/features/ShareButton/style.ts +71 -0
  642. package/src/app/(main)/chat/(workspace)/features/ShareButton/type.ts +14 -0
  643. package/src/app/(main)/chat/(workspace)/features/ShareButton/useScreenshot.ts +60 -0
  644. package/src/app/(main)/chat/(workspace)/features/TelemetryNotification.tsx +93 -0
  645. package/src/app/(main)/chat/(workspace)/features/useWorkspaceModal.tsx +27 -0
  646. package/src/app/(main)/chat/(workspace)/layout.ts +11 -0
  647. package/src/app/(main)/chat/(workspace)/page.tsx +39 -0
  648. package/src/app/(main)/chat/@session/_layout/Desktop/PanelBody.tsx +22 -0
  649. package/src/app/(main)/chat/@session/_layout/Desktop/SessionHeader.tsx +60 -0
  650. package/src/app/(main)/chat/@session/_layout/Desktop/index.tsx +18 -0
  651. package/src/app/(main)/chat/@session/_layout/Mobile/SessionHeader.tsx +45 -0
  652. package/src/app/(main)/chat/@session/_layout/Mobile/index.tsx +22 -0
  653. package/src/app/(main)/chat/@session/default.tsx +29 -0
  654. package/src/app/(main)/chat/@session/features/SessionHydration.tsx +45 -0
  655. package/src/app/(main)/chat/@session/features/SessionListContent/CollapseGroup/Actions.tsx +141 -0
  656. package/src/app/(main)/chat/@session/features/SessionListContent/CollapseGroup/index.tsx +63 -0
  657. package/src/app/(main)/chat/@session/features/SessionListContent/DefaultMode.tsx +106 -0
  658. package/src/app/(main)/chat/@session/features/SessionListContent/Inbox/index.tsx +38 -0
  659. package/src/app/(main)/chat/@session/features/SessionListContent/List/AddButton.tsx +28 -0
  660. package/src/app/(main)/chat/@session/features/SessionListContent/List/Item/Actions.tsx +196 -0
  661. package/src/app/(main)/chat/@session/features/SessionListContent/List/Item/index.tsx +95 -0
  662. package/src/app/(main)/chat/@session/features/SessionListContent/List/index.tsx +67 -0
  663. package/src/app/(main)/chat/@session/features/SessionListContent/ListItem/index.tsx +67 -0
  664. package/src/app/(main)/chat/@session/features/SessionListContent/Modals/ConfigGroupModal/GroupItem.tsx +89 -0
  665. package/src/app/(main)/chat/@session/features/SessionListContent/Modals/ConfigGroupModal/index.tsx +85 -0
  666. package/src/app/(main)/chat/@session/features/SessionListContent/Modals/CreateGroupModal.tsx +70 -0
  667. package/src/app/(main)/chat/@session/features/SessionListContent/Modals/RenameGroupModal.tsx +59 -0
  668. package/src/app/(main)/chat/@session/features/SessionListContent/SearchMode.tsx +21 -0
  669. package/src/app/(main)/chat/@session/features/SessionListContent/index.tsx +18 -0
  670. package/src/app/(main)/chat/@session/features/SessionListContent/useSwitchSession.ts +26 -0
  671. package/src/app/(main)/chat/@session/features/SessionSearchBar.tsx +37 -0
  672. package/src/app/(main)/chat/@session/features/SkeletonList.tsx +51 -0
  673. package/src/app/(main)/chat/_layout/Desktop/SessionPanel.tsx +75 -0
  674. package/src/app/(main)/chat/_layout/Desktop/index.tsx +31 -0
  675. package/src/app/(main)/chat/_layout/Mobile.tsx +49 -0
  676. package/src/app/(main)/chat/_layout/type.ts +6 -0
  677. package/src/app/(main)/chat/error.tsx +5 -0
  678. package/src/app/(main)/chat/features/Migration/ExportConfigButton.tsx +33 -0
  679. package/src/app/(main)/chat/features/Migration/Failed.tsx +118 -0
  680. package/src/app/(main)/chat/features/Migration/Modal.tsx +80 -0
  681. package/src/app/(main)/chat/features/Migration/Start.tsx +106 -0
  682. package/src/app/(main)/chat/features/Migration/UpgradeButton.tsx +74 -0
  683. package/src/app/(main)/chat/features/Migration/const.ts +15 -0
  684. package/src/app/(main)/chat/features/Migration/index.tsx +39 -0
  685. package/src/app/(main)/chat/features/PageTitle/index.tsx +17 -0
  686. package/src/app/(main)/chat/layout.ts +11 -0
  687. package/src/app/(main)/chat/loading.tsx +3 -0
  688. package/src/app/(main)/chat/not-found.tsx +3 -0
  689. package/src/app/(main)/chat/settings/_layout/Desktop/Header.tsx +26 -0
  690. package/src/app/(main)/chat/settings/_layout/Desktop/index.tsx +21 -0
  691. package/src/app/(main)/chat/settings/_layout/Mobile/Header.tsx +27 -0
  692. package/src/app/(main)/chat/settings/_layout/Mobile/index.tsx +19 -0
  693. package/src/app/(main)/chat/settings/error.tsx +5 -0
  694. package/src/app/(main)/chat/settings/features/EditPage.tsx +40 -0
  695. package/src/app/(main)/chat/settings/features/HeaderContent.tsx +70 -0
  696. package/src/app/(main)/chat/settings/features/SubmitAgentButton/SubmitAgentModal.tsx +98 -0
  697. package/src/app/(main)/chat/settings/features/SubmitAgentButton/index.tsx +36 -0
  698. package/src/app/(main)/chat/settings/features/SubmitAgentButton/style.ts +46 -0
  699. package/src/app/(main)/chat/settings/layout.tsx +21 -0
  700. package/src/app/(main)/chat/settings/loading.tsx +3 -0
  701. package/src/app/(main)/chat/settings/modal/page.tsx +23 -0
  702. package/src/app/(main)/chat/settings/not-found.tsx +3 -0
  703. package/src/app/(main)/chat/settings/page.tsx +7 -0
  704. package/src/app/(main)/error.tsx +5 -0
  705. package/src/app/(main)/layout.tsx +11 -0
  706. package/src/app/(main)/market/@detail/default.tsx +12 -0
  707. package/src/app/(main)/market/@detail/features/AgentDetailContent.tsx +73 -0
  708. package/src/app/(main)/market/@detail/features/Banner.tsx +46 -0
  709. package/src/app/(main)/market/@detail/features/Comment.tsx +16 -0
  710. package/src/app/(main)/market/@detail/features/Header.tsx +81 -0
  711. package/src/app/(main)/market/@detail/features/Loading.tsx +63 -0
  712. package/src/app/(main)/market/@detail/features/TokenTag.tsx +26 -0
  713. package/src/app/(main)/market/@detail/features/style.ts +31 -0
  714. package/src/app/(main)/market/_layout/Desktop/DetailSidebar.tsx +84 -0
  715. package/src/app/(main)/market/_layout/Desktop/Header.tsx +28 -0
  716. package/src/app/(main)/market/_layout/Desktop/Hero.tsx +39 -0
  717. package/src/app/(main)/market/_layout/Desktop/index.tsx +46 -0
  718. package/src/app/(main)/market/_layout/Mobile/DetailModal.tsx +32 -0
  719. package/src/app/(main)/market/_layout/Mobile/Header.tsx +20 -0
  720. package/src/app/(main)/market/_layout/Mobile/index.tsx +25 -0
  721. package/src/app/(main)/market/_layout/type.ts +6 -0
  722. package/src/app/(main)/market/features/AgentCard/AgentCardBanner.tsx +59 -0
  723. package/src/app/(main)/market/features/AgentCard/index.tsx +139 -0
  724. package/src/app/(main)/market/features/AgentList.tsx +103 -0
  725. package/src/app/(main)/market/features/AgentSearchBar.tsx +42 -0
  726. package/src/app/(main)/market/features/ShareAgentButton/Inner.tsx +54 -0
  727. package/src/app/(main)/market/features/ShareAgentButton/index.tsx +50 -0
  728. package/src/app/(main)/market/features/TagList.tsx +69 -0
  729. package/src/app/(main)/market/layout.tsx +11 -0
  730. package/src/app/(main)/market/loading.tsx +15 -0
  731. package/src/app/(main)/market/page.tsx +44 -0
  732. package/src/app/(main)/not-found.tsx +3 -0
  733. package/src/app/(main)/profile/[[...slugs]]/Client.tsx +74 -0
  734. package/src/app/(main)/profile/[[...slugs]]/page.tsx +21 -0
  735. package/src/app/(main)/profile/_layout/Mobile/Header.tsx +26 -0
  736. package/src/app/(main)/profile/_layout/Mobile/index.tsx +16 -0
  737. package/src/app/(main)/profile/layout.tsx +20 -0
  738. package/src/app/(main)/profile/loading.tsx +23 -0
  739. package/src/app/(main)/settings/@category/default.tsx +15 -0
  740. package/src/app/(main)/settings/@category/features/CategoryContent.tsx +37 -0
  741. package/src/app/(main)/settings/@category/features/UpgradeAlert.tsx +38 -0
  742. package/src/app/(main)/settings/_layout/Desktop/Header.tsx +85 -0
  743. package/src/app/(main)/settings/_layout/Desktop/SideBar.tsx +59 -0
  744. package/src/app/(main)/settings/_layout/Desktop/index.tsx +54 -0
  745. package/src/app/(main)/settings/_layout/Mobile/Header.tsx +43 -0
  746. package/src/app/(main)/settings/_layout/Mobile/index.tsx +18 -0
  747. package/src/app/(main)/settings/_layout/type.ts +6 -0
  748. package/src/app/(main)/settings/about/features/AboutList.tsx +27 -0
  749. package/src/app/(main)/settings/about/features/Analytics.tsx +42 -0
  750. package/src/app/(main)/settings/about/features/ItemCard.tsx +45 -0
  751. package/src/app/(main)/settings/about/features/ItemLink.tsx +32 -0
  752. package/src/app/(main)/settings/about/features/Version.tsx +79 -0
  753. package/src/app/(main)/settings/about/index.tsx +139 -0
  754. package/src/app/(main)/settings/about/page.tsx +20 -0
  755. package/src/app/(main)/settings/agent/index.tsx +33 -0
  756. package/src/app/(main)/settings/agent/page.tsx +12 -0
  757. package/src/app/(main)/settings/common/features/Common.tsx +171 -0
  758. package/src/app/(main)/settings/common/features/Theme/ThemeSwatches/ThemeSwatchesNeutral.tsx +33 -0
  759. package/src/app/(main)/settings/common/features/Theme/ThemeSwatches/ThemeSwatchesPrimary.tsx +33 -0
  760. package/src/app/(main)/settings/common/features/Theme/index.tsx +148 -0
  761. package/src/app/(main)/settings/common/index.tsx +15 -0
  762. package/src/app/(main)/settings/common/page.tsx +13 -0
  763. package/src/app/(main)/settings/error.tsx +5 -0
  764. package/src/app/(main)/settings/features/UpgradeAlert.tsx +42 -0
  765. package/src/app/(main)/settings/hooks/useCategory.tsx +94 -0
  766. package/src/app/(main)/settings/hooks/useSyncSettings.ts +23 -0
  767. package/src/app/(main)/settings/layout.ts +11 -0
  768. package/src/app/(main)/settings/llm/ProviderList/Azure/index.tsx +107 -0
  769. package/src/app/(main)/settings/llm/ProviderList/Bedrock/index.tsx +68 -0
  770. package/src/app/(main)/settings/llm/ProviderList/Ollama/Checker.tsx +73 -0
  771. package/src/app/(main)/settings/llm/ProviderList/Ollama/index.tsx +29 -0
  772. package/src/app/(main)/settings/llm/ProviderList/OpenAI/index.tsx +20 -0
  773. package/src/app/(main)/settings/llm/ProviderList/providers.tsx +183 -0
  774. package/src/app/(main)/settings/llm/components/Checker.tsx +113 -0
  775. package/src/app/(main)/settings/llm/components/ProviderConfig/index.tsx +295 -0
  776. package/src/app/(main)/settings/llm/components/ProviderModelList/CustomModelOption.tsx +93 -0
  777. package/src/app/(main)/settings/llm/components/ProviderModelList/ModelConfigModal/Form.tsx +98 -0
  778. package/src/app/(main)/settings/llm/components/ProviderModelList/ModelConfigModal/MaxTokenSlider.tsx +103 -0
  779. package/src/app/(main)/settings/llm/components/ProviderModelList/ModelConfigModal/index.tsx +78 -0
  780. package/src/app/(main)/settings/llm/components/ProviderModelList/ModelFetcher.tsx +86 -0
  781. package/src/app/(main)/settings/llm/components/ProviderModelList/Option.tsx +66 -0
  782. package/src/app/(main)/settings/llm/components/ProviderModelList/index.tsx +147 -0
  783. package/src/app/(main)/settings/llm/const.ts +20 -0
  784. package/src/app/(main)/settings/llm/features/Footer.tsx +35 -0
  785. package/src/app/(main)/settings/llm/index.tsx +24 -0
  786. package/src/app/(main)/settings/llm/page.tsx +23 -0
  787. package/src/app/(main)/settings/llm/type.ts +5 -0
  788. package/src/app/(main)/settings/loading.tsx +9 -0
  789. package/src/app/(main)/settings/modal/page.tsx +27 -0
  790. package/src/app/(main)/settings/not-found.tsx +3 -0
  791. package/src/app/(main)/settings/sync/features/Alert.tsx +39 -0
  792. package/src/app/(main)/settings/sync/features/DeviceInfo/Card.tsx +42 -0
  793. package/src/app/(main)/settings/sync/features/DeviceInfo/DeviceName.tsx +63 -0
  794. package/src/app/(main)/settings/sync/features/DeviceInfo/SystemIcon.tsx +29 -0
  795. package/src/app/(main)/settings/sync/features/DeviceInfo/index.tsx +103 -0
  796. package/src/app/(main)/settings/sync/features/WebRTC/ChannelNameInput.tsx +46 -0
  797. package/src/app/(main)/settings/sync/features/WebRTC/SyncSwitch/index.css +237 -0
  798. package/src/app/(main)/settings/sync/features/WebRTC/SyncSwitch/index.tsx +79 -0
  799. package/src/app/(main)/settings/sync/features/WebRTC/generateRandomRoomName.ts +4 -0
  800. package/src/app/(main)/settings/sync/features/WebRTC/index.tsx +98 -0
  801. package/src/app/(main)/settings/sync/index.tsx +17 -0
  802. package/src/app/(main)/settings/sync/page.tsx +26 -0
  803. package/src/app/(main)/settings/system-agent/features/createForm.tsx +59 -0
  804. package/src/app/(main)/settings/system-agent/features/useSync.ts +23 -0
  805. package/src/app/(main)/settings/system-agent/index.tsx +15 -0
  806. package/src/app/(main)/settings/system-agent/page.tsx +14 -0
  807. package/src/app/(main)/settings/tts/features/OpenAI.tsx +54 -0
  808. package/src/app/(main)/settings/tts/features/STT.tsx +58 -0
  809. package/src/app/(main)/settings/tts/features/const.ts +30 -0
  810. package/src/app/(main)/settings/tts/index.tsx +15 -0
  811. package/src/app/(main)/settings/tts/page.tsx +12 -0
  812. package/src/app/(main)/welcome/_layout/Desktop.tsx +41 -0
  813. package/src/app/(main)/welcome/_layout/Mobile.tsx +12 -0
  814. package/src/app/(main)/welcome/features/Actions.tsx +39 -0
  815. package/src/app/(main)/welcome/features/Hero.tsx +63 -0
  816. package/src/app/(main)/welcome/features/Logo.tsx +30 -0
  817. package/src/app/(main)/welcome/layout.tsx +10 -0
  818. package/src/app/(main)/welcome/page.tsx +41 -0
  819. package/src/app/@modal/(.)settings/modal/index.tsx +45 -0
  820. package/src/app/@modal/(.)settings/modal/layout.tsx +44 -0
  821. package/src/app/@modal/(.)settings/modal/loading.tsx +5 -0
  822. package/src/app/@modal/(.)settings/modal/page.tsx +19 -0
  823. package/src/app/@modal/_layout/SettingModalLayout.tsx +71 -0
  824. package/src/app/@modal/chat/(.)settings/modal/features/CategoryContent.tsx +37 -0
  825. package/src/app/@modal/chat/(.)settings/modal/features/useCategory.tsx +54 -0
  826. package/src/app/@modal/chat/(.)settings/modal/layout.tsx +58 -0
  827. package/src/app/@modal/chat/(.)settings/modal/loading.tsx +5 -0
  828. package/src/app/@modal/chat/(.)settings/modal/page.tsx +55 -0
  829. package/src/app/@modal/default.tsx +3 -0
  830. package/src/app/@modal/error.tsx +5 -0
  831. package/src/app/@modal/layout.tsx +34 -0
  832. package/src/app/@modal/loading.tsx +5 -0
  833. package/src/app/api/auth/[...nextauth]/route.ts +3 -0
  834. package/src/app/api/chat/[provider]/route.test.ts +222 -0
  835. package/src/app/api/chat/[provider]/route.ts +56 -0
  836. package/src/app/api/chat/agentRuntime.test.ts +350 -0
  837. package/src/app/api/chat/agentRuntime.ts +254 -0
  838. package/src/app/api/chat/anthropic/route.test.ts +28 -0
  839. package/src/app/api/chat/anthropic/route.ts +33 -0
  840. package/src/app/api/chat/apiKeyManager.test.ts +131 -0
  841. package/src/app/api/chat/apiKeyManager.ts +46 -0
  842. package/src/app/api/chat/google/route.test.ts +28 -0
  843. package/src/app/api/chat/google/route.ts +20 -0
  844. package/src/app/api/chat/minimax/route.test.ts +24 -0
  845. package/src/app/api/chat/minimax/route.ts +5 -0
  846. package/src/app/api/chat/models/[provider]/route.ts +45 -0
  847. package/src/app/api/config.test.ts +43 -0
  848. package/src/app/api/config.ts +14 -0
  849. package/src/app/api/errorResponse.test.ts +100 -0
  850. package/src/app/api/errorResponse.ts +54 -0
  851. package/src/app/api/market/AgentMarket.test.ts +55 -0
  852. package/src/app/api/market/AgentMarket.ts +25 -0
  853. package/src/app/api/market/[id]/route.ts +22 -0
  854. package/src/app/api/market/route.ts +23 -0
  855. package/src/app/api/middleware/auth/index.test.ts +77 -0
  856. package/src/app/api/middleware/auth/index.ts +62 -0
  857. package/src/app/api/middleware/auth/utils.test.ts +150 -0
  858. package/src/app/api/middleware/auth/utils.ts +83 -0
  859. package/src/app/api/openai/createBizOpenAI/auth.test.ts +53 -0
  860. package/src/app/api/openai/createBizOpenAI/auth.ts +31 -0
  861. package/src/app/api/openai/createBizOpenAI/createAzureOpenai.ts +33 -0
  862. package/src/app/api/openai/createBizOpenAI/createOpenai.ts +17 -0
  863. package/src/app/api/openai/createBizOpenAI/index.ts +37 -0
  864. package/src/app/api/openai/stt/route.ts +31 -0
  865. package/src/app/api/openai/tts/route.ts +19 -0
  866. package/src/app/api/plugin/gateway/route.ts +82 -0
  867. package/src/app/api/plugin/gateway/settings.test.ts +105 -0
  868. package/src/app/api/plugin/gateway/settings.ts +29 -0
  869. package/src/app/api/plugin/store/Store.test.ts +26 -0
  870. package/src/app/api/plugin/store/Store.ts +19 -0
  871. package/src/app/api/plugin/store/route.ts +23 -0
  872. package/src/app/api/proxy/route.ts +34 -0
  873. package/src/app/api/text-to-image/[provider]/route.ts +61 -0
  874. package/src/app/api/trace/route.ts +40 -0
  875. package/src/app/api/tts/edge-speech/route.ts +9 -0
  876. package/src/app/api/tts/microsoft-speech/route.ts +9 -0
  877. package/src/app/api/webhooks/clerk/__tests__/fixtures/createUser.json +73 -0
  878. package/src/app/api/webhooks/clerk/route.ts +79 -0
  879. package/src/app/api/webhooks/clerk/validateRequest.ts +22 -0
  880. package/src/app/error.tsx +5 -0
  881. package/src/app/global-error.tsx +20 -0
  882. package/src/app/layout.tsx +65 -0
  883. package/src/app/metadata.ts +59 -0
  884. package/src/app/not-found.tsx +3 -0
  885. package/src/app/page.tsx +23 -0
  886. package/src/app/trpc/edge/[trpc]/route.ts +28 -0
  887. package/src/app/trpc/lambda/[trpc]/route.ts +26 -0
  888. package/src/app/trpc/tools/[trpc]/route.ts +26 -0
  889. package/src/chains/__tests__/langDetect.test.ts +51 -0
  890. package/src/chains/__tests__/pickEmoji.test.ts +47 -0
  891. package/src/chains/__tests__/summaryAgentName.test.ts +57 -0
  892. package/src/chains/__tests__/summaryDescription.test.ts +83 -0
  893. package/src/chains/__tests__/summaryTags.test.ts +54 -0
  894. package/src/chains/__tests__/summaryTitle.test.ts +54 -0
  895. package/src/chains/__tests__/translate.test.ts +28 -0
  896. package/src/chains/langDetect.ts +31 -0
  897. package/src/chains/pickEmoji.ts +31 -0
  898. package/src/chains/summaryAgentName.ts +35 -0
  899. package/src/chains/summaryDescription.ts +49 -0
  900. package/src/chains/summaryTags.ts +28 -0
  901. package/src/chains/summaryTitle.ts +21 -0
  902. package/src/chains/translate.ts +17 -0
  903. package/src/components/404/index.tsx +43 -0
  904. package/src/components/Analytics/Clarity.tsx +28 -0
  905. package/src/components/Analytics/Google.tsx +7 -0
  906. package/src/components/Analytics/Plausible.tsx +16 -0
  907. package/src/components/Analytics/Posthog.tsx +22 -0
  908. package/src/components/Analytics/Umami.tsx +16 -0
  909. package/src/components/Analytics/Vercel.tsx +8 -0
  910. package/src/components/Analytics/index.tsx +44 -0
  911. package/src/components/AntdStaticMethods/index.test.tsx +43 -0
  912. package/src/components/AntdStaticMethods/index.tsx +20 -0
  913. package/src/components/BrandWatermark/index.tsx +39 -0
  914. package/src/components/BrowserIcon/components/Brave.tsx +56 -0
  915. package/src/components/BrowserIcon/components/Chrome.tsx +14 -0
  916. package/src/components/BrowserIcon/components/Chromium.tsx +14 -0
  917. package/src/components/BrowserIcon/components/Edge.tsx +36 -0
  918. package/src/components/BrowserIcon/components/Firefox.tsx +38 -0
  919. package/src/components/BrowserIcon/components/Opera.tsx +19 -0
  920. package/src/components/BrowserIcon/components/Safari.tsx +23 -0
  921. package/src/components/BrowserIcon/components/Samsung.tsx +21 -0
  922. package/src/components/BrowserIcon/index.tsx +50 -0
  923. package/src/components/BrowserIcon/types.ts +8 -0
  924. package/src/components/Cell/Divider.tsx +22 -0
  925. package/src/components/Cell/index.tsx +53 -0
  926. package/src/components/CircleLoading/index.tsx +21 -0
  927. package/src/components/DataStyleModal/index.tsx +64 -0
  928. package/src/components/Error/index.tsx +58 -0
  929. package/src/components/Error/sentryCaptureException.ts +9 -0
  930. package/src/components/FetchErrorNotification/Description.tsx +48 -0
  931. package/src/components/FetchErrorNotification/index.tsx +15 -0
  932. package/src/components/FileList/EditableFileList.tsx +47 -0
  933. package/src/components/FileList/FileListViewer.tsx +19 -0
  934. package/src/components/FileList/index.ts +2 -0
  935. package/src/components/FileList/type.tsx +7 -0
  936. package/src/components/FullscreenLoading/index.tsx +21 -0
  937. package/src/components/GalleyGrid/Grid.tsx +36 -0
  938. package/src/components/GalleyGrid/index.tsx +58 -0
  939. package/src/components/GalleyGrid/style.ts +24 -0
  940. package/src/components/GuideModal/index.tsx +77 -0
  941. package/src/components/GuideVideo/index.tsx +30 -0
  942. package/src/components/HotKeys/index.tsx +77 -0
  943. package/src/components/ImageItem/index.tsx +75 -0
  944. package/src/components/ImageItem/style.ts +1 -0
  945. package/src/components/ManifestPreviewer/index.tsx +30 -0
  946. package/src/components/Menu/index.tsx +97 -0
  947. package/src/components/ModelIcon/index.tsx +99 -0
  948. package/src/components/ModelProviderIcon/index.tsx +128 -0
  949. package/src/components/ModelSelect/index.tsx +163 -0
  950. package/src/components/ModelTag/ModelIcon.tsx +93 -0
  951. package/src/components/ModelTag/index.tsx +13 -0
  952. package/src/components/Notification/index.tsx +95 -0
  953. package/src/components/PageTitle/index.tsx +11 -0
  954. package/src/components/SafeSpacing/index.tsx +27 -0
  955. package/src/components/SidebarHeader/index.tsx +38 -0
  956. package/src/components/SkeletonLoading/index.tsx +21 -0
  957. package/src/components/StopLoading.tsx +38 -0
  958. package/src/components/StructuredData/index.tsx +12 -0
  959. package/src/components/client/ClientResponsiveContent/index.tsx +32 -0
  960. package/src/components/client/ClientResponsiveLayout.tsx +32 -0
  961. package/src/components/server/MobileNavLayout.tsx +62 -0
  962. package/src/components/server/ServerLayout.tsx +19 -0
  963. package/src/config/__tests__/analytics.test.ts +47 -0
  964. package/src/config/__tests__/app.test.ts +48 -0
  965. package/src/config/__tests__/client.test.ts +40 -0
  966. package/src/config/analytics.ts +62 -0
  967. package/src/config/app.ts +60 -0
  968. package/src/config/auth.ts +129 -0
  969. package/src/config/db.ts +28 -0
  970. package/src/config/debug.ts +22 -0
  971. package/src/config/featureFlags/index.ts +31 -0
  972. package/src/config/featureFlags/schema.test.ts +59 -0
  973. package/src/config/featureFlags/schema.ts +57 -0
  974. package/src/config/featureFlags/utils/parser.test.ts +88 -0
  975. package/src/config/featureFlags/utils/parser.ts +32 -0
  976. package/src/config/file.ts +34 -0
  977. package/src/config/langfuse.ts +23 -0
  978. package/src/config/llm.ts +168 -0
  979. package/src/config/modelProviders/anthropic.ts +80 -0
  980. package/src/config/modelProviders/azure.ts +45 -0
  981. package/src/config/modelProviders/baichuan.ts +55 -0
  982. package/src/config/modelProviders/bedrock.ts +105 -0
  983. package/src/config/modelProviders/deepseek.ts +26 -0
  984. package/src/config/modelProviders/google.ts +91 -0
  985. package/src/config/modelProviders/groq.ts +48 -0
  986. package/src/config/modelProviders/index.ts +88 -0
  987. package/src/config/modelProviders/minimax.ts +50 -0
  988. package/src/config/modelProviders/mistral.ts +49 -0
  989. package/src/config/modelProviders/moonshot.ts +33 -0
  990. package/src/config/modelProviders/ollama.ts +190 -0
  991. package/src/config/modelProviders/openai.ts +142 -0
  992. package/src/config/modelProviders/openrouter.ts +125 -0
  993. package/src/config/modelProviders/perplexity.ts +52 -0
  994. package/src/config/modelProviders/qwen.ts +58 -0
  995. package/src/config/modelProviders/stepfun.ts +41 -0
  996. package/src/config/modelProviders/togetherai.ts +79 -0
  997. package/src/config/modelProviders/zeroone.ts +74 -0
  998. package/src/config/modelProviders/zhipu.ts +64 -0
  999. package/src/const/auth.ts +45 -0
  1000. package/src/const/fetch.ts +27 -1
  1001. package/src/const/guide.ts +86 -0
  1002. package/src/const/hotkeys.ts +5 -0
  1003. package/src/const/layoutTokens.test.ts +11 -0
  1004. package/src/const/layoutTokens.ts +25 -0
  1005. package/src/const/locale.ts +12 -0
  1006. package/src/const/market.ts +15 -0
  1007. package/src/const/message.ts +1 -0
  1008. package/src/const/meta.ts +8 -0
  1009. package/src/const/plugin.ts +2 -0
  1010. package/src/const/session.ts +25 -0
  1011. package/src/const/settings/agent.ts +40 -0
  1012. package/src/const/settings/common.ts +7 -0
  1013. package/src/const/settings/index.ts +28 -0
  1014. package/src/const/settings/llm.ts +106 -0
  1015. package/src/const/settings/sync.ts +5 -0
  1016. package/src/const/settings/systemAgent.ts +14 -0
  1017. package/src/const/settings/tool.ts +5 -0
  1018. package/src/const/settings/tts.ts +10 -0
  1019. package/src/const/theme.ts +5 -0
  1020. package/src/const/trace.ts +60 -0
  1021. package/src/const/url.ts +63 -0
  1022. package/src/const/user.ts +10 -0
  1023. package/src/const/version.ts +6 -0
  1024. package/src/database/client/core/__tests__/db-upgrade.test.ts +42 -0
  1025. package/src/database/client/core/__tests__/db.test.ts +79 -0
  1026. package/src/database/client/core/__tests__/model.test.ts +55 -0
  1027. package/src/database/client/core/db.ts +246 -0
  1028. package/src/database/client/core/index.ts +3 -0
  1029. package/src/database/client/core/migrations/migrateSettingsToUser/fixtures/input.json +55 -0
  1030. package/src/database/client/core/migrations/migrateSettingsToUser/fixtures/output.json +60 -0
  1031. package/src/database/client/core/migrations/migrateSettingsToUser/index.test.ts +14 -0
  1032. package/src/database/client/core/migrations/migrateSettingsToUser/index.ts +22 -0
  1033. package/src/database/client/core/migrations/migrateSettingsToUser/type.ts +108 -0
  1034. package/src/database/client/core/model.ts +252 -0
  1035. package/src/database/client/core/schemas.ts +88 -0
  1036. package/src/database/client/core/sync.ts +328 -0
  1037. package/src/database/client/core/types/db.ts +15 -0
  1038. package/src/database/client/models/__DEBUG.ts +124 -0
  1039. package/src/database/client/models/__tests__/file.test.ts +83 -0
  1040. package/src/database/client/models/__tests__/message.test.ts +414 -0
  1041. package/src/database/client/models/__tests__/plugin.test.ts +81 -0
  1042. package/src/database/client/models/__tests__/session.test.ts +254 -0
  1043. package/src/database/client/models/__tests__/sessionGroup.test.ts +220 -0
  1044. package/src/database/client/models/__tests__/topic.test.ts +523 -0
  1045. package/src/database/client/models/__tests__/user.test.ts +82 -0
  1046. package/src/database/client/models/file.ts +31 -0
  1047. package/src/database/client/models/message.ts +268 -0
  1048. package/src/database/client/models/plugin.ts +62 -0
  1049. package/src/database/client/models/session.ts +271 -0
  1050. package/src/database/client/models/sessionGroup.ts +90 -0
  1051. package/src/database/client/models/topic.ts +244 -0
  1052. package/src/database/client/models/user.ts +69 -0
  1053. package/src/database/client/schemas/files.ts +39 -0
  1054. package/src/database/client/schemas/message.ts +50 -0
  1055. package/src/database/client/schemas/plugin.ts +12 -0
  1056. package/src/database/client/schemas/session.ts +51 -0
  1057. package/src/database/client/schemas/sessionGroup.ts +8 -0
  1058. package/src/database/client/schemas/topic.ts +12 -0
  1059. package/src/database/client/schemas/user.ts +40 -0
  1060. package/src/database/server/core/db.ts +44 -0
  1061. package/src/database/server/core/dbForTest.ts +45 -0
  1062. package/src/database/server/index.ts +1 -0
  1063. package/src/database/server/migrations/0000_init.sql +439 -0
  1064. package/src/database/server/migrations/0001_add_client_id.sql +9 -0
  1065. package/src/database/server/migrations/0002_amusing_puma.sql +9 -0
  1066. package/src/database/server/migrations/0003_naive_echo.sql +46 -0
  1067. package/src/database/server/migrations/meta/0000_snapshot.json +1583 -0
  1068. package/src/database/server/migrations/meta/0001_snapshot.json +1636 -0
  1069. package/src/database/server/migrations/meta/0002_snapshot.json +1630 -0
  1070. package/src/database/server/migrations/meta/0003_snapshot.json +1823 -0
  1071. package/src/database/server/migrations/meta/_journal.json +34 -0
  1072. package/src/database/server/models/__tests__/file.test.ts +140 -0
  1073. package/src/database/server/models/__tests__/message.test.ts +917 -0
  1074. package/src/database/server/models/__tests__/plugin.test.ts +172 -0
  1075. package/src/database/server/models/__tests__/session.test.ts +595 -0
  1076. package/src/database/server/models/__tests__/topic.test.ts +623 -0
  1077. package/src/database/server/models/__tests__/user.test.ts +173 -0
  1078. package/src/database/server/models/_template.ts +44 -0
  1079. package/src/database/server/models/file.ts +51 -0
  1080. package/src/database/server/models/message.ts +388 -0
  1081. package/src/database/server/models/plugin.ts +63 -0
  1082. package/src/database/server/models/session.ts +291 -0
  1083. package/src/database/server/models/sessionGroup.ts +69 -0
  1084. package/src/database/server/models/topic.ts +265 -0
  1085. package/src/database/server/models/user.ts +144 -0
  1086. package/src/database/server/schemas/_id.ts +15 -0
  1087. package/src/database/server/schemas/lobechat.ts +655 -0
  1088. package/src/database/server/utils/idGenerator.test.ts +39 -0
  1089. package/src/database/server/utils/idGenerator.ts +26 -0
  1090. package/src/features/AgentInfo/index.tsx +70 -0
  1091. package/src/features/AgentSetting/AgentChat/index.tsx +142 -0
  1092. package/src/features/AgentSetting/AgentMeta/AutoGenerateAvatar.tsx +59 -0
  1093. package/src/features/AgentSetting/AgentMeta/AutoGenerateInput.tsx +45 -0
  1094. package/src/features/AgentSetting/AgentMeta/AutoGenerateSelect.tsx +50 -0
  1095. package/src/features/AgentSetting/AgentMeta/BackgroundSwatches.tsx +27 -0
  1096. package/src/features/AgentSetting/AgentMeta/index.tsx +132 -0
  1097. package/src/features/AgentSetting/AgentModal/ModelSelect.tsx +20 -0
  1098. package/src/features/AgentSetting/AgentModal/index.tsx +95 -0
  1099. package/src/features/AgentSetting/AgentPlugin/AddPluginButton.tsx +49 -0
  1100. package/src/features/AgentSetting/AgentPlugin/LoadingList.tsx +48 -0
  1101. package/src/features/AgentSetting/AgentPlugin/LocalPluginItem.tsx +42 -0
  1102. package/src/features/AgentSetting/AgentPlugin/PluginAction/index.tsx +36 -0
  1103. package/src/features/AgentSetting/AgentPlugin/index.tsx +163 -0
  1104. package/src/features/AgentSetting/AgentPrompt/TokenTag.tsx +39 -0
  1105. package/src/features/AgentSetting/AgentPrompt/index.tsx +128 -0
  1106. package/src/features/AgentSetting/AgentSettings.tsx +24 -0
  1107. package/src/features/AgentSetting/AgentSettingsStore.tsx +14 -0
  1108. package/src/features/AgentSetting/AgentTTS/SelectWithTTSPreview.tsx +120 -0
  1109. package/src/features/AgentSetting/AgentTTS/index.tsx +122 -0
  1110. package/src/features/AgentSetting/AgentTTS/options.ts +16 -0
  1111. package/src/features/AgentSetting/StoreUpdater.tsx +32 -0
  1112. package/src/features/AgentSetting/hooks/useAgentSettings.ts +31 -0
  1113. package/src/features/AgentSetting/index.tsx +3 -0
  1114. package/src/features/AgentSetting/store/action.ts +305 -0
  1115. package/src/features/AgentSetting/store/index.ts +16 -0
  1116. package/src/features/AgentSetting/store/initialState.ts +28 -0
  1117. package/src/features/AgentSetting/store/reducers/config.ts +54 -0
  1118. package/src/features/AgentSetting/store/reducers/meta.ts +21 -0
  1119. package/src/features/AgentSetting/store/selectors.ts +11 -0
  1120. package/src/features/AgentSetting/useSyncAgemtSettings.ts +14 -0
  1121. package/src/features/AvatarWithUpload/index.tsx +30 -17
  1122. package/src/features/ChatInput/ActionBar/Clear.tsx +49 -0
  1123. package/src/features/ChatInput/ActionBar/FileUpload.tsx +69 -0
  1124. package/src/features/ChatInput/ActionBar/History.tsx +70 -0
  1125. package/src/features/ChatInput/ActionBar/ModelSwitch.tsx +20 -0
  1126. package/src/features/ChatInput/ActionBar/Temperature.tsx +49 -0
  1127. package/src/features/ChatInput/ActionBar/Token/TokenProgress.tsx +80 -0
  1128. package/src/features/ChatInput/ActionBar/Token/TokenTag.tsx +149 -0
  1129. package/src/features/ChatInput/ActionBar/Token/index.tsx +18 -0
  1130. package/src/features/ChatInput/ActionBar/Tools/Dropdown.tsx +145 -0
  1131. package/src/features/ChatInput/ActionBar/Tools/ToolItem.tsx +45 -0
  1132. package/src/features/ChatInput/ActionBar/Tools/index.tsx +33 -0
  1133. package/src/features/ChatInput/ActionBar/config.ts +33 -0
  1134. package/src/features/ChatInput/ActionBar/index.tsx +58 -0
  1135. package/src/features/ChatInput/STT/browser.tsx +118 -0
  1136. package/src/features/ChatInput/STT/common.tsx +120 -0
  1137. package/src/features/ChatInput/STT/index.tsx +20 -0
  1138. package/src/features/ChatInput/STT/openai.tsx +129 -0
  1139. package/src/features/ChatInput/Topic/index.tsx +41 -0
  1140. package/src/features/ChatInput/useChatInput.ts +45 -0
  1141. package/src/features/ChatInput/useSend.ts +44 -0
  1142. package/src/features/Conversation/Actions/Assistant.tsx +36 -0
  1143. package/src/features/Conversation/Actions/Error.tsx +11 -0
  1144. package/src/features/Conversation/Actions/Fallback.tsx +13 -0
  1145. package/src/features/Conversation/Actions/Tool.tsx +28 -0
  1146. package/src/features/Conversation/Actions/User.tsx +20 -0
  1147. package/src/features/Conversation/Actions/customAction.ts +37 -0
  1148. package/src/features/Conversation/Actions/index.ts +79 -0
  1149. package/src/features/Conversation/Error/APIKeyForm/Bedrock.tsx +80 -0
  1150. package/src/features/Conversation/Error/APIKeyForm/ProviderApiKeyForm.tsx +79 -0
  1151. package/src/features/Conversation/Error/APIKeyForm/ProviderAvatar.tsx +89 -0
  1152. package/src/features/Conversation/Error/APIKeyForm/index.tsx +96 -0
  1153. package/src/features/Conversation/Error/AccessCodeForm.tsx +63 -0
  1154. package/src/features/Conversation/Error/ClerkLogin/index.tsx +47 -0
  1155. package/src/features/Conversation/Error/ErrorJsonViewer.tsx +26 -0
  1156. package/src/features/Conversation/Error/InvalidAPIKey.tsx +16 -0
  1157. package/src/features/Conversation/Error/InvalidAccessCode.tsx +79 -0
  1158. package/src/features/Conversation/Error/OAuthForm.tsx +97 -0
  1159. package/src/features/Conversation/Error/OllamaBizError/InvalidOllamaModel/index.tsx +154 -0
  1160. package/src/features/Conversation/Error/OllamaBizError/InvalidOllamaModel/useDownloadMonitor.ts +29 -0
  1161. package/src/features/Conversation/Error/OllamaBizError/SetupGuide.tsx +221 -0
  1162. package/src/features/Conversation/Error/OllamaBizError/index.tsx +47 -0
  1163. package/src/features/Conversation/Error/OpenAiBizError.tsx +29 -0
  1164. package/src/features/Conversation/Error/PluginSettings.tsx +66 -0
  1165. package/src/features/Conversation/Error/index.tsx +117 -0
  1166. package/src/features/Conversation/Error/style.tsx +76 -0
  1167. package/src/features/Conversation/Extras/Assistant.test.tsx +86 -0
  1168. package/src/features/Conversation/Extras/Assistant.tsx +51 -0
  1169. package/src/features/Conversation/Extras/ExtraContainer.tsx +13 -0
  1170. package/src/features/Conversation/Extras/TTS/FilePlayer.tsx +25 -0
  1171. package/src/features/Conversation/Extras/TTS/InitPlayer.tsx +93 -0
  1172. package/src/features/Conversation/Extras/TTS/Player.tsx +61 -0
  1173. package/src/features/Conversation/Extras/TTS/index.tsx +32 -0
  1174. package/src/features/Conversation/Extras/Translate.tsx +72 -0
  1175. package/src/features/Conversation/Extras/User.tsx +36 -0
  1176. package/src/features/Conversation/Extras/index.ts +8 -0
  1177. package/src/features/Conversation/Extras/type.ts +5 -0
  1178. package/src/features/Conversation/Messages/Assistant/ToolCalls/index.tsx +60 -0
  1179. package/src/features/Conversation/Messages/Assistant/ToolCalls/style.ts +25 -0
  1180. package/src/features/Conversation/Messages/Assistant/index.tsx +51 -0
  1181. package/src/features/Conversation/Messages/Default.tsx +19 -0
  1182. package/src/features/Conversation/Messages/Tool/Inspector/PluginResultJSON.tsx +24 -0
  1183. package/src/features/Conversation/Messages/Tool/Inspector/Settings.tsx +39 -0
  1184. package/src/features/Conversation/Messages/Tool/Inspector/index.tsx +158 -0
  1185. package/src/features/Conversation/Messages/Tool/Inspector/style.ts +26 -0
  1186. package/src/features/Conversation/Messages/Tool/index.tsx +70 -0
  1187. package/src/features/Conversation/Messages/User.tsx +23 -0
  1188. package/src/features/Conversation/Messages/components/Arguments.tsx +22 -0
  1189. package/src/features/Conversation/Messages/index.ts +38 -0
  1190. package/src/features/Conversation/components/AutoScroll.tsx +26 -0
  1191. package/src/features/Conversation/components/BackBottom/index.tsx +31 -0
  1192. package/src/features/Conversation/components/BackBottom/style.ts +36 -0
  1193. package/src/features/Conversation/components/BubblesLoading.tsx +61 -0
  1194. package/src/features/Conversation/components/ChatItem/ActionsBar.tsx +58 -0
  1195. package/src/features/Conversation/components/ChatItem/HistoryDivider.tsx +26 -0
  1196. package/src/features/Conversation/components/ChatItem/index.tsx +156 -0
  1197. package/src/features/Conversation/components/ChatList/index.tsx +21 -0
  1198. package/src/features/Conversation/components/InboxWelcome/AgentsSuggest.tsx +113 -0
  1199. package/src/features/Conversation/components/InboxWelcome/QuestionSuggest.tsx +104 -0
  1200. package/src/features/Conversation/components/InboxWelcome/index.tsx +70 -0
  1201. package/src/features/Conversation/components/OTPInput.tsx +136 -0
  1202. package/src/features/Conversation/components/SkeletonList.tsx +51 -0
  1203. package/src/features/Conversation/components/VirtualizedList/index.tsx +138 -0
  1204. package/src/features/Conversation/hooks/useChatListActionsBar.tsx +55 -0
  1205. package/src/features/Conversation/index.tsx +30 -0
  1206. package/src/features/Conversation/types/index.tsx +32 -0
  1207. package/src/features/DataImporter/Error.tsx +65 -0
  1208. package/src/features/DataImporter/FileUploading.tsx +50 -0
  1209. package/src/features/DataImporter/Loading.tsx +125 -0
  1210. package/src/features/DataImporter/SuccessResult.tsx +61 -0
  1211. package/src/features/DataImporter/index.tsx +185 -0
  1212. package/src/features/DataImporter/style.ts +17 -0
  1213. package/src/features/DebugUI/index.tsx +36 -0
  1214. package/src/features/FileList/EditableFileList.tsx +31 -0
  1215. package/src/features/FileList/FileListPreviewer.tsx +17 -0
  1216. package/src/features/FileList/index.tsx +2 -0
  1217. package/src/features/Follow/index.tsx +64 -0
  1218. package/src/features/MobileSwitchLoading/index.tsx +13 -0
  1219. package/src/features/MobileTabBar/index.tsx +61 -0
  1220. package/src/features/ModelSelect/index.tsx +69 -0
  1221. package/src/features/ModelSwitchPanel/index.tsx +113 -0
  1222. package/src/features/PWAInstall/index.tsx +72 -0
  1223. package/src/features/PluginAvatar/index.tsx +28 -0
  1224. package/src/features/PluginDetailModal/APIs.tsx +43 -0
  1225. package/src/features/PluginDetailModal/Meta.tsx +57 -0
  1226. package/src/features/PluginDetailModal/index.tsx +75 -0
  1227. package/src/features/PluginDevModal/LocalForm.tsx +124 -0
  1228. package/src/features/PluginDevModal/PluginPreview.tsx +36 -0
  1229. package/src/features/PluginDevModal/UrlManifestForm.tsx +134 -0
  1230. package/src/features/PluginDevModal/index.tsx +172 -0
  1231. package/src/features/PluginSettings/PluginSettingRender.tsx +86 -0
  1232. package/src/features/PluginSettings/index.tsx +87 -0
  1233. package/src/features/PluginStore/AddPluginButton.tsx +47 -0
  1234. package/src/features/PluginStore/InstalledPluginList.tsx +61 -0
  1235. package/src/features/PluginStore/Loading.tsx +13 -0
  1236. package/src/features/PluginStore/OnlineList.tsx +89 -0
  1237. package/src/features/PluginStore/PluginItem/Action.tsx +116 -0
  1238. package/src/features/PluginStore/PluginItem/EditCustomPlugin.tsx +55 -0
  1239. package/src/features/PluginStore/PluginItem/PluginTag.tsx +58 -0
  1240. package/src/features/PluginStore/PluginItem/index.tsx +82 -0
  1241. package/src/features/PluginStore/index.tsx +57 -0
  1242. package/src/features/PluginsUI/Render/BuiltinType/index.test.tsx +53 -0
  1243. package/src/features/PluginsUI/Render/BuiltinType/index.tsx +44 -0
  1244. package/src/features/PluginsUI/Render/DefaultType/IFrameRender/index.tsx +61 -0
  1245. package/src/features/PluginsUI/Render/DefaultType/SystemJsRender/index.tsx +40 -0
  1246. package/src/features/PluginsUI/Render/DefaultType/SystemJsRender/utils.ts +26 -0
  1247. package/src/features/PluginsUI/Render/DefaultType/index.tsx +53 -0
  1248. package/src/features/PluginsUI/Render/Loading.tsx +60 -0
  1249. package/src/features/PluginsUI/Render/MarkdownType/index.tsx +25 -0
  1250. package/src/features/PluginsUI/Render/StandaloneType/Iframe.tsx +163 -0
  1251. package/src/features/PluginsUI/Render/StandaloneType/index.tsx +36 -0
  1252. package/src/features/PluginsUI/Render/index.tsx +71 -0
  1253. package/src/features/PluginsUI/Render/useParseContent.ts +15 -0
  1254. package/src/features/PluginsUI/Render/utils/iframeOnReady.test.ts +75 -0
  1255. package/src/features/PluginsUI/Render/utils/iframeOnReady.ts +25 -0
  1256. package/src/features/PluginsUI/Render/utils/listenToPlugin.test.ts +164 -0
  1257. package/src/features/PluginsUI/Render/utils/listenToPlugin.ts +98 -0
  1258. package/src/features/PluginsUI/Render/utils/pluginSettings.test.ts +53 -0
  1259. package/src/features/PluginsUI/Render/utils/pluginSettings.ts +17 -0
  1260. package/src/features/PluginsUI/Render/utils/pluginState.test.ts +43 -0
  1261. package/src/features/PluginsUI/Render/utils/pluginState.ts +20 -0
  1262. package/src/features/PluginsUI/Render/utils/postMessage.test.ts +64 -0
  1263. package/src/features/PluginsUI/Render/utils/postMessage.ts +28 -0
  1264. package/src/features/Setting/Footer.tsx +96 -0
  1265. package/src/features/Setting/SettingContainer.tsx +35 -0
  1266. package/src/features/SyncStatusInspector/DisableSync.tsx +79 -0
  1267. package/src/features/SyncStatusInspector/EnableSync.tsx +136 -0
  1268. package/src/features/SyncStatusInspector/EnableTag.tsx +66 -0
  1269. package/src/features/SyncStatusInspector/index.tsx +27 -0
  1270. package/src/features/User/DataStatistics.tsx +155 -0
  1271. package/src/features/User/PlanTag.tsx +45 -0
  1272. package/src/features/User/UserAvatar.tsx +75 -0
  1273. package/src/features/User/UserInfo.tsx +59 -0
  1274. package/src/features/User/UserLoginOrSignup/Community.tsx +23 -0
  1275. package/src/features/User/UserLoginOrSignup/index.tsx +1 -0
  1276. package/src/features/User/UserPanel/LangButton.tsx +57 -0
  1277. package/src/features/User/UserPanel/PanelContent.tsx +85 -0
  1278. package/src/features/User/UserPanel/ThemeButton.tsx +70 -0
  1279. package/src/features/User/UserPanel/UpgradeBadge.tsx +19 -0
  1280. package/src/features/User/UserPanel/index.tsx +43 -0
  1281. package/src/features/User/UserPanel/useMenu.tsx +239 -0
  1282. package/src/features/User/UserPanel/useNewVersion.tsx +14 -0
  1283. package/src/features/User/__tests__/PanelContent.test.tsx +155 -0
  1284. package/src/features/User/__tests__/UserAvatar.test.tsx +83 -0
  1285. package/src/features/User/__tests__/useMenu.test.tsx +146 -0
  1286. package/src/hooks/_header.ts +23 -0
  1287. package/src/hooks/useActiveSettingsKey.ts +20 -0
  1288. package/src/hooks/useActiveTabKey.ts +12 -0
  1289. package/src/hooks/useGreeting/greetingTime.ts +14 -0
  1290. package/src/hooks/useGreeting/index.ts +16 -0
  1291. package/src/hooks/useInterceptingRoutes.test.ts +70 -0
  1292. package/src/hooks/useInterceptingRoutes.ts +46 -0
  1293. package/src/hooks/useIsMobile.ts +8 -0
  1294. package/src/hooks/useIsSubSlug.ts +12 -0
  1295. package/src/hooks/usePWAInstall.test.ts +78 -0
  1296. package/src/hooks/usePWAInstall.ts +39 -0
  1297. package/src/hooks/usePlatform.test.ts +82 -0
  1298. package/src/hooks/usePlatform.ts +32 -0
  1299. package/src/hooks/useProviderName.ts +8 -0
  1300. package/src/hooks/useQuery.test.ts +19 -0
  1301. package/src/hooks/useQuery.ts +8 -0
  1302. package/src/hooks/useQueryRoute.test.ts +86 -0
  1303. package/src/hooks/useQueryRoute.ts +46 -0
  1304. package/src/hooks/useSyncData.ts +50 -0
  1305. package/src/hooks/useTTS.ts +84 -0
  1306. package/src/hooks/useTokenCount.test.ts +41 -0
  1307. package/src/hooks/useTokenCount.ts +20 -0
  1308. package/src/hooks/useYamlArguments.ts +16 -0
  1309. package/src/layout/AuthProvider/Clerk/UserUpdater.tsx +40 -0
  1310. package/src/layout/AuthProvider/Clerk/index.tsx +26 -0
  1311. package/src/layout/AuthProvider/Clerk/useAppearance.ts +123 -0
  1312. package/src/layout/AuthProvider/NextAuth/UserUpdater.tsx +35 -0
  1313. package/src/layout/AuthProvider/NextAuth/index.tsx +17 -0
  1314. package/src/layout/AuthProvider/NoAuth/index.tsx +16 -0
  1315. package/src/layout/AuthProvider/index.tsx +17 -0
  1316. package/src/layout/GlobalProvider/AppTheme.tsx +127 -0
  1317. package/src/layout/GlobalProvider/Locale.tsx +62 -0
  1318. package/src/layout/GlobalProvider/StoreInitialization.tsx +75 -0
  1319. package/src/layout/GlobalProvider/StyleRegistry.tsx +24 -0
  1320. package/src/layout/GlobalProvider/index.tsx +100 -0
  1321. package/src/libs/agent-runtime/AgentRuntime.test.ts +428 -0
  1322. package/src/libs/agent-runtime/AgentRuntime.ts +235 -0
  1323. package/src/libs/agent-runtime/BaseAI.ts +24 -0
  1324. package/src/libs/agent-runtime/anthropic/index.test.ts +477 -0
  1325. package/src/libs/agent-runtime/anthropic/index.ts +106 -0
  1326. package/src/libs/agent-runtime/azureOpenai/index.test.ts +356 -0
  1327. package/src/libs/agent-runtime/azureOpenai/index.ts +117 -0
  1328. package/src/libs/agent-runtime/baichuan/index.test.ts +255 -0
  1329. package/src/libs/agent-runtime/baichuan/index.ts +32 -0
  1330. package/src/libs/agent-runtime/bedrock/index.test.ts +394 -0
  1331. package/src/libs/agent-runtime/bedrock/index.ts +154 -0
  1332. package/src/libs/agent-runtime/deepseek/index.test.ts +255 -0
  1333. package/src/libs/agent-runtime/deepseek/index.ts +10 -0
  1334. package/src/libs/agent-runtime/error.ts +26 -0
  1335. package/src/libs/agent-runtime/google/index.test.ts +602 -0
  1336. package/src/libs/agent-runtime/google/index.ts +336 -0
  1337. package/src/libs/agent-runtime/groq/index.test.ts +320 -0
  1338. package/src/libs/agent-runtime/groq/index.ts +25 -0
  1339. package/src/libs/agent-runtime/index.ts +22 -0
  1340. package/src/libs/agent-runtime/minimax/index.test.ts +275 -0
  1341. package/src/libs/agent-runtime/minimax/index.ts +176 -0
  1342. package/src/libs/agent-runtime/mistral/index.test.ts +331 -0
  1343. package/src/libs/agent-runtime/mistral/index.ts +21 -0
  1344. package/src/libs/agent-runtime/moonshot/index.test.ts +251 -0
  1345. package/src/libs/agent-runtime/moonshot/index.ts +10 -0
  1346. package/src/libs/agent-runtime/ollama/index.test.ts +197 -0
  1347. package/src/libs/agent-runtime/ollama/index.ts +111 -0
  1348. package/src/libs/agent-runtime/ollama/type.ts +8 -0
  1349. package/src/libs/agent-runtime/openai/__snapshots__/index.test.ts.snap +101 -0
  1350. package/src/libs/agent-runtime/openai/fixtures/openai-models.json +170 -0
  1351. package/src/libs/agent-runtime/openai/index.test.ts +245 -0
  1352. package/src/libs/agent-runtime/openai/index.ts +10 -0
  1353. package/src/libs/agent-runtime/openrouter/__snapshots__/index.test.ts.snap +82 -0
  1354. package/src/libs/agent-runtime/openrouter/fixtures/models.json +62 -0
  1355. package/src/libs/agent-runtime/openrouter/index.test.ts +312 -0
  1356. package/src/libs/agent-runtime/openrouter/index.ts +41 -0
  1357. package/src/libs/agent-runtime/openrouter/type.ts +28 -0
  1358. package/src/libs/agent-runtime/perplexity/index.test.ts +249 -0
  1359. package/src/libs/agent-runtime/perplexity/index.ts +31 -0
  1360. package/src/libs/agent-runtime/qwen/index.test.ts +251 -0
  1361. package/src/libs/agent-runtime/qwen/index.ts +28 -0
  1362. package/src/libs/agent-runtime/stepfun/index.test.ts +251 -0
  1363. package/src/libs/agent-runtime/stepfun/index.ts +10 -0
  1364. package/src/libs/agent-runtime/togetherai/__snapshots__/index.test.ts.snap +886 -0
  1365. package/src/libs/agent-runtime/togetherai/fixtures/models.json +8111 -0
  1366. package/src/libs/agent-runtime/togetherai/index.test.ts +313 -0
  1367. package/src/libs/agent-runtime/togetherai/index.ts +47 -0
  1368. package/src/libs/agent-runtime/togetherai/type.ts +75 -0
  1369. package/src/libs/agent-runtime/types/chat.ts +150 -0
  1370. package/src/libs/agent-runtime/types/index.ts +3 -0
  1371. package/src/libs/agent-runtime/types/textToImage.ts +34 -0
  1372. package/src/libs/agent-runtime/types/type.ts +46 -0
  1373. package/src/libs/agent-runtime/utils/anthropicHelpers.test.ts +337 -0
  1374. package/src/libs/agent-runtime/utils/anthropicHelpers.ts +141 -0
  1375. package/src/libs/agent-runtime/utils/createError.ts +11 -0
  1376. package/src/libs/agent-runtime/utils/debugStream.test.ts +70 -0
  1377. package/src/libs/agent-runtime/utils/debugStream.ts +48 -0
  1378. package/src/libs/agent-runtime/utils/desensitizeUrl.test.ts +47 -0
  1379. package/src/libs/agent-runtime/utils/desensitizeUrl.ts +34 -0
  1380. package/src/libs/agent-runtime/utils/handleOpenAIError.ts +39 -0
  1381. package/src/libs/agent-runtime/utils/openaiCompatibleFactory/index.test.ts +717 -0
  1382. package/src/libs/agent-runtime/utils/openaiCompatibleFactory/index.ts +294 -0
  1383. package/src/libs/agent-runtime/utils/response.ts +12 -0
  1384. package/src/libs/agent-runtime/utils/streams/anthropic.test.ts +427 -0
  1385. package/src/libs/agent-runtime/utils/streams/anthropic.ts +117 -0
  1386. package/src/libs/agent-runtime/utils/streams/azureOpenai.test.ts +537 -0
  1387. package/src/libs/agent-runtime/utils/streams/azureOpenai.ts +89 -0
  1388. package/src/libs/agent-runtime/utils/streams/bedrock/claude.ts +21 -0
  1389. package/src/libs/agent-runtime/utils/streams/bedrock/common.ts +32 -0
  1390. package/src/libs/agent-runtime/utils/streams/bedrock/index.ts +3 -0
  1391. package/src/libs/agent-runtime/utils/streams/bedrock/llama.test.ts +196 -0
  1392. package/src/libs/agent-runtime/utils/streams/bedrock/llama.ts +51 -0
  1393. package/src/libs/agent-runtime/utils/streams/google-ai.test.ts +97 -0
  1394. package/src/libs/agent-runtime/utils/streams/google-ai.ts +68 -0
  1395. package/src/libs/agent-runtime/utils/streams/index.ts +8 -0
  1396. package/src/libs/agent-runtime/utils/streams/minimax.ts +39 -0
  1397. package/src/libs/agent-runtime/utils/streams/ollama.test.ts +77 -0
  1398. package/src/libs/agent-runtime/utils/streams/ollama.ts +38 -0
  1399. package/src/libs/agent-runtime/utils/streams/openai.test.ts +263 -0
  1400. package/src/libs/agent-runtime/utils/streams/openai.ts +83 -0
  1401. package/src/libs/agent-runtime/utils/streams/protocol.ts +106 -0
  1402. package/src/libs/agent-runtime/utils/uriParser.test.ts +29 -0
  1403. package/src/libs/agent-runtime/utils/uriParser.ts +24 -0
  1404. package/src/libs/agent-runtime/zeroone/index.test.ts +299 -0
  1405. package/src/libs/agent-runtime/zeroone/index.ts +11 -0
  1406. package/src/libs/agent-runtime/zhipu/authToken.test.ts +18 -0
  1407. package/src/libs/agent-runtime/zhipu/authToken.ts +22 -0
  1408. package/src/libs/agent-runtime/zhipu/index.test.ts +322 -0
  1409. package/src/libs/agent-runtime/zhipu/index.ts +130 -0
  1410. package/src/libs/logger/index.ts +5 -0
  1411. package/src/libs/next-auth/index.ts +46 -0
  1412. package/src/libs/next-auth/sso-providers/auth0.ts +17 -0
  1413. package/src/libs/next-auth/sso-providers/authentik.ts +17 -0
  1414. package/src/libs/next-auth/sso-providers/azure-ad.ts +17 -0
  1415. package/src/libs/next-auth/sso-providers/github.ts +15 -0
  1416. package/src/libs/next-auth/sso-providers/index.ts +7 -0
  1417. package/src/libs/next-auth/sso-providers/zitadel.ts +16 -0
  1418. package/src/libs/swr/index.ts +74 -0
  1419. package/src/libs/traces/event.test.ts +158 -0
  1420. package/src/libs/traces/event.ts +133 -0
  1421. package/src/libs/traces/index.test.ts +61 -0
  1422. package/src/libs/traces/index.ts +52 -0
  1423. package/src/libs/trpc/client.ts +65 -0
  1424. package/src/libs/trpc/index.ts +42 -0
  1425. package/src/libs/trpc/init.ts +26 -0
  1426. package/src/libs/trpc/middleware/password.test.ts +88 -0
  1427. package/src/libs/trpc/middleware/password.ts +26 -0
  1428. package/src/libs/trpc/middleware/userAuth.test.ts +44 -0
  1429. package/src/libs/trpc/middleware/userAuth.ts +18 -0
  1430. package/src/locales/create.ts +51 -39
  1431. package/src/locales/default/auth.ts +8 -0
  1432. package/src/locales/default/chat.ts +138 -0
  1433. package/src/locales/default/clerk.ts +782 -0
  1434. package/src/locales/default/common.ts +214 -39
  1435. package/src/locales/default/components.ts +16 -0
  1436. package/src/locales/default/error.ts +134 -0
  1437. package/src/locales/default/index.ts +35 -0
  1438. package/src/locales/default/market.ts +32 -0
  1439. package/src/locales/default/metadata.ts +20 -0
  1440. package/src/locales/default/migration.ts +47 -0
  1441. package/src/locales/default/modelProvider.ts +111 -0
  1442. package/src/locales/default/plugin.ts +167 -0
  1443. package/src/locales/default/portal.ts +4 -0
  1444. package/src/locales/default/setting.ts +336 -30
  1445. package/src/locales/default/tool.ts +10 -0
  1446. package/src/locales/default/welcome.ts +50 -0
  1447. package/src/locales/resources.test.ts +49 -0
  1448. package/src/locales/resources.ts +114 -0
  1449. package/src/middleware.ts +65 -0
  1450. package/src/migrations/FromV0ToV1.ts +2 -4
  1451. package/src/migrations/FromV1ToV2/fixtures/input-v1-session.json +191 -0
  1452. package/src/migrations/FromV1ToV2/fixtures/output-v2.json +202 -0
  1453. package/src/migrations/FromV1ToV2/index.ts +82 -0
  1454. package/src/migrations/FromV1ToV2/migrations.test.ts +224 -0
  1455. package/src/migrations/FromV1ToV2/types/v1.ts +78 -0
  1456. package/src/migrations/FromV1ToV2/types/v2.ts +52 -0
  1457. package/src/migrations/FromV2ToV3/fixtures/input-v2-session.json +72 -0
  1458. package/src/migrations/FromV2ToV3/fixtures/output-v3-from-v1.json +203 -0
  1459. package/src/migrations/FromV2ToV3/fixtures/output-v3.json +74 -0
  1460. package/src/migrations/FromV2ToV3/index.ts +30 -0
  1461. package/src/migrations/FromV2ToV3/migrations.test.ts +42 -0
  1462. package/src/migrations/FromV2ToV3/types/v3.ts +27 -0
  1463. package/src/migrations/FromV3ToV4/fixtures/azure-input-v3.json +79 -0
  1464. package/src/migrations/FromV3ToV4/fixtures/azure-output-v4.json +75 -0
  1465. package/src/migrations/FromV3ToV4/fixtures/ollama-input-v3.json +85 -0
  1466. package/src/migrations/FromV3ToV4/fixtures/ollama-output-v4.json +85 -0
  1467. package/src/migrations/FromV3ToV4/fixtures/openai-input-v3.json +77 -0
  1468. package/src/migrations/FromV3ToV4/fixtures/openai-output-v4.json +77 -0
  1469. package/src/migrations/FromV3ToV4/fixtures/openrouter-input-v3.json +82 -0
  1470. package/src/migrations/FromV3ToV4/fixtures/openrouter-output-v4.json +85 -0
  1471. package/src/migrations/FromV3ToV4/fixtures/output-v4-from-v1.json +203 -0
  1472. package/src/migrations/FromV3ToV4/index.ts +102 -0
  1473. package/src/migrations/FromV3ToV4/migrations.test.ts +195 -0
  1474. package/src/migrations/FromV3ToV4/types/v3.ts +52 -0
  1475. package/src/migrations/FromV3ToV4/types/v4.ts +37 -0
  1476. package/src/migrations/FromV4ToV5/fixtures/from-v1-to-v5-output.json +245 -0
  1477. package/src/migrations/FromV4ToV5/fixtures/function-input-v4.json +96 -0
  1478. package/src/migrations/FromV4ToV5/fixtures/function-output-v5.json +120 -0
  1479. package/src/migrations/FromV4ToV5/index.ts +58 -0
  1480. package/src/migrations/FromV4ToV5/migrations.test.ts +49 -0
  1481. package/src/migrations/FromV4ToV5/types/v4.ts +21 -0
  1482. package/src/migrations/FromV4ToV5/types/v5.ts +27 -0
  1483. package/src/migrations/FromV5ToV6/fixtures/from-v1-to-v6-output.json +247 -0
  1484. package/src/migrations/FromV5ToV6/fixtures/session-input-v5.json +81 -0
  1485. package/src/migrations/FromV5ToV6/fixtures/session-output-v6.json +85 -0
  1486. package/src/migrations/FromV5ToV6/index.ts +61 -0
  1487. package/src/migrations/FromV5ToV6/migrations.test.ts +50 -0
  1488. package/src/migrations/FromV5ToV6/types/v5.ts +48 -0
  1489. package/src/migrations/FromV5ToV6/types/v6.ts +60 -0
  1490. package/src/migrations/FromV6ToV7/fixtures/output-v7-from-v1.json +203 -0
  1491. package/src/migrations/FromV6ToV7/fixtures/provider-input-v6.json +103 -0
  1492. package/src/migrations/FromV6ToV7/fixtures/provider-output-v7.json +118 -0
  1493. package/src/migrations/FromV6ToV7/index.ts +101 -0
  1494. package/src/migrations/FromV6ToV7/migrations.test.ts +64 -0
  1495. package/src/migrations/FromV6ToV7/types/v6.ts +61 -0
  1496. package/src/migrations/FromV6ToV7/types/v7.ts +71 -0
  1497. package/src/migrations/VersionController.test.ts +88 -0
  1498. package/src/migrations/VersionController.ts +67 -0
  1499. package/src/migrations/index.ts +55 -7
  1500. package/src/server/context.ts +51 -0
  1501. package/src/server/files/s3.ts +78 -0
  1502. package/src/server/globalConfig/index.ts +136 -0
  1503. package/src/server/globalConfig/parseDefaultAgent.test.ts +195 -0
  1504. package/src/server/globalConfig/parseDefaultAgent.ts +47 -0
  1505. package/src/server/globalConfig/parseSystemAgent.test.ts +95 -0
  1506. package/src/server/globalConfig/parseSystemAgent.ts +39 -0
  1507. package/src/server/keyVaultsEncrypt/index.test.ts +62 -0
  1508. package/src/server/keyVaultsEncrypt/index.ts +93 -0
  1509. package/src/server/ld.ts +218 -0
  1510. package/src/server/metadata.ts +96 -0
  1511. package/src/server/mock.ts +8 -0
  1512. package/src/server/modules/DataImporter/__tests__/fixtures/messages.json +1101 -0
  1513. package/src/server/modules/DataImporter/__tests__/index.test.ts +954 -0
  1514. package/src/server/modules/DataImporter/index.ts +333 -0
  1515. package/src/server/routers/edge/config/__snapshots__/index.test.ts.snap +112 -0
  1516. package/src/server/routers/edge/config/index.test.ts +181 -0
  1517. package/src/server/routers/edge/config/index.ts +12 -0
  1518. package/src/server/routers/edge/index.ts +15 -0
  1519. package/src/server/routers/edge/upload.ts +16 -0
  1520. package/src/server/routers/lambda/file.ts +49 -0
  1521. package/src/server/routers/lambda/importer.ts +52 -0
  1522. package/src/server/routers/lambda/index.ts +28 -0
  1523. package/src/server/routers/lambda/message.ts +177 -0
  1524. package/src/server/routers/lambda/plugin.ts +100 -0
  1525. package/src/server/routers/lambda/session.ts +194 -0
  1526. package/src/server/routers/lambda/sessionGroup.ts +77 -0
  1527. package/src/server/routers/lambda/topic.ts +134 -0
  1528. package/src/server/routers/lambda/user.ts +98 -0
  1529. package/src/server/routers/tools/index.ts +7 -0
  1530. package/src/server/services/user/index.ts +96 -0
  1531. package/src/server/translation.ts +44 -0
  1532. package/src/services/__tests__/__snapshots__/chat.test.ts.snap +116 -0
  1533. package/src/services/__tests__/__snapshots__/tool.test.ts.snap +204 -0
  1534. package/src/services/__tests__/chat.test.ts +966 -0
  1535. package/src/services/__tests__/global.test.ts +100 -0
  1536. package/src/services/__tests__/ollama.test.ts +28 -0
  1537. package/src/services/__tests__/openai/OpenAPI_V3.json +245 -0
  1538. package/src/services/__tests__/openai/plugin.json +22 -0
  1539. package/src/services/__tests__/share.test.ts +131 -0
  1540. package/src/services/__tests__/sync.test.ts +56 -0
  1541. package/src/services/__tests__/tool.test.ts +268 -0
  1542. package/src/services/__tests__/upload.test.ts +72 -0
  1543. package/src/services/_auth.test.ts +192 -0
  1544. package/src/services/_auth.ts +75 -0
  1545. package/src/services/_header.ts +20 -0
  1546. package/src/services/_url.ts +46 -0
  1547. package/src/services/chat.ts +528 -0
  1548. package/src/services/config.ts +159 -0
  1549. package/src/services/debug.ts +40 -0
  1550. package/src/services/file/client.test.ts +160 -0
  1551. package/src/services/file/client.ts +65 -0
  1552. package/src/services/file/index.ts +6 -0
  1553. package/src/services/file/server.ts +45 -0
  1554. package/src/services/file/type.ts +9 -0
  1555. package/src/services/github.ts +42 -0
  1556. package/src/services/global.ts +29 -0
  1557. package/src/services/import/client.ts +74 -0
  1558. package/src/services/import/index.ts +6 -0
  1559. package/src/services/import/server.ts +115 -0
  1560. package/src/services/market.ts +22 -0
  1561. package/src/services/message/client.test.ts +384 -0
  1562. package/src/services/message/client.ts +89 -0
  1563. package/src/services/message/index.test.ts +48 -0
  1564. package/src/services/message/index.ts +8 -0
  1565. package/src/services/message/server.ts +106 -0
  1566. package/src/services/message/type.ts +46 -0
  1567. package/src/services/models.ts +37 -0
  1568. package/src/services/ollama.ts +83 -0
  1569. package/src/services/plugin/client.test.ts +162 -0
  1570. package/src/services/plugin/client.ts +42 -0
  1571. package/src/services/plugin/index.ts +6 -0
  1572. package/src/services/plugin/server.ts +46 -0
  1573. package/src/services/plugin/type.ts +21 -0
  1574. package/src/services/session/client.test.ts +439 -0
  1575. package/src/services/session/client.ts +180 -0
  1576. package/src/services/session/index.ts +6 -0
  1577. package/src/services/session/server.ts +148 -0
  1578. package/src/services/session/type.ts +65 -0
  1579. package/src/services/share.ts +61 -0
  1580. package/src/services/sync.ts +19 -0
  1581. package/src/services/textToImage.ts +36 -0
  1582. package/src/services/tool.ts +144 -0
  1583. package/src/services/topic/client.test.ts +245 -0
  1584. package/src/services/topic/client.ts +70 -0
  1585. package/src/services/topic/index.ts +6 -0
  1586. package/src/services/topic/server.ts +68 -0
  1587. package/src/services/topic/type.ts +34 -0
  1588. package/src/services/trace.ts +28 -0
  1589. package/src/services/upload.ts +99 -0
  1590. package/src/services/user/client.test.ts +102 -0
  1591. package/src/services/user/client.ts +52 -0
  1592. package/src/services/user/index.ts +6 -0
  1593. package/src/services/user/server.ts +28 -0
  1594. package/src/services/user/type.ts +11 -0
  1595. package/src/store/agent/index.ts +2 -0
  1596. package/src/store/agent/initialState.ts +7 -0
  1597. package/src/store/agent/selectors.ts +1 -0
  1598. package/src/store/agent/slices/chat/__snapshots__/selectors.test.ts.snap +30 -0
  1599. package/src/store/agent/slices/chat/action.test.ts +305 -0
  1600. package/src/store/agent/slices/chat/action.ts +176 -0
  1601. package/src/store/agent/slices/chat/index.ts +2 -0
  1602. package/src/store/agent/slices/chat/initialState.ts +22 -0
  1603. package/src/store/agent/slices/chat/selectors.test.ts +227 -0
  1604. package/src/store/agent/slices/chat/selectors.ts +98 -0
  1605. package/src/store/agent/store.ts +22 -0
  1606. package/src/store/chat/helpers.test.ts +109 -0
  1607. package/src/store/chat/helpers.ts +30 -0
  1608. package/src/store/chat/index.ts +3 -0
  1609. package/src/store/chat/initialState.ts +22 -0
  1610. package/src/store/chat/selectors.ts +4 -0
  1611. package/src/store/chat/slices/builtinTool/action.test.ts +104 -0
  1612. package/src/store/chat/slices/builtinTool/action.ts +101 -0
  1613. package/src/store/chat/slices/builtinTool/initialState.ts +7 -0
  1614. package/src/store/chat/slices/builtinTool/selectors.ts +11 -0
  1615. package/src/store/chat/slices/enchance/action.test.ts +126 -0
  1616. package/src/store/chat/slices/enchance/action.ts +124 -0
  1617. package/src/store/chat/slices/message/action.test.ts +1243 -0
  1618. package/src/store/chat/slices/message/action.ts +765 -0
  1619. package/src/store/chat/slices/message/initialState.ts +47 -0
  1620. package/src/store/chat/slices/message/reducer.test.ts +306 -0
  1621. package/src/store/chat/slices/message/reducer.ts +154 -0
  1622. package/src/store/chat/slices/message/selectors.test.ts +424 -0
  1623. package/src/store/chat/slices/message/selectors.ts +171 -0
  1624. package/src/store/chat/slices/message/utils.ts +7 -0
  1625. package/src/store/chat/slices/plugin/action.test.ts +967 -0
  1626. package/src/store/chat/slices/plugin/action.ts +371 -0
  1627. package/src/store/chat/slices/portal/action.test.ts +109 -0
  1628. package/src/store/chat/slices/portal/action.ts +31 -0
  1629. package/src/store/chat/slices/portal/initialState.ts +8 -0
  1630. package/src/store/chat/slices/portal/selectors.test.ts +73 -0
  1631. package/src/store/chat/slices/portal/selectors.ts +15 -0
  1632. package/src/store/chat/slices/share/action.test.ts +213 -0
  1633. package/src/store/chat/slices/share/action.ts +122 -0
  1634. package/src/store/chat/slices/share/initialState.ts +7 -0
  1635. package/src/store/chat/slices/topic/action.test.ts +540 -0
  1636. package/src/store/chat/slices/topic/action.ts +330 -0
  1637. package/src/store/chat/slices/topic/initialState.ts +28 -0
  1638. package/src/store/chat/slices/topic/reducer.test.ts +139 -0
  1639. package/src/store/chat/slices/topic/reducer.ts +67 -0
  1640. package/src/store/chat/slices/topic/selectors.test.ts +95 -0
  1641. package/src/store/chat/slices/topic/selectors.ts +35 -0
  1642. package/src/store/chat/store.ts +50 -0
  1643. package/src/store/chat/utils/index.ts +19 -0
  1644. package/src/store/file/index.ts +2 -0
  1645. package/src/store/file/initialState.ts +7 -0
  1646. package/src/store/file/selectors.ts +7 -0
  1647. package/src/store/file/slices/images/action.test.ts +184 -0
  1648. package/src/store/file/slices/images/action.ts +153 -0
  1649. package/src/store/file/slices/images/initialState.ts +13 -0
  1650. package/src/store/file/slices/images/selectors.test.ts +78 -0
  1651. package/src/store/file/slices/images/selectors.ts +40 -0
  1652. package/src/store/file/slices/tts/action.test.ts +141 -0
  1653. package/src/store/file/slices/tts/action.ts +63 -0
  1654. package/src/store/file/slices/tts/index.ts +2 -0
  1655. package/src/store/file/slices/tts/selectors.ts +3 -0
  1656. package/src/store/file/store.ts +23 -0
  1657. package/src/store/global/action.test.ts +183 -0
  1658. package/src/store/global/action.ts +107 -0
  1659. package/src/store/global/index.ts +1 -0
  1660. package/src/store/global/initialState.ts +72 -0
  1661. package/src/store/global/selectors.ts +26 -0
  1662. package/src/store/global/store.ts +26 -0
  1663. package/src/store/market/action.ts +82 -0
  1664. package/src/store/market/index.ts +3 -0
  1665. package/src/store/market/initialState.ts +19 -0
  1666. package/src/store/market/selectors.ts +38 -0
  1667. package/src/store/market/store.ts +48 -0
  1668. package/src/store/middleware/createDevtools.ts +23 -0
  1669. package/src/store/middleware/createHyperStorage/index.test.ts +341 -0
  1670. package/src/store/middleware/createHyperStorage/index.ts +126 -0
  1671. package/src/store/middleware/createHyperStorage/indexedDB.test.ts +64 -0
  1672. package/src/store/middleware/createHyperStorage/indexedDB.ts +26 -0
  1673. package/src/store/middleware/createHyperStorage/keyMapper.ts +57 -0
  1674. package/src/store/middleware/createHyperStorage/localStorage.ts +18 -0
  1675. package/src/store/middleware/createHyperStorage/type.ts +25 -0
  1676. package/src/store/middleware/createHyperStorage/urlStorage.test.ts +84 -0
  1677. package/src/store/middleware/createHyperStorage/urlStorage.ts +81 -0
  1678. package/src/store/serverConfig/Provider.tsx +23 -0
  1679. package/src/store/serverConfig/index.ts +3 -0
  1680. package/src/store/serverConfig/selectors.test.ts +74 -0
  1681. package/src/store/serverConfig/selectors.ts +14 -0
  1682. package/src/store/serverConfig/store.test.ts +53 -0
  1683. package/src/store/serverConfig/store.ts +66 -0
  1684. package/src/store/session/helpers.ts +1 -0
  1685. package/src/store/session/index.ts +1 -32
  1686. package/src/store/session/initialState.ts +4 -6
  1687. package/src/store/session/selectors.ts +2 -3
  1688. package/src/store/session/slices/session/action.test.ts +232 -0
  1689. package/src/store/session/slices/session/action.ts +226 -70
  1690. package/src/store/session/slices/session/helpers.ts +17 -0
  1691. package/src/store/session/slices/session/initialState.ts +18 -19
  1692. package/src/store/session/slices/session/reducers.test.ts +79 -0
  1693. package/src/store/session/slices/session/reducers.ts +61 -0
  1694. package/src/store/session/slices/session/selectors/index.ts +2 -20
  1695. package/src/store/session/slices/session/selectors/list.test.ts +126 -0
  1696. package/src/store/session/slices/session/selectors/list.ts +45 -51
  1697. package/src/store/session/slices/session/selectors/meta.test.ts +108 -0
  1698. package/src/store/session/slices/session/selectors/meta.ts +45 -0
  1699. package/src/store/session/slices/sessionGroup/action.test.ts +133 -0
  1700. package/src/store/session/slices/sessionGroup/action.ts +73 -0
  1701. package/src/store/session/slices/sessionGroup/initialState.ts +12 -0
  1702. package/src/store/session/slices/sessionGroup/reducer.test.ts +86 -0
  1703. package/src/store/session/slices/sessionGroup/reducer.ts +56 -0
  1704. package/src/store/session/slices/sessionGroup/selectors.ts +11 -0
  1705. package/src/store/session/store.ts +25 -9
  1706. package/src/store/tool/helpers.ts +28 -0
  1707. package/src/store/tool/index.ts +2 -0
  1708. package/src/store/tool/initialState.ts +13 -0
  1709. package/src/store/tool/selectors/index.ts +5 -0
  1710. package/src/store/tool/selectors/tool.test.ts +247 -0
  1711. package/src/store/tool/selectors/tool.ts +123 -0
  1712. package/src/store/tool/slices/builtin/action.test.ts +87 -0
  1713. package/src/store/tool/slices/builtin/action.ts +54 -0
  1714. package/src/store/tool/slices/builtin/index.ts +2 -0
  1715. package/src/store/tool/slices/builtin/initialState.ts +12 -0
  1716. package/src/store/tool/slices/builtin/selectors.test.ts +53 -0
  1717. package/src/store/tool/slices/builtin/selectors.ts +20 -0
  1718. package/src/store/tool/slices/customPlugin/action.test.ts +141 -0
  1719. package/src/store/tool/slices/customPlugin/action.ts +88 -0
  1720. package/src/store/tool/slices/customPlugin/index.ts +3 -0
  1721. package/src/store/tool/slices/customPlugin/initialState.ts +17 -0
  1722. package/src/store/tool/slices/customPlugin/reducers/customPluginList.ts +56 -0
  1723. package/src/store/tool/slices/customPlugin/selectors.test.ts +70 -0
  1724. package/src/store/tool/slices/customPlugin/selectors.ts +9 -0
  1725. package/src/store/tool/slices/plugin/__snapshots__/action.test.ts.snap +15 -0
  1726. package/src/store/tool/slices/plugin/action.test.ts +196 -0
  1727. package/src/store/tool/slices/plugin/action.ts +76 -0
  1728. package/src/store/tool/slices/plugin/index.ts +3 -0
  1729. package/src/store/tool/slices/plugin/initialState.ts +16 -0
  1730. package/src/store/tool/slices/plugin/reducers/manifest.ts +36 -0
  1731. package/src/store/tool/slices/plugin/selectors.test.ts +197 -0
  1732. package/src/store/tool/slices/plugin/selectors.ts +80 -0
  1733. package/src/store/tool/slices/store/action.test.ts +392 -0
  1734. package/src/store/tool/slices/store/action.ts +112 -0
  1735. package/src/store/tool/slices/store/index.ts +3 -0
  1736. package/src/store/tool/slices/store/initialState.ts +17 -0
  1737. package/src/store/tool/slices/store/selectors.test.ts +50 -0
  1738. package/src/store/tool/slices/store/selectors.ts +32 -0
  1739. package/src/store/tool/store.ts +32 -0
  1740. package/src/store/user/helpers.ts +9 -0
  1741. package/src/store/user/index.ts +1 -0
  1742. package/src/store/user/initialState.ts +22 -0
  1743. package/src/store/user/selectors.ts +13 -0
  1744. package/src/store/user/slices/auth/action.test.ts +202 -0
  1745. package/src/store/user/slices/auth/action.ts +63 -0
  1746. package/src/store/user/slices/auth/initialState.ts +28 -0
  1747. package/src/store/user/slices/auth/selectors.test.ts +143 -0
  1748. package/src/store/user/slices/auth/selectors.ts +48 -0
  1749. package/src/store/user/slices/common/action.test.ts +271 -0
  1750. package/src/store/user/slices/common/action.ts +129 -0
  1751. package/src/store/user/slices/common/initialState.ts +15 -0
  1752. package/src/store/user/slices/modelList/action.test.ts +363 -0
  1753. package/src/store/user/slices/modelList/action.ts +209 -0
  1754. package/src/store/user/slices/modelList/initialState.ts +15 -0
  1755. package/src/store/user/slices/modelList/reducers/customModelCard.test.ts +204 -0
  1756. package/src/store/user/slices/modelList/reducers/customModelCard.ts +64 -0
  1757. package/src/store/user/slices/modelList/selectors/index.ts +3 -0
  1758. package/src/store/user/slices/modelList/selectors/keyVaults.test.ts +201 -0
  1759. package/src/store/user/slices/modelList/selectors/keyVaults.ts +45 -0
  1760. package/src/store/user/slices/modelList/selectors/modelConfig.test.ts +200 -0
  1761. package/src/store/user/slices/modelList/selectors/modelConfig.ts +85 -0
  1762. package/src/store/user/slices/modelList/selectors/modelProvider.test.ts +145 -0
  1763. package/src/store/user/slices/modelList/selectors/modelProvider.ts +147 -0
  1764. package/src/store/user/slices/preference/action.test.ts +43 -0
  1765. package/src/store/user/slices/preference/action.ts +35 -0
  1766. package/src/store/user/slices/preference/initialState.ts +13 -0
  1767. package/src/store/user/slices/preference/selectors.test.ts +82 -0
  1768. package/src/store/user/slices/preference/selectors.ts +19 -0
  1769. package/src/store/user/slices/settings/action.test.ts +153 -0
  1770. package/src/store/user/slices/settings/action.ts +115 -0
  1771. package/src/store/user/slices/settings/initialState.ts +15 -0
  1772. package/src/store/user/slices/settings/selectors/__snapshots__/settings.test.ts.snap +109 -0
  1773. package/src/store/user/slices/settings/selectors/general.test.ts +45 -0
  1774. package/src/store/user/slices/settings/selectors/general.ts +40 -0
  1775. package/src/store/user/slices/settings/selectors/index.ts +3 -0
  1776. package/src/store/user/slices/settings/selectors/settings.test.ts +156 -0
  1777. package/src/store/user/slices/settings/selectors/settings.ts +52 -0
  1778. package/src/store/user/slices/settings/selectors/systemAgent.ts +18 -0
  1779. package/src/store/user/slices/sync/action.test.ts +164 -0
  1780. package/src/store/user/slices/sync/action.ts +97 -0
  1781. package/src/store/user/slices/sync/initialState.ts +13 -0
  1782. package/src/store/user/slices/sync/selectors.ts +20 -0
  1783. package/src/store/user/store.ts +42 -0
  1784. package/src/styles/antdOverride.ts +8 -23
  1785. package/src/styles/global.ts +39 -14
  1786. package/src/styles/index.ts +6 -1
  1787. package/src/styles/mobileHeader.ts +15 -0
  1788. package/src/tools/dalle/Render/Item/EditMode.tsx +66 -0
  1789. package/src/tools/dalle/Render/Item/Error.tsx +50 -0
  1790. package/src/tools/dalle/Render/Item/Image.tsx +44 -0
  1791. package/src/tools/dalle/Render/Item/ImageFileItem.tsx +77 -0
  1792. package/src/tools/dalle/Render/Item/index.tsx +88 -0
  1793. package/src/tools/dalle/Render/ToolBar.tsx +55 -0
  1794. package/src/tools/dalle/Render/index.tsx +51 -0
  1795. package/src/tools/dalle/index.ts +92 -0
  1796. package/src/tools/index.ts +11 -0
  1797. package/src/tools/portals.ts +3 -0
  1798. package/src/tools/renders.ts +14 -0
  1799. package/src/types/agent/index.ts +83 -0
  1800. package/src/types/exportConfig.ts +119 -19
  1801. package/src/types/fetch.ts +36 -0
  1802. package/src/types/files.ts +42 -0
  1803. package/src/types/i18next.d.ts +1 -1
  1804. package/src/types/importer.ts +128 -0
  1805. package/src/types/llm.ts +92 -12
  1806. package/src/types/locale.ts +4 -0
  1807. package/src/types/market.ts +20 -0
  1808. package/src/types/message/index.ts +82 -0
  1809. package/src/types/message/tools.ts +65 -0
  1810. package/src/types/message/translate.ts +4 -0
  1811. package/src/types/meta.ts +24 -12
  1812. package/src/types/next-auth.d.ts +23 -0
  1813. package/src/types/openai/chat.ts +128 -0
  1814. package/src/types/openai/functionCall.ts +10 -0
  1815. package/src/types/openai/image.ts +34 -0
  1816. package/src/types/openai/plugin.ts +57 -0
  1817. package/src/types/serverConfig.ts +32 -0
  1818. package/src/types/service.ts +7 -0
  1819. package/src/types/session/agentSession.ts +35 -0
  1820. package/src/types/session/index.ts +10 -0
  1821. package/src/types/session/sessionGroup.ts +24 -0
  1822. package/src/types/share.ts +7 -0
  1823. package/src/types/sync.ts +41 -0
  1824. package/src/types/tool/builtin.ts +47 -0
  1825. package/src/types/tool/dalle.ts +12 -0
  1826. package/src/types/tool/index.ts +16 -0
  1827. package/src/types/tool/plugin.ts +35 -0
  1828. package/src/types/tool/tool.ts +10 -0
  1829. package/src/types/topic.ts +9 -0
  1830. package/src/types/trace/action.ts +31 -0
  1831. package/src/types/trace/index.ts +1 -0
  1832. package/src/types/user/index.ts +44 -0
  1833. package/src/types/user/settings/general.ts +12 -0
  1834. package/src/types/user/settings/index.ts +32 -0
  1835. package/src/types/user/settings/keyVaults.ts +40 -0
  1836. package/src/types/user/settings/modelProvider.ts +34 -0
  1837. package/src/types/user/settings/sync.ts +10 -0
  1838. package/src/types/user/settings/systemAgent.ts +12 -0
  1839. package/src/types/user/settings/tool.ts +5 -0
  1840. package/src/types/user/settings/tts.ts +10 -0
  1841. package/src/utils/__snapshots__/parseModels.test.ts.snap +63 -0
  1842. package/src/utils/basePath.ts +3 -0
  1843. package/src/utils/client/switchLang.test.ts +34 -0
  1844. package/src/utils/client/switchLang.ts +10 -0
  1845. package/src/utils/compass.ts +1 -5
  1846. package/src/utils/compressImage.test.ts +59 -0
  1847. package/src/utils/compressImage.ts +29 -0
  1848. package/src/utils/config.ts +108 -0
  1849. package/src/utils/cookie.ts +10 -0
  1850. package/src/utils/difference.test.ts +46 -0
  1851. package/src/utils/difference.ts +26 -0
  1852. package/src/utils/env.ts +3 -0
  1853. package/src/utils/fetch.test.ts +534 -0
  1854. package/src/utils/fetch.ts +371 -105
  1855. package/src/utils/filter.ts +1 -1
  1856. package/src/utils/format.test.ts +75 -0
  1857. package/src/utils/format.ts +48 -0
  1858. package/src/utils/genOG.ts +20 -0
  1859. package/src/utils/imageToBase64.ts +37 -0
  1860. package/src/utils/jwt.test.ts +27 -0
  1861. package/src/utils/jwt.ts +37 -0
  1862. package/src/utils/keyboard.ts +13 -0
  1863. package/src/utils/localStorage.ts +38 -0
  1864. package/src/utils/locale.ts +16 -0
  1865. package/src/utils/merge.ts +11 -0
  1866. package/src/utils/parseMarkdown.ts +9 -0
  1867. package/src/utils/parseModels.test.ts +290 -0
  1868. package/src/utils/parseModels.ts +156 -0
  1869. package/src/utils/platform.test.ts +83 -0
  1870. package/src/utils/platform.ts +55 -0
  1871. package/src/utils/responsive.ts +40 -0
  1872. package/src/utils/safeParseJSON.test.ts +71 -0
  1873. package/src/utils/safeParseJSON.ts +12 -0
  1874. package/src/utils/storeDebug.ts +11 -0
  1875. package/src/utils/tokenizer.ts +5 -0
  1876. package/src/utils/toolCall.ts +21 -0
  1877. package/src/utils/trace.ts +21 -0
  1878. package/src/utils/url.test.ts +51 -0
  1879. package/src/utils/url.ts +23 -0
  1880. package/src/utils/uuid.ts +4 -4
  1881. package/src/utils/zustand.ts +8 -0
  1882. package/tests/setup-db.ts +7 -0
  1883. package/tests/setup.ts +35 -0
  1884. package/tests/utils.tsx +11 -0
  1885. package/tsconfig.json +19 -4
  1886. package/vercel.json +3 -0
  1887. package/vitest.config.ts +33 -3
  1888. package/vitest.server.config.ts +23 -0
  1889. package/.github/ISSUE_TEMPLATE/3_question.yml +0 -15
  1890. package/.github/ISSUE_TEMPLATE/4_other.md +0 -7
  1891. package/.github/dependabot.yml +0 -17
  1892. package/.github/workflows/auto-merge.yml +0 -32
  1893. package/.github/workflows/contributor-help.yml +0 -29
  1894. package/.github/workflows/issue-check-inactive.yml +0 -22
  1895. package/.github/workflows/issue-remove-inactive.yml +0 -25
  1896. package/.gitpod.yml +0 -3
  1897. package/.husky/commit-msg +0 -4
  1898. package/locales/en_US/common.json +0 -41
  1899. package/locales/en_US/setting.json +0 -109
  1900. package/locales/zh_CN/common.json +0 -41
  1901. package/locales/zh_CN/setting.json +0 -109
  1902. package/public/next.svg +0 -1
  1903. package/public/vercel.svg +0 -1
  1904. package/scripts/genDefaultLocale.ts +0 -18
  1905. package/scripts/genResources.ts +0 -51
  1906. package/scripts/toc.ts +0 -7
  1907. package/src/const/modelTokens.ts +0 -8
  1908. package/src/features/FolderPanel/index.tsx +0 -55
  1909. package/src/features/SideBar/index.tsx +0 -35
  1910. package/src/helpers/prompt.test.ts +0 -36
  1911. package/src/helpers/prompt.ts +0 -36
  1912. package/src/layout/index.tsx +0 -57
  1913. package/src/layout/style.ts +0 -18
  1914. package/src/locales/index.ts +0 -5
  1915. package/src/locales/options.ts +0 -19
  1916. package/src/locales/resources/en_US.ts +0 -7
  1917. package/src/locales/resources/index.ts +0 -13
  1918. package/src/locales/resources/zh_CN.ts +0 -9
  1919. package/src/pages/_app.page.tsx +0 -13
  1920. package/src/pages/_document.page.tsx +0 -70
  1921. package/src/pages/api/LangChainStream.ts +0 -95
  1922. package/src/pages/api/chain.api.ts +0 -17
  1923. package/src/pages/api/openai.api.ts +0 -31
  1924. package/src/pages/chat/SessionList/Header.tsx +0 -56
  1925. package/src/pages/chat/SessionList/List/SessionItem.tsx +0 -90
  1926. package/src/pages/chat/SessionList/List/index.tsx +0 -31
  1927. package/src/pages/chat/SessionList/List/style.ts +0 -77
  1928. package/src/pages/chat/SessionList/index.tsx +0 -18
  1929. package/src/pages/chat/[id]/Config/ConfigCell.tsx +0 -68
  1930. package/src/pages/chat/[id]/Config/ReadMode.tsx +0 -63
  1931. package/src/pages/chat/[id]/Config/index.tsx +0 -79
  1932. package/src/pages/chat/[id]/Conversation/ChatList.tsx +0 -36
  1933. package/src/pages/chat/[id]/Conversation/Input.tsx +0 -61
  1934. package/src/pages/chat/[id]/Conversation/index.tsx +0 -32
  1935. package/src/pages/chat/[id]/Header.tsx +0 -86
  1936. package/src/pages/chat/[id]/edit/AgentConfig.tsx +0 -95
  1937. package/src/pages/chat/[id]/edit/AgentMeta.tsx +0 -117
  1938. package/src/pages/chat/[id]/edit/FormItem.tsx +0 -26
  1939. package/src/pages/chat/[id]/edit/Prompt.tsx +0 -68
  1940. package/src/pages/chat/[id]/edit/index.page.tsx +0 -62
  1941. package/src/pages/chat/[id]/edit/style.ts +0 -42
  1942. package/src/pages/chat/[id]/index.page.tsx +0 -40
  1943. package/src/pages/chat/index.page.tsx +0 -1
  1944. package/src/pages/chat/layout.tsx +0 -51
  1945. package/src/pages/index.page.tsx +0 -1
  1946. package/src/pages/setting/Header.tsx +0 -27
  1947. package/src/pages/setting/SettingForm.tsx +0 -96
  1948. package/src/pages/setting/ThemeSwatches/ThemeSwatchesNeutral.tsx +0 -33
  1949. package/src/pages/setting/ThemeSwatches/ThemeSwatchesPrimary.tsx +0 -33
  1950. package/src/pages/setting/index.page.tsx +0 -41
  1951. package/src/prompts/agent.ts +0 -65
  1952. package/src/services/chatModel.ts +0 -34
  1953. package/src/services/langChain.ts +0 -18
  1954. package/src/services/url.ts +0 -8
  1955. package/src/store/middleware/createHashStorage.ts +0 -49
  1956. package/src/store/session/slices/agentConfig/action.ts +0 -226
  1957. package/src/store/session/slices/agentConfig/initialState.ts +0 -34
  1958. package/src/store/session/slices/agentConfig/selectors.ts +0 -54
  1959. package/src/store/session/slices/chat/action.ts +0 -210
  1960. package/src/store/session/slices/chat/index.ts +0 -3
  1961. package/src/store/session/slices/chat/initialState.ts +0 -12
  1962. package/src/store/session/slices/chat/messageReducer.test.ts +0 -70
  1963. package/src/store/session/slices/chat/messageReducer.ts +0 -84
  1964. package/src/store/session/slices/chat/selectors.ts +0 -83
  1965. package/src/store/session/slices/session/index.ts +0 -3
  1966. package/src/store/session/slices/session/reducers/session.test.ts +0 -456
  1967. package/src/store/session/slices/session/reducers/session.ts +0 -113
  1968. package/src/store/session/slices/session/selectors/chat.ts +0 -4
  1969. package/src/store/settings/action.ts +0 -36
  1970. package/src/store/settings/index.ts +0 -23
  1971. package/src/store/settings/initialState.ts +0 -27
  1972. package/src/store/settings/selectors.ts +0 -17
  1973. package/src/store/settings/store.ts +0 -13
  1974. package/src/types/chatMessage.ts +0 -46
  1975. package/src/types/langchain.ts +0 -34
  1976. package/src/types/openai.ts +0 -62
  1977. package/src/types/session.ts +0 -59
  1978. package/src/utils/VersionController.test.ts +0 -90
  1979. package/src/utils/VersionController.ts +0 -64
  1980. /package/src/{pages/setting → app/(main)/settings/common/features/Theme}/ThemeSwatches/index.ts +0 -0
  1981. /package/src/store/{session/slices/agentConfig → file/slices/images}/index.ts +0 -0
@@ -0,0 +1,75 @@
1
+ ---
2
+ title: ChatGPT 模型指南:参数概念与应用
3
+ description: >-
4
+ 了解 ChatGPT 模型的不同版本及参数概念,包括 temperature、top_p、presence_penalty 和
5
+ frequency_penalty。
6
+ tags:
7
+ - ChatGPT
8
+ - 模型指南
9
+ - 参数概念
10
+ - LLM
11
+ - 生成模型
12
+ ---
13
+
14
+ # 模型指南
15
+
16
+ ## ChatGPT
17
+
18
+ - **gpt-3.5-turbo**:目前最生成速度最快的 chatgpt 模型更快,但可能会牺牲一些生成文本的质量,上下文长度为 4k。
19
+ - **gpt-3.5-turbo-16k**:同 gpt-4,上下文限制增加到 16k token,同时费率更高。
20
+ - **gpt-4**:ChatGPT 4.0 在语言理解和生成能力方面相对于 3.5 有所提升。它可以更好地理解上下文和语境,并生成更准确、自然的回答。这得益于 GPT-4 模型的改进,包括更好的语言建模和更深入的语义理解,但它的速度可能比其他模型慢,上下文长度为 8k。
21
+ - **gpt-4-32k**:同 gpt-4,上下文限制增加到 32k token,同时费率更高。
22
+
23
+ ## 模型参数概念
24
+
25
+ LLM 看似很神奇,但本质还是一个概率问题,神经网络根据输入的文本,从预训练的模型里面生成一堆候选词,选择概率高的作为输出,相关的参数,大多都是跟采样有关(也就是要如何从候选词里选择输出)。
26
+
27
+ ### `temperature`
28
+
29
+ 用于控制模型输出的结果的随机性,这个值越大随机性越大。一般我们多次输入相同的 prompt 之后,模型的每次输出都不一样。
30
+
31
+ - 设置为 0,对每个 prompt 都生成固定的输出
32
+ - 较低的值,输出更集中,更有确定性
33
+ - 较高的值,输出更随机(更有创意 )
34
+
35
+ <Callout>
36
+ 一般来说,prompt 越长,描述得越清楚,模型生成的输出质量就越好,置信度越高,这时可以适当调高
37
+ temperature 的值;反过来,如果 prompt 很短,很含糊,这时再设置一个比较高的 temperature
38
+ 值,模型的输出就很不稳定了。
39
+ </Callout>
40
+
41
+ <br />
42
+
43
+ ### `top_p`
44
+
45
+ 核采样 top_p 也是采样参数,跟 temperature 不一样的采样方式。模型在输出之前,会生成一堆 token,这些 token 根据质量高低排名,核采样模式中候选词列表是动态的,从 tokens 里按百分比选择候选词。 top_p 为选择 token 引入了随机性,让其他高分的 token 有被选择的机会,不会总是选最高分的。
46
+
47
+ <Callout>top\_p 与随机性类似,一般来说不建议和随机性 temperature 一起更改</Callout>
48
+
49
+ <br />
50
+
51
+ ### `presence_penalty`
52
+
53
+ Presence Penalty 参数可以看作是对生成文本中重复内容的一种惩罚。当该参数设置较高时,生成模型会尽量避免产生重复的词语、短语或句子。相反,如果 Presence Penalty 参数较低,则生成的文本可能会包含更多重复的内容。通过调整 Presence Penalty 参数的值,可以实现对生成文本的原创性和多样性的控制。参数的重要性主要体现在以下几个方面:
54
+
55
+ - 提高生成文本的独创性和多样性:在某些应用场景下,如创意写作、生成新闻标题等,需要生成的文本具有较高的独创性和多样性。通过增加 Presence Penalty 参数的值,可以有效减少生成文本中的重复内容,从而提高文本的独创性和多样性。
56
+ - 防止生成循环和无意义的内容:在某些情况下,生成模型可能会产生循环、重复的文本,这些文本通常无法传达有效的信息。通过适当增加 Presence Penalty 参数的值,可以降低生成这类无意义内容的概率,提高生成文本的可读性和实用性。
57
+
58
+ <Callout>
59
+ 值得注意的是,Presence Penalty 参数与其他参数(如 Temperature 和
60
+ top-p)共同影响着生成文本的质量。对比其他参数,Presence Penalty
61
+ 参数主要关注文本的独创性和重复性,而 Temperature 和 top-p
62
+ 参数则更多地影响着生成文本的随机性和确定性。通过合理地调整这些参数,可以实现对生成文本质量的综合控制
63
+ </Callout>
64
+
65
+ <br />
66
+
67
+ ### `frequency_penalty`
68
+
69
+ 是一种机制,通过对文本中频繁出现的新词汇施加惩罚,以减少模型重复同一词语的可能性,值越大,越有可能降低重复字词。
70
+
71
+ - `-2.0` 当早间新闻开始播出,我发现我家电视现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在现在 _(频率最高的词是 “现在”,占比 44.79%)_
72
+ - `-1.0` 他总是在清晨看新闻,在电视前看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看 _(频率最高的词是 “看”,占比 57.69%)_
73
+ - `0.0` 当清晨的阳光洒进小餐馆时,一名疲倦的邮递员出现在门口,他的手中提着一袋信件。店主热情地为他准备了一份早餐,他在享用早餐的同时开始整理邮件。**(频率最高的词是 “的”,占比 8.45%)**
74
+ - `1.0` 一个深度睡眠的女孩被一阵温暖的阳光唤醒,她看到了早晨的第一缕阳光,周围是鸟语花香,一切都充满了生机。_(频率最高的词是 “的”,占比 5.45%)_
75
+ - `2.0` 每天早上,他都会在阳台上坐着吃早餐。在柔和的夕阳照耀下,一切看起来都非常宁静。然而有一天,当他准备端起早餐的时候,一只乐观的小鸟飞过,给他带来了一天的好心情。 _(频率最高的词是 “的”,占比 4.94%)_
@@ -0,0 +1,110 @@
1
+ ---
2
+ title: >-
3
+ Guide to Using Prompts in LobeChat - How to Write Effective Instructions for
4
+ Generative AI
5
+ description: >-
6
+ Learn the basic concepts of prompts and how to write well-structured and
7
+ effective instructions for generative AI. Improve the quality and
8
+ effectiveness of prompts to guide AI models accurately.
9
+ tags:
10
+ - Generative AI
11
+ - Prompts
12
+ - Writing Instructions
13
+ - Structured Prompts
14
+ - Improving AI Output
15
+ ---
16
+
17
+ # Guide to Using Prompts
18
+
19
+ ## Basic Concepts of Prompts
20
+
21
+ Generative AI is very useful, but it requires human guidance. In most cases, generative AI can be as capable as a new intern at a company, but it needs clear instructions to perform well. The ability to guide generative AI correctly is a very powerful skill. You can guide generative AI by sending a prompt, which is usually a text instruction. A prompt is the input provided to the assistant, and it will affect the output. A good prompt should be structured, clear, concise, and directive.
22
+
23
+ ## How to Write a Well-Structured Prompt
24
+
25
+ <Callout type={'important'}>
26
+ A structured prompt refers to the construction of the prompt having a clear logic and structure.
27
+ For example, if you want the model to generate an article, your prompt may need to include the
28
+ article's topic, outline, and style.
29
+ </Callout>
30
+
31
+ Let's look at a basic discussion prompt example:
32
+
33
+ > _"What are the most urgent environmental issues facing our planet, and what actions can individuals take to help address these issues?"_
34
+
35
+ We can convert it into a simple prompt for the assistant to answer the following questions: placed at the front.
36
+
37
+ ```prompt
38
+ Answer the following questions:
39
+ What are the most urgent environmental issues facing our planet, and what actions can individuals take to help address these issues?
40
+ ```
41
+
42
+ Since the results generated by this prompt are not consistent, some are only one or two sentences. A typical discussion response should have multiple paragraphs, so these results are not ideal. A good prompt should provide **specific formatting and content instructions**. You need to eliminate ambiguity in the language to improve consistency and quality. Here is a better prompt.
43
+
44
+ ```prompt
45
+ Write a highly detailed paper, including an introduction, body, and conclusion, to answer the following questions:
46
+ What are the most urgent environmental issues facing our planet,
47
+ and what actions can individuals take to help address these issues?
48
+ ```
49
+
50
+ The second prompt generates longer output and better structure. The use of the term "paper" in the prompt is intentional, as the assistant can understand the definition of a paper, making it more likely to generate coherent, structured responses.
51
+
52
+ ## How to Improve Quality and Effectiveness
53
+
54
+ <Callout type={'tip'}>
55
+ There are several ways to improve the quality and effectiveness of prompts:
56
+
57
+ - **Be Clear About Your Needs:** The model's output will strive to meet your needs, so if your needs are not clear, the output may not meet expectations.
58
+ - **Use Correct Grammar and Spelling:** The model will try to mimic your language style, so if your language style is problematic, the output may also be problematic.
59
+ - **Provide Sufficient Contextual Information:** The model will generate output based on the contextual information you provide, so if the information is insufficient, it may not produce the desired results.
60
+
61
+ </Callout>
62
+
63
+ After formulating effective prompts for discussing issues, you now need to refine the generated results. This may involve adjusting the output to fit constraints such as word count or combining concepts from different generated results.
64
+
65
+ A simple method of iteration is to generate multiple outputs and review them to understand the concepts and structures being used. Once the outputs have been evaluated, you can select the most suitable ones and combine them into a coherent response. Another iterative method is to start small and **gradually expand**. This requires more than one prompt: an initial prompt for drafting the initial one or two paragraphs, followed by additional prompts to expand on the content already written. Here is a potential philosophical discussion prompt:
66
+
67
+ > _"Is mathematics an invention or a discovery? Use careful reasoning to explain your answer."_
68
+
69
+ Add it to a simple prompt as follows:
70
+
71
+ ```prompt
72
+ Write an opening paragraph to answer the following question:
73
+ Is mathematics an invention or a discovery? Use careful reasoning to explain your answer.
74
+ ```
75
+
76
+ After generating some responses, we found one that we like:
77
+
78
+ ```prompt
79
+ Philosophers and mathematicians have long debated whether mathematics is an invention or a discovery.
80
+ Some argue that the concepts and principles of mathematics exist independently of human thought, and therefore can be considered discovered rather than invented.
81
+ For example, the concepts of numbers, ratios, and geometric shapes are observed in the natural world and can be abstracted and systematically studied.
82
+ ```
83
+
84
+ It's a good start. Then, use another prompt to expand:
85
+
86
+ ```prompt
87
+ I am writing a detailed essay to answer the following prompt:
88
+ Is mathematics an invention or a discovery? Use careful reasoning to explain your answer. Here is my current situation: Philosophers and mathematicians have long debated whether mathematics is an invention or a discovery.
89
+ Some argue that the concepts and principles of mathematics exist independently of human thought, and therefore can be considered discovered rather than invented.
90
+ For example, the concepts of numbers, ratios, and geometric shapes are observed in the natural world and can be abstracted and systematically studied. Write the next paragraph of my essay.
91
+ ```
92
+
93
+ I used this prompt to generate several extensions and selected one that I liked, resulting in the following:
94
+
95
+ ```prompt
96
+ Philosophers and mathematicians have long debated whether mathematics is invented or discovered.
97
+ Some argue that the concepts and principles of mathematics exist independently of human thought, and therefore can be considered to be discovered rather than invented.
98
+ For example, the concepts of numbers, ratios, and geometric shapes are observed in the natural world and can be abstracted and systematically studied.
99
+ On the other hand, some believe that mathematics is largely an invention of human thought.
100
+ Mathematical principles are based on logical reasoning, which is a characteristic of human thought.
101
+ For instance, Euclidean geometry is based on abstract axioms and premises, accepted as true without the need for proof.
102
+ Therefore, geometry can be considered an invention of human thought rather than a discovery.
103
+ Similarly, mathematical formulas and equations are used to model and predict physical phenomena, which are the result of human reasoning.
104
+ ```
105
+
106
+ Using the prompt extensions, we can iteratively write and iterate at each step. This is very useful for situations that require **generating higher quality output and incremental modifications**.
107
+
108
+ ## Further Reading
109
+
110
+ - **Learn Prompting**: [https://learnprompting.org/en-US/docs/intro](https://learnprompting.org/en-US/docs/intro)
@@ -0,0 +1,106 @@
1
+ ---
2
+ title: 如何通过 LobeChat 写好结构化 Prompt - 提高生成式 AI 输出质量的关键
3
+ description: 学习如何撰写结构化 Prompt 可以提高生成式 AI 输出的质量和效果。本文介绍了撰写有效 Prompt 的方法和技巧,以及如何逐步扩展和优化生成的结果。
4
+ tags:
5
+ - 结构化 Prompt
6
+ - 生成式AI
7
+ - 提高输出质量
8
+ - 撰写技巧
9
+ - 逐步扩展
10
+ ---
11
+
12
+ # Prompt 使用指南
13
+
14
+ ## Prompt 基本概念
15
+
16
+ 生成式 AI 非常有用,但它需要人类指导。通常情况下,生成式 AI 能就像公司新来的实习生一样,非常有能力,但需要清晰的指示才能做得好。能够正确地指导生成式 AI 是一项非常强大的技能。你可以通过发送一个 prompt 来指导生成式 AI,这通常是一个文本指令。Prompt 是向助手提供的输入,它会影响输出结果。一个好的 Prompt 应该是结构化的,清晰的,简洁的,并且具有指向性。
17
+
18
+ ## 如何写好一个结构化 prompt
19
+
20
+ <Callout type={'important'}>
21
+ 结构化 prompt 是指 prompt 的构造应该有明确的逻辑和结构。例如,如果你想让模型生成一篇文章,你的
22
+ prompt 可能需要包括文章的主题,文章的大纲,文章的风格等信息。
23
+ </Callout>
24
+
25
+ 让我们看一个基本的讨论问题的例子:
26
+
27
+ > _"我们星球面临的最紧迫的环境问题是什么,个人可以采取哪些措施来帮助解决这些问题?"_
28
+
29
+ 我们可以将其转化为简单的助手提示,将回答以下问题:放在前面。
30
+
31
+ ```prompt
32
+ 回答以下问题:
33
+ 我们星球面临的最紧迫的环境问题是什么,个人可以采取哪些措施来帮助解决这些问题?
34
+ ```
35
+
36
+ 由于这个提示生成的结果并不一致,有些只有一两个句子。一个典型的讨论回答应该有多个段落,因此这些结果并不理想。一个好的提示应该给出**具体的格式和内容指令**。您需要消除语言中的歧义以提高一致性和质量。这是一个更好的提示。
37
+
38
+ ```prompt
39
+ 写一篇高度详细的论文,包括引言、正文和结论段,回答以下问题:
40
+ 我们星球面临的最紧迫的环境问题是什么,
41
+ 个人可以采取哪些措施来帮助解决这些问题?
42
+ ```
43
+
44
+ 第二个提示生成了更长的输出和更好的结构。提示中使用 “论文” 一词是有意的,因为助手可以理解论文的定义,因此更有可能生成连贯的、结构化的回答。
45
+
46
+ <br />
47
+
48
+ ## 如何提升其质量和效果
49
+
50
+ <Callout type={'tip'}>
51
+ 提升 prompt 质量和效果的方法主要有以下几点:
52
+
53
+ - **尽量明确你的需求:** 模型的输出会尽可能满足你的需求,所以如果你的需求不明确,输出可能会不如预期。
54
+ - **使用正确的语法和拼写:** 模型会尽可能模仿你的语言风格,所以如果你的语言风格有问题,输出可能也会有问题。
55
+ - **提供足够的上下文信息:** 模型会根据你提供的上下文信息生成输出,所以如果你提供的上下文信息不足,可能无法生成你想要的结果。
56
+
57
+ </Callout>
58
+
59
+ 在为讨论问题制定有效的提示后,您现在需要细化生成的结果。这可能涉及到调整输出以符合诸如字数等限制,或将不同生成的结果的概念组合在一起。
60
+
61
+ 迭代的一个简单方法是生成多个输出并查看它们,以了解正在使用的概念和结构。一旦评估了输出,您就可以选择最合适的输出并将它们组合成一个连贯的回答。另一种迭代的方法是逐步开始,然后**逐步扩展**。这需要不止一个提示:一个起始提示,用于撰写最初的一两段,然后是其他提示,以扩展已经写过的内容。以下是一个潜在的哲学讨论问题:
62
+
63
+ > _"数学是发明还是发现?用仔细的推理来解释你的答案。"_
64
+
65
+ 将其添加到一个简单的提示中,如下所示:
66
+
67
+ ```prompt
68
+ 写一个起始段回答以下问题:
69
+ 数学是发明还是发现?用仔细的推理来解释你的答案。
70
+ ```
71
+
72
+ 生成了一些回答,找到了一个我们喜欢的:
73
+
74
+ ```prompt
75
+ 哲学家和数学家之间争论不休,数学是发明还是发现。
76
+ 一些人认为,数学的概念和原则独立于人类思维存在,因此可以被认为是被发现而不是被发明的。
77
+ 例如,数字、比率和几何形状的概念在自然界中被观察到,可以被抽象化和系统化地研究。
78
+ ```
79
+
80
+ 是一个不错的开端。然后使用另一个提示来扩展:
81
+
82
+ ```prompt
83
+ 我正在撰写一篇详细的短文,回答以下提示:
84
+ 数学是发明还是发现?用仔细的推理来解释你的答案。这是我目前的情况: 哲学家和数学家之间争论不休,数学是发明还是发现。
85
+ 一些人认为,数学的概念和原则独立于人类思维存在,因此可以被认为是被发现而不是被发明的。
86
+ 例如,数字、比率和几何形状的概念在自然界中被观察到,可以被抽象化和系统化地研究。写下我文章的下一段。
87
+ ```
88
+
89
+ 使用此提示生成了几个扩展,并选择了一个我喜欢的,最终得到了以下结果:
90
+
91
+ ```prompt
92
+ 哲学家和数学家之间争论不休,数学是发明还是发现。
93
+ 一些人认为,数学的概念和原则独立于人类思维存在,因此可以被认为是被发现而不是被发明的。
94
+ 例如,数字、比率和几何形状的概念在自然界中被观察到,可以被抽象化和系统化地研究。
95
+ 另一方面,有人认为数学在很大程度上是人类思维的发明。
96
+ 数学原理基于逻辑推理,这是人类思维的一个特征。
97
+ 例如,欧几里德几何基于抽象的公理和前提,被接受为真实而无需证明。
98
+ 因此,可以认为几何是人类思维的发明,而不是一种发现。
99
+ 同样,数学公式和方程用于模拟和预测物理现象,这又是人类推理的结果。
100
+ ```
101
+
102
+ 使用扩展提示,我们可以逐步地写作并在每个步骤上进行迭代。这对于需要**生成更高质量的输出并希望逐步修改**的情况非常有用。
103
+
104
+ ## 扩展阅读
105
+
106
+ - **Learn Prompting**: [https://learnprompting.org/zh-Hans/docs/intro](https://learnprompting.org/zh-Hans/docs/intro)
@@ -0,0 +1,27 @@
1
+ ---
2
+ title: LobeChat Topic Usage Guide
3
+ description: >-
4
+ Learn how to save and manage topics during conversations in LobeChat,
5
+ including saving topics, accessing the topic list, and pinning favorite
6
+ topics.
7
+ tags:
8
+ - Topic Usage
9
+ - Conversation Management
10
+ - Save Topic
11
+ - Topic List
12
+ - Favorite Topics
13
+ ---
14
+
15
+ # Topic Usage Guide
16
+
17
+ <Image
18
+ alt={'Topic Usage Guide'}
19
+ borderless
20
+ cover
21
+ src={
22
+ 'https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/279602496-fd72037a-735e-4cc2-aa56-2994bceaba81.png'
23
+ }
24
+ />
25
+
26
+ - **Save Topic:** During a conversation, if you want to save the current context and start a new topic, you can click the save button next to the send button.
27
+ - **Topic List:** Clicking on a topic in the list allows for quick switching of historical conversation records and continuing the conversation. You can also use the star icon <kbd>⭐️</kbd> to pin favorite topics to the top, or use the more button on the right to rename or delete topics.
@@ -0,0 +1,25 @@
1
+ ---
2
+ title: LobeChat 话题使用指南 - 保存话题、快速切换历史记录
3
+ description: 学习如何在 LobeChat 中保存话题、快速切换历史记录,并对话题进行收藏、重命名和删除操作。
4
+ tags:
5
+ - 话题使用指南
6
+ - 保存话题
7
+ - 快速切换历史记录
8
+ - 话题收藏
9
+ - 话题重命名
10
+ - 话题删除
11
+ ---
12
+
13
+ # 话题使用指南
14
+
15
+ <Image
16
+ alt={'话题使用指南'}
17
+ borderless
18
+ cover
19
+ src={
20
+ 'https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/279602496-fd72037a-735e-4cc2-aa56-2994bceaba81.png'
21
+ }
22
+ />
23
+
24
+ - **保存话题:** 在聊天过程中,如果想要保存当前上下文并开启新的话题,可以点击发送按钮旁边的保存按钮。
25
+ - **话题列表:** 点击列表中的话题可以快速切换历史对话记录,并继续对话。你还可以通过点击星标图标 <kbd>⭐️</kbd> 将话题收藏置顶,或者通过右侧更多按钮对话题进行重命名和删除操作。
@@ -0,0 +1,40 @@
1
+ ---
2
+ title: Find best Assistants in LobeChat Assistant Market
3
+ description: >-
4
+ Explore a vibrant community of carefully designed assistants in LobeChat's
5
+ Assistant Market. Contribute your wisdom and share your personally developed
6
+ assistants in this collaborative space.
7
+ tags:
8
+ - LobeChat
9
+ - Assistant Market
10
+ - Community
11
+ - Collaboration
12
+ - Assistants
13
+ ---
14
+
15
+ # Assistant Market
16
+
17
+ <Image
18
+ alt={'Assistant Market'}
19
+ borderless
20
+ cover
21
+ src={
22
+ 'https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/268670869-f1ffbf66-42b6-42cf-a937-9ce1f8328514.png'
23
+ }
24
+ />
25
+
26
+ In LobeChat's Assistant Market, creators can discover a vibrant and innovative community that brings together numerous carefully designed assistants. These assistants not only play a crucial role in work scenarios but also provide great convenience in the learning process. Our market is not just a showcase platform, but also a collaborative space. Here, everyone can contribute their wisdom and share their personally developed assistants.
27
+
28
+ <Callout type={'tip'}>
29
+ By [🤖/🏪 submitting agents](https://github.com/lobehub/lobe-chat-agents), you can easily submit
30
+ your assistant works to our platform. We particularly emphasize that LobeChat has established a
31
+ sophisticated automated internationalization (i18n) workflow, which excels in seamlessly
32
+ converting your assistants into multiple language versions. This means that regardless of the
33
+ language your users are using, they can seamlessly experience your assistant.
34
+ </Callout>
35
+
36
+ <Callout type={'important'}>
37
+ We welcome all users to join this ever-growing ecosystem and participate in the iteration and
38
+ optimization of assistants. Together, let's create more interesting, practical, and innovative
39
+ assistants, further enriching the diversity and practicality of assistants.
40
+ </Callout>
@@ -0,0 +1,36 @@
1
+ ---
2
+ title: 在 LobeChat 助手市场找到创新 AI 助手
3
+ description: >-
4
+ LobeChat助手市场是一个充满活力和创新的社区,汇聚了众多精心设计的助手,为工作场景和学习提供便利。欢迎提交你的助手作品,共同创造更多有趣、实用且具有创新性的助手。
5
+ tags:
6
+ - LobeChat
7
+ - 助手市场
8
+ - 创新社区
9
+ - 协作空间
10
+ - 助手作品
11
+ - 自动化国际化
12
+ - 多语言版本
13
+ ---
14
+
15
+ # 助手市场
16
+
17
+ <Image
18
+ alt={'助手市场'}
19
+ cover
20
+ src={
21
+ 'https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/268670869-f1ffbf66-42b6-42cf-a937-9ce1f8328514.png'
22
+ }
23
+ />
24
+
25
+ 在 LobeChat 的助手市场中,创作者们可以发现一个充满活力和创新的社区,它汇聚了众多精心设计的助手,这些助手不仅在工作场景中发挥着重要作用,也在学习过程中提供了极大的便利。我们的市场不仅是一个展示平台,更是一个协作的空间。在这里,每个人都可以贡献自己的智慧,分享个人开发的助手。
26
+
27
+ <Callout type={'tip'}>
28
+ 通过 [🤖/🏪 提交助手](https://github.com/lobehub/lobe-chat-agents)
29
+ ,你可以轻松地将你的助手作品提交到我们的平台。我们特别强调的是,LobeChat
30
+ 建立了一套精密的自动化国际化(i18n)工作流程,
31
+ 它的强大之处在于能够无缝地将你的助手转化为多种语言版本。这意味着,不论你的用户使用何种语言,他们都能无障碍地体验到你的助手。
32
+ </Callout>
33
+
34
+ <Callout type={'important'}>
35
+ 我们欢迎所有用户加入这个不断成长的生态系统,共同参与到助手的迭代与优化中来。共同创造出更多有趣、实用且具有创新性的助手,进一步丰富助手的多样性和实用性。
36
+ </Callout>
@@ -0,0 +1,65 @@
1
+ ---
2
+ title: Support Multi-User Management - Identity Verification Solutions
3
+ description: >-
4
+ Explore LobeChat's user authentication solutions with next-auth and Clerk for
5
+ flexible and secure user management. Learn about features like user
6
+ registration, session management, multi-factor authentication, and more.
7
+ tags:
8
+ - Multi-User Management
9
+ - Identity Verification
10
+ - next-auth
11
+ - Clerk
12
+ - User Authentication
13
+ - Session Management
14
+ - Multi-Factor Authentication
15
+ - User Management
16
+ ---
17
+
18
+ # Support Multi-User Management
19
+
20
+ <Image
21
+ alt={'Identity Verification System'}
22
+ cover
23
+ src={'https://github.com/lobehub/lobe-chat/assets/17870709/8ce70e15-40df-451e-b700-66090fe5b8c2'}
24
+ />
25
+
26
+ In modern applications, user management and identity verification are essential functions. To meet the diverse needs of different users, LobeChat provides two main user authentication and management solutions: `next-auth` and `Clerk`. Whether you are looking for simple user registration and login or need advanced multi-factor authentication and user management, LobeChat can flexibly accommodate your requirements.
27
+
28
+ ## next-auth: Flexible and Powerful Identity Verification Library
29
+
30
+ LobeChat integrates `next-auth`, a flexible and powerful identity verification library that supports various authentication methods, including OAuth, email login, and credential login. With `next-auth`, you can easily achieve the following functions:
31
+
32
+ - **User Registration and Login**: Support various authentication methods to meet different user needs.
33
+ - **Session Management**: Efficiently manage user sessions to ensure security.
34
+ - **Social Login**: Support quick login via various social platforms.
35
+ - **Data Security**: Ensure the security and privacy of user data.
36
+
37
+ <Callout type={'warning'}>
38
+ Due to workload constraints, integration of next-auth with a server-side database has not been
39
+ implemented yet. If you need to use a server-side database, please use Clerk.
40
+ </Callout>
41
+
42
+ <Callout type={'info'}>
43
+ For information on using Next-Auth, you can refer to [Authentication Services - Next
44
+ Auth](/docs/self-hosting/advanced/authentication#next-auth).
45
+ </Callout>
46
+
47
+ ## Clerk: Modern User Management Platform
48
+
49
+ For users requiring advanced user management features, LobeChat also supports [Clerk](https://clerk.com), a modern user management platform. Clerk offers richer functionality to help you achieve higher security and flexibility:
50
+
51
+ - **Multi-Factor Authentication (MFA)**: Provides higher security protection.
52
+ - **User Profile Management**: Conveniently manage user information and configurations.
53
+ - **Login Activity Monitoring**: Real-time monitoring of user login activities to ensure account security.
54
+ - **Scalability**: Supports complex user management requirements.
55
+
56
+ <Callout type={'info'}>
57
+ For information on using Clerk, you can refer to [Authentication Services -
58
+ Clerk](/docs/self-hosting/advanced/authentication#clerk) .
59
+ </Callout>
60
+
61
+ <Callout type={'tip'}>
62
+ If you need to use Clerk in conjunction with a server-side database, you can refer to the
63
+ "Configuring Authentication Services" section in [Deploying with a Server-Side
64
+ Database](/docs/self-hosting/advanced/server-database).
65
+ </Callout>
@@ -0,0 +1,60 @@
1
+ ---
2
+ title: 多用户管理支持
3
+ description: LobeChat 提供了多种用户认证和管理方案,以满足不同用户的需求。
4
+ tags:
5
+ - LobeChat
6
+ - 用户管理
7
+ - next-auth
8
+ - Clerk
9
+ - 身份验证
10
+ - 多因素认证
11
+ ---
12
+
13
+ # 身份验证系统 / 多用户管理支持
14
+
15
+ <Image
16
+ alt={'身份验证系统'}
17
+ cover
18
+ src={'https://github.com/lobehub/lobe-chat/assets/17870709/8ce70e15-40df-451e-b700-66090fe5b8c2'}
19
+ />
20
+
21
+ 在现代应用中,用户管理和身份验证是至关重要的功能。为满足不同用户的多样化需求,LobeChat 提供了两种主要的用户认证和管理方案:`next-auth` 和 `Clerk`。无论您是追求简便的用户注册登录,还是需要更高级的多因素认证和用户管理,LobeChat 都可以灵活实现。
22
+
23
+ ## next-auth:灵活且强大的身份验证库
24
+
25
+ LobeChat 集成了 `next-auth`,一个灵活且强大的身份验证库,支持多种身份验证方式,包括 OAuth、邮件登录、凭证登录等。通过 `next-auth`,您可以轻松实现以下功能:
26
+
27
+ - **用户注册和登录**:支持多种认证方式,满足不同用户的需求。
28
+ - **会话管理**:高效管理用户会话,确保安全性。
29
+ - **社交登录**:支持多种社交平台的快捷登录。
30
+ - **数据安全**:保障用户数据的安全性和隐私性。
31
+
32
+ <Callout type={'warning'}>
33
+ 由于工作量原因,目前还没有实现 next-auth 与服务端数据库的集成,如果需要使用服务端数据库,请使用
34
+ Clerk 。
35
+ </Callout>
36
+
37
+ <Callout type={'info'}>
38
+ 关于 Next-Auth 的使用,可以查阅 [身份验证服务 - Next
39
+ Auth](/zh/docs/self-hosting/advanced/authentication#next-auth)。
40
+ </Callout>
41
+
42
+ ## Clerk:现代化用户管理平台
43
+
44
+ 对于需要更高级用户管理功能的用户,LobeChat 还支持 [Clerk](https://clerk.com) ,一个现代化的用户管理平台。Clerk 提供了更丰富的功能,帮助您实现更高的安全性和灵活性:
45
+
46
+ - **多因素认证 (MFA)**:提供更高的安全保障。
47
+ - **用户配置文件管理**:便捷管理用户信息和配置。
48
+ - **登录活动监控**:实时监控用户登录活动,确保账户安全。
49
+ - **扩展性**:支持复杂的用户管理需求。
50
+
51
+ <Callout type={'info'}>
52
+ 关于 Clerk 的使用,可以查阅 [身份验证服务 -
53
+ Clerk](/zh/docs/self-hosting/advanced/authentication#clerk)。
54
+ </Callout>
55
+
56
+ <Callout type={'tip'}>
57
+ 如果需要在服务端数据库中搭配使用 Clerk 的使用,可以查阅
58
+ [使用服务端数据库部署](/zh/docs/self-hosting/advanced/server-database)
59
+ 中的「配置身份验证服务」部分。
60
+ </Callout>
@@ -0,0 +1,60 @@
1
+ ---
2
+ title: Local / Cloud Database Solutions for LobeChat
3
+ description: >-
4
+ Explore the options of local and server-side databases for LobeChat, offering
5
+ data control, privacy protection, and convenient user experiences.
6
+ tags:
7
+ - Local Database
8
+ - Server-Side Database
9
+ - Data Privacy
10
+ - Data Control
11
+ - CRDT Technology
12
+ - PostgreSQL
13
+ - Dirzzle ORM
14
+ - Clerk Authentication
15
+ ---
16
+
17
+ # Local / Cloud Database
18
+
19
+ <Image
20
+ alt={'Local / Cloud Database'}
21
+ cover
22
+ src={'https://github.com/lobehub/lobe-chat/assets/17870709/c27a0234-a4e9-40e5-8bcb-42d5ce7e40f9'}
23
+ />
24
+
25
+ In modern application development, the choice of data storage solution is crucial. To meet the needs of different users, LobeChat offers flexible configurations that support both local and server-side databases. Whether you prioritize data privacy and control or seek a convenient user experience, LobeChat can provide excellent solutions for you.
26
+
27
+ ## Local Database: Data Control and Privacy Protection
28
+
29
+ For users who prefer more control over their data and value privacy protection, LobeChat offers support for local databases. By using IndexedDB as the storage solution and combining it with dexie as an Object-Relational Mapping (ORM) tool, LobeChat achieves efficient data management.
30
+
31
+ Additionally, we have introduced Conflict-Free Replicated Data Type (CRDT) technology to ensure a seamless multi-device synchronization experience. This experimental feature aims to provide users with greater autonomy and data security.
32
+
33
+ <Callout type={'info'}>
34
+ LobeChat defaults to the local database solution to reduce the onboarding cost for new users.
35
+ </Callout>
36
+
37
+ Furthermore, we have attempted to introduce CRDT technology to achieve cross-device synchronization based on the local database. This experimental feature aims to provide users with greater autonomy and data security.
38
+
39
+ ## Server-Side Database: Convenient and Efficient User Experience
40
+
41
+ For users who seek a convenient user experience, LobeChat supports PostgreSQL as the server-side database. By managing data with Dirzzle ORM and combining it with Clerk for authentication, LobeChat can offer users an efficient and reliable server-side data management solution.
42
+
43
+ ### Server-Side Database Technology Stack
44
+
45
+ - **DB**: PostgreSQL (Neon is the default)
46
+ - **ORM**: Dirzzle ORM
47
+ - **Auth**: Clerk
48
+ - **Server Router**: tRPC
49
+
50
+ ## Deployment Solution Selection Guide
51
+
52
+ ### 1. Local Database
53
+
54
+ The local database solution is suitable for users who wish to have strict control over their data. With LobeChat's support for local databases, you can securely store and manage data without relying on external servers. This solution is particularly suitable for users with high requirements for data privacy.
55
+
56
+ ### 2. Server-Side Database
57
+
58
+ The server-side database solution is ideal for users who want to simplify data management processes and enjoy a convenient user experience. Through server-side databases and user authentication, LobeChat can ensure the security and efficiency of data. If you want to learn how to configure a server-side database, please refer to our [detailed documentation](/docs/self-hosting/advanced/server-database).
59
+
60
+ Whether you choose a local database or a server-side database, LobeChat can provide you with an excellent user experience.