@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
package/README.md CHANGED
@@ -1,31 +1,47 @@
1
- <a name="readme-top"></a>
1
+ <div align="center"><a name="readme-top"></a>
2
2
 
3
- <div align="center">
4
-
5
- <img height="120" src="https://npm.elemecdn.com/@lobehub/assets-logo@1.0.0/assets/logo-3d.webp">
6
- <img height="120" src="https://gw.alipayobjects.com/zos/kitchen/qJ3l3EPsdW/split.svg">
7
- <img height="120" src="https://npm.elemecdn.com/fluentui-emoji/icons/modern/robot.svg">
3
+ [![][image-banner]][vercel-link]
8
4
 
9
- <h1>Lobe Chat</h1>
5
+ # Lobe Chat
10
6
 
11
- Lobe Chat is an open-source chatbot client using LangChain
7
+ An open-source, modern-design ChatGPT/LLMs UI/Framework.<br/>
8
+ Supports speech-synthesis, multi-modal, and extensible ([function call][docs-functionc-call]) plugin system.<br/>
9
+ One-click **FREE** deployment of your private OpenAI ChatGPT/Claude/Gemini/Groq/Ollama chat application.
12
10
 
13
- Typescript and Next.js
14
-
15
- [Changelog](./CHANGELOG.md) · [Report Bug][issues-url] · [Request Feature][issues-url]
11
+ **English** · [简体中文](./README.zh-CN.md) · [Official Site][official-site] · [Changelog](./CHANGELOG.md) · [Documents][docs] · [Blog][blog] · [Feedback][github-issues-link]
16
12
 
17
13
  <!-- SHIELD GROUP -->
18
14
 
19
- [![release][release-shield]][release-url]
20
- [![releaseDate][release-date-shield]][release-date-url]
21
- [![ciTest][ci-test-shield]][ci-test-url]
22
- [![ciRelease][ci-release-shield]][ci-release-url] <br/>
23
- [![contributors][contributors-shield]][contributors-url]
24
- [![forks][forks-shield]][forks-url]
25
- [![stargazers][stargazers-shield]][stargazers-url]
26
- [![issues][issues-shield]][issues-url]
27
-
28
- ![](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/rainbow.png)
15
+ [![][github-release-shield]][github-release-link]
16
+ [![][docker-release-shield]][docker-release-link]
17
+ [![][vercel-shield]][vercel-link]
18
+ [![][discord-shield]][discord-link]<br/>
19
+ [![][codecov-shield]][codecov-link]
20
+ [![][github-action-test-shield]][github-action-test-link]
21
+ [![][github-action-release-shield]][github-action-release-link]
22
+ [![][github-releasedate-shield]][github-releasedate-link]<br/>
23
+ [![][github-contributors-shield]][github-contributors-link]
24
+ [![][github-forks-shield]][github-forks-link]
25
+ [![][github-stars-shield]][github-stars-link]
26
+ [![][github-issues-shield]][github-issues-link]
27
+ [![][github-license-shield]][github-license-link]<br>
28
+ [![][sponsor-shield]][sponsor-link]
29
+
30
+ **Share LobeChat Repository**
31
+
32
+ [![][share-x-shield]][share-x-link]
33
+ [![][share-telegram-shield]][share-telegram-link]
34
+ [![][share-whatsapp-shield]][share-whatsapp-link]
35
+ [![][share-reddit-shield]][share-reddit-link]
36
+ [![][share-weibo-shield]][share-weibo-link]
37
+ [![][share-mastodon-shield]][share-mastodon-link]
38
+ [![][share-linkedin-shield]][share-linkedin-link]
39
+
40
+ <sup>Pioneering the new age of thinking and creating. Built for you, the Super Individual.</sup>
41
+
42
+ [![][github-trending-shield]][github-trending-url] <a href="https://hellogithub.com/repository/39701baf5a734cb894ec812248a5655a" target="_blank"><img src="https://abroad.hellogithub.com/v1/widgets/recommend.svg?rid=39701baf5a734cb894ec812248a5655a&claim_uid=HxYvFN34htJzGCD" alt="Featured|HelloGitHub" style="width: 250px; height: 54px;" width="250" height="54" /></a>
43
+
44
+ [![][image-overview]][vercel-link]
29
45
 
30
46
  </div>
31
47
 
@@ -34,27 +50,92 @@ Typescript and Next.js
34
50
 
35
51
  #### TOC
36
52
 
53
+ - [👋🏻 Getting Started & Join Our Community](#-getting-started--join-our-community)
54
+ - [✨ Features](#-features)
55
+ - [`1` Multi-Model Service Provider Support](#1-multi-model-service-provider-support)
56
+ - [`2` Local Large Language Model (LLM) Support](#2-local-large-language-model-llm-support)
57
+ - [`3` Model Visual Recognition](#3-model-visual-recognition)
58
+ - [`4` TTS & STT Voice Conversation](#4-tts--stt-voice-conversation)
59
+ - [`5` Text to Image Generation](#5-text-to-image-generation)
60
+ - [`6` Plugin System (Function Calling)](#6-plugin-system-function-calling)
61
+ - [`7` Agent Market (GPTs)](#7-agent-market-gpts)
62
+ - [`8` Support Local / Remote Database](#8-support-local--remote-database)
63
+ - [`9` Support Multi-User Management](#9-support-multi-user-management)
64
+ - [`10` Progressive Web App (PWA)](#10-progressive-web-app-pwa)
65
+ - [`11` Mobile Device Adaptation](#11-mobile-device-adaptation)
66
+ - [`12` Custom Themes](#12-custom-themes)
67
+ - [`*` What's more](#-whats-more)
68
+ - [⚡️ Performance](#️-performance)
69
+ - [🛳 Self Hosting](#-self-hosting)
70
+ - [`A` Deploying with Vercel, Zeabur or Sealos](#a-deploying-with-vercel-zeabur-or-sealos)
71
+ - [`B` Deploying with Docker](#b-deploying-with-docker)
72
+ - [Environment Variable](#environment-variable)
73
+ - [📦 Ecosystem](#-ecosystem)
74
+ - [🧩 Plugins](#-plugins)
37
75
  - [⌨️ Local Development](#️-local-development)
38
76
  - [🤝 Contributing](#-contributing)
77
+ - [❤️ Sponsor](#️-sponsor)
78
+ - [🔗 More Products](#-more-products)
39
79
 
40
80
  ####
41
81
 
82
+ <br/>
83
+
42
84
  </details>
43
85
 
44
- ## ⌨️ Local Development
86
+ ## 👋🏻 Getting Started & Join Our Community
45
87
 
46
- You can use Gitpod for online development:
88
+ We are a group of e/acc design-engineers, hoping to provide modern design components and tools for AIGC.
89
+ By adopting the Bootstrapping approach, we aim to provide developers and users with a more open, transparent, and user-friendly product ecosystem.
47
90
 
48
- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)][gitpod-url]
91
+ Whether for users or professional developers, LobeHub will be your AI Agent playground. Please be aware that LobeChat is currently under active development, and feedback is welcome for any [issues][issues-link] encountered.
49
92
 
50
- Or clone it for local development:
93
+ | [![][vercel-shield-badge]][vercel-link] | No installation or registration necessary! Visit our website to experience it firsthand. |
94
+ | :---------------------------------------- | :----------------------------------------------------------------------------------------------------------------- |
95
+ | [![][discord-shield-badge]][discord-link] | Join our Discord community! This is where you can connect with developers and other enthusiastic users of LobeHub. |
51
96
 
52
- ```bash
53
- $ git clone https://github.com/lobehub/lobe-chat.git
54
- $ cd lobe-chat
55
- $ pnpm install
56
- $ pnpm start
57
- ```
97
+ > \[!IMPORTANT]
98
+ >
99
+ > **Star Us**, You will receive all release notifications from GitHub without any delay \~ ⭐️
100
+
101
+ [![][image-star]][github-stars-link]
102
+
103
+ <details>
104
+ <summary><kbd>Star History</kbd></summary>
105
+ <picture>
106
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=lobehub%2Flobe-chat&theme=dark&type=Date">
107
+ <img width="100%" src="https://api.star-history.com/svg?repos=lobehub%2Flobe-chat&type=Date">
108
+ </picture>
109
+ </details>
110
+
111
+ ## ✨ Features
112
+
113
+ [![][image-feat-privoder]][docs-feat-provider]
114
+
115
+ ### `1` [Multi-Model Service Provider Support][docs-feat-provider]
116
+
117
+ In the continuous development of LobeChat, we deeply understand the importance of diversity in model service providers for meeting the needs of the community when providing AI conversation services. Therefore, we have expanded our support to multiple model service providers, rather than being limited to a single one, in order to offer users a more diverse and rich selection of conversations.
118
+
119
+ In this way, LobeChat can more flexibly adapt to the needs of different users, while also providing developers with a wider range of choices.
120
+
121
+ #### Supported Model Service Providers
122
+
123
+ We have implemented support for the following model service providers:
124
+
125
+ - **AWS Bedrock**: Integrated with AWS Bedrock service, supporting models such as **Claude / LLama2**, providing powerful natural language processing capabilities. [Learn more](https://aws.amazon.com/cn/bedrock)
126
+ - **Anthropic (Claude)**: Accessed Anthropic's **Claude** series models, including Claude 3 and Claude 2, with breakthroughs in multi-modal capabilities and extended context, setting a new industry benchmark. [Learn more](https://www.anthropic.com/claude)
127
+ - **Google AI (Gemini Pro, Gemini Vision)**: Access to Google's **Gemini** series models, including Gemini and Gemini Pro, to support advanced language understanding and generation. [Learn more](https://deepmind.google/technologies/gemini/)
128
+ - **Groq**: Accessed Groq's AI models, efficiently processing message sequences and generating responses, capable of multi-turn dialogues and single-interaction tasks. [Learn more](https://groq.com/)
129
+ - **OpenRouter**: Supports routing of models including **Claude 3**, **Gemma**, **Mistral**, **Llama2** and **Cohere**, with intelligent routing optimization to improve usage efficiency, open and flexible. [Learn more](https://openrouter.ai/)
130
+ - **01.AI (Yi Model)**: Integrated the 01.AI models, with series of APIs featuring fast inference speed, which not only shortened the processing time, but also maintained excellent model performance. [Learn more](https://01.ai/)
131
+ - **Together.ai**: Over 100 leading open-source Chat, Language, Image, Code, and Embedding models are available through the Together Inference API. For these models you pay just for what you use. [Learn more](https://www.together.ai/)
132
+ - **ChatGLM**: Added the **ChatGLM** series models from Zhipuai (GLM-4/GLM-4-vision/GLM-3-turbo), providing users with another efficient conversation model choice. [Learn more](https://www.zhipuai.cn/)
133
+ - **Moonshot AI (Dark Side of the Moon)**: Integrated with the Moonshot series models, an innovative AI startup from China, aiming to provide deeper conversation understanding. [Learn more](https://www.moonshot.cn/)
134
+ - **Minimax**: Integrated the Minimax models, including the MoE model **abab6**, offers a broader range of choices. [Learn more](https://www.minimaxi.com/)
135
+ - **DeepSeek**: Integrated with the DeepSeek series models, an innovative AI startup from China, The product has been designed to provide a model that balances performance with price. [Learn more](https://www.deepseek.com/)
136
+ - **Qwen**: Integrated the Qwen series models, including the latest **qwen-turbo**, **qwen-plus** and **qwen-max**. [Lean more](https://help.aliyun.com/zh/dashscope/developer-reference/model-introduction)
137
+
138
+ At the same time, we are also planning to support more model service providers, such as Replicate and Perplexity, to further enrich our service provider library. If you would like LobeChat to support your favorite service provider, feel free to join our [community discussion](https://github.com/lobehub/lobe-chat/discussions/1284).
58
139
 
59
140
  <div align="right">
60
141
 
@@ -62,26 +143,232 @@ $ pnpm start
62
143
 
63
144
  </div>
64
145
 
65
- ## 🤝 Contributing
146
+ [![][image-feat-local]][docs-feat-local]
66
147
 
67
- <!-- CONTRIBUTION GROUP -->
148
+ ### `2` [Local Large Language Model (LLM) Support][docs-feat-local]
68
149
 
69
- > 📊 Total: <kbd>**4**</kbd>
150
+ To meet the specific needs of users, LobeChat also supports the use of local models based on [Ollama](https://ollama.ai), allowing users to flexibly use their own or third-party models.
70
151
 
71
- <a href="https://github.com/canisminor1990" title="canisminor1990">
72
- <img src="https://avatars.githubusercontent.com/u/17870709?v=4" width="50" />
73
- </a>
74
- <a href="https://github.com/arvinxx" title="arvinxx">
75
- <img src="https://avatars.githubusercontent.com/u/28616219?v=4" width="50" />
76
- </a>
77
- <a href="https://github.com/apps/dependabot" title="dependabot[bot]">
78
- <img src="https://avatars.githubusercontent.com/in/29110?v=4" width="50" />
79
- </a>
80
- <a href="https://github.com/actions-user" title="actions-user">
81
- <img src="https://avatars.githubusercontent.com/u/65916846?v=4" width="50" />
82
- </a>
152
+ > \[!TIP]
153
+ >
154
+ > Learn more about [📘 Using Ollama in LobeChat][docs-usage-ollama] by checking it out.
155
+
156
+ <div align="right">
157
+
158
+ [![][back-to-top]](#readme-top)
159
+
160
+ </div>
161
+
162
+ [![][image-feat-vision]][docs-feat-vision]
163
+
164
+ ### `3` [Model Visual Recognition][docs-feat-vision]
165
+
166
+ LobeChat now supports OpenAI's latest [`gpt-4-vision`](https://platform.openai.com/docs/guides/vision) model with visual recognition capabilities,
167
+ a multimodal intelligence that can perceive visuals. Users can easily upload or drag and drop images into the dialogue box,
168
+ and the agent will be able to recognize the content of the images and engage in intelligent conversation based on this,
169
+ creating smarter and more diversified chat scenarios.
170
+
171
+ This feature opens up new interactive methods, allowing communication to transcend text and include a wealth of visual elements.
172
+ Whether it's sharing images in daily use or interpreting images within specific industries, the agent provides an outstanding conversational experience.
173
+
174
+ <div align="right">
175
+
176
+ [![][back-to-top]](#readme-top)
177
+
178
+ </div>
179
+
180
+ [![][image-feat-tts]][docs-feat-tts]
181
+
182
+ ### `4` [TTS & STT Voice Conversation][docs-feat-tts]
183
+
184
+ LobeChat supports Text-to-Speech (TTS) and Speech-to-Text (STT) technologies, enabling our application to convert text messages into clear voice outputs,
185
+ allowing users to interact with our conversational agent as if they were talking to a real person. Users can choose from a variety of voices to pair with the agent.
186
+
187
+ Moreover, TTS offers an excellent solution for those who prefer auditory learning or desire to receive information while busy.
188
+ In LobeChat, we have meticulously selected a range of high-quality voice options (OpenAI Audio, Microsoft Edge Speech) to meet the needs of users from different regions and cultural backgrounds.
189
+ Users can choose the voice that suits their personal preferences or specific scenarios, resulting in a personalized communication experience.
190
+
191
+ <div align="right">
192
+
193
+ [![][back-to-top]](#readme-top)
194
+
195
+ </div>
196
+
197
+ [![][image-feat-t2i]][docs-feat-t2i]
198
+
199
+ ### `5` [Text to Image Generation][docs-feat-t2i]
200
+
201
+ With support for the latest text-to-image generation technology, LobeChat now allows users to invoke image creation tools directly within conversations with the agent. By leveraging the capabilities of AI tools such as [`DALL-E 3`](https://openai.com/dall-e-3), [`MidJourney`](https://www.midjourney.com/), and [`Pollinations`](https://pollinations.ai/), the agents are now equipped to transform your ideas into images.
202
+
203
+ This enables a more private and immersive creative process, allowing for the seamless integration of visual storytelling into your personal dialogue with the agent.
204
+
205
+ <div align="right">
206
+
207
+ [![][back-to-top]](#readme-top)
208
+
209
+ </div>
210
+
211
+ [![][image-feat-plugin]][docs-feat-plugin]
212
+
213
+ ### `6` [Plugin System (Function Calling)][docs-feat-plugin]
214
+
215
+ The plugin ecosystem of LobeChat is an important extension of its core functionality, greatly enhancing the practicality and flexibility of the LobeChat assistant.
216
+
217
+ <video controls src="https://github.com/lobehub/lobe-chat/assets/28616219/f29475a3-f346-4196-a435-41a6373ab9e2" muted="false"></video>
218
+
219
+ By utilizing plugins, LobeChat assistants can obtain and process real-time information, such as searching for web information and providing users with instant and relevant news.
220
+
221
+ In addition, these plugins are not limited to news aggregation, but can also extend to other practical functions, such as quickly searching documents, generating images, obtaining data from various platforms like Bilibili, Steam, and interacting with various third-party services.
222
+
223
+ > \[!TIP]
224
+ >
225
+ > Learn more about [📘 Plugin Usage][docs-usage-plugin] by checking it out.
226
+
227
+ <!-- PLUGIN LIST -->
228
+
229
+ | Recent Submits | Description |
230
+ | ---------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
231
+ | [Savvy Trader AI](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **savvytrader** on **2024-06-27**</sup> | Realtime stock, crypto and other investment data.<br/>`stock` `analyze` |
232
+ | [Social Search](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **say-apps** on **2024-06-02**</sup> | The Social Search provides access to tweets, users, followers, images, media and more.<br/>`social` `twitter` `x` `search` |
233
+ | [Space](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **automateyournetwork** on **2024-05-12**</sup> | Space data including NASA.<br/>`space` `nasa` |
234
+ | [Search1API](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **fatwang2** on **2024-05-06**</sup> | Search aggregation service, specifically designed for LLMs<br/>`web` `search` |
235
+
236
+ > 📊 Total plugins: [<kbd>**52**</kbd>](https://github.com/lobehub/lobe-chat-plugins)
237
+
238
+ <!-- PLUGIN LIST -->
239
+
240
+ <div align="right">
241
+
242
+ [![][back-to-top]](#readme-top)
243
+
244
+ </div>
245
+
246
+ [![][image-feat-agent]][docs-feat-agent]
247
+
248
+ ### `7` [Agent Market (GPTs)][docs-feat-agent]
249
+
250
+ In LobeChat Agent Marketplace, creators can discover a vibrant and innovative community that brings together a multitude of well-designed agents,
251
+ which not only play an important role in work scenarios but also offer great convenience in learning processes.
252
+ Our marketplace is not just a showcase platform but also a collaborative space. Here, everyone can contribute their wisdom and share the agents they have developed.
253
+
254
+ > \[!TIP]
255
+ >
256
+ > By [🤖/🏪 Submit Agents][submit-agents-link], you can easily submit your agent creations to our platform.
257
+ > Importantly, LobeChat has established a sophisticated automated internationalization (i18n) workflow,
258
+ > capable of seamlessly translating your agent into multiple language versions.
259
+ > This means that no matter what language your users speak, they can experience your agent without barriers.
260
+
261
+ > \[!IMPORTANT]
262
+ >
263
+ > We welcome all users to join this growing ecosystem and participate in the iteration and optimization of agents.
264
+ > Together, we can create more interesting, practical, and innovative agents, further enriching the diversity and practicality of the agent offerings.
265
+
266
+ <!-- AGENT LIST -->
267
+
268
+ | Recent Submits | Description |
269
+ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
270
+ | [AOSP Source Code Expert](https://chat-preview.lobehub.com/market?agent=aosp-development)<br/><sup>By **[viruscoding](https://github.com/viruscoding)** on **2024-06-24**</sup> | An expert in AOSP (Android Open Source Project) for Android, with a deep understanding and analytical ability of the latest AOSP source code.<br/>`aosp` |
271
+ | [Fastapi Project Development Assistant](https://chat-preview.lobehub.com/market?agent=fastapi-development)<br/><sup>By **[xwxw098](https://github.com/xwxw098)** on **2024-06-19**</sup> | Proficient in Python modular development, skilled in using FastAPI, PostgreSQL, Tortoise-ORM, and other technologies, able to provide clear code structure and detailed comments for large projects.<br/>`fast-api` `python` `modular-development` |
272
+ | [IT Systems Architect](https://chat-preview.lobehub.com/market?agent=it-system-architect)<br/><sup>By **[a562314](https://github.com/a562314)** on **2024-06-19**</sup> | Senior IT architect specializing in requirements analysis, system design, technology selection, and cross-platform system optimization. With over 5 years of experience, proficient in Windows, macOS, and Linux operating systems, skilled in troubleshooting, and security protection.<br/>`it-architecture-design` `problem-solving` `agile-development` `system-optimization` `cross-platform-skills` `teamwork` |
273
+ | [Linux Kernel Expert](https://chat-preview.lobehub.com/market?agent=linux-kernel)<br/><sup>By **[wming126](https://github.com/wming126)** on **2024-06-19**</sup> | Role Description: I am an expert in Linux kernel, with a deep understanding and analytical ability of the latest kernel source code (as of June 2024). I can provide users with detailed and accurate information about the Linux kernel.<br/>`linux` `kernel` |
274
+
275
+ > 📊 Total agents: [<kbd>**293**</kbd> ](https://github.com/lobehub/lobe-chat-agents)
276
+
277
+ <!-- AGENT LIST -->
278
+
279
+ <div align="right">
280
+
281
+ [![][back-to-top]](#readme-top)
282
+
283
+ </div>
284
+
285
+ [![][image-feat-database]][docs-feat-database]
286
+
287
+ ### `8` [Support Local / Remote Database][docs-feat-database]
288
+
289
+ LobeChat supports the use of both server-side and local databases. Depending on your needs, you can choose the appropriate deployment solution:
290
+
291
+ - **Local database**: suitable for users who want more control over their data and privacy protection. LobeChat uses CRDT (Conflict-Free Replicated Data Type) technology to achieve multi-device synchronization. This is an experimental feature aimed at providing a seamless data synchronization experience.
292
+ - **Server-side database**: suitable for users who want a more convenient user experience. LobeChat supports PostgreSQL as a server-side database. For detailed documentation on how to configure the server-side database, please visit [Configure Server-side Database](https://lobehub.com/docs/self-hosting/advanced/server-database).
293
+
294
+ Regardless of which database you choose, LobeChat can provide you with an excellent user experience.
295
+
296
+ <div align="right">
297
+
298
+ [![][back-to-top]](#readme-top)
299
+
300
+ </div>
301
+
302
+ [![][image-feat-auth]][docs-feat-auth]
303
+
304
+ ### `9` [Support Multi-User Management][docs-feat-auth]
305
+
306
+ LobeChat supports multi-user management and provides two main user authentication and management solutions to meet different needs:
307
+
308
+ - **next-auth**: LobeChat integrates `next-auth`, a flexible and powerful identity verification library that supports multiple authentication methods, including OAuth, email login, credential login, etc. With `next-auth`, you can easily implement user registration, login, session management, social login, and other functions to ensure the security and privacy of user data.
309
+
310
+ - **Clerk**: For users who need more advanced user management features, LobeChat also supports `Clerk`, a modern user management platform. `Clerk` provides richer functions, such as multi-factor authentication (MFA), user profile management, login activity monitoring, etc. With `Clerk`, you can get higher security and flexibility, and easily cope with complex user management needs.
311
+
312
+ Regardless of which user management solution you choose, LobeChat can provide you with an excellent user experience and powerful functional support.
313
+
314
+ <div align="right">
315
+
316
+ [![][back-to-top]](#readme-top)
317
+
318
+ </div>
319
+
320
+ [![][image-feat-pwa]][docs-feat-pwa]
321
+
322
+ ### `10` [Progressive Web App (PWA)][docs-feat-pwa]
323
+
324
+ We deeply understand the importance of providing a seamless experience for users in today's multi-device environment.
325
+ Therefore, we have adopted Progressive Web Application ([PWA](https://support.google.com/chrome/answer/9658361)) technology,
326
+ a modern web technology that elevates web applications to an experience close to that of native apps.
327
+
328
+ Through PWA, LobeChat can offer a highly optimized user experience on both desktop and mobile devices while maintaining its lightweight and high-performance characteristics.
329
+ Visually and in terms of feel, we have also meticulously designed the interface to ensure it is indistinguishable from native apps,
330
+ providing smooth animations, responsive layouts, and adapting to different device screen resolutions.
331
+
332
+ > \[!NOTE]
333
+ >
334
+ > If you are unfamiliar with the installation process of PWA, you can add LobeChat as your desktop application (also applicable to mobile devices) by following these steps:
335
+ >
336
+ > - Launch the Chrome or Edge browser on your computer.
337
+ > - Visit the LobeChat webpage.
338
+ > - In the upper right corner of the address bar, click on the <kbd>Install</kbd> icon.
339
+ > - Follow the instructions on the screen to complete the PWA Installation.
340
+
341
+ <div align="right">
83
342
 
84
- <!-- CONTRIBUTION END -->
343
+ [![][back-to-top]](#readme-top)
344
+
345
+ </div>
346
+
347
+ [![][image-feat-mobile]][docs-feat-mobile]
348
+
349
+ ### `11` [Mobile Device Adaptation][docs-feat-mobile]
350
+
351
+ We have carried out a series of optimization designs for mobile devices to enhance the user's mobile experience. Currently, we are iterating on the mobile user experience to achieve smoother and more intuitive interactions. If you have any suggestions or ideas, we welcome you to provide feedback through GitHub Issues or Pull Requests.
352
+
353
+ <div align="right">
354
+
355
+ [![][back-to-top]](#readme-top)
356
+
357
+ </div>
358
+
359
+ [![][image-feat-theme]][docs-feat-theme]
360
+
361
+ ### `12` [Custom Themes][docs-feat-theme]
362
+
363
+ As a design-engineering-oriented application, LobeChat places great emphasis on users' personalized experiences,
364
+ hence introducing flexible and diverse theme modes, including a light mode for daytime and a dark mode for nighttime.
365
+ Beyond switching theme modes, a range of color customization options allow users to adjust the application's theme colors according to their preferences.
366
+ Whether it's a desire for a sober dark blue, a lively peach pink, or a professional gray-white, users can find their style of color choices in LobeChat.
367
+
368
+ > \[!TIP]
369
+ >
370
+ > The default configuration can intelligently recognize the user's system color mode and automatically switch themes to ensure a consistent visual experience with the operating system.
371
+ > For users who like to manually control details, LobeChat also offers intuitive setting options and a choice between chat bubble mode and document mode for conversation scenarios.
85
372
 
86
373
  <div align="right">
87
374
 
@@ -89,59 +376,431 @@ $ pnpm start
89
376
 
90
377
  </div>
91
378
 
379
+ ### `*` What's more
380
+
381
+ Beside these features, LobeChat also have much better basic technique underground:
382
+
383
+ - [x] 💨 **Quick Deployment**: Using the Vercel platform or docker image, you can deploy with just one click and complete the process within 1 minute without any complex configuration.
384
+ - [x] 🌐 **Custom Domain**: If users have their own domain, they can bind it to the platform for quick access to the dialogue agent from anywhere.
385
+ - [x] 🔒 **Privacy Protection**: All data is stored locally in the user's browser, ensuring user privacy.
386
+ - [x] 💎 **Exquisite UI Design**: With a carefully designed interface, it offers an elegant appearance and smooth interaction. It supports light and dark themes and is mobile-friendly. PWA support provides a more native-like experience.
387
+ - [x] 🗣️ **Smooth Conversation Experience**: Fluid responses ensure a smooth conversation experience. It fully supports Markdown rendering, including code highlighting, LaTex formulas, Mermaid flowcharts, and more.
388
+
389
+ > ✨ more features will be added when LobeChat evolve.
390
+
92
391
  ---
93
392
 
94
- #### 📝 License
393
+ > \[!NOTE]
394
+ >
395
+ > You can find our upcoming [Roadmap][github-project-link] plans in the Projects section.
95
396
 
96
- Copyright © 2023 [LobeHub][profile-url]. <br />
97
- This project is [MIT](./LICENSE) licensed.
397
+ <div align="right">
98
398
 
99
- <!-- LINK GROUP -->
399
+ [![][back-to-top]](#readme-top)
400
+
401
+ </div>
100
402
 
101
- [profile-url]: https://github.com/lobehub
102
- [issues-url]: https://github.com/lobehub/lobe-chat/issues/new/choose
103
- [gitpod-url]: https://gitpod.io/#https://github.com/lobehub/lobe-chat
403
+ ## ⚡️ Performance
104
404
 
105
- <!-- SHIELD LINK GROUP -->
405
+ > \[!NOTE]
406
+ >
407
+ > The complete list of reports can be found in the [📘 Lighthouse Reports][docs-lighthouse]
106
408
 
107
- [back-to-top]: https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square
409
+ | Desktop | Mobile |
410
+ | :-----------------------------------------: | :----------------------------------------: |
411
+ | ![][chat-desktop] | ![][chat-mobile] |
412
+ | [📑 Lighthouse Report][chat-desktop-report] | [📑 Lighthouse Report][chat-mobile-report] |
413
+
414
+ <div align="right">
415
+
416
+ [![][back-to-top]](#readme-top)
417
+
418
+ </div>
108
419
 
109
- <!-- release -->
420
+ ## 🛳 Self Hosting
110
421
 
111
- [release-shield]: https://img.shields.io/npm/v/@lobehub/chat?label=%F0%9F%A4%AF%20NPM
112
- [release-url]: https://www.npmjs.com/package/@lobehub/chat
422
+ LobeChat provides Self-Hosted Version with Vercel and [Docker Image][docker-release-link]. This allows you to deploy your own chatbot within a few minutes without any prior knowledge.
113
423
 
114
- <!-- releaseDate -->
424
+ > \[!TIP]
425
+ >
426
+ > Learn more about [📘 Build your own LobeChat][docs-self-hosting] by checking it out.
115
427
 
116
- [release-date-shield]: https://img.shields.io/github/release-date/lobehub/lobe-chat?style=flat
117
- [release-date-url]: https://github.com/lobehub/lobe-chat/releases
428
+ ### `A` Deploying with Vercel, Zeabur or Sealos
118
429
 
119
- <!-- ciTest -->
430
+ If you want to deploy this service yourself on either Vercel or Zeabur, you can follow these steps:
120
431
 
121
- [ci-test-shield]: https://github.com/lobehub/lobe-chat/workflows/Test%20CI/badge.svg
122
- [ci-test-url]: https://github.com/lobehub/lobe-chat/actions/workflows/test.yml
432
+ - Prepare your [OpenAI API Key](https://platform.openai.com/account/api-keys).
433
+ - Click the button below to start deployment: Log in directly with your GitHub account, and remember to fill in the `OPENAI_API_KEY`(required) and `ACCESS_CODE` (recommended) on the environment variable section.
434
+ - After deployment, you can start using it.
435
+ - Bind a custom domain (optional): The DNS of the domain assigned by Vercel is polluted in some areas; binding a custom domain can connect directly.
123
436
 
124
- <!-- ciRelease -->
437
+ <div align="center">
438
+
439
+ | Deploy with Vercel | Deploy with Zeabur | Deploy with Sealos |
440
+ | :-------------------------------------: | :---------------------------------------------------------: | :---------------------------------------------------------: |
441
+ | [![][deploy-button-image]][deploy-link] | [![][deploy-on-zeabur-button-image]][deploy-on-zeabur-link] | [![][deploy-on-sealos-button-image]][deploy-on-sealos-link] |
442
+
443
+ </div>
444
+
445
+ #### After Fork
446
+
447
+ After fork, only retain the upstream sync action and disable other actions in your repository on GitHub.
448
+
449
+ #### Keep Updated
450
+
451
+ If you have deployed your own project following the one-click deployment steps in the README, you might encounter constant prompts indicating "updates available." This is because Vercel defaults to creating a new project instead of forking this one, resulting in an inability to detect updates accurately.
452
+
453
+ > \[!TIP]
454
+ >
455
+ > We suggest you redeploy using the following steps, [📘 Auto Sync With Latest][docs-upstream-sync]
456
+
457
+ <br/>
458
+
459
+ ### `B` Deploying with Docker
460
+
461
+ [![][docker-release-shield]][docker-release-link]
462
+ [![][docker-size-shield]][docker-size-link]
463
+ [![][docker-pulls-shield]][docker-pulls-link]
464
+
465
+ We provide a Docker image for deploying the LobeChat service on your own private device. Use the following command to start the LobeChat service:
466
+
467
+ ```fish
468
+ $ docker run -d -p 3210:3210 \
469
+ -e OPENAI_API_KEY=sk-xxxx \
470
+ -e ACCESS_CODE=lobe66 \
471
+ --name lobe-chat \
472
+ lobehub/lobe-chat
473
+ ```
474
+
475
+ > \[!TIP]
476
+ >
477
+ > If you need to use the OpenAI service through a proxy, you can configure the proxy address using the `OPENAI_PROXY_URL` environment variable:
478
+
479
+ ```fish
480
+ $ docker run -d -p 3210:3210 \
481
+ -e OPENAI_API_KEY=sk-xxxx \
482
+ -e OPENAI_PROXY_URL=https://api-proxy.com/v1 \
483
+ -e ACCESS_CODE=lobe66 \
484
+ --name lobe-chat \
485
+ lobehub/lobe-chat
486
+ ```
487
+
488
+ > \[!NOTE]
489
+ >
490
+ > For detailed instructions on deploying with Docker, please refer to the [📘 Docker Deployment Guide][docs-docker]
491
+
492
+ <br/>
493
+
494
+ ### Environment Variable
495
+
496
+ This project provides some additional configuration items set with environment variables:
497
+
498
+ | Environment Variable | Required | Description | Example |
499
+ | -------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
500
+ | `OPENAI_API_KEY` | Yes | This is the API key you apply on the OpenAI account page | `sk-xxxxxx...xxxxxx` |
501
+ | `OPENAI_PROXY_URL` | No | If you manually configure the OpenAI interface proxy, you can use this configuration item to override the default OpenAI API request base URL | `https://api.chatanywhere.cn` or `https://aihubmix.com/v1` <br/>The default value is<br/>`https://api.openai.com/v1` |
502
+ | `ACCESS_CODE` | No | Add a password to access this service; you can set a long password to avoid leaking. If this value contains a comma, it is a password array. | `awCTe)re_r74` or `rtrt_ewee3@09!` or `code1,code2,code3` |
503
+ | `OPENAI_MODEL_LIST` | No | Used to control the model list. Use `+` to add a model, `-` to hide a model, and `model_name=display_name` to customize the display name of a model, separated by commas. | `qwen-7b-chat,+glm-6b,-gpt-3.5-turbo` |
504
+
505
+ > \[!NOTE]
506
+ >
507
+ > The complete list of environment variables can be found in the [📘 Environment Variables][docs-env-var]
508
+
509
+ <div align="right">
510
+
511
+ [![][back-to-top]](#readme-top)
512
+
513
+ </div>
125
514
 
126
- [ci-release-shield]: https://github.com/lobehub/lobe-chat/workflows/Release%20CI/badge.svg
127
- [ci-release-url]: https://github.com/lobehub/lobe-chat/actions?query=workflow%3ARelease%20CI
515
+ ## 📦 Ecosystem
128
516
 
129
- <!-- contributors -->
517
+ | NPM | Repository | Description | Version |
518
+ | --------------------------------- | --------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------- |
519
+ | [@lobehub/ui][lobe-ui-link] | [lobehub/lobe-ui][lobe-ui-github] | Open-source UI component library dedicated to building AIGC web applications. | [![][lobe-ui-shield]][lobe-ui-link] |
520
+ | [@lobehub/icons][lobe-icons-link] | [lobehub/lobe-icons][lobe-icons-github] | Popular AI / LLM Model Brand SVG Logo and Icon Collection. | [![][lobe-icons-shield]][lobe-icons-link] |
521
+ | [@lobehub/tts][lobe-tts-link] | [lobehub/lobe-tts][lobe-tts-github] | High-quality & reliable TTS/STT React Hooks library | [![][lobe-tts-shield]][lobe-tts-link] |
522
+ | [@lobehub/lint][lobe-lint-link] | [lobehub/lobe-lint][lobe-lint-github] | Configurations for ESlint, Stylelint, Commitlint, Prettier, Remark, and Semantic Release for LobeHub. | [![][lobe-lint-shield]][lobe-lint-link] |
130
523
 
131
- [contributors-shield]: https://img.shields.io/github/contributors/lobehub/lobe-chat.svg?style=flat
132
- [contributors-url]: https://github.com/lobehub/lobe-chat/graphs/contributors
524
+ <div align="right">
133
525
 
134
- <!-- forks -->
526
+ [![][back-to-top]](#readme-top)
135
527
 
136
- [forks-shield]: https://img.shields.io/github/forks/lobehub/lobe-chat.svg?style=flat
137
- [forks-url]: https://github.com/lobehub/lobe-chat/network/members
528
+ </div>
138
529
 
139
- <!-- stargazers -->
530
+ ## 🧩 Plugins
140
531
 
141
- [stargazers-shield]: https://img.shields.io/github/stars/lobehub/lobe-chat.svg?style=flat
142
- [stargazers-url]: https://github.com/lobehub/lobe-chat/stargazers
532
+ Plugins provide a means to extend the [Function Calling][docs-functionc-call] capabilities of LobeChat. They can be used to introduce new function calls and even new ways to render message results. If you are interested in plugin development, please refer to our [📘 Plugin Development Guide][docs-plugin-dev] in the Wiki.
143
533
 
144
- <!-- issues -->
534
+ - [lobe-chat-plugins][lobe-chat-plugins]: This is the plugin index for LobeChat. It accesses index.json from this repository to display a list of available plugins for LobeChat to the user.
535
+ - [chat-plugin-template][chat-plugin-template]: This is the plugin template for LobeChat plugin development.
536
+ - [@lobehub/chat-plugin-sdk][chat-plugin-sdk]: The LobeChat Plugin SDK assists you in creating exceptional chat plugins for Lobe Chat.
537
+ - [@lobehub/chat-plugins-gateway][chat-plugins-gateway]: The LobeChat Plugins Gateway is a backend service that provides a gateway for LobeChat plugins. We deploy this service using Vercel. The primary API POST /api/v1/runner is deployed as an Edge Function.
145
538
 
146
- [issues-shield]: https://img.shields.io/github/issues/lobehub/lobe-chat.svg?style=flat
147
- [issues-url]: https://img.shields.io/github/issues/lobehub/lobe-chat.svg?style=flat
539
+ > \[!NOTE]
540
+ >
541
+ > The plugin system is currently undergoing major development. You can learn more in the following issues:
542
+ >
543
+ > - [x] [**Plugin Phase 1**](https://github.com/lobehub/lobe-chat/issues/73): Implement separation of the plugin from the main body, split the plugin into an independent repository for maintenance, and realize dynamic loading of the plugin.
544
+ > - [x] [**Plugin Phase 2**](https://github.com/lobehub/lobe-chat/issues/97): The security and stability of the plugin's use, more accurately presenting abnormal states, the maintainability of the plugin architecture, and developer-friendly.
545
+ > - [x] [**Plugin Phase 3**](https://github.com/lobehub/lobe-chat/issues/149): Higher-level and more comprehensive customization capabilities, support for plugin authentication, and examples.
546
+
547
+ <div align="right">
548
+
549
+ [![][back-to-top]](#readme-top)
550
+
551
+ </div>
552
+
553
+ ## ⌨️ Local Development
554
+
555
+ You can use GitHub Codespaces for online development:
556
+
557
+ [![][codespaces-shield]][codespaces-link]
558
+
559
+ Or clone it for local development:
560
+
561
+ ```fish
562
+ $ git clone https://github.com/lobehub/lobe-chat.git
563
+ $ cd lobe-chat
564
+ $ pnpm install
565
+ $ pnpm dev
566
+ ```
567
+
568
+ If you would like to learn more details, please feel free to look at our [📘 Development Guide][docs-dev-guide].
569
+
570
+ <div align="right">
571
+
572
+ [![][back-to-top]](#readme-top)
573
+
574
+ </div>
575
+
576
+ ## 🤝 Contributing
577
+
578
+ Contributions of all types are more than welcome; if you are interested in contributing code, feel free to check out our GitHub [Issues][github-issues-link] and [Projects][github-project-link] to get stuck in to show us what you’re made of.
579
+
580
+ > \[!TIP]
581
+ >
582
+ > We are creating a technology-driven forum, fostering knowledge interaction and the exchange of ideas that may culminate in mutual inspiration and collaborative innovation.
583
+ >
584
+ > Help us make LobeChat better. Welcome to provide product design feedback, user experience discussions directly to us.
585
+ >
586
+ > **Principal Maintainers:** [@arvinxx](https://github.com/arvinxx) [@canisminor1990](https://github.com/canisminor1990)
587
+
588
+ [![][pr-welcome-shield]][pr-welcome-link]
589
+ [![][submit-agents-shield]][submit-agents-link]
590
+ [![][submit-plugin-shield]][submit-plugin-link]
591
+
592
+ <a href="https://github.com/lobehub/lobe-chat/graphs/contributors" target="_blank">
593
+ <table>
594
+ <tr>
595
+ <th colspan="2">
596
+ <br><img src="https://contrib.rocks/image?repo=lobehub/lobe-chat"><br><br>
597
+ </th>
598
+ </tr>
599
+ <tr>
600
+ <td>
601
+ <picture>
602
+ <source media="(prefers-color-scheme: dark)" srcset="https://next.ossinsight.io/widgets/official/compose-org-active-contributors/thumbnail.png?activity=active&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=2x3&color_scheme=dark">
603
+ <img src="https://next.ossinsight.io/widgets/official/compose-org-active-contributors/thumbnail.png?activity=active&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=2x3&color_scheme=light">
604
+ </picture>
605
+ </td>
606
+ <td rowspan="2">
607
+ <picture>
608
+ <source media="(prefers-color-scheme: dark)" srcset="https://next.ossinsight.io/widgets/official/compose-org-participants-growth/thumbnail.png?activity=active&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=4x7&color_scheme=dark">
609
+ <img src="https://next.ossinsight.io/widgets/official/compose-org-participants-growth/thumbnail.png?activity=active&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=4x7&color_scheme=light">
610
+ </picture>
611
+ </td>
612
+ </tr>
613
+ <tr>
614
+ <td>
615
+ <picture>
616
+ <source media="(prefers-color-scheme: dark)" srcset="https://next.ossinsight.io/widgets/official/compose-org-active-contributors/thumbnail.png?activity=new&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=2x3&color_scheme=dark">
617
+ <img src="https://next.ossinsight.io/widgets/official/compose-org-active-contributors/thumbnail.png?activity=new&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=2x3&color_scheme=light">
618
+ </picture>
619
+ </td>
620
+ </tr>
621
+ </table>
622
+ </a>
623
+
624
+ <div align="right">
625
+
626
+ [![][back-to-top]](#readme-top)
627
+
628
+ </div>
629
+
630
+ ## ❤️ Sponsor
631
+
632
+ Every bit counts and your one-time donation sparkles in our galaxy of support! You're a shooting star, making a swift and bright impact on our journey. Thank you for believing in us – your generosity guides us toward our mission, one brilliant flash at a time.
633
+
634
+ <a href="https://opencollective.com/lobehub" target="_blank">
635
+ <picture>
636
+ <source media="(prefers-color-scheme: dark)" srcset="https://github.com/lobehub/.github/blob/main/static/sponsor-dark.png?raw=true">
637
+ <img src="https://github.com/lobehub/.github/blob/main/static/sponsor-light.png?raw=true">
638
+ </picture>
639
+ </a>
640
+
641
+ <div align="right">
642
+
643
+ [![][back-to-top]](#readme-top)
644
+
645
+ </div>
646
+
647
+ ## 🔗 More Products
648
+
649
+ - **[🅰️ Lobe SD Theme][lobe-theme]:** Modern theme for Stable Diffusion WebUI, exquisite interface design, highly customizable UI, and efficiency-boosting features.
650
+ - **[⛵️ Lobe Midjourney WebUI][lobe-midjourney-webui]:** WebUI for Midjourney, leverages AI to quickly generate a wide array of rich and diverse images from text prompts, sparking creativity and enhancing conversations.
651
+ - **[🌏 Lobe i18n][lobe-i18n] :** Lobe i18n is an automation tool for the i18n (internationalization) translation process, powered by ChatGPT. It supports features such as automatic splitting of large files, incremental updates, and customization options for the OpenAI model, API proxy, and temperature.
652
+ - **[💌 Lobe Commit][lobe-commit]:** Lobe Commit is a CLI tool that leverages Langchain/ChatGPT to generate Gitmoji-based commit messages.
653
+
654
+ <div align="right">
655
+
656
+ [![][back-to-top]](#readme-top)
657
+
658
+ </div>
659
+
660
+ ---
661
+
662
+ <details><summary><h4>📝 License</h4></summary>
663
+
664
+ [![][fossa-license-shield]][fossa-license-link]
665
+
666
+ </details>
667
+
668
+ Copyright © 2024 [LobeHub][profile-link]. <br />
669
+ This project is [Apache 2.0](./LICENSE) licensed.
670
+
671
+ <!-- LINK GROUP -->
672
+
673
+ [back-to-top]: https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square
674
+ [blog]: https://lobehub.com/blog
675
+ [chat-desktop]: https://raw.githubusercontent.com/lobehub/lobe-chat/lighthouse/lighthouse/chat/desktop/pagespeed.svg
676
+ [chat-desktop-report]: https://lobehub.github.io/lobe-chat/lighthouse/chat/desktop/chat_preview_lobehub_com_chat.html
677
+ [chat-mobile]: https://raw.githubusercontent.com/lobehub/lobe-chat/lighthouse/lighthouse/chat/mobile/pagespeed.svg
678
+ [chat-mobile-report]: https://lobehub.github.io/lobe-chat/lighthouse/chat/mobile/chat_preview_lobehub_com_chat.html
679
+ [chat-plugin-sdk]: https://github.com/lobehub/chat-plugin-sdk
680
+ [chat-plugin-template]: https://github.com/lobehub/chat-plugin-template
681
+ [chat-plugins-gateway]: https://github.com/lobehub/chat-plugins-gateway
682
+ [codecov-link]: https://codecov.io/gh/lobehub/lobe-chat
683
+ [codecov-shield]: https://img.shields.io/codecov/c/github/lobehub/lobe-chat?labelColor=black&style=flat-square&logo=codecov&logoColor=white
684
+ [codespaces-link]: https://codespaces.new/lobehub/lobe-chat
685
+ [codespaces-shield]: https://github.com/codespaces/badge.svg
686
+ [deploy-button-image]: https://vercel.com/button
687
+ [deploy-link]: https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat&env=OPENAI_API_KEY,ACCESS_CODE&envDescription=Find%20your%20OpenAI%20API%20Key%20by%20click%20the%20right%20Learn%20More%20button.%20%7C%20Access%20Code%20can%20protect%20your%20website&envLink=https%3A%2F%2Fplatform.openai.com%2Faccount%2Fapi-keys&project-name=lobe-chat&repository-name=lobe-chat
688
+ [deploy-on-sealos-button-image]: https://raw.githubusercontent.com/labring-actions/templates/main/Deploy-on-Sealos.svg
689
+ [deploy-on-sealos-link]: https://cloud.sealos.io/?openapp=system-template%3FtemplateName%3Dlobe-chat
690
+ [deploy-on-zeabur-button-image]: https://zeabur.com/button.svg
691
+ [deploy-on-zeabur-link]: https://zeabur.com/templates/VZGGTI
692
+ [discord-link]: https://discord.gg/AYFPHvv2jT
693
+ [discord-shield]: https://img.shields.io/discord/1127171173982154893?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square
694
+ [discord-shield-badge]: https://img.shields.io/discord/1127171173982154893?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=for-the-badge
695
+ [docker-pulls-link]: https://hub.docker.com/r/lobehub/lobe-chat
696
+ [docker-pulls-shield]: https://img.shields.io/docker/pulls/lobehub/lobe-chat?color=45cc11&labelColor=black&style=flat-square
697
+ [docker-release-link]: https://hub.docker.com/r/lobehub/lobe-chat
698
+ [docker-release-shield]: https://img.shields.io/docker/v/lobehub/lobe-chat?color=369eff&label=docker&labelColor=black&logo=docker&logoColor=white&style=flat-square
699
+ [docker-size-link]: https://hub.docker.com/r/lobehub/lobe-chat
700
+ [docker-size-shield]: https://img.shields.io/docker/image-size/lobehub/lobe-chat?color=369eff&labelColor=black&style=flat-square
701
+ [docs]: https://lobehub.com/docs/usage/start
702
+ [docs-dev-guide]: https://github.com/lobehub/lobe-chat/wiki/index
703
+ [docs-docker]: https://lobehub.com/docs/self-hosting/platform/docker
704
+ [docs-env-var]: https://lobehub.com/docs/self-hosting/environment-variables
705
+ [docs-feat-agent]: https://lobehub.com/docs/usage/features/agent-market
706
+ [docs-feat-auth]: https://lobehub.com/docs/usage/features/auth
707
+ [docs-feat-database]: https://lobehub.com/docs/usage/features/database
708
+ [docs-feat-local]: https://lobehub.com/docs/usage/features/local-llm
709
+ [docs-feat-mobile]: https://lobehub.com/docs/usage/features/mobile
710
+ [docs-feat-plugin]: https://lobehub.com/docs/usage/features/plugin-system
711
+ [docs-feat-provider]: https://lobehub.com/docs/usage/features/multi-ai-providers
712
+ [docs-feat-pwa]: https://lobehub.com/docs/usage/features/pwa
713
+ [docs-feat-t2i]: https://lobehub.com/docs/usage/features/text-to-image
714
+ [docs-feat-theme]: https://lobehub.com/docs/usage/features/theme
715
+ [docs-feat-tts]: https://lobehub.com/docs/usage/features/tts
716
+ [docs-feat-vision]: https://lobehub.com/docs/usage/features/vision
717
+ [docs-functionc-call]: https://lobehub.com/blog/openai-function-call
718
+ [docs-lighthouse]: https://github.com/lobehub/lobe-chat/wiki/Lighthouse
719
+ [docs-plugin-dev]: https://lobehub.com/docs/usage/plugins/development
720
+ [docs-self-hosting]: https://lobehub.com/docs/self-hosting/start
721
+ [docs-upstream-sync]: https://lobehub.com/docs/self-hosting/advanced/upstream-sync
722
+ [docs-usage-ollama]: https://lobehub.com/docs/usage/providers/ollama
723
+ [docs-usage-plugin]: https://lobehub.com/docs/usage/plugins/basic
724
+ [fossa-license-link]: https://app.fossa.com/projects/git%2Bgithub.com%2Flobehub%2Flobe-chat
725
+ [fossa-license-shield]: https://app.fossa.com/api/projects/git%2Bgithub.com%2Flobehub%2Flobe-chat.svg?type=large
726
+ [github-action-release-link]: https://github.com/actions/workflows/lobehub/lobe-chat/release.yml
727
+ [github-action-release-shield]: https://img.shields.io/github/actions/workflow/status/lobehub/lobe-chat/release.yml?label=release&labelColor=black&logo=githubactions&logoColor=white&style=flat-square
728
+ [github-action-test-link]: https://github.com/actions/workflows/lobehub/lobe-chat/test.yml
729
+ [github-action-test-shield]: https://img.shields.io/github/actions/workflow/status/lobehub/lobe-chat/test.yml?label=test&labelColor=black&logo=githubactions&logoColor=white&style=flat-square
730
+ [github-contributors-link]: https://github.com/lobehub/lobe-chat/graphs/contributors
731
+ [github-contributors-shield]: https://img.shields.io/github/contributors/lobehub/lobe-chat?color=c4f042&labelColor=black&style=flat-square
732
+ [github-forks-link]: https://github.com/lobehub/lobe-chat/network/members
733
+ [github-forks-shield]: https://img.shields.io/github/forks/lobehub/lobe-chat?color=8ae8ff&labelColor=black&style=flat-square
734
+ [github-issues-link]: https://github.com/lobehub/lobe-chat/issues
735
+ [github-issues-shield]: https://img.shields.io/github/issues/lobehub/lobe-chat?color=ff80eb&labelColor=black&style=flat-square
736
+ [github-license-link]: https://github.com/lobehub/lobe-chat/blob/main/LICENSE
737
+ [github-license-shield]: https://img.shields.io/badge/license-apache%202.0-white?labelColor=black&style=flat-square
738
+ [github-project-link]: https://github.com/lobehub/lobe-chat/projects
739
+ [github-release-link]: https://github.com/lobehub/lobe-chat/releases
740
+ [github-release-shield]: https://img.shields.io/github/v/release/lobehub/lobe-chat?color=369eff&labelColor=black&logo=github&style=flat-square
741
+ [github-releasedate-link]: https://github.com/lobehub/lobe-chat/releases
742
+ [github-releasedate-shield]: https://img.shields.io/github/release-date/lobehub/lobe-chat?labelColor=black&style=flat-square
743
+ [github-stars-link]: https://github.com/lobehub/lobe-chat/network/stargazers
744
+ [github-stars-shield]: https://img.shields.io/github/stars/lobehub/lobe-chat?color=ffcb47&labelColor=black&style=flat-square
745
+ [github-trending-shield]: https://trendshift.io/api/badge/repositories/2256
746
+ [github-trending-url]: https://trendshift.io/repositories/2256
747
+ [image-banner]: https://github.com/lobehub/lobe-chat/assets/28616219/9f155dff-4737-429f-9cad-a70a1a860c5f
748
+ [image-feat-agent]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/268670869-f1ffbf66-42b6-42cf-a937-9ce1f8328514.png
749
+ [image-feat-auth]: https://github.com/lobehub/lobe-chat/assets/17870709/8ce70e15-40df-451e-b700-66090fe5b8c2
750
+ [image-feat-database]: https://github.com/lobehub/lobe-chat/assets/17870709/c27a0234-a4e9-40e5-8bcb-42d5ce7e40f9
751
+ [image-feat-local]: https://github.com/lobehub/lobe-chat/assets/28616219/ca9a21bc-ea6c-4c90-bf4a-fa53b4fb2b5c
752
+ [image-feat-mobile]: https://gw.alipayobjects.com/zos/kitchen/R441AuFS4W/mobile.webp
753
+ [image-feat-plugin]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/268670883-33c43a5c-a512-467e-855c-fa299548cce5.png
754
+ [image-feat-privoder]: https://github.com/lobehub/lobe-chat/assets/28616219/b164bc54-8ba2-4c1e-b2f2-f4d7f7e7a551
755
+ [image-feat-pwa]: https://gw.alipayobjects.com/zos/kitchen/69x6bllkX3/pwa.webp
756
+ [image-feat-t2i]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/297746445-0ff762b9-aa08-4337-afb7-12f932b6efbb.png
757
+ [image-feat-theme]: https://gw.alipayobjects.com/zos/kitchen/pvus1lo%26Z7/darkmode.webp
758
+ [image-feat-tts]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/284072124-c9853d8d-f1b5-44a8-a305-45ebc0f6d19a.png
759
+ [image-feat-vision]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/284072129-382bdf30-e3d6-4411-b5a0-249710b8ba08.png
760
+ [image-overview]: https://github.com/lobehub/lobe-chat/assets/17870709/56b95d48-f573-41cd-8b38-387bf88bc4bf
761
+ [image-star]: https://github.com/lobehub/lobe-chat/assets/17870709/cb06b748-513f-47c2-8740-d876858d7855
762
+ [issues-link]: https://img.shields.io/github/issues/lobehub/lobe-chat.svg?style=flat
763
+ [lobe-chat-plugins]: https://github.com/lobehub/lobe-chat-plugins
764
+ [lobe-commit]: https://github.com/lobehub/lobe-commit/tree/master/packages/lobe-commit
765
+ [lobe-i18n]: https://github.com/lobehub/lobe-commit/tree/master/packages/lobe-i18n
766
+ [lobe-icons-github]: https://github.com/lobehub/lobe-icons
767
+ [lobe-icons-link]: https://www.npmjs.com/package/@lobehub/icons
768
+ [lobe-icons-shield]: https://img.shields.io/npm/v/@lobehub/icons?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square
769
+ [lobe-lint-github]: https://github.com/lobehub/lobe-lint
770
+ [lobe-lint-link]: https://www.npmjs.com/package/@lobehub/lint
771
+ [lobe-lint-shield]: https://img.shields.io/npm/v/@lobehub/lint?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square
772
+ [lobe-midjourney-webui]: https://github.com/lobehub/lobe-midjourney-webui
773
+ [lobe-theme]: https://github.com/lobehub/sd-webui-lobe-theme
774
+ [lobe-tts-github]: https://github.com/lobehub/lobe-tts
775
+ [lobe-tts-link]: https://www.npmjs.com/package/@lobehub/tts
776
+ [lobe-tts-shield]: https://img.shields.io/npm/v/@lobehub/tts?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square
777
+ [lobe-ui-github]: https://github.com/lobehub/lobe-ui
778
+ [lobe-ui-link]: https://www.npmjs.com/package/@lobehub/ui
779
+ [lobe-ui-shield]: https://img.shields.io/npm/v/@lobehub/ui?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square
780
+ [official-site]: https://lobehub.com
781
+ [pr-welcome-link]: https://github.com/lobehub/lobe-chat/pulls
782
+ [pr-welcome-shield]: https://img.shields.io/badge/🤯_pr_welcome-%E2%86%92-ffcb47?labelColor=black&style=for-the-badge
783
+ [profile-link]: https://github.com/lobehub
784
+ [share-linkedin-link]: https://linkedin.com/feed
785
+ [share-linkedin-shield]: https://img.shields.io/badge/-share%20on%20linkedin-black?labelColor=black&logo=linkedin&logoColor=white&style=flat-square
786
+ [share-mastodon-link]: https://mastodon.social/share?text=Check%20this%20GitHub%20repository%20out%20%F0%9F%A4%AF%20LobeChat%20-%20An%20open-source,%20extensible%20(Function%20Calling),%20high-performance%20chatbot%20framework.%20It%20supports%20one-click%20free%20deployment%20of%20your%20private%20ChatGPT/LLM%20web%20application.%20https://github.com/lobehub/lobe-chat%20#chatbot%20#chatGPT%20#openAI
787
+ [share-mastodon-shield]: https://img.shields.io/badge/-share%20on%20mastodon-black?labelColor=black&logo=mastodon&logoColor=white&style=flat-square
788
+ [share-reddit-link]: https://www.reddit.com/submit?title=Check%20this%20GitHub%20repository%20out%20%F0%9F%A4%AF%20LobeChat%20-%20An%20open-source%2C%20extensible%20%28Function%20Calling%29%2C%20high-performance%20chatbot%20framework.%20It%20supports%20one-click%20free%20deployment%20of%20your%20private%20ChatGPT%2FLLM%20web%20application.%20%23chatbot%20%23chatGPT%20%23openAI&url=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat
789
+ [share-reddit-shield]: https://img.shields.io/badge/-share%20on%20reddit-black?labelColor=black&logo=reddit&logoColor=white&style=flat-square
790
+ [share-telegram-link]: https://t.me/share/url"?text=Check%20this%20GitHub%20repository%20out%20%F0%9F%A4%AF%20LobeChat%20-%20An%20open-source%2C%20extensible%20%28Function%20Calling%29%2C%20high-performance%20chatbot%20framework.%20It%20supports%20one-click%20free%20deployment%20of%20your%20private%20ChatGPT%2FLLM%20web%20application.%20%23chatbot%20%23chatGPT%20%23openAI&url=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat
791
+ [share-telegram-shield]: https://img.shields.io/badge/-share%20on%20telegram-black?labelColor=black&logo=telegram&logoColor=white&style=flat-square
792
+ [share-weibo-link]: http://service.weibo.com/share/share.php?sharesource=weibo&title=Check%20this%20GitHub%20repository%20out%20%F0%9F%A4%AF%20LobeChat%20-%20An%20open-source%2C%20extensible%20%28Function%20Calling%29%2C%20high-performance%20chatbot%20framework.%20It%20supports%20one-click%20free%20deployment%20of%20your%20private%20ChatGPT%2FLLM%20web%20application.%20%23chatbot%20%23chatGPT%20%23openAI&url=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat
793
+ [share-weibo-shield]: https://img.shields.io/badge/-share%20on%20weibo-black?labelColor=black&logo=sinaweibo&logoColor=white&style=flat-square
794
+ [share-whatsapp-link]: https://api.whatsapp.com/send?text=Check%20this%20GitHub%20repository%20out%20%F0%9F%A4%AF%20LobeChat%20-%20An%20open-source%2C%20extensible%20%28Function%20Calling%29%2C%20high-performance%20chatbot%20framework.%20It%20supports%20one-click%20free%20deployment%20of%20your%20private%20ChatGPT%2FLLM%20web%20application.%20https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat%20%23chatbot%20%23chatGPT%20%23openAI
795
+ [share-whatsapp-shield]: https://img.shields.io/badge/-share%20on%20whatsapp-black?labelColor=black&logo=whatsapp&logoColor=white&style=flat-square
796
+ [share-x-link]: https://x.com/intent/tweet?hashtags=chatbot%2CchatGPT%2CopenAI&text=Check%20this%20GitHub%20repository%20out%20%F0%9F%A4%AF%20LobeChat%20-%20An%20open-source%2C%20extensible%20%28Function%20Calling%29%2C%20high-performance%20chatbot%20framework.%20It%20supports%20one-click%20free%20deployment%20of%20your%20private%20ChatGPT%2FLLM%20web%20application.&url=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat
797
+ [share-x-shield]: https://img.shields.io/badge/-share%20on%20x-black?labelColor=black&logo=x&logoColor=white&style=flat-square
798
+ [sponsor-link]: https://opencollective.com/lobehub 'Become ❤️ LobeHub Sponsor'
799
+ [sponsor-shield]: https://img.shields.io/badge/-Sponsor%20LobeHub-f04f88?logo=opencollective&logoColor=white&style=flat-square
800
+ [submit-agents-link]: https://github.com/lobehub/lobe-chat-agents
801
+ [submit-agents-shield]: https://img.shields.io/badge/🤖/🏪_submit_agent-%E2%86%92-c4f042?labelColor=black&style=for-the-badge
802
+ [submit-plugin-link]: https://github.com/lobehub/lobe-chat-plugins
803
+ [submit-plugin-shield]: https://img.shields.io/badge/🧩/🏪_submit_plugin-%E2%86%92-95f3d9?labelColor=black&style=for-the-badge
804
+ [vercel-link]: https://chat-preview.lobehub.com
805
+ [vercel-shield]: https://img.shields.io/badge/vercel-online-55b467?labelColor=black&logo=vercel&style=flat-square
806
+ [vercel-shield-badge]: https://img.shields.io/badge/TRY%20LOBECHAT-ONLINE-55b467?labelColor=black&logo=vercel&style=for-the-badge