@lobehub/chat 1.3.0 → 1.3.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 (1989) 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/.stylelintrc.js +1 -0
  27. package/CHANGELOG.md +17845 -63
  28. package/CODE_OF_CONDUCT.md +128 -0
  29. package/CONTRIBUTING.md +88 -0
  30. package/Dockerfile +138 -0
  31. package/LICENSE +38 -0
  32. package/README.md +739 -80
  33. package/README.zh-CN.md +828 -0
  34. package/__mocks__/zustand/traditional.ts +25 -0
  35. package/codecov.yml +11 -0
  36. package/contributing/Basic/Add-New-Authentication-Providers.md +193 -0
  37. package/contributing/Basic/Add-New-Authentication-Providers.zh-CN.md +192 -0
  38. package/contributing/Basic/Architecture.md +47 -0
  39. package/contributing/Basic/Architecture.zh-CN.md +47 -0
  40. package/contributing/Basic/Chat-API.md +136 -0
  41. package/contributing/Basic/Chat-API.zh-CN.md +174 -0
  42. package/contributing/Basic/Contributing-Guidelines.md +83 -0
  43. package/contributing/Basic/Contributing-Guidelines.zh-CN.md +85 -0
  44. package/contributing/Basic/Feature-Development-Frontend.md +126 -0
  45. package/contributing/Basic/Feature-Development-Frontend.zh-CN.md +126 -0
  46. package/contributing/Basic/Feature-Development.md +713 -0
  47. package/contributing/Basic/Feature-Development.zh-CN.md +707 -0
  48. package/contributing/Basic/Folder-Structure.md +40 -0
  49. package/contributing/Basic/Folder-Structure.zh-CN.md +40 -0
  50. package/contributing/Basic/Intro.md +111 -0
  51. package/contributing/Basic/Intro.zh-CN.md +111 -0
  52. package/contributing/Basic/Resources.md +19 -0
  53. package/contributing/Basic/Resources.zh-CN.md +19 -0
  54. package/contributing/Basic/Setup-Development.md +69 -0
  55. package/contributing/Basic/Setup-Development.zh-CN.md +69 -0
  56. package/contributing/Basic/Test.md +87 -0
  57. package/contributing/Basic/Test.zh-CN.md +87 -0
  58. package/contributing/Home.md +87 -0
  59. package/contributing/Internationalization/Add-New-Locale.md +62 -0
  60. package/contributing/Internationalization/Add-New-Locale.zh-CN.md +62 -0
  61. package/contributing/Internationalization/Internationalization-Implementation.md +125 -0
  62. package/contributing/Internationalization/Internationalization-Implementation.zh-CN.md +125 -0
  63. package/contributing/Others/Lighthouse.md +65 -0
  64. package/contributing/Others/Lighthouse.zh-CN.md +65 -0
  65. package/contributing/State-Management/State-Management-Intro.md +224 -0
  66. package/contributing/State-Management/State-Management-Intro.zh-CN.md +216 -0
  67. package/contributing/State-Management/State-Management-Selectors.md +68 -0
  68. package/contributing/State-Management/State-Management-Selectors.zh-CN.md +49 -0
  69. package/contributing/Upstream-Sync.md +58 -0
  70. package/contributing/Upstream-Sync.zh-CN.md +58 -0
  71. package/contributing/_Footer.md +1 -0
  72. package/contributing/_Sidebar.md +48 -0
  73. package/docs/self-hosting/advanced/analytics.mdx +31 -0
  74. package/docs/self-hosting/advanced/analytics.zh-CN.mdx +28 -0
  75. package/docs/self-hosting/advanced/authentication.mdx +67 -0
  76. package/docs/self-hosting/advanced/authentication.zh-CN.mdx +65 -0
  77. package/docs/self-hosting/advanced/feature-flags.mdx +47 -0
  78. package/docs/self-hosting/advanced/feature-flags.zh-CN.mdx +43 -0
  79. package/docs/self-hosting/advanced/model-list.mdx +48 -0
  80. package/docs/self-hosting/advanced/model-list.zh-CN.mdx +47 -0
  81. package/docs/self-hosting/advanced/server-database.mdx +425 -0
  82. package/docs/self-hosting/advanced/server-database.zh-CN.mdx +413 -0
  83. package/docs/self-hosting/advanced/settings-url-share.mdx +147 -0
  84. package/docs/self-hosting/advanced/settings-url-share.zh-CN.mdx +145 -0
  85. package/docs/self-hosting/advanced/sso-providers/auth0.mdx +133 -0
  86. package/docs/self-hosting/advanced/sso-providers/auth0.zh-CN.mdx +125 -0
  87. package/docs/self-hosting/advanced/sso-providers/authentik.mdx +74 -0
  88. package/docs/self-hosting/advanced/sso-providers/authentik.zh-CN.mdx +68 -0
  89. package/docs/self-hosting/advanced/sso-providers/github.mdx +102 -0
  90. package/docs/self-hosting/advanced/sso-providers/github.zh-CN.mdx +94 -0
  91. package/docs/self-hosting/advanced/sso-providers/microsoft-entra-id.mdx +105 -0
  92. package/docs/self-hosting/advanced/sso-providers/microsoft-entra-id.zh-CN.mdx +99 -0
  93. package/docs/self-hosting/advanced/sso-providers/zitadel.mdx +119 -0
  94. package/docs/self-hosting/advanced/sso-providers/zitadel.zh-CN.mdx +112 -0
  95. package/docs/self-hosting/advanced/upstream-sync.mdx +161 -0
  96. package/docs/self-hosting/advanced/upstream-sync.zh-CN.mdx +153 -0
  97. package/docs/self-hosting/environment-variables/analytics.mdx +84 -0
  98. package/docs/self-hosting/environment-variables/analytics.zh-CN.mdx +82 -0
  99. package/docs/self-hosting/environment-variables/auth.mdx +171 -0
  100. package/docs/self-hosting/environment-variables/auth.zh-CN.mdx +168 -0
  101. package/docs/self-hosting/environment-variables/basic.mdx +118 -0
  102. package/docs/self-hosting/environment-variables/basic.zh-CN.mdx +114 -0
  103. package/docs/self-hosting/environment-variables/model-provider.mdx +299 -0
  104. package/docs/self-hosting/environment-variables/model-provider.zh-CN.mdx +297 -0
  105. package/docs/self-hosting/environment-variables.mdx +22 -0
  106. package/docs/self-hosting/environment-variables.zh-CN.mdx +20 -0
  107. package/docs/self-hosting/examples/azure-openai.mdx +46 -0
  108. package/docs/self-hosting/examples/azure-openai.zh-CN.mdx +48 -0
  109. package/docs/self-hosting/examples/ollama.mdx +104 -0
  110. package/docs/self-hosting/examples/ollama.zh-CN.mdx +102 -0
  111. package/docs/self-hosting/faq/no-v1-suffix.mdx +30 -0
  112. package/docs/self-hosting/faq/no-v1-suffix.zh-CN.mdx +27 -0
  113. package/docs/self-hosting/faq/proxy-with-unable-to-verify-leaf-signature.mdx +84 -0
  114. package/docs/self-hosting/faq/proxy-with-unable-to-verify-leaf-signature.zh-CN.mdx +81 -0
  115. package/docs/self-hosting/platform/docker-compose.mdx +143 -0
  116. package/docs/self-hosting/platform/docker-compose.zh-CN.mdx +133 -0
  117. package/docs/self-hosting/platform/docker.mdx +169 -0
  118. package/docs/self-hosting/platform/docker.zh-CN.mdx +167 -0
  119. package/docs/self-hosting/platform/netlify.mdx +154 -0
  120. package/docs/self-hosting/platform/netlify.zh-CN.mdx +148 -0
  121. package/docs/self-hosting/platform/railway.mdx +35 -0
  122. package/docs/self-hosting/platform/railway.zh-CN.mdx +34 -0
  123. package/docs/self-hosting/platform/repocloud.mdx +38 -0
  124. package/docs/self-hosting/platform/repocloud.zh-CN.mdx +36 -0
  125. package/docs/self-hosting/platform/sealos.mdx +37 -0
  126. package/docs/self-hosting/platform/sealos.zh-CN.mdx +36 -0
  127. package/docs/self-hosting/platform/vercel.mdx +46 -0
  128. package/docs/self-hosting/platform/vercel.zh-CN.mdx +48 -0
  129. package/docs/self-hosting/platform/zeabur.mdx +84 -0
  130. package/docs/self-hosting/platform/zeabur.zh-CN.mdx +83 -0
  131. package/docs/self-hosting/start.mdx +31 -0
  132. package/docs/self-hosting/start.zh-CN.mdx +32 -0
  133. package/docs/usage/agents/concepts.mdx +41 -0
  134. package/docs/usage/agents/concepts.zh-CN.mdx +38 -0
  135. package/docs/usage/agents/custom-agent.mdx +58 -0
  136. package/docs/usage/agents/custom-agent.zh-CN.mdx +53 -0
  137. package/docs/usage/agents/model.mdx +80 -0
  138. package/docs/usage/agents/model.zh-CN.mdx +75 -0
  139. package/docs/usage/agents/prompt.mdx +110 -0
  140. package/docs/usage/agents/prompt.zh-CN.mdx +106 -0
  141. package/docs/usage/agents/topics.mdx +27 -0
  142. package/docs/usage/agents/topics.zh-CN.mdx +25 -0
  143. package/docs/usage/features/agent-market.mdx +40 -0
  144. package/docs/usage/features/agent-market.zh-CN.mdx +36 -0
  145. package/docs/usage/features/auth.mdx +65 -0
  146. package/docs/usage/features/auth.zh-CN.mdx +60 -0
  147. package/docs/usage/features/database.mdx +60 -0
  148. package/docs/usage/features/database.zh-CN.mdx +54 -0
  149. package/docs/usage/features/local-llm.mdx +56 -0
  150. package/docs/usage/features/local-llm.zh-CN.mdx +48 -0
  151. package/docs/usage/features/mobile.mdx +24 -0
  152. package/docs/usage/features/mobile.zh-CN.mdx +23 -0
  153. package/docs/usage/features/more.mdx +33 -0
  154. package/docs/usage/features/more.zh-CN.mdx +28 -0
  155. package/docs/usage/features/multi-ai-providers.mdx +66 -0
  156. package/docs/usage/features/multi-ai-providers.zh-CN.mdx +66 -0
  157. package/docs/usage/features/plugin-system.mdx +89 -0
  158. package/docs/usage/features/plugin-system.zh-CN.mdx +78 -0
  159. package/docs/usage/features/pwa.mdx +74 -0
  160. package/docs/usage/features/pwa.zh-CN.mdx +74 -0
  161. package/docs/usage/features/text-to-image.mdx +26 -0
  162. package/docs/usage/features/text-to-image.zh-CN.mdx +26 -0
  163. package/docs/usage/features/theme.mdx +34 -0
  164. package/docs/usage/features/theme.zh-CN.mdx +30 -0
  165. package/docs/usage/features/tts.mdx +52 -0
  166. package/docs/usage/features/tts.zh-CN.mdx +46 -0
  167. package/docs/usage/features/vision.mdx +28 -0
  168. package/docs/usage/features/vision.zh-CN.mdx +25 -0
  169. package/docs/usage/plugins/basic-usage.mdx +69 -0
  170. package/docs/usage/plugins/basic-usage.zh-CN.mdx +67 -0
  171. package/docs/usage/plugins/custom-plugin.mdx +37 -0
  172. package/docs/usage/plugins/custom-plugin.zh-CN.mdx +35 -0
  173. package/docs/usage/plugins/development.mdx +329 -0
  174. package/docs/usage/plugins/development.zh-CN.mdx +323 -0
  175. package/docs/usage/plugins/store.mdx +30 -0
  176. package/docs/usage/plugins/store.zh-CN.mdx +27 -0
  177. package/docs/usage/providers/01ai.mdx +85 -0
  178. package/docs/usage/providers/01ai.zh-CN.mdx +85 -0
  179. package/docs/usage/providers/anthropic.mdx +78 -0
  180. package/docs/usage/providers/anthropic.zh-CN.mdx +75 -0
  181. package/docs/usage/providers/azure.mdx +88 -0
  182. package/docs/usage/providers/azure.zh-CN.mdx +79 -0
  183. package/docs/usage/providers/bedrock.mdx +139 -0
  184. package/docs/usage/providers/bedrock.zh-CN.mdx +134 -0
  185. package/docs/usage/providers/deepseek.mdx +90 -0
  186. package/docs/usage/providers/deepseek.zh-CN.mdx +85 -0
  187. package/docs/usage/providers/gemini.mdx +82 -0
  188. package/docs/usage/providers/gemini.zh-CN.mdx +78 -0
  189. package/docs/usage/providers/groq.mdx +72 -0
  190. package/docs/usage/providers/groq.zh-CN.mdx +67 -0
  191. package/docs/usage/providers/minimax.mdx +87 -0
  192. package/docs/usage/providers/minimax.zh-CN.mdx +84 -0
  193. package/docs/usage/providers/mistral.mdx +69 -0
  194. package/docs/usage/providers/mistral.zh-CN.mdx +64 -0
  195. package/docs/usage/providers/moonshot.mdx +68 -0
  196. package/docs/usage/providers/moonshot.zh-CN.mdx +63 -0
  197. package/docs/usage/providers/ollama/gemma.mdx +68 -0
  198. package/docs/usage/providers/ollama/gemma.zh-CN.mdx +67 -0
  199. package/docs/usage/providers/ollama/qwen.mdx +69 -0
  200. package/docs/usage/providers/ollama/qwen.zh-CN.mdx +66 -0
  201. package/docs/usage/providers/ollama.mdx +205 -0
  202. package/docs/usage/providers/ollama.zh-CN.mdx +203 -0
  203. package/docs/usage/providers/openai.mdx +94 -0
  204. package/docs/usage/providers/openai.zh-CN.mdx +87 -0
  205. package/docs/usage/providers/openrouter.mdx +110 -0
  206. package/docs/usage/providers/openrouter.zh-CN.mdx +104 -0
  207. package/docs/usage/providers/perplexity.mdx +62 -0
  208. package/docs/usage/providers/perplexity.zh-CN.mdx +59 -0
  209. package/docs/usage/providers/qwen.mdx +92 -0
  210. package/docs/usage/providers/qwen.zh-CN.mdx +87 -0
  211. package/docs/usage/providers/stepfun.mdx +66 -0
  212. package/docs/usage/providers/stepfun.zh-CN.mdx +62 -0
  213. package/docs/usage/providers/togetherai.mdx +72 -0
  214. package/docs/usage/providers/togetherai.zh-CN.mdx +70 -0
  215. package/docs/usage/providers/zhipu.mdx +67 -0
  216. package/docs/usage/providers/zhipu.zh-CN.mdx +61 -0
  217. package/docs/usage/providers.mdx +36 -0
  218. package/docs/usage/providers.zh-CN.mdx +34 -0
  219. package/docs/usage/start.mdx +48 -0
  220. package/docs/usage/start.zh-CN.mdx +40 -0
  221. package/docs/usage/tools-calling/anthropic.mdx +185 -0
  222. package/docs/usage/tools-calling/anthropic.zh-CN.mdx +185 -0
  223. package/docs/usage/tools-calling/google.mdx +116 -0
  224. package/docs/usage/tools-calling/google.zh-CN.mdx +114 -0
  225. package/docs/usage/tools-calling/groq.mdx +1 -0
  226. package/docs/usage/tools-calling/groq.zh-CN.mdx +183 -0
  227. package/docs/usage/tools-calling/moonshot.mdx +1 -0
  228. package/docs/usage/tools-calling/moonshot.zh-CN.mdx +24 -0
  229. package/docs/usage/tools-calling/openai.mdx +139 -0
  230. package/docs/usage/tools-calling/openai.zh-CN.mdx +139 -0
  231. package/docs/usage/tools-calling.mdx +3 -0
  232. package/docs/usage/tools-calling.zh-CN.mdx +256 -0
  233. package/drizzle.config.ts +29 -0
  234. package/locales/ar/auth.json +8 -0
  235. package/locales/ar/chat.json +137 -0
  236. package/locales/ar/clerk.json +769 -0
  237. package/locales/ar/common.json +224 -0
  238. package/locales/ar/components.json +16 -0
  239. package/locales/ar/error.json +118 -0
  240. package/locales/ar/market.json +32 -0
  241. package/locales/ar/metadata.json +18 -0
  242. package/locales/ar/migration.json +45 -0
  243. package/locales/ar/modelProvider.json +108 -0
  244. package/locales/ar/plugin.json +166 -0
  245. package/locales/ar/portal.json +10 -0
  246. package/locales/ar/setting.json +411 -0
  247. package/locales/ar/tool.json +10 -0
  248. package/locales/ar/welcome.json +49 -0
  249. package/locales/bg-BG/auth.json +8 -0
  250. package/locales/bg-BG/chat.json +137 -0
  251. package/locales/bg-BG/clerk.json +769 -0
  252. package/locales/bg-BG/common.json +224 -0
  253. package/locales/bg-BG/components.json +16 -0
  254. package/locales/bg-BG/error.json +118 -0
  255. package/locales/bg-BG/market.json +32 -0
  256. package/locales/bg-BG/metadata.json +18 -0
  257. package/locales/bg-BG/migration.json +45 -0
  258. package/locales/bg-BG/modelProvider.json +108 -0
  259. package/locales/bg-BG/plugin.json +166 -0
  260. package/locales/bg-BG/portal.json +10 -0
  261. package/locales/bg-BG/setting.json +411 -0
  262. package/locales/bg-BG/tool.json +10 -0
  263. package/locales/bg-BG/welcome.json +49 -0
  264. package/locales/de-DE/auth.json +8 -0
  265. package/locales/de-DE/chat.json +137 -0
  266. package/locales/de-DE/clerk.json +769 -0
  267. package/locales/de-DE/common.json +224 -0
  268. package/locales/de-DE/components.json +16 -0
  269. package/locales/de-DE/error.json +118 -0
  270. package/locales/de-DE/market.json +32 -0
  271. package/locales/de-DE/metadata.json +18 -0
  272. package/locales/de-DE/migration.json +45 -0
  273. package/locales/de-DE/modelProvider.json +108 -0
  274. package/locales/de-DE/plugin.json +166 -0
  275. package/locales/de-DE/portal.json +10 -0
  276. package/locales/de-DE/setting.json +411 -0
  277. package/locales/de-DE/tool.json +10 -0
  278. package/locales/de-DE/welcome.json +49 -0
  279. package/locales/en-US/auth.json +8 -0
  280. package/locales/en-US/chat.json +137 -0
  281. package/locales/en-US/clerk.json +769 -0
  282. package/locales/en-US/common.json +224 -0
  283. package/locales/en-US/components.json +16 -0
  284. package/locales/en-US/error.json +118 -0
  285. package/locales/en-US/market.json +32 -0
  286. package/locales/en-US/metadata.json +18 -0
  287. package/locales/en-US/migration.json +45 -0
  288. package/locales/en-US/modelProvider.json +108 -0
  289. package/locales/en-US/plugin.json +166 -0
  290. package/locales/en-US/portal.json +10 -0
  291. package/locales/en-US/setting.json +411 -0
  292. package/locales/en-US/tool.json +10 -0
  293. package/locales/en-US/welcome.json +49 -0
  294. package/locales/es-ES/auth.json +8 -0
  295. package/locales/es-ES/chat.json +137 -0
  296. package/locales/es-ES/clerk.json +769 -0
  297. package/locales/es-ES/common.json +224 -0
  298. package/locales/es-ES/components.json +16 -0
  299. package/locales/es-ES/error.json +118 -0
  300. package/locales/es-ES/market.json +32 -0
  301. package/locales/es-ES/metadata.json +18 -0
  302. package/locales/es-ES/migration.json +45 -0
  303. package/locales/es-ES/modelProvider.json +108 -0
  304. package/locales/es-ES/plugin.json +166 -0
  305. package/locales/es-ES/portal.json +10 -0
  306. package/locales/es-ES/setting.json +411 -0
  307. package/locales/es-ES/tool.json +10 -0
  308. package/locales/es-ES/welcome.json +49 -0
  309. package/locales/fr-FR/auth.json +8 -0
  310. package/locales/fr-FR/chat.json +137 -0
  311. package/locales/fr-FR/clerk.json +769 -0
  312. package/locales/fr-FR/common.json +224 -0
  313. package/locales/fr-FR/components.json +16 -0
  314. package/locales/fr-FR/error.json +118 -0
  315. package/locales/fr-FR/market.json +32 -0
  316. package/locales/fr-FR/metadata.json +18 -0
  317. package/locales/fr-FR/migration.json +45 -0
  318. package/locales/fr-FR/modelProvider.json +108 -0
  319. package/locales/fr-FR/plugin.json +166 -0
  320. package/locales/fr-FR/portal.json +10 -0
  321. package/locales/fr-FR/setting.json +411 -0
  322. package/locales/fr-FR/tool.json +10 -0
  323. package/locales/fr-FR/welcome.json +49 -0
  324. package/locales/it-IT/auth.json +8 -0
  325. package/locales/it-IT/chat.json +137 -0
  326. package/locales/it-IT/clerk.json +769 -0
  327. package/locales/it-IT/common.json +224 -0
  328. package/locales/it-IT/components.json +16 -0
  329. package/locales/it-IT/error.json +118 -0
  330. package/locales/it-IT/market.json +32 -0
  331. package/locales/it-IT/metadata.json +18 -0
  332. package/locales/it-IT/migration.json +45 -0
  333. package/locales/it-IT/modelProvider.json +108 -0
  334. package/locales/it-IT/plugin.json +166 -0
  335. package/locales/it-IT/portal.json +10 -0
  336. package/locales/it-IT/setting.json +411 -0
  337. package/locales/it-IT/tool.json +10 -0
  338. package/locales/it-IT/welcome.json +49 -0
  339. package/locales/ja-JP/auth.json +8 -0
  340. package/locales/ja-JP/chat.json +137 -0
  341. package/locales/ja-JP/clerk.json +769 -0
  342. package/locales/ja-JP/common.json +224 -0
  343. package/locales/ja-JP/components.json +16 -0
  344. package/locales/ja-JP/error.json +118 -0
  345. package/locales/ja-JP/market.json +32 -0
  346. package/locales/ja-JP/metadata.json +18 -0
  347. package/locales/ja-JP/migration.json +45 -0
  348. package/locales/ja-JP/modelProvider.json +108 -0
  349. package/locales/ja-JP/plugin.json +166 -0
  350. package/locales/ja-JP/portal.json +10 -0
  351. package/locales/ja-JP/setting.json +411 -0
  352. package/locales/ja-JP/tool.json +10 -0
  353. package/locales/ja-JP/welcome.json +49 -0
  354. package/locales/ko-KR/auth.json +8 -0
  355. package/locales/ko-KR/chat.json +137 -0
  356. package/locales/ko-KR/clerk.json +769 -0
  357. package/locales/ko-KR/common.json +224 -0
  358. package/locales/ko-KR/components.json +16 -0
  359. package/locales/ko-KR/error.json +118 -0
  360. package/locales/ko-KR/market.json +32 -0
  361. package/locales/ko-KR/metadata.json +18 -0
  362. package/locales/ko-KR/migration.json +45 -0
  363. package/locales/ko-KR/modelProvider.json +108 -0
  364. package/locales/ko-KR/plugin.json +166 -0
  365. package/locales/ko-KR/portal.json +10 -0
  366. package/locales/ko-KR/setting.json +411 -0
  367. package/locales/ko-KR/tool.json +10 -0
  368. package/locales/ko-KR/welcome.json +49 -0
  369. package/locales/nl-NL/auth.json +8 -0
  370. package/locales/nl-NL/chat.json +137 -0
  371. package/locales/nl-NL/clerk.json +769 -0
  372. package/locales/nl-NL/common.json +224 -0
  373. package/locales/nl-NL/components.json +16 -0
  374. package/locales/nl-NL/error.json +118 -0
  375. package/locales/nl-NL/market.json +32 -0
  376. package/locales/nl-NL/metadata.json +18 -0
  377. package/locales/nl-NL/migration.json +45 -0
  378. package/locales/nl-NL/modelProvider.json +108 -0
  379. package/locales/nl-NL/plugin.json +166 -0
  380. package/locales/nl-NL/portal.json +10 -0
  381. package/locales/nl-NL/setting.json +411 -0
  382. package/locales/nl-NL/tool.json +10 -0
  383. package/locales/nl-NL/welcome.json +49 -0
  384. package/locales/pl-PL/auth.json +8 -0
  385. package/locales/pl-PL/chat.json +137 -0
  386. package/locales/pl-PL/clerk.json +769 -0
  387. package/locales/pl-PL/common.json +224 -0
  388. package/locales/pl-PL/components.json +16 -0
  389. package/locales/pl-PL/error.json +118 -0
  390. package/locales/pl-PL/market.json +32 -0
  391. package/locales/pl-PL/metadata.json +18 -0
  392. package/locales/pl-PL/migration.json +45 -0
  393. package/locales/pl-PL/modelProvider.json +108 -0
  394. package/locales/pl-PL/plugin.json +166 -0
  395. package/locales/pl-PL/portal.json +10 -0
  396. package/locales/pl-PL/setting.json +411 -0
  397. package/locales/pl-PL/tool.json +10 -0
  398. package/locales/pl-PL/welcome.json +49 -0
  399. package/locales/pt-BR/auth.json +8 -0
  400. package/locales/pt-BR/chat.json +137 -0
  401. package/locales/pt-BR/clerk.json +769 -0
  402. package/locales/pt-BR/common.json +224 -0
  403. package/locales/pt-BR/components.json +16 -0
  404. package/locales/pt-BR/error.json +118 -0
  405. package/locales/pt-BR/market.json +32 -0
  406. package/locales/pt-BR/metadata.json +18 -0
  407. package/locales/pt-BR/migration.json +45 -0
  408. package/locales/pt-BR/modelProvider.json +108 -0
  409. package/locales/pt-BR/plugin.json +166 -0
  410. package/locales/pt-BR/portal.json +10 -0
  411. package/locales/pt-BR/setting.json +411 -0
  412. package/locales/pt-BR/tool.json +10 -0
  413. package/locales/pt-BR/welcome.json +49 -0
  414. package/locales/ru-RU/auth.json +8 -0
  415. package/locales/ru-RU/chat.json +137 -0
  416. package/locales/ru-RU/clerk.json +769 -0
  417. package/locales/ru-RU/common.json +224 -0
  418. package/locales/ru-RU/components.json +16 -0
  419. package/locales/ru-RU/error.json +118 -0
  420. package/locales/ru-RU/market.json +32 -0
  421. package/locales/ru-RU/metadata.json +18 -0
  422. package/locales/ru-RU/migration.json +45 -0
  423. package/locales/ru-RU/modelProvider.json +108 -0
  424. package/locales/ru-RU/plugin.json +166 -0
  425. package/locales/ru-RU/portal.json +10 -0
  426. package/locales/ru-RU/setting.json +411 -0
  427. package/locales/ru-RU/tool.json +10 -0
  428. package/locales/ru-RU/welcome.json +49 -0
  429. package/locales/tr-TR/auth.json +8 -0
  430. package/locales/tr-TR/chat.json +137 -0
  431. package/locales/tr-TR/clerk.json +769 -0
  432. package/locales/tr-TR/common.json +224 -0
  433. package/locales/tr-TR/components.json +16 -0
  434. package/locales/tr-TR/error.json +118 -0
  435. package/locales/tr-TR/market.json +32 -0
  436. package/locales/tr-TR/metadata.json +18 -0
  437. package/locales/tr-TR/migration.json +45 -0
  438. package/locales/tr-TR/modelProvider.json +108 -0
  439. package/locales/tr-TR/plugin.json +166 -0
  440. package/locales/tr-TR/portal.json +10 -0
  441. package/locales/tr-TR/setting.json +411 -0
  442. package/locales/tr-TR/tool.json +10 -0
  443. package/locales/tr-TR/welcome.json +49 -0
  444. package/locales/vi-VN/auth.json +8 -0
  445. package/locales/vi-VN/chat.json +137 -0
  446. package/locales/vi-VN/clerk.json +769 -0
  447. package/locales/vi-VN/common.json +224 -0
  448. package/locales/vi-VN/components.json +16 -0
  449. package/locales/vi-VN/error.json +118 -0
  450. package/locales/vi-VN/market.json +32 -0
  451. package/locales/vi-VN/metadata.json +18 -0
  452. package/locales/vi-VN/migration.json +45 -0
  453. package/locales/vi-VN/modelProvider.json +108 -0
  454. package/locales/vi-VN/plugin.json +166 -0
  455. package/locales/vi-VN/portal.json +10 -0
  456. package/locales/vi-VN/setting.json +411 -0
  457. package/locales/vi-VN/tool.json +10 -0
  458. package/locales/vi-VN/welcome.json +49 -0
  459. package/locales/zh-CN/auth.json +8 -0
  460. package/locales/zh-CN/chat.json +137 -0
  461. package/locales/zh-CN/clerk.json +769 -0
  462. package/locales/zh-CN/common.json +224 -0
  463. package/locales/zh-CN/components.json +16 -0
  464. package/locales/zh-CN/error.json +118 -0
  465. package/locales/zh-CN/market.json +32 -0
  466. package/locales/zh-CN/metadata.json +18 -0
  467. package/locales/zh-CN/migration.json +45 -0
  468. package/locales/zh-CN/modelProvider.json +108 -0
  469. package/locales/zh-CN/plugin.json +166 -0
  470. package/locales/zh-CN/portal.json +10 -0
  471. package/locales/zh-CN/setting.json +411 -0
  472. package/locales/zh-CN/tool.json +10 -0
  473. package/locales/zh-CN/welcome.json +49 -0
  474. package/locales/zh-TW/auth.json +8 -0
  475. package/locales/zh-TW/chat.json +137 -0
  476. package/locales/zh-TW/clerk.json +769 -0
  477. package/locales/zh-TW/common.json +224 -0
  478. package/locales/zh-TW/components.json +16 -0
  479. package/locales/zh-TW/error.json +118 -0
  480. package/locales/zh-TW/market.json +32 -0
  481. package/locales/zh-TW/metadata.json +18 -0
  482. package/locales/zh-TW/migration.json +45 -0
  483. package/locales/zh-TW/modelProvider.json +108 -0
  484. package/locales/zh-TW/plugin.json +166 -0
  485. package/locales/zh-TW/portal.json +10 -0
  486. package/locales/zh-TW/setting.json +411 -0
  487. package/locales/zh-TW/tool.json +10 -0
  488. package/locales/zh-TW/welcome.json +49 -0
  489. package/netlify.toml +10 -0
  490. package/next-sitemap.config.mjs +53 -0
  491. package/next.config.mjs +183 -9
  492. package/package.json +218 -85
  493. package/public/apple-touch-icon.png +0 -0
  494. package/public/favicon-32x32.ico +0 -0
  495. package/public/favicon.ico +0 -0
  496. package/public/icons/icon-192x192.maskable.png +0 -0
  497. package/public/icons/icon-192x192.png +0 -0
  498. package/public/icons/icon-512x512.maskable.png +0 -0
  499. package/public/icons/icon-512x512.png +0 -0
  500. package/public/images/banner_market_modal.webp +0 -0
  501. package/public/images/chatmode_chat_dark.webp +0 -0
  502. package/public/images/chatmode_chat_light.webp +0 -0
  503. package/public/images/chatmode_docs_dark.webp +0 -0
  504. package/public/images/chatmode_docs_light.webp +0 -0
  505. package/public/images/empty_topic_dark.webp +0 -0
  506. package/public/images/empty_topic_light.webp +0 -0
  507. package/public/images/logo.png +0 -0
  508. package/public/images/screenshot_background.webp +0 -0
  509. package/public/images/theme_auto.webp +0 -0
  510. package/public/images/theme_dark.webp +0 -0
  511. package/public/images/theme_light.webp +0 -0
  512. package/public/manifest.json +166 -0
  513. package/public/og/cover.png +0 -0
  514. package/public/screenshots/shot-1.desktop.png +0 -0
  515. package/public/screenshots/shot-1.mobile.png +0 -0
  516. package/public/screenshots/shot-2.desktop.png +0 -0
  517. package/public/screenshots/shot-2.mobile.png +0 -0
  518. package/public/screenshots/shot-3.desktop.png +0 -0
  519. package/public/screenshots/shot-3.mobile.png +0 -0
  520. package/public/screenshots/shot-4.desktop.png +0 -0
  521. package/public/screenshots/shot-4.mobile.png +0 -0
  522. package/public/screenshots/shot-5.desktop.png +0 -0
  523. package/public/screenshots/shot-5.mobile.png +0 -0
  524. package/public/videos/feedback.mp4 +0 -0
  525. package/public/videos/star.mp4 +0 -0
  526. package/renovate.json +13 -0
  527. package/scripts/docsWorkflow/const.ts +14 -0
  528. package/scripts/docsWorkflow/index.ts +82 -0
  529. package/scripts/docsWorkflow/toc.ts +60 -0
  530. package/scripts/docsWorkflow/utils.ts +38 -0
  531. package/scripts/i18nWorkflow/const.ts +18 -0
  532. package/scripts/i18nWorkflow/genDefaultLocale.ts +19 -0
  533. package/scripts/i18nWorkflow/genDiff.ts +50 -0
  534. package/scripts/i18nWorkflow/index.ts +11 -0
  535. package/scripts/i18nWorkflow/utils.ts +54 -0
  536. package/scripts/mdxWorkflow/index.ts +48 -0
  537. package/scripts/migrateServerDB/index.ts +32 -0
  538. package/scripts/readmeWorkflow/const.ts +19 -0
  539. package/scripts/readmeWorkflow/index.ts +12 -0
  540. package/scripts/readmeWorkflow/syncAgentIndex.ts +47 -0
  541. package/scripts/readmeWorkflow/syncPluginIndex.ts +42 -0
  542. package/scripts/readmeWorkflow/utlis.ts +52 -0
  543. package/sentry.client.config.ts +30 -0
  544. package/sentry.edge.config.ts +17 -0
  545. package/sentry.server.config.ts +19 -0
  546. package/src/app/(auth)/layout.tsx +19 -0
  547. package/src/app/(auth)/login/[[...login]]/page.tsx +21 -0
  548. package/src/app/(auth)/signup/[[...signup]]/page.tsx +29 -0
  549. package/src/app/(loading)/Client.tsx +13 -0
  550. package/src/app/(loading)/Redirect.tsx +51 -0
  551. package/src/app/(main)/(mobile)/me/(home)/__tests__/UserBanner.test.tsx +80 -0
  552. package/src/app/(main)/(mobile)/me/(home)/__tests__/useCategory.test.tsx +116 -0
  553. package/src/app/(main)/(mobile)/me/(home)/features/Category.tsx +15 -0
  554. package/src/app/(main)/(mobile)/me/(home)/features/Header.tsx +30 -0
  555. package/src/app/(main)/(mobile)/me/(home)/features/UserBanner.tsx +37 -0
  556. package/src/app/(main)/(mobile)/me/(home)/features/useCategory.tsx +118 -0
  557. package/src/app/(main)/(mobile)/me/(home)/layout.tsx +17 -0
  558. package/src/app/(main)/(mobile)/me/(home)/loading.tsx +38 -0
  559. package/src/app/(main)/(mobile)/me/(home)/page.tsx +38 -0
  560. package/src/app/(main)/(mobile)/me/data/features/Category.tsx +48 -0
  561. package/src/app/(main)/(mobile)/me/data/features/Header.tsx +33 -0
  562. package/src/app/(main)/(mobile)/me/data/layout.tsx +13 -0
  563. package/src/app/(main)/(mobile)/me/data/loading.tsx +5 -0
  564. package/src/app/(main)/(mobile)/me/data/page.tsx +27 -0
  565. package/src/app/(main)/(mobile)/me/profile/features/Category.tsx +45 -0
  566. package/src/app/(main)/(mobile)/me/profile/features/Header.tsx +33 -0
  567. package/src/app/(main)/(mobile)/me/profile/layout.tsx +16 -0
  568. package/src/app/(main)/(mobile)/me/profile/loading.tsx +5 -0
  569. package/src/app/(main)/(mobile)/me/profile/page.tsx +28 -0
  570. package/src/app/(main)/(mobile)/me/settings/features/Category.tsx +15 -0
  571. package/src/app/(main)/(mobile)/me/settings/features/Header.tsx +33 -0
  572. package/src/app/(main)/(mobile)/me/settings/features/useCategory.tsx +62 -0
  573. package/src/app/(main)/(mobile)/me/settings/layout.tsx +13 -0
  574. package/src/app/(main)/(mobile)/me/settings/loading.tsx +5 -0
  575. package/src/app/(main)/(mobile)/me/settings/page.tsx +28 -0
  576. package/src/app/(main)/@nav/_layout/Desktop/Avatar.test.tsx +55 -0
  577. package/src/app/(main)/@nav/_layout/Desktop/Avatar.tsx +53 -0
  578. package/src/app/(main)/@nav/_layout/Desktop/BottomActions.tsx +24 -0
  579. package/src/app/(main)/@nav/_layout/Desktop/TopActions.tsx +50 -0
  580. package/src/app/(main)/@nav/_layout/Desktop/index.tsx +26 -0
  581. package/src/app/(main)/@nav/_layout/Mobile.tsx +70 -0
  582. package/src/app/(main)/@nav/default.tsx +10 -0
  583. package/src/app/(main)/_layout/Desktop.tsx +33 -0
  584. package/src/app/(main)/_layout/Mobile.tsx +29 -0
  585. package/src/app/(main)/_layout/type.ts +6 -0
  586. package/src/app/(main)/chat/(workspace)/@conversation/default.tsx +23 -0
  587. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatHydration/index.tsx +33 -0
  588. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/DragUpload.tsx +245 -0
  589. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/LocalFiles.tsx +10 -0
  590. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/SendMore.tsx +120 -0
  591. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/index.tsx +182 -0
  592. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/Header/index.tsx +25 -0
  593. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/TextArea.test.tsx +316 -0
  594. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/TextArea.tsx +130 -0
  595. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/__tests__/useAutoFocus.test.ts +45 -0
  596. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/index.tsx +60 -0
  597. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/useAutoFocus.ts +13 -0
  598. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Mobile/Files.tsx +19 -0
  599. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Mobile/index.tsx +52 -0
  600. package/src/app/(main)/chat/(workspace)/@portal/_layout/Desktop.tsx +17 -0
  601. package/src/app/(main)/chat/(workspace)/@portal/_layout/Mobile.tsx +18 -0
  602. package/src/app/(main)/chat/(workspace)/@portal/default.tsx +27 -0
  603. package/src/app/(main)/chat/(workspace)/@portal/features/ArtifactUI/Footer.tsx +44 -0
  604. package/src/app/(main)/chat/(workspace)/@portal/features/ArtifactUI/ToolRender.tsx +51 -0
  605. package/src/app/(main)/chat/(workspace)/@portal/features/ArtifactUI/index.tsx +37 -0
  606. package/src/app/(main)/chat/(workspace)/@portal/features/Artifacts/ArtifactList/Item/index.tsx +74 -0
  607. package/src/app/(main)/chat/(workspace)/@portal/features/Artifacts/ArtifactList/Item/style.ts +47 -0
  608. package/src/app/(main)/chat/(workspace)/@portal/features/Artifacts/ArtifactList/index.tsx +61 -0
  609. package/src/app/(main)/chat/(workspace)/@portal/features/Artifacts/index.tsx +21 -0
  610. package/src/app/(main)/chat/(workspace)/@portal/features/Header.tsx +52 -0
  611. package/src/app/(main)/chat/(workspace)/@portal/index.tsx +24 -0
  612. package/src/app/(main)/chat/(workspace)/@topic/_layout/Desktop.tsx +17 -0
  613. package/src/app/(main)/chat/(workspace)/@topic/_layout/Mobile.tsx +21 -0
  614. package/src/app/(main)/chat/(workspace)/@topic/default.tsx +32 -0
  615. package/src/app/(main)/chat/(workspace)/@topic/features/Header.tsx +88 -0
  616. package/src/app/(main)/chat/(workspace)/@topic/features/SkeletonList.tsx +57 -0
  617. package/src/app/(main)/chat/(workspace)/@topic/features/SystemRole/SystemRoleContent.tsx +128 -0
  618. package/src/app/(main)/chat/(workspace)/@topic/features/SystemRole/index.tsx +18 -0
  619. package/src/app/(main)/chat/(workspace)/@topic/features/SystemRole/style.ts +36 -0
  620. package/src/app/(main)/chat/(workspace)/@topic/features/TopicListContent/DefaultContent.tsx +29 -0
  621. package/src/app/(main)/chat/(workspace)/@topic/features/TopicListContent/TopicContent.tsx +211 -0
  622. package/src/app/(main)/chat/(workspace)/@topic/features/TopicListContent/TopicItem.tsx +81 -0
  623. package/src/app/(main)/chat/(workspace)/@topic/features/TopicListContent/index.tsx +107 -0
  624. package/src/app/(main)/chat/(workspace)/@topic/features/TopicSearchBar/index.tsx +42 -0
  625. package/src/app/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/HeaderAction.tsx +40 -0
  626. package/src/app/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/Main.tsx +91 -0
  627. package/src/app/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/Tags.tsx +31 -0
  628. package/src/app/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/index.tsx +8 -0
  629. package/src/app/(main)/chat/(workspace)/_layout/Desktop/HotKeys.tsx +49 -0
  630. package/src/app/(main)/chat/(workspace)/_layout/Desktop/Portal.tsx +79 -0
  631. package/src/app/(main)/chat/(workspace)/_layout/Desktop/TopicPanel.tsx +82 -0
  632. package/src/app/(main)/chat/(workspace)/_layout/Desktop/index.tsx +37 -0
  633. package/src/app/(main)/chat/(workspace)/_layout/Mobile/ChatHeader/ChatHeaderTitle.tsx +55 -0
  634. package/src/app/(main)/chat/(workspace)/_layout/Mobile/ChatHeader/index.tsx +37 -0
  635. package/src/app/(main)/chat/(workspace)/_layout/Mobile/PortalModal.tsx +35 -0
  636. package/src/app/(main)/chat/(workspace)/_layout/Mobile/TopicModal.tsx +35 -0
  637. package/src/app/(main)/chat/(workspace)/_layout/Mobile/index.tsx +23 -0
  638. package/src/app/(main)/chat/(workspace)/_layout/type.ts +8 -0
  639. package/src/app/(main)/chat/(workspace)/_layout/useInitAgentConfig.ts +10 -0
  640. package/src/app/(main)/chat/(workspace)/features/PluginTag/PluginStatus.tsx +108 -0
  641. package/src/app/(main)/chat/(workspace)/features/PluginTag/index.tsx +60 -0
  642. package/src/app/(main)/chat/(workspace)/features/SettingButton.tsx +25 -0
  643. package/src/app/(main)/chat/(workspace)/features/ShareButton/Preview.tsx +79 -0
  644. package/src/app/(main)/chat/(workspace)/features/ShareButton/ShareModal.tsx +164 -0
  645. package/src/app/(main)/chat/(workspace)/features/ShareButton/index.tsx +40 -0
  646. package/src/app/(main)/chat/(workspace)/features/ShareButton/style.ts +71 -0
  647. package/src/app/(main)/chat/(workspace)/features/ShareButton/type.ts +14 -0
  648. package/src/app/(main)/chat/(workspace)/features/ShareButton/useScreenshot.ts +60 -0
  649. package/src/app/(main)/chat/(workspace)/features/TelemetryNotification.tsx +93 -0
  650. package/src/app/(main)/chat/(workspace)/features/useWorkspaceModal.tsx +27 -0
  651. package/src/app/(main)/chat/(workspace)/layout.ts +11 -0
  652. package/src/app/(main)/chat/(workspace)/page.tsx +39 -0
  653. package/src/app/(main)/chat/@session/_layout/Desktop/PanelBody.tsx +24 -0
  654. package/src/app/(main)/chat/@session/_layout/Desktop/SessionHeader.tsx +60 -0
  655. package/src/app/(main)/chat/@session/_layout/Desktop/index.tsx +18 -0
  656. package/src/app/(main)/chat/@session/_layout/Mobile/SessionHeader.tsx +45 -0
  657. package/src/app/(main)/chat/@session/_layout/Mobile/index.tsx +22 -0
  658. package/src/app/(main)/chat/@session/default.tsx +29 -0
  659. package/src/app/(main)/chat/@session/features/SessionHydration.tsx +45 -0
  660. package/src/app/(main)/chat/@session/features/SessionListContent/CollapseGroup/Actions.tsx +141 -0
  661. package/src/app/(main)/chat/@session/features/SessionListContent/CollapseGroup/index.tsx +63 -0
  662. package/src/app/(main)/chat/@session/features/SessionListContent/DefaultMode.tsx +106 -0
  663. package/src/app/(main)/chat/@session/features/SessionListContent/Inbox/index.tsx +38 -0
  664. package/src/app/(main)/chat/@session/features/SessionListContent/List/AddButton.tsx +28 -0
  665. package/src/app/(main)/chat/@session/features/SessionListContent/List/Item/Actions.tsx +196 -0
  666. package/src/app/(main)/chat/@session/features/SessionListContent/List/Item/index.tsx +95 -0
  667. package/src/app/(main)/chat/@session/features/SessionListContent/List/index.tsx +67 -0
  668. package/src/app/(main)/chat/@session/features/SessionListContent/ListItem/index.tsx +64 -0
  669. package/src/app/(main)/chat/@session/features/SessionListContent/Modals/ConfigGroupModal/GroupItem.tsx +89 -0
  670. package/src/app/(main)/chat/@session/features/SessionListContent/Modals/ConfigGroupModal/index.tsx +85 -0
  671. package/src/app/(main)/chat/@session/features/SessionListContent/Modals/CreateGroupModal.tsx +70 -0
  672. package/src/app/(main)/chat/@session/features/SessionListContent/Modals/RenameGroupModal.tsx +59 -0
  673. package/src/app/(main)/chat/@session/features/SessionListContent/SearchMode.tsx +21 -0
  674. package/src/app/(main)/chat/@session/features/SessionListContent/index.tsx +18 -0
  675. package/src/app/(main)/chat/@session/features/SessionListContent/useSwitchSession.ts +26 -0
  676. package/src/app/(main)/chat/@session/features/SessionSearchBar.tsx +37 -0
  677. package/src/app/(main)/chat/@session/features/SkeletonList.tsx +50 -0
  678. package/src/app/(main)/chat/_layout/Desktop/SessionPanel.tsx +75 -0
  679. package/src/app/(main)/chat/_layout/Desktop/index.tsx +31 -0
  680. package/src/app/(main)/chat/_layout/Mobile.tsx +49 -0
  681. package/src/app/(main)/chat/_layout/type.ts +6 -0
  682. package/src/app/(main)/chat/error.tsx +5 -0
  683. package/src/app/(main)/chat/features/Migration/ExportConfigButton.tsx +33 -0
  684. package/src/app/(main)/chat/features/Migration/Failed.tsx +118 -0
  685. package/src/app/(main)/chat/features/Migration/Modal.tsx +80 -0
  686. package/src/app/(main)/chat/features/Migration/Start.tsx +106 -0
  687. package/src/app/(main)/chat/features/Migration/UpgradeButton.tsx +74 -0
  688. package/src/app/(main)/chat/features/Migration/const.ts +15 -0
  689. package/src/app/(main)/chat/features/Migration/index.tsx +39 -0
  690. package/src/app/(main)/chat/features/PageTitle/index.tsx +17 -0
  691. package/src/app/(main)/chat/layout.ts +11 -0
  692. package/src/app/(main)/chat/loading.tsx +3 -0
  693. package/src/app/(main)/chat/not-found.tsx +3 -0
  694. package/src/app/(main)/chat/settings/_layout/Desktop/Header.tsx +26 -0
  695. package/src/app/(main)/chat/settings/_layout/Desktop/index.tsx +21 -0
  696. package/src/app/(main)/chat/settings/_layout/Mobile/Header.tsx +27 -0
  697. package/src/app/(main)/chat/settings/_layout/Mobile/index.tsx +19 -0
  698. package/src/app/(main)/chat/settings/error.tsx +5 -0
  699. package/src/app/(main)/chat/settings/features/EditPage.tsx +40 -0
  700. package/src/app/(main)/chat/settings/features/HeaderContent.tsx +70 -0
  701. package/src/app/(main)/chat/settings/features/SubmitAgentButton/SubmitAgentModal.tsx +98 -0
  702. package/src/app/(main)/chat/settings/features/SubmitAgentButton/index.tsx +36 -0
  703. package/src/app/(main)/chat/settings/features/SubmitAgentButton/style.ts +47 -0
  704. package/src/app/(main)/chat/settings/layout.tsx +21 -0
  705. package/src/app/(main)/chat/settings/loading.tsx +3 -0
  706. package/src/app/(main)/chat/settings/modal/page.tsx +23 -0
  707. package/src/app/(main)/chat/settings/not-found.tsx +3 -0
  708. package/src/app/(main)/chat/settings/page.tsx +7 -0
  709. package/src/app/(main)/error.tsx +5 -0
  710. package/src/app/(main)/layout.tsx +11 -0
  711. package/src/app/(main)/market/@detail/default.tsx +12 -0
  712. package/src/app/(main)/market/@detail/features/AgentDetailContent.tsx +73 -0
  713. package/src/app/(main)/market/@detail/features/Banner.tsx +46 -0
  714. package/src/app/(main)/market/@detail/features/Comment.tsx +16 -0
  715. package/src/app/(main)/market/@detail/features/Header.tsx +81 -0
  716. package/src/app/(main)/market/@detail/features/Loading.tsx +63 -0
  717. package/src/app/(main)/market/@detail/features/TokenTag.tsx +27 -0
  718. package/src/app/(main)/market/@detail/features/style.ts +32 -0
  719. package/src/app/(main)/market/_layout/Desktop/DetailSidebar.tsx +84 -0
  720. package/src/app/(main)/market/_layout/Desktop/Header.tsx +28 -0
  721. package/src/app/(main)/market/_layout/Desktop/Hero.tsx +40 -0
  722. package/src/app/(main)/market/_layout/Desktop/index.tsx +46 -0
  723. package/src/app/(main)/market/_layout/Mobile/DetailModal.tsx +32 -0
  724. package/src/app/(main)/market/_layout/Mobile/Header.tsx +20 -0
  725. package/src/app/(main)/market/_layout/Mobile/index.tsx +25 -0
  726. package/src/app/(main)/market/_layout/type.ts +6 -0
  727. package/src/app/(main)/market/features/AgentCard/AgentCardBanner.tsx +59 -0
  728. package/src/app/(main)/market/features/AgentCard/index.tsx +139 -0
  729. package/src/app/(main)/market/features/AgentList.tsx +103 -0
  730. package/src/app/(main)/market/features/AgentSearchBar.tsx +42 -0
  731. package/src/app/(main)/market/features/ShareAgentButton/Inner.tsx +54 -0
  732. package/src/app/(main)/market/features/ShareAgentButton/index.tsx +50 -0
  733. package/src/app/(main)/market/features/TagList.tsx +69 -0
  734. package/src/app/(main)/market/layout.tsx +11 -0
  735. package/src/app/(main)/market/loading.tsx +15 -0
  736. package/src/app/(main)/market/page.tsx +44 -0
  737. package/src/app/(main)/not-found.tsx +3 -0
  738. package/src/app/(main)/profile/[[...slugs]]/Client.tsx +75 -0
  739. package/src/app/(main)/profile/[[...slugs]]/page.tsx +21 -0
  740. package/src/app/(main)/profile/_layout/Mobile/Header.tsx +26 -0
  741. package/src/app/(main)/profile/_layout/Mobile/index.tsx +16 -0
  742. package/src/app/(main)/profile/layout.tsx +20 -0
  743. package/src/app/(main)/profile/loading.tsx +23 -0
  744. package/src/app/(main)/settings/@category/default.tsx +15 -0
  745. package/src/app/(main)/settings/@category/features/CategoryContent.tsx +37 -0
  746. package/src/app/(main)/settings/@category/features/UpgradeAlert.tsx +38 -0
  747. package/src/app/(main)/settings/_layout/Desktop/Header.tsx +85 -0
  748. package/src/app/(main)/settings/_layout/Desktop/SideBar.tsx +61 -0
  749. package/src/app/(main)/settings/_layout/Desktop/index.tsx +54 -0
  750. package/src/app/(main)/settings/_layout/Mobile/Header.tsx +53 -0
  751. package/src/app/(main)/settings/_layout/Mobile/index.tsx +18 -0
  752. package/src/app/(main)/settings/_layout/type.ts +6 -0
  753. package/src/app/(main)/settings/about/features/AboutList.tsx +27 -0
  754. package/src/app/(main)/settings/about/features/Analytics.tsx +42 -0
  755. package/src/app/(main)/settings/about/features/ItemCard.tsx +46 -0
  756. package/src/app/(main)/settings/about/features/ItemLink.tsx +32 -0
  757. package/src/app/(main)/settings/about/features/Version.tsx +79 -0
  758. package/src/app/(main)/settings/about/index.tsx +139 -0
  759. package/src/app/(main)/settings/about/page.tsx +20 -0
  760. package/src/app/(main)/settings/agent/index.tsx +33 -0
  761. package/src/app/(main)/settings/agent/page.tsx +12 -0
  762. package/src/app/(main)/settings/common/features/Common.tsx +171 -0
  763. package/src/app/(main)/settings/common/features/Theme/ThemeSwatches/ThemeSwatchesNeutral.tsx +33 -0
  764. package/src/app/(main)/settings/common/features/Theme/ThemeSwatches/ThemeSwatchesPrimary.tsx +33 -0
  765. package/src/app/(main)/settings/common/features/Theme/index.tsx +155 -0
  766. package/src/app/(main)/settings/common/index.tsx +15 -0
  767. package/src/app/(main)/settings/common/page.tsx +13 -0
  768. package/src/app/(main)/settings/error.tsx +5 -0
  769. package/src/app/(main)/settings/features/UpgradeAlert.tsx +42 -0
  770. package/src/app/(main)/settings/hooks/useCategory.tsx +94 -0
  771. package/src/app/(main)/settings/hooks/useSyncSettings.ts +23 -0
  772. package/src/app/(main)/settings/layout.ts +11 -0
  773. package/src/app/(main)/settings/llm/ProviderList/Azure/index.tsx +107 -0
  774. package/src/app/(main)/settings/llm/ProviderList/Bedrock/index.tsx +68 -0
  775. package/src/app/(main)/settings/llm/ProviderList/Ollama/Checker.tsx +73 -0
  776. package/src/app/(main)/settings/llm/ProviderList/Ollama/index.tsx +29 -0
  777. package/src/app/(main)/settings/llm/ProviderList/OpenAI/index.tsx +20 -0
  778. package/src/app/(main)/settings/llm/ProviderList/providers.tsx +190 -0
  779. package/src/app/(main)/settings/llm/components/Checker.tsx +113 -0
  780. package/src/app/(main)/settings/llm/components/ProviderConfig/index.tsx +295 -0
  781. package/src/app/(main)/settings/llm/components/ProviderModelList/CustomModelOption.tsx +93 -0
  782. package/src/app/(main)/settings/llm/components/ProviderModelList/ModelConfigModal/Form.tsx +98 -0
  783. package/src/app/(main)/settings/llm/components/ProviderModelList/ModelConfigModal/MaxTokenSlider.tsx +103 -0
  784. package/src/app/(main)/settings/llm/components/ProviderModelList/ModelConfigModal/index.tsx +78 -0
  785. package/src/app/(main)/settings/llm/components/ProviderModelList/ModelFetcher.tsx +90 -0
  786. package/src/app/(main)/settings/llm/components/ProviderModelList/Option.tsx +66 -0
  787. package/src/app/(main)/settings/llm/components/ProviderModelList/index.tsx +147 -0
  788. package/src/app/(main)/settings/llm/const.ts +20 -0
  789. package/src/app/(main)/settings/llm/features/Footer.tsx +35 -0
  790. package/src/app/(main)/settings/llm/index.tsx +24 -0
  791. package/src/app/(main)/settings/llm/page.tsx +23 -0
  792. package/src/app/(main)/settings/llm/type.ts +5 -0
  793. package/src/app/(main)/settings/loading.tsx +9 -0
  794. package/src/app/(main)/settings/modal/page.tsx +27 -0
  795. package/src/app/(main)/settings/not-found.tsx +3 -0
  796. package/src/app/(main)/settings/sync/features/Alert.tsx +39 -0
  797. package/src/app/(main)/settings/sync/features/DeviceInfo/Card.tsx +42 -0
  798. package/src/app/(main)/settings/sync/features/DeviceInfo/DeviceName.tsx +63 -0
  799. package/src/app/(main)/settings/sync/features/DeviceInfo/SystemIcon.tsx +29 -0
  800. package/src/app/(main)/settings/sync/features/DeviceInfo/index.tsx +103 -0
  801. package/src/app/(main)/settings/sync/features/WebRTC/ChannelNameInput.tsx +46 -0
  802. package/src/app/(main)/settings/sync/features/WebRTC/SyncSwitch/index.css +237 -0
  803. package/src/app/(main)/settings/sync/features/WebRTC/SyncSwitch/index.tsx +79 -0
  804. package/src/app/(main)/settings/sync/features/WebRTC/generateRandomRoomName.ts +4 -0
  805. package/src/app/(main)/settings/sync/features/WebRTC/index.tsx +98 -0
  806. package/src/app/(main)/settings/sync/index.tsx +17 -0
  807. package/src/app/(main)/settings/sync/page.tsx +26 -0
  808. package/src/app/(main)/settings/system-agent/features/createForm.tsx +59 -0
  809. package/src/app/(main)/settings/system-agent/features/useSync.ts +23 -0
  810. package/src/app/(main)/settings/system-agent/index.tsx +15 -0
  811. package/src/app/(main)/settings/system-agent/page.tsx +14 -0
  812. package/src/app/(main)/settings/tts/features/OpenAI.tsx +54 -0
  813. package/src/app/(main)/settings/tts/features/STT.tsx +58 -0
  814. package/src/app/(main)/settings/tts/features/const.ts +30 -0
  815. package/src/app/(main)/settings/tts/index.tsx +15 -0
  816. package/src/app/(main)/settings/tts/page.tsx +12 -0
  817. package/src/app/(main)/welcome/_layout/Desktop.tsx +41 -0
  818. package/src/app/(main)/welcome/_layout/Mobile.tsx +12 -0
  819. package/src/app/(main)/welcome/features/Actions.tsx +39 -0
  820. package/src/app/(main)/welcome/features/Hero.tsx +63 -0
  821. package/src/app/(main)/welcome/features/Logo.tsx +30 -0
  822. package/src/app/(main)/welcome/layout.tsx +10 -0
  823. package/src/app/(main)/welcome/page.tsx +41 -0
  824. package/src/app/@modal/(.)settings/modal/index.tsx +45 -0
  825. package/src/app/@modal/(.)settings/modal/layout.tsx +44 -0
  826. package/src/app/@modal/(.)settings/modal/loading.tsx +5 -0
  827. package/src/app/@modal/(.)settings/modal/page.tsx +19 -0
  828. package/src/app/@modal/_layout/SettingModalLayout.tsx +71 -0
  829. package/src/app/@modal/chat/(.)settings/modal/features/CategoryContent.tsx +37 -0
  830. package/src/app/@modal/chat/(.)settings/modal/features/useCategory.tsx +54 -0
  831. package/src/app/@modal/chat/(.)settings/modal/layout.tsx +58 -0
  832. package/src/app/@modal/chat/(.)settings/modal/loading.tsx +5 -0
  833. package/src/app/@modal/chat/(.)settings/modal/page.tsx +55 -0
  834. package/src/app/@modal/default.tsx +3 -0
  835. package/src/app/@modal/error.tsx +5 -0
  836. package/src/app/@modal/layout.tsx +34 -0
  837. package/src/app/@modal/loading.tsx +5 -0
  838. package/src/app/api/auth/[...nextauth]/route.ts +3 -0
  839. package/src/app/api/chat/[provider]/route.test.ts +222 -0
  840. package/src/app/api/chat/[provider]/route.ts +56 -0
  841. package/src/app/api/chat/agentRuntime.test.ts +350 -0
  842. package/src/app/api/chat/agentRuntime.ts +261 -0
  843. package/src/app/api/chat/anthropic/route.test.ts +28 -0
  844. package/src/app/api/chat/anthropic/route.ts +33 -0
  845. package/src/app/api/chat/apiKeyManager.test.ts +131 -0
  846. package/src/app/api/chat/apiKeyManager.ts +46 -0
  847. package/src/app/api/chat/google/route.test.ts +33 -0
  848. package/src/app/api/chat/google/route.ts +35 -0
  849. package/src/app/api/chat/minimax/route.test.ts +24 -0
  850. package/src/app/api/chat/minimax/route.ts +5 -0
  851. package/src/app/api/chat/models/[provider]/route.ts +45 -0
  852. package/src/app/api/config.test.ts +43 -0
  853. package/src/app/api/config.ts +14 -0
  854. package/src/app/api/errorResponse.test.ts +100 -0
  855. package/src/app/api/errorResponse.ts +54 -0
  856. package/src/app/api/market/AgentMarket.test.ts +55 -0
  857. package/src/app/api/market/AgentMarket.ts +25 -0
  858. package/src/app/api/market/[id]/route.ts +22 -0
  859. package/src/app/api/market/route.ts +23 -0
  860. package/src/app/api/middleware/auth/index.test.ts +77 -0
  861. package/src/app/api/middleware/auth/index.ts +62 -0
  862. package/src/app/api/middleware/auth/utils.test.ts +150 -0
  863. package/src/app/api/middleware/auth/utils.ts +83 -0
  864. package/src/app/api/openai/createBizOpenAI/auth.test.ts +53 -0
  865. package/src/app/api/openai/createBizOpenAI/auth.ts +31 -0
  866. package/src/app/api/openai/createBizOpenAI/createAzureOpenai.ts +33 -0
  867. package/src/app/api/openai/createBizOpenAI/createOpenai.ts +17 -0
  868. package/src/app/api/openai/createBizOpenAI/index.ts +37 -0
  869. package/src/app/api/openai/stt/route.ts +31 -0
  870. package/src/app/api/openai/tts/route.ts +19 -0
  871. package/src/app/api/plugin/gateway/route.ts +82 -0
  872. package/src/app/api/plugin/gateway/settings.test.ts +105 -0
  873. package/src/app/api/plugin/gateway/settings.ts +29 -0
  874. package/src/app/api/plugin/store/Store.test.ts +26 -0
  875. package/src/app/api/plugin/store/Store.ts +19 -0
  876. package/src/app/api/plugin/store/route.ts +23 -0
  877. package/src/app/api/proxy/route.ts +34 -0
  878. package/src/app/api/text-to-image/[provider]/route.ts +61 -0
  879. package/src/app/api/trace/route.ts +40 -0
  880. package/src/app/api/tts/edge-speech/route.ts +9 -0
  881. package/src/app/api/tts/microsoft-speech/route.ts +9 -0
  882. package/src/app/api/webhooks/clerk/__tests__/fixtures/createUser.json +73 -0
  883. package/src/app/api/webhooks/clerk/route.ts +79 -0
  884. package/src/app/api/webhooks/clerk/validateRequest.ts +22 -0
  885. package/src/app/error.tsx +5 -0
  886. package/src/app/global-error.tsx +20 -0
  887. package/src/app/layout.tsx +65 -0
  888. package/src/app/metadata.ts +59 -0
  889. package/src/app/not-found.tsx +3 -0
  890. package/src/app/page.tsx +23 -0
  891. package/src/app/trpc/edge/[trpc]/route.ts +28 -0
  892. package/src/app/trpc/lambda/[trpc]/route.ts +26 -0
  893. package/src/app/trpc/tools/[trpc]/route.ts +26 -0
  894. package/src/chains/__tests__/langDetect.test.ts +51 -0
  895. package/src/chains/__tests__/pickEmoji.test.ts +47 -0
  896. package/src/chains/__tests__/summaryAgentName.test.ts +57 -0
  897. package/src/chains/__tests__/summaryDescription.test.ts +83 -0
  898. package/src/chains/__tests__/summaryTags.test.ts +54 -0
  899. package/src/chains/__tests__/summaryTitle.test.ts +54 -0
  900. package/src/chains/__tests__/translate.test.ts +28 -0
  901. package/src/chains/langDetect.ts +31 -0
  902. package/src/chains/pickEmoji.ts +31 -0
  903. package/src/chains/summaryAgentName.ts +35 -0
  904. package/src/chains/summaryDescription.ts +49 -0
  905. package/src/chains/summaryTags.ts +28 -0
  906. package/src/chains/summaryTitle.ts +21 -0
  907. package/src/chains/translate.ts +17 -0
  908. package/src/components/404/index.tsx +43 -0
  909. package/src/components/Analytics/Clarity.tsx +28 -0
  910. package/src/components/Analytics/Google.tsx +7 -0
  911. package/src/components/Analytics/Plausible.tsx +16 -0
  912. package/src/components/Analytics/Posthog.tsx +22 -0
  913. package/src/components/Analytics/Umami.tsx +16 -0
  914. package/src/components/Analytics/Vercel.tsx +8 -0
  915. package/src/components/Analytics/index.tsx +44 -0
  916. package/src/components/AntdStaticMethods/index.test.tsx +43 -0
  917. package/src/components/AntdStaticMethods/index.tsx +20 -0
  918. package/src/components/BrandWatermark/index.tsx +39 -0
  919. package/src/components/BrowserIcon/components/Brave.tsx +56 -0
  920. package/src/components/BrowserIcon/components/Chrome.tsx +14 -0
  921. package/src/components/BrowserIcon/components/Chromium.tsx +14 -0
  922. package/src/components/BrowserIcon/components/Edge.tsx +36 -0
  923. package/src/components/BrowserIcon/components/Firefox.tsx +38 -0
  924. package/src/components/BrowserIcon/components/Opera.tsx +19 -0
  925. package/src/components/BrowserIcon/components/Safari.tsx +23 -0
  926. package/src/components/BrowserIcon/components/Samsung.tsx +21 -0
  927. package/src/components/BrowserIcon/index.tsx +50 -0
  928. package/src/components/BrowserIcon/types.ts +8 -0
  929. package/src/components/Cell/Divider.tsx +22 -0
  930. package/src/components/Cell/index.tsx +53 -0
  931. package/src/components/CircleLoading/index.tsx +21 -0
  932. package/src/components/DataStyleModal/index.tsx +64 -0
  933. package/src/components/Error/index.tsx +58 -0
  934. package/src/components/Error/sentryCaptureException.ts +9 -0
  935. package/src/components/FetchErrorNotification/Description.tsx +48 -0
  936. package/src/components/FetchErrorNotification/index.tsx +15 -0
  937. package/src/components/FileList/EditableFileList.tsx +47 -0
  938. package/src/components/FileList/FileListViewer.tsx +19 -0
  939. package/src/components/FileList/index.ts +2 -0
  940. package/src/components/FileList/type.tsx +7 -0
  941. package/src/components/FullscreenLoading/index.tsx +21 -0
  942. package/src/components/GalleyGrid/Grid.tsx +36 -0
  943. package/src/components/GalleyGrid/index.tsx +58 -0
  944. package/src/components/GalleyGrid/style.ts +24 -0
  945. package/src/components/GuideModal/index.tsx +77 -0
  946. package/src/components/GuideVideo/index.tsx +30 -0
  947. package/src/components/HotKeys/index.tsx +77 -0
  948. package/src/components/ImageItem/index.tsx +75 -0
  949. package/src/components/ImageItem/style.ts +1 -0
  950. package/src/components/ManifestPreviewer/index.tsx +30 -0
  951. package/src/components/Menu/index.tsx +98 -0
  952. package/src/components/ModelIcon/index.tsx +101 -0
  953. package/src/components/ModelProviderIcon/index.tsx +133 -0
  954. package/src/components/ModelSelect/index.tsx +163 -0
  955. package/src/components/ModelTag/ModelIcon.tsx +95 -0
  956. package/src/components/ModelTag/index.tsx +13 -0
  957. package/src/components/Notification/index.tsx +95 -0
  958. package/src/components/PageTitle/index.tsx +11 -0
  959. package/src/components/SafeSpacing/index.tsx +27 -0
  960. package/src/components/SidebarHeader/index.tsx +38 -0
  961. package/src/components/SkeletonLoading/index.tsx +21 -0
  962. package/src/components/StopLoading.tsx +38 -0
  963. package/src/components/StructuredData/index.tsx +12 -0
  964. package/src/components/client/ClientResponsiveContent/index.tsx +32 -0
  965. package/src/components/client/ClientResponsiveLayout.tsx +32 -0
  966. package/src/components/server/MobileNavLayout.tsx +62 -0
  967. package/src/components/server/ServerLayout.tsx +19 -0
  968. package/src/config/__tests__/analytics.test.ts +47 -0
  969. package/src/config/__tests__/app.test.ts +48 -0
  970. package/src/config/__tests__/client.test.ts +40 -0
  971. package/src/config/analytics.ts +62 -0
  972. package/src/config/app.ts +60 -0
  973. package/src/config/auth.ts +129 -0
  974. package/src/config/db.ts +28 -0
  975. package/src/config/debug.ts +22 -0
  976. package/src/config/featureFlags/index.ts +31 -0
  977. package/src/config/featureFlags/schema.test.ts +59 -0
  978. package/src/config/featureFlags/schema.ts +63 -0
  979. package/src/config/featureFlags/utils/parser.test.ts +88 -0
  980. package/src/config/featureFlags/utils/parser.ts +32 -0
  981. package/src/config/file.ts +34 -0
  982. package/src/config/langfuse.ts +23 -0
  983. package/src/config/llm.ts +174 -0
  984. package/src/config/modelProviders/anthropic.ts +80 -0
  985. package/src/config/modelProviders/azure.ts +45 -0
  986. package/src/config/modelProviders/baichuan.ts +55 -0
  987. package/src/config/modelProviders/bedrock.ts +105 -0
  988. package/src/config/modelProviders/deepseek.ts +26 -0
  989. package/src/config/modelProviders/google.ts +91 -0
  990. package/src/config/modelProviders/groq.ts +48 -0
  991. package/src/config/modelProviders/index.ts +92 -0
  992. package/src/config/modelProviders/minimax.ts +50 -0
  993. package/src/config/modelProviders/mistral.ts +49 -0
  994. package/src/config/modelProviders/moonshot.ts +33 -0
  995. package/src/config/modelProviders/ollama.ts +190 -0
  996. package/src/config/modelProviders/openai.ts +142 -0
  997. package/src/config/modelProviders/openrouter.ts +125 -0
  998. package/src/config/modelProviders/perplexity.ts +52 -0
  999. package/src/config/modelProviders/qwen.ts +58 -0
  1000. package/src/config/modelProviders/stepfun.ts +41 -0
  1001. package/src/config/modelProviders/taichu.ts +21 -0
  1002. package/src/config/modelProviders/togetherai.ts +79 -0
  1003. package/src/config/modelProviders/zeroone.ts +74 -0
  1004. package/src/config/modelProviders/zhipu.ts +64 -0
  1005. package/src/const/auth.ts +45 -0
  1006. package/src/const/fetch.ts +27 -1
  1007. package/src/const/guide.ts +86 -0
  1008. package/src/const/hotkeys.ts +5 -0
  1009. package/src/const/layoutTokens.test.ts +11 -0
  1010. package/src/const/layoutTokens.ts +25 -0
  1011. package/src/const/locale.ts +12 -0
  1012. package/src/const/market.ts +15 -0
  1013. package/src/const/message.ts +1 -0
  1014. package/src/const/meta.ts +8 -0
  1015. package/src/const/plugin.ts +2 -0
  1016. package/src/const/session.ts +25 -0
  1017. package/src/const/settings/agent.ts +40 -0
  1018. package/src/const/settings/common.ts +7 -0
  1019. package/src/const/settings/index.ts +28 -0
  1020. package/src/const/settings/llm.ts +111 -0
  1021. package/src/const/settings/sync.ts +5 -0
  1022. package/src/const/settings/systemAgent.ts +14 -0
  1023. package/src/const/settings/tool.ts +5 -0
  1024. package/src/const/settings/tts.ts +10 -0
  1025. package/src/const/theme.ts +5 -0
  1026. package/src/const/trace.ts +60 -0
  1027. package/src/const/url.ts +63 -0
  1028. package/src/const/user.ts +10 -0
  1029. package/src/const/version.ts +6 -0
  1030. package/src/database/client/core/__tests__/db-upgrade.test.ts +42 -0
  1031. package/src/database/client/core/__tests__/db.test.ts +79 -0
  1032. package/src/database/client/core/__tests__/model.test.ts +55 -0
  1033. package/src/database/client/core/db.ts +246 -0
  1034. package/src/database/client/core/index.ts +3 -0
  1035. package/src/database/client/core/migrations/migrateSettingsToUser/fixtures/input.json +55 -0
  1036. package/src/database/client/core/migrations/migrateSettingsToUser/fixtures/output.json +60 -0
  1037. package/src/database/client/core/migrations/migrateSettingsToUser/index.test.ts +14 -0
  1038. package/src/database/client/core/migrations/migrateSettingsToUser/index.ts +22 -0
  1039. package/src/database/client/core/migrations/migrateSettingsToUser/type.ts +108 -0
  1040. package/src/database/client/core/model.ts +252 -0
  1041. package/src/database/client/core/schemas.ts +88 -0
  1042. package/src/database/client/core/sync.ts +328 -0
  1043. package/src/database/client/core/types/db.ts +15 -0
  1044. package/src/database/client/models/__DEBUG.ts +124 -0
  1045. package/src/database/client/models/__tests__/file.test.ts +83 -0
  1046. package/src/database/client/models/__tests__/message.test.ts +427 -0
  1047. package/src/database/client/models/__tests__/plugin.test.ts +81 -0
  1048. package/src/database/client/models/__tests__/session.test.ts +254 -0
  1049. package/src/database/client/models/__tests__/sessionGroup.test.ts +220 -0
  1050. package/src/database/client/models/__tests__/topic.test.ts +523 -0
  1051. package/src/database/client/models/__tests__/user.test.ts +82 -0
  1052. package/src/database/client/models/file.ts +31 -0
  1053. package/src/database/client/models/message.ts +272 -0
  1054. package/src/database/client/models/plugin.ts +62 -0
  1055. package/src/database/client/models/session.ts +271 -0
  1056. package/src/database/client/models/sessionGroup.ts +90 -0
  1057. package/src/database/client/models/topic.ts +244 -0
  1058. package/src/database/client/models/user.ts +69 -0
  1059. package/src/database/client/schemas/files.ts +39 -0
  1060. package/src/database/client/schemas/message.ts +50 -0
  1061. package/src/database/client/schemas/plugin.ts +12 -0
  1062. package/src/database/client/schemas/session.ts +51 -0
  1063. package/src/database/client/schemas/sessionGroup.ts +8 -0
  1064. package/src/database/client/schemas/topic.ts +12 -0
  1065. package/src/database/client/schemas/user.ts +40 -0
  1066. package/src/database/server/core/db.ts +44 -0
  1067. package/src/database/server/core/dbForTest.ts +45 -0
  1068. package/src/database/server/index.ts +1 -0
  1069. package/src/database/server/migrations/0000_init.sql +439 -0
  1070. package/src/database/server/migrations/0001_add_client_id.sql +9 -0
  1071. package/src/database/server/migrations/0002_amusing_puma.sql +9 -0
  1072. package/src/database/server/migrations/0003_naive_echo.sql +46 -0
  1073. package/src/database/server/migrations/meta/0000_snapshot.json +1583 -0
  1074. package/src/database/server/migrations/meta/0001_snapshot.json +1636 -0
  1075. package/src/database/server/migrations/meta/0002_snapshot.json +1630 -0
  1076. package/src/database/server/migrations/meta/0003_snapshot.json +1823 -0
  1077. package/src/database/server/migrations/meta/_journal.json +34 -0
  1078. package/src/database/server/models/__tests__/file.test.ts +140 -0
  1079. package/src/database/server/models/__tests__/message.test.ts +1020 -0
  1080. package/src/database/server/models/__tests__/plugin.test.ts +172 -0
  1081. package/src/database/server/models/__tests__/session.test.ts +595 -0
  1082. package/src/database/server/models/__tests__/topic.test.ts +623 -0
  1083. package/src/database/server/models/__tests__/user.test.ts +173 -0
  1084. package/src/database/server/models/_template.ts +44 -0
  1085. package/src/database/server/models/file.ts +51 -0
  1086. package/src/database/server/models/message.ts +395 -0
  1087. package/src/database/server/models/plugin.ts +63 -0
  1088. package/src/database/server/models/session.ts +291 -0
  1089. package/src/database/server/models/sessionGroup.ts +69 -0
  1090. package/src/database/server/models/topic.ts +265 -0
  1091. package/src/database/server/models/user.ts +144 -0
  1092. package/src/database/server/schemas/_id.ts +15 -0
  1093. package/src/database/server/schemas/lobechat.ts +655 -0
  1094. package/src/database/server/utils/idGenerator.test.ts +39 -0
  1095. package/src/database/server/utils/idGenerator.ts +26 -0
  1096. package/src/features/AgentInfo/index.tsx +70 -0
  1097. package/src/features/AgentSetting/AgentChat/index.tsx +142 -0
  1098. package/src/features/AgentSetting/AgentMeta/AutoGenerateAvatar.tsx +59 -0
  1099. package/src/features/AgentSetting/AgentMeta/AutoGenerateInput.tsx +45 -0
  1100. package/src/features/AgentSetting/AgentMeta/AutoGenerateSelect.tsx +50 -0
  1101. package/src/features/AgentSetting/AgentMeta/BackgroundSwatches.tsx +27 -0
  1102. package/src/features/AgentSetting/AgentMeta/index.tsx +132 -0
  1103. package/src/features/AgentSetting/AgentModal/ModelSelect.tsx +20 -0
  1104. package/src/features/AgentSetting/AgentModal/index.tsx +98 -0
  1105. package/src/features/AgentSetting/AgentPlugin/AddPluginButton.tsx +49 -0
  1106. package/src/features/AgentSetting/AgentPlugin/LoadingList.tsx +48 -0
  1107. package/src/features/AgentSetting/AgentPlugin/LocalPluginItem.tsx +42 -0
  1108. package/src/features/AgentSetting/AgentPlugin/PluginAction/index.tsx +36 -0
  1109. package/src/features/AgentSetting/AgentPlugin/index.tsx +163 -0
  1110. package/src/features/AgentSetting/AgentPrompt/TokenTag.tsx +39 -0
  1111. package/src/features/AgentSetting/AgentPrompt/index.tsx +128 -0
  1112. package/src/features/AgentSetting/AgentSettings.tsx +24 -0
  1113. package/src/features/AgentSetting/AgentSettingsStore.tsx +14 -0
  1114. package/src/features/AgentSetting/AgentTTS/SelectWithTTSPreview.tsx +120 -0
  1115. package/src/features/AgentSetting/AgentTTS/index.tsx +122 -0
  1116. package/src/features/AgentSetting/AgentTTS/options.ts +16 -0
  1117. package/src/features/AgentSetting/StoreUpdater.tsx +32 -0
  1118. package/src/features/AgentSetting/hooks/useAgentSettings.ts +31 -0
  1119. package/src/features/AgentSetting/index.tsx +3 -0
  1120. package/src/features/AgentSetting/store/action.ts +305 -0
  1121. package/src/features/AgentSetting/store/index.ts +16 -0
  1122. package/src/features/AgentSetting/store/initialState.ts +28 -0
  1123. package/src/features/AgentSetting/store/reducers/config.ts +54 -0
  1124. package/src/features/AgentSetting/store/reducers/meta.ts +21 -0
  1125. package/src/features/AgentSetting/store/selectors.ts +11 -0
  1126. package/src/features/AgentSetting/useSyncAgemtSettings.ts +14 -0
  1127. package/src/features/AvatarWithUpload/index.tsx +30 -17
  1128. package/src/features/ChatInput/ActionBar/Clear.tsx +49 -0
  1129. package/src/features/ChatInput/ActionBar/FileUpload.tsx +69 -0
  1130. package/src/features/ChatInput/ActionBar/History.tsx +70 -0
  1131. package/src/features/ChatInput/ActionBar/ModelSwitch.tsx +20 -0
  1132. package/src/features/ChatInput/ActionBar/Temperature.tsx +49 -0
  1133. package/src/features/ChatInput/ActionBar/Token/TokenProgress.tsx +80 -0
  1134. package/src/features/ChatInput/ActionBar/Token/TokenTag.tsx +149 -0
  1135. package/src/features/ChatInput/ActionBar/Token/index.tsx +18 -0
  1136. package/src/features/ChatInput/ActionBar/Tools/Dropdown.tsx +145 -0
  1137. package/src/features/ChatInput/ActionBar/Tools/ToolItem.tsx +45 -0
  1138. package/src/features/ChatInput/ActionBar/Tools/index.tsx +33 -0
  1139. package/src/features/ChatInput/ActionBar/config.ts +33 -0
  1140. package/src/features/ChatInput/ActionBar/index.tsx +58 -0
  1141. package/src/features/ChatInput/STT/browser.tsx +118 -0
  1142. package/src/features/ChatInput/STT/common.tsx +120 -0
  1143. package/src/features/ChatInput/STT/index.tsx +20 -0
  1144. package/src/features/ChatInput/STT/openai.tsx +129 -0
  1145. package/src/features/ChatInput/Topic/index.tsx +41 -0
  1146. package/src/features/ChatInput/useChatInput.ts +45 -0
  1147. package/src/features/ChatInput/useSend.ts +44 -0
  1148. package/src/features/Conversation/Actions/Assistant.tsx +36 -0
  1149. package/src/features/Conversation/Actions/Error.tsx +11 -0
  1150. package/src/features/Conversation/Actions/Fallback.tsx +13 -0
  1151. package/src/features/Conversation/Actions/Tool.tsx +34 -0
  1152. package/src/features/Conversation/Actions/User.tsx +20 -0
  1153. package/src/features/Conversation/Actions/customAction.ts +37 -0
  1154. package/src/features/Conversation/Actions/index.ts +79 -0
  1155. package/src/features/Conversation/Error/APIKeyForm/Bedrock.tsx +80 -0
  1156. package/src/features/Conversation/Error/APIKeyForm/ProviderApiKeyForm.tsx +79 -0
  1157. package/src/features/Conversation/Error/APIKeyForm/ProviderAvatar.tsx +104 -0
  1158. package/src/features/Conversation/Error/APIKeyForm/index.tsx +96 -0
  1159. package/src/features/Conversation/Error/AccessCodeForm.tsx +63 -0
  1160. package/src/features/Conversation/Error/ClerkLogin/index.tsx +47 -0
  1161. package/src/features/Conversation/Error/ErrorJsonViewer.tsx +26 -0
  1162. package/src/features/Conversation/Error/InvalidAPIKey.tsx +16 -0
  1163. package/src/features/Conversation/Error/InvalidAccessCode.tsx +79 -0
  1164. package/src/features/Conversation/Error/OAuthForm.tsx +97 -0
  1165. package/src/features/Conversation/Error/OllamaBizError/InvalidOllamaModel/index.tsx +154 -0
  1166. package/src/features/Conversation/Error/OllamaBizError/InvalidOllamaModel/useDownloadMonitor.ts +29 -0
  1167. package/src/features/Conversation/Error/OllamaBizError/SetupGuide.tsx +221 -0
  1168. package/src/features/Conversation/Error/OllamaBizError/index.tsx +47 -0
  1169. package/src/features/Conversation/Error/OpenAiBizError.tsx +29 -0
  1170. package/src/features/Conversation/Error/PluginSettings.tsx +66 -0
  1171. package/src/features/Conversation/Error/index.tsx +117 -0
  1172. package/src/features/Conversation/Error/style.tsx +76 -0
  1173. package/src/features/Conversation/Extras/Assistant.test.tsx +86 -0
  1174. package/src/features/Conversation/Extras/Assistant.tsx +51 -0
  1175. package/src/features/Conversation/Extras/ExtraContainer.tsx +13 -0
  1176. package/src/features/Conversation/Extras/TTS/FilePlayer.tsx +25 -0
  1177. package/src/features/Conversation/Extras/TTS/InitPlayer.tsx +93 -0
  1178. package/src/features/Conversation/Extras/TTS/Player.tsx +61 -0
  1179. package/src/features/Conversation/Extras/TTS/index.tsx +32 -0
  1180. package/src/features/Conversation/Extras/Translate.tsx +72 -0
  1181. package/src/features/Conversation/Extras/User.tsx +36 -0
  1182. package/src/features/Conversation/Extras/index.ts +8 -0
  1183. package/src/features/Conversation/Extras/type.ts +5 -0
  1184. package/src/features/Conversation/Messages/Assistant/ToolCalls/index.tsx +60 -0
  1185. package/src/features/Conversation/Messages/Assistant/ToolCalls/style.ts +25 -0
  1186. package/src/features/Conversation/Messages/Assistant/index.tsx +51 -0
  1187. package/src/features/Conversation/Messages/Default.tsx +19 -0
  1188. package/src/features/Conversation/Messages/Tool/Inspector/PluginResultJSON.tsx +24 -0
  1189. package/src/features/Conversation/Messages/Tool/Inspector/Settings.tsx +39 -0
  1190. package/src/features/Conversation/Messages/Tool/Inspector/index.tsx +164 -0
  1191. package/src/features/Conversation/Messages/Tool/Inspector/style.ts +36 -0
  1192. package/src/features/Conversation/Messages/Tool/index.tsx +78 -0
  1193. package/src/features/Conversation/Messages/User.tsx +23 -0
  1194. package/src/features/Conversation/Messages/components/Arguments.tsx +22 -0
  1195. package/src/features/Conversation/Messages/index.ts +38 -0
  1196. package/src/features/Conversation/components/AutoScroll.tsx +26 -0
  1197. package/src/features/Conversation/components/BackBottom/index.tsx +31 -0
  1198. package/src/features/Conversation/components/BackBottom/style.ts +36 -0
  1199. package/src/features/Conversation/components/BubblesLoading.tsx +61 -0
  1200. package/src/features/Conversation/components/ChatItem/ActionsBar.tsx +58 -0
  1201. package/src/features/Conversation/components/ChatItem/HistoryDivider.tsx +26 -0
  1202. package/src/features/Conversation/components/ChatItem/index.tsx +156 -0
  1203. package/src/features/Conversation/components/ChatList/index.tsx +21 -0
  1204. package/src/features/Conversation/components/InboxWelcome/AgentsSuggest.tsx +113 -0
  1205. package/src/features/Conversation/components/InboxWelcome/QuestionSuggest.tsx +106 -0
  1206. package/src/features/Conversation/components/InboxWelcome/index.tsx +68 -0
  1207. package/src/features/Conversation/components/OTPInput.tsx +136 -0
  1208. package/src/features/Conversation/components/SkeletonList.tsx +51 -0
  1209. package/src/features/Conversation/components/VirtualizedList/index.tsx +138 -0
  1210. package/src/features/Conversation/hooks/useChatListActionsBar.tsx +55 -0
  1211. package/src/features/Conversation/index.tsx +30 -0
  1212. package/src/features/Conversation/types/index.tsx +32 -0
  1213. package/src/features/DataImporter/Error.tsx +65 -0
  1214. package/src/features/DataImporter/FileUploading.tsx +50 -0
  1215. package/src/features/DataImporter/Loading.tsx +125 -0
  1216. package/src/features/DataImporter/SuccessResult.tsx +61 -0
  1217. package/src/features/DataImporter/index.tsx +185 -0
  1218. package/src/features/DataImporter/style.ts +17 -0
  1219. package/src/features/DebugUI/index.tsx +36 -0
  1220. package/src/features/FileList/EditableFileList.tsx +31 -0
  1221. package/src/features/FileList/FileListPreviewer.tsx +17 -0
  1222. package/src/features/FileList/index.tsx +2 -0
  1223. package/src/features/Follow/index.tsx +64 -0
  1224. package/src/features/MobileSwitchLoading/index.tsx +13 -0
  1225. package/src/features/MobileTabBar/index.tsx +61 -0
  1226. package/src/features/ModelSelect/index.tsx +69 -0
  1227. package/src/features/ModelSwitchPanel/index.tsx +113 -0
  1228. package/src/features/PWAInstall/index.tsx +72 -0
  1229. package/src/features/PluginAvatar/index.tsx +28 -0
  1230. package/src/features/PluginDetailModal/APIs.tsx +43 -0
  1231. package/src/features/PluginDetailModal/Meta.tsx +57 -0
  1232. package/src/features/PluginDetailModal/index.tsx +75 -0
  1233. package/src/features/PluginDevModal/LocalForm.tsx +124 -0
  1234. package/src/features/PluginDevModal/PluginPreview.tsx +36 -0
  1235. package/src/features/PluginDevModal/UrlManifestForm.tsx +134 -0
  1236. package/src/features/PluginDevModal/index.tsx +172 -0
  1237. package/src/features/PluginSettings/PluginSettingRender.tsx +86 -0
  1238. package/src/features/PluginSettings/index.tsx +87 -0
  1239. package/src/features/PluginStore/AddPluginButton.tsx +47 -0
  1240. package/src/features/PluginStore/InstalledPluginList.tsx +61 -0
  1241. package/src/features/PluginStore/Loading.tsx +13 -0
  1242. package/src/features/PluginStore/OnlineList.tsx +89 -0
  1243. package/src/features/PluginStore/PluginItem/Action.tsx +116 -0
  1244. package/src/features/PluginStore/PluginItem/EditCustomPlugin.tsx +55 -0
  1245. package/src/features/PluginStore/PluginItem/PluginTag.tsx +58 -0
  1246. package/src/features/PluginStore/PluginItem/index.tsx +82 -0
  1247. package/src/features/PluginStore/index.tsx +57 -0
  1248. package/src/features/PluginsUI/Render/BuiltinType/index.test.tsx +53 -0
  1249. package/src/features/PluginsUI/Render/BuiltinType/index.tsx +44 -0
  1250. package/src/features/PluginsUI/Render/DefaultType/IFrameRender/index.tsx +61 -0
  1251. package/src/features/PluginsUI/Render/DefaultType/SystemJsRender/index.tsx +40 -0
  1252. package/src/features/PluginsUI/Render/DefaultType/SystemJsRender/utils.ts +26 -0
  1253. package/src/features/PluginsUI/Render/DefaultType/index.tsx +53 -0
  1254. package/src/features/PluginsUI/Render/Loading.tsx +60 -0
  1255. package/src/features/PluginsUI/Render/MarkdownType/index.tsx +25 -0
  1256. package/src/features/PluginsUI/Render/StandaloneType/Iframe.tsx +163 -0
  1257. package/src/features/PluginsUI/Render/StandaloneType/index.tsx +36 -0
  1258. package/src/features/PluginsUI/Render/index.tsx +71 -0
  1259. package/src/features/PluginsUI/Render/useParseContent.ts +15 -0
  1260. package/src/features/PluginsUI/Render/utils/iframeOnReady.test.ts +75 -0
  1261. package/src/features/PluginsUI/Render/utils/iframeOnReady.ts +25 -0
  1262. package/src/features/PluginsUI/Render/utils/listenToPlugin.test.ts +164 -0
  1263. package/src/features/PluginsUI/Render/utils/listenToPlugin.ts +98 -0
  1264. package/src/features/PluginsUI/Render/utils/pluginSettings.test.ts +53 -0
  1265. package/src/features/PluginsUI/Render/utils/pluginSettings.ts +17 -0
  1266. package/src/features/PluginsUI/Render/utils/pluginState.test.ts +43 -0
  1267. package/src/features/PluginsUI/Render/utils/pluginState.ts +20 -0
  1268. package/src/features/PluginsUI/Render/utils/postMessage.test.ts +64 -0
  1269. package/src/features/PluginsUI/Render/utils/postMessage.ts +28 -0
  1270. package/src/features/Setting/Footer.tsx +96 -0
  1271. package/src/features/Setting/SettingContainer.tsx +35 -0
  1272. package/src/features/SyncStatusInspector/DisableSync.tsx +79 -0
  1273. package/src/features/SyncStatusInspector/EnableSync.tsx +136 -0
  1274. package/src/features/SyncStatusInspector/EnableTag.tsx +66 -0
  1275. package/src/features/SyncStatusInspector/index.tsx +27 -0
  1276. package/src/features/User/DataStatistics.tsx +156 -0
  1277. package/src/features/User/PlanTag.tsx +45 -0
  1278. package/src/features/User/UserAvatar.tsx +75 -0
  1279. package/src/features/User/UserInfo.tsx +59 -0
  1280. package/src/features/User/UserLoginOrSignup/Community.tsx +23 -0
  1281. package/src/features/User/UserLoginOrSignup/index.tsx +1 -0
  1282. package/src/features/User/UserPanel/LangButton.tsx +57 -0
  1283. package/src/features/User/UserPanel/PanelContent.tsx +85 -0
  1284. package/src/features/User/UserPanel/ThemeButton.tsx +70 -0
  1285. package/src/features/User/UserPanel/UpgradeBadge.tsx +19 -0
  1286. package/src/features/User/UserPanel/index.tsx +43 -0
  1287. package/src/features/User/UserPanel/useMenu.tsx +239 -0
  1288. package/src/features/User/UserPanel/useNewVersion.tsx +14 -0
  1289. package/src/features/User/__tests__/PanelContent.test.tsx +155 -0
  1290. package/src/features/User/__tests__/UserAvatar.test.tsx +83 -0
  1291. package/src/features/User/__tests__/useMenu.test.tsx +146 -0
  1292. package/src/hooks/_header.ts +23 -0
  1293. package/src/hooks/useActiveSettingsKey.ts +20 -0
  1294. package/src/hooks/useActiveTabKey.ts +12 -0
  1295. package/src/hooks/useGreeting/greetingTime.ts +14 -0
  1296. package/src/hooks/useGreeting/index.ts +16 -0
  1297. package/src/hooks/useInterceptingRoutes.test.ts +70 -0
  1298. package/src/hooks/useInterceptingRoutes.ts +46 -0
  1299. package/src/hooks/useIsMobile.ts +8 -0
  1300. package/src/hooks/useIsSubSlug.ts +12 -0
  1301. package/src/hooks/usePWAInstall.test.ts +78 -0
  1302. package/src/hooks/usePWAInstall.ts +39 -0
  1303. package/src/hooks/usePlatform.test.ts +82 -0
  1304. package/src/hooks/usePlatform.ts +32 -0
  1305. package/src/hooks/useProviderName.ts +8 -0
  1306. package/src/hooks/useQuery.test.ts +19 -0
  1307. package/src/hooks/useQuery.ts +8 -0
  1308. package/src/hooks/useQueryRoute.test.ts +86 -0
  1309. package/src/hooks/useQueryRoute.ts +46 -0
  1310. package/src/hooks/useSyncData.ts +50 -0
  1311. package/src/hooks/useTTS.ts +84 -0
  1312. package/src/hooks/useTokenCount.test.ts +41 -0
  1313. package/src/hooks/useTokenCount.ts +20 -0
  1314. package/src/hooks/useYamlArguments.ts +16 -0
  1315. package/src/layout/AuthProvider/Clerk/UserUpdater.tsx +40 -0
  1316. package/src/layout/AuthProvider/Clerk/index.tsx +56 -0
  1317. package/src/layout/AuthProvider/Clerk/useAppearance.ts +123 -0
  1318. package/src/layout/AuthProvider/NextAuth/UserUpdater.tsx +35 -0
  1319. package/src/layout/AuthProvider/NextAuth/index.tsx +17 -0
  1320. package/src/layout/AuthProvider/NoAuth/index.tsx +16 -0
  1321. package/src/layout/AuthProvider/index.tsx +17 -0
  1322. package/src/layout/GlobalProvider/AppTheme.tsx +127 -0
  1323. package/src/layout/GlobalProvider/Locale.tsx +62 -0
  1324. package/src/layout/GlobalProvider/StoreInitialization.tsx +75 -0
  1325. package/src/layout/GlobalProvider/StyleRegistry.tsx +24 -0
  1326. package/src/layout/GlobalProvider/index.tsx +100 -0
  1327. package/src/libs/agent-runtime/AgentRuntime.test.ts +428 -0
  1328. package/src/libs/agent-runtime/AgentRuntime.ts +242 -0
  1329. package/src/libs/agent-runtime/BaseAI.ts +24 -0
  1330. package/src/libs/agent-runtime/anthropic/index.test.ts +477 -0
  1331. package/src/libs/agent-runtime/anthropic/index.ts +106 -0
  1332. package/src/libs/agent-runtime/azureOpenai/index.test.ts +356 -0
  1333. package/src/libs/agent-runtime/azureOpenai/index.ts +117 -0
  1334. package/src/libs/agent-runtime/baichuan/index.test.ts +255 -0
  1335. package/src/libs/agent-runtime/baichuan/index.ts +32 -0
  1336. package/src/libs/agent-runtime/bedrock/index.test.ts +394 -0
  1337. package/src/libs/agent-runtime/bedrock/index.ts +154 -0
  1338. package/src/libs/agent-runtime/deepseek/index.test.ts +255 -0
  1339. package/src/libs/agent-runtime/deepseek/index.ts +10 -0
  1340. package/src/libs/agent-runtime/error.ts +26 -0
  1341. package/src/libs/agent-runtime/google/index.test.ts +602 -0
  1342. package/src/libs/agent-runtime/google/index.ts +336 -0
  1343. package/src/libs/agent-runtime/groq/index.test.ts +320 -0
  1344. package/src/libs/agent-runtime/groq/index.ts +25 -0
  1345. package/src/libs/agent-runtime/index.ts +22 -0
  1346. package/src/libs/agent-runtime/minimax/index.test.ts +275 -0
  1347. package/src/libs/agent-runtime/minimax/index.ts +176 -0
  1348. package/src/libs/agent-runtime/mistral/index.test.ts +331 -0
  1349. package/src/libs/agent-runtime/mistral/index.ts +21 -0
  1350. package/src/libs/agent-runtime/moonshot/index.test.ts +251 -0
  1351. package/src/libs/agent-runtime/moonshot/index.ts +10 -0
  1352. package/src/libs/agent-runtime/ollama/index.test.ts +197 -0
  1353. package/src/libs/agent-runtime/ollama/index.ts +111 -0
  1354. package/src/libs/agent-runtime/ollama/type.ts +8 -0
  1355. package/src/libs/agent-runtime/openai/__snapshots__/index.test.ts.snap +101 -0
  1356. package/src/libs/agent-runtime/openai/fixtures/openai-models.json +170 -0
  1357. package/src/libs/agent-runtime/openai/index.test.ts +245 -0
  1358. package/src/libs/agent-runtime/openai/index.ts +10 -0
  1359. package/src/libs/agent-runtime/openrouter/__snapshots__/index.test.ts.snap +82 -0
  1360. package/src/libs/agent-runtime/openrouter/fixtures/models.json +62 -0
  1361. package/src/libs/agent-runtime/openrouter/index.test.ts +312 -0
  1362. package/src/libs/agent-runtime/openrouter/index.ts +41 -0
  1363. package/src/libs/agent-runtime/openrouter/type.ts +28 -0
  1364. package/src/libs/agent-runtime/perplexity/index.test.ts +249 -0
  1365. package/src/libs/agent-runtime/perplexity/index.ts +31 -0
  1366. package/src/libs/agent-runtime/qwen/index.test.ts +251 -0
  1367. package/src/libs/agent-runtime/qwen/index.ts +28 -0
  1368. package/src/libs/agent-runtime/stepfun/index.test.ts +251 -0
  1369. package/src/libs/agent-runtime/stepfun/index.ts +10 -0
  1370. package/src/libs/agent-runtime/taichu/index.test.ts +255 -0
  1371. package/src/libs/agent-runtime/taichu/index.ts +10 -0
  1372. package/src/libs/agent-runtime/togetherai/__snapshots__/index.test.ts.snap +886 -0
  1373. package/src/libs/agent-runtime/togetherai/fixtures/models.json +8111 -0
  1374. package/src/libs/agent-runtime/togetherai/index.test.ts +313 -0
  1375. package/src/libs/agent-runtime/togetherai/index.ts +47 -0
  1376. package/src/libs/agent-runtime/togetherai/type.ts +75 -0
  1377. package/src/libs/agent-runtime/types/chat.ts +150 -0
  1378. package/src/libs/agent-runtime/types/index.ts +3 -0
  1379. package/src/libs/agent-runtime/types/textToImage.ts +34 -0
  1380. package/src/libs/agent-runtime/types/type.ts +47 -0
  1381. package/src/libs/agent-runtime/utils/anthropicHelpers.test.ts +337 -0
  1382. package/src/libs/agent-runtime/utils/anthropicHelpers.ts +141 -0
  1383. package/src/libs/agent-runtime/utils/createError.ts +11 -0
  1384. package/src/libs/agent-runtime/utils/debugStream.test.ts +70 -0
  1385. package/src/libs/agent-runtime/utils/debugStream.ts +53 -0
  1386. package/src/libs/agent-runtime/utils/desensitizeUrl.test.ts +47 -0
  1387. package/src/libs/agent-runtime/utils/desensitizeUrl.ts +34 -0
  1388. package/src/libs/agent-runtime/utils/handleOpenAIError.ts +39 -0
  1389. package/src/libs/agent-runtime/utils/openaiCompatibleFactory/index.test.ts +717 -0
  1390. package/src/libs/agent-runtime/utils/openaiCompatibleFactory/index.ts +293 -0
  1391. package/src/libs/agent-runtime/utils/response.ts +12 -0
  1392. package/src/libs/agent-runtime/utils/streams/anthropic.test.ts +427 -0
  1393. package/src/libs/agent-runtime/utils/streams/anthropic.ts +117 -0
  1394. package/src/libs/agent-runtime/utils/streams/azureOpenai.test.ts +537 -0
  1395. package/src/libs/agent-runtime/utils/streams/azureOpenai.ts +89 -0
  1396. package/src/libs/agent-runtime/utils/streams/bedrock/claude.ts +21 -0
  1397. package/src/libs/agent-runtime/utils/streams/bedrock/common.ts +32 -0
  1398. package/src/libs/agent-runtime/utils/streams/bedrock/index.ts +3 -0
  1399. package/src/libs/agent-runtime/utils/streams/bedrock/llama.test.ts +196 -0
  1400. package/src/libs/agent-runtime/utils/streams/bedrock/llama.ts +51 -0
  1401. package/src/libs/agent-runtime/utils/streams/google-ai.test.ts +97 -0
  1402. package/src/libs/agent-runtime/utils/streams/google-ai.ts +68 -0
  1403. package/src/libs/agent-runtime/utils/streams/index.ts +8 -0
  1404. package/src/libs/agent-runtime/utils/streams/minimax.ts +39 -0
  1405. package/src/libs/agent-runtime/utils/streams/ollama.test.ts +77 -0
  1406. package/src/libs/agent-runtime/utils/streams/ollama.ts +38 -0
  1407. package/src/libs/agent-runtime/utils/streams/openai.test.ts +263 -0
  1408. package/src/libs/agent-runtime/utils/streams/openai.ts +83 -0
  1409. package/src/libs/agent-runtime/utils/streams/protocol.ts +106 -0
  1410. package/src/libs/agent-runtime/utils/uriParser.test.ts +29 -0
  1411. package/src/libs/agent-runtime/utils/uriParser.ts +24 -0
  1412. package/src/libs/agent-runtime/zeroone/index.test.ts +299 -0
  1413. package/src/libs/agent-runtime/zeroone/index.ts +11 -0
  1414. package/src/libs/agent-runtime/zhipu/authToken.test.ts +18 -0
  1415. package/src/libs/agent-runtime/zhipu/authToken.ts +22 -0
  1416. package/src/libs/agent-runtime/zhipu/index.test.ts +322 -0
  1417. package/src/libs/agent-runtime/zhipu/index.ts +130 -0
  1418. package/src/libs/logger/index.ts +5 -0
  1419. package/src/libs/next-auth/index.ts +46 -0
  1420. package/src/libs/next-auth/sso-providers/auth0.ts +17 -0
  1421. package/src/libs/next-auth/sso-providers/authentik.ts +17 -0
  1422. package/src/libs/next-auth/sso-providers/azure-ad.ts +17 -0
  1423. package/src/libs/next-auth/sso-providers/github.ts +15 -0
  1424. package/src/libs/next-auth/sso-providers/index.ts +7 -0
  1425. package/src/libs/next-auth/sso-providers/zitadel.ts +16 -0
  1426. package/src/libs/swr/index.ts +74 -0
  1427. package/src/libs/traces/event.test.ts +158 -0
  1428. package/src/libs/traces/event.ts +133 -0
  1429. package/src/libs/traces/index.test.ts +61 -0
  1430. package/src/libs/traces/index.ts +52 -0
  1431. package/src/libs/trpc/client.ts +65 -0
  1432. package/src/libs/trpc/index.ts +42 -0
  1433. package/src/libs/trpc/init.ts +26 -0
  1434. package/src/libs/trpc/middleware/password.test.ts +88 -0
  1435. package/src/libs/trpc/middleware/password.ts +26 -0
  1436. package/src/libs/trpc/middleware/userAuth.test.ts +44 -0
  1437. package/src/libs/trpc/middleware/userAuth.ts +18 -0
  1438. package/src/locales/create.ts +51 -39
  1439. package/src/locales/default/auth.ts +8 -0
  1440. package/src/locales/default/chat.ts +138 -0
  1441. package/src/locales/default/clerk.ts +782 -0
  1442. package/src/locales/default/common.ts +214 -39
  1443. package/src/locales/default/components.ts +16 -0
  1444. package/src/locales/default/error.ts +137 -0
  1445. package/src/locales/default/index.ts +35 -0
  1446. package/src/locales/default/market.ts +32 -0
  1447. package/src/locales/default/metadata.ts +20 -0
  1448. package/src/locales/default/migration.ts +47 -0
  1449. package/src/locales/default/modelProvider.ts +111 -0
  1450. package/src/locales/default/plugin.ts +167 -0
  1451. package/src/locales/default/portal.ts +10 -0
  1452. package/src/locales/default/setting.ts +320 -22
  1453. package/src/locales/default/tool.ts +10 -0
  1454. package/src/locales/default/welcome.ts +50 -0
  1455. package/src/locales/resources.test.ts +49 -0
  1456. package/src/locales/resources.ts +114 -0
  1457. package/src/middleware.ts +65 -0
  1458. package/src/migrations/FromV0ToV1.ts +2 -4
  1459. package/src/migrations/FromV1ToV2/fixtures/input-v1-session.json +191 -0
  1460. package/src/migrations/FromV1ToV2/fixtures/output-v2.json +202 -0
  1461. package/src/migrations/FromV1ToV2/index.ts +82 -0
  1462. package/src/migrations/FromV1ToV2/migrations.test.ts +224 -0
  1463. package/src/migrations/FromV1ToV2/types/v1.ts +78 -0
  1464. package/src/migrations/FromV1ToV2/types/v2.ts +52 -0
  1465. package/src/migrations/FromV2ToV3/fixtures/input-v2-session.json +72 -0
  1466. package/src/migrations/FromV2ToV3/fixtures/output-v3-from-v1.json +203 -0
  1467. package/src/migrations/FromV2ToV3/fixtures/output-v3.json +74 -0
  1468. package/src/migrations/FromV2ToV3/index.ts +30 -0
  1469. package/src/migrations/FromV2ToV3/migrations.test.ts +42 -0
  1470. package/src/migrations/FromV2ToV3/types/v3.ts +27 -0
  1471. package/src/migrations/FromV3ToV4/fixtures/azure-input-v3.json +79 -0
  1472. package/src/migrations/FromV3ToV4/fixtures/azure-output-v4.json +75 -0
  1473. package/src/migrations/FromV3ToV4/fixtures/ollama-input-v3.json +85 -0
  1474. package/src/migrations/FromV3ToV4/fixtures/ollama-output-v4.json +85 -0
  1475. package/src/migrations/FromV3ToV4/fixtures/openai-input-v3.json +77 -0
  1476. package/src/migrations/FromV3ToV4/fixtures/openai-output-v4.json +77 -0
  1477. package/src/migrations/FromV3ToV4/fixtures/openrouter-input-v3.json +82 -0
  1478. package/src/migrations/FromV3ToV4/fixtures/openrouter-output-v4.json +85 -0
  1479. package/src/migrations/FromV3ToV4/fixtures/output-v4-from-v1.json +203 -0
  1480. package/src/migrations/FromV3ToV4/index.ts +102 -0
  1481. package/src/migrations/FromV3ToV4/migrations.test.ts +195 -0
  1482. package/src/migrations/FromV3ToV4/types/v3.ts +52 -0
  1483. package/src/migrations/FromV3ToV4/types/v4.ts +37 -0
  1484. package/src/migrations/FromV4ToV5/fixtures/from-v1-to-v5-output.json +245 -0
  1485. package/src/migrations/FromV4ToV5/fixtures/function-input-v4.json +96 -0
  1486. package/src/migrations/FromV4ToV5/fixtures/function-output-v5.json +120 -0
  1487. package/src/migrations/FromV4ToV5/index.ts +58 -0
  1488. package/src/migrations/FromV4ToV5/migrations.test.ts +49 -0
  1489. package/src/migrations/FromV4ToV5/types/v4.ts +21 -0
  1490. package/src/migrations/FromV4ToV5/types/v5.ts +27 -0
  1491. package/src/migrations/FromV5ToV6/fixtures/from-v1-to-v6-output.json +247 -0
  1492. package/src/migrations/FromV5ToV6/fixtures/session-input-v5.json +81 -0
  1493. package/src/migrations/FromV5ToV6/fixtures/session-output-v6.json +85 -0
  1494. package/src/migrations/FromV5ToV6/index.ts +61 -0
  1495. package/src/migrations/FromV5ToV6/migrations.test.ts +50 -0
  1496. package/src/migrations/FromV5ToV6/types/v5.ts +48 -0
  1497. package/src/migrations/FromV5ToV6/types/v6.ts +60 -0
  1498. package/src/migrations/FromV6ToV7/fixtures/output-v7-from-v1.json +203 -0
  1499. package/src/migrations/FromV6ToV7/fixtures/provider-input-v6.json +103 -0
  1500. package/src/migrations/FromV6ToV7/fixtures/provider-output-v7.json +118 -0
  1501. package/src/migrations/FromV6ToV7/index.ts +101 -0
  1502. package/src/migrations/FromV6ToV7/migrations.test.ts +64 -0
  1503. package/src/migrations/FromV6ToV7/types/v6.ts +61 -0
  1504. package/src/migrations/FromV6ToV7/types/v7.ts +71 -0
  1505. package/src/migrations/VersionController.test.ts +88 -0
  1506. package/src/migrations/VersionController.ts +67 -0
  1507. package/src/migrations/index.ts +55 -7
  1508. package/src/server/context.ts +51 -0
  1509. package/src/server/files/s3.ts +78 -0
  1510. package/src/server/globalConfig/index.ts +138 -0
  1511. package/src/server/globalConfig/parseDefaultAgent.test.ts +195 -0
  1512. package/src/server/globalConfig/parseDefaultAgent.ts +47 -0
  1513. package/src/server/globalConfig/parseSystemAgent.test.ts +95 -0
  1514. package/src/server/globalConfig/parseSystemAgent.ts +39 -0
  1515. package/src/server/keyVaultsEncrypt/index.test.ts +62 -0
  1516. package/src/server/keyVaultsEncrypt/index.ts +93 -0
  1517. package/src/server/ld.ts +218 -0
  1518. package/src/server/metadata.ts +96 -0
  1519. package/src/server/mock.ts +8 -0
  1520. package/src/server/modules/DataImporter/__tests__/fixtures/messages.json +1101 -0
  1521. package/src/server/modules/DataImporter/__tests__/index.test.ts +954 -0
  1522. package/src/server/modules/DataImporter/index.ts +333 -0
  1523. package/src/server/routers/edge/config/__snapshots__/index.test.ts.snap +112 -0
  1524. package/src/server/routers/edge/config/index.test.ts +181 -0
  1525. package/src/server/routers/edge/config/index.ts +12 -0
  1526. package/src/server/routers/edge/index.ts +15 -0
  1527. package/src/server/routers/edge/upload.ts +16 -0
  1528. package/src/server/routers/lambda/file.ts +49 -0
  1529. package/src/server/routers/lambda/importer.ts +52 -0
  1530. package/src/server/routers/lambda/index.ts +28 -0
  1531. package/src/server/routers/lambda/message.ts +183 -0
  1532. package/src/server/routers/lambda/plugin.ts +100 -0
  1533. package/src/server/routers/lambda/session.ts +194 -0
  1534. package/src/server/routers/lambda/sessionGroup.ts +77 -0
  1535. package/src/server/routers/lambda/topic.ts +134 -0
  1536. package/src/server/routers/lambda/user.ts +98 -0
  1537. package/src/server/routers/tools/index.ts +7 -0
  1538. package/src/server/services/user/index.ts +96 -0
  1539. package/src/server/translation.ts +44 -0
  1540. package/src/services/__tests__/__snapshots__/chat.test.ts.snap +116 -0
  1541. package/src/services/__tests__/__snapshots__/tool.test.ts.snap +204 -0
  1542. package/src/services/__tests__/chat.test.ts +1101 -0
  1543. package/src/services/__tests__/global.test.ts +100 -0
  1544. package/src/services/__tests__/ollama.test.ts +28 -0
  1545. package/src/services/__tests__/openai/OpenAPI_V3.json +245 -0
  1546. package/src/services/__tests__/openai/plugin.json +22 -0
  1547. package/src/services/__tests__/share.test.ts +131 -0
  1548. package/src/services/__tests__/sync.test.ts +56 -0
  1549. package/src/services/__tests__/tool.test.ts +268 -0
  1550. package/src/services/__tests__/upload.test.ts +72 -0
  1551. package/src/services/_auth.test.ts +192 -0
  1552. package/src/services/_auth.ts +75 -0
  1553. package/src/services/_header.ts +20 -0
  1554. package/src/services/_url.ts +46 -0
  1555. package/src/services/chat.ts +570 -0
  1556. package/src/services/config.ts +159 -0
  1557. package/src/services/debug.ts +40 -0
  1558. package/src/services/file/client.test.ts +160 -0
  1559. package/src/services/file/client.ts +65 -0
  1560. package/src/services/file/index.ts +6 -0
  1561. package/src/services/file/server.ts +45 -0
  1562. package/src/services/file/type.ts +9 -0
  1563. package/src/services/github.ts +42 -0
  1564. package/src/services/global.ts +29 -0
  1565. package/src/services/import/client.ts +74 -0
  1566. package/src/services/import/index.ts +6 -0
  1567. package/src/services/import/server.ts +115 -0
  1568. package/src/services/market.ts +22 -0
  1569. package/src/services/message/client.test.ts +398 -0
  1570. package/src/services/message/client.ts +93 -0
  1571. package/src/services/message/index.test.ts +48 -0
  1572. package/src/services/message/index.ts +8 -0
  1573. package/src/services/message/server.ts +111 -0
  1574. package/src/services/message/type.ts +47 -0
  1575. package/src/services/models.ts +37 -0
  1576. package/src/services/ollama.ts +83 -0
  1577. package/src/services/plugin/client.test.ts +162 -0
  1578. package/src/services/plugin/client.ts +42 -0
  1579. package/src/services/plugin/index.ts +6 -0
  1580. package/src/services/plugin/server.ts +46 -0
  1581. package/src/services/plugin/type.ts +21 -0
  1582. package/src/services/session/client.test.ts +439 -0
  1583. package/src/services/session/client.ts +180 -0
  1584. package/src/services/session/index.ts +6 -0
  1585. package/src/services/session/server.ts +148 -0
  1586. package/src/services/session/type.ts +65 -0
  1587. package/src/services/share.ts +61 -0
  1588. package/src/services/sync.ts +19 -0
  1589. package/src/services/textToImage.ts +36 -0
  1590. package/src/services/tool.ts +144 -0
  1591. package/src/services/topic/client.test.ts +245 -0
  1592. package/src/services/topic/client.ts +70 -0
  1593. package/src/services/topic/index.ts +6 -0
  1594. package/src/services/topic/server.ts +68 -0
  1595. package/src/services/topic/type.ts +34 -0
  1596. package/src/services/trace.ts +28 -0
  1597. package/src/services/upload.ts +99 -0
  1598. package/src/services/user/client.test.ts +102 -0
  1599. package/src/services/user/client.ts +52 -0
  1600. package/src/services/user/index.ts +6 -0
  1601. package/src/services/user/server.ts +28 -0
  1602. package/src/services/user/type.ts +11 -0
  1603. package/src/store/agent/index.ts +2 -0
  1604. package/src/store/agent/initialState.ts +7 -0
  1605. package/src/store/agent/selectors.ts +1 -0
  1606. package/src/store/agent/slices/chat/__snapshots__/selectors.test.ts.snap +30 -0
  1607. package/src/store/agent/slices/chat/action.test.ts +305 -0
  1608. package/src/store/agent/slices/chat/action.ts +176 -0
  1609. package/src/store/agent/slices/chat/index.ts +2 -0
  1610. package/src/store/agent/slices/chat/initialState.ts +22 -0
  1611. package/src/store/agent/slices/chat/selectors.test.ts +227 -0
  1612. package/src/store/agent/slices/chat/selectors.ts +98 -0
  1613. package/src/store/agent/store.ts +22 -0
  1614. package/src/store/chat/helpers.test.ts +109 -0
  1615. package/src/store/chat/helpers.ts +30 -0
  1616. package/src/store/chat/index.ts +3 -0
  1617. package/src/store/chat/initialState.ts +22 -0
  1618. package/src/store/chat/selectors.ts +4 -0
  1619. package/src/store/chat/slices/builtinTool/action.test.ts +104 -0
  1620. package/src/store/chat/slices/builtinTool/action.ts +101 -0
  1621. package/src/store/chat/slices/builtinTool/initialState.ts +7 -0
  1622. package/src/store/chat/slices/builtinTool/selectors.ts +11 -0
  1623. package/src/store/chat/slices/enchance/action.test.ts +126 -0
  1624. package/src/store/chat/slices/enchance/action.ts +124 -0
  1625. package/src/store/chat/slices/message/action.test.ts +1387 -0
  1626. package/src/store/chat/slices/message/action.ts +812 -0
  1627. package/src/store/chat/slices/message/initialState.ts +47 -0
  1628. package/src/store/chat/slices/message/reducer.test.ts +505 -0
  1629. package/src/store/chat/slices/message/reducer.ts +214 -0
  1630. package/src/store/chat/slices/message/selectors.test.ts +424 -0
  1631. package/src/store/chat/slices/message/selectors.ts +171 -0
  1632. package/src/store/chat/slices/message/utils.ts +7 -0
  1633. package/src/store/chat/slices/plugin/action.test.ts +1043 -0
  1634. package/src/store/chat/slices/plugin/action.ts +463 -0
  1635. package/src/store/chat/slices/portal/action.test.ts +109 -0
  1636. package/src/store/chat/slices/portal/action.ts +31 -0
  1637. package/src/store/chat/slices/portal/initialState.ts +8 -0
  1638. package/src/store/chat/slices/portal/selectors.test.ts +73 -0
  1639. package/src/store/chat/slices/portal/selectors.ts +15 -0
  1640. package/src/store/chat/slices/share/action.test.ts +213 -0
  1641. package/src/store/chat/slices/share/action.ts +122 -0
  1642. package/src/store/chat/slices/share/initialState.ts +7 -0
  1643. package/src/store/chat/slices/topic/action.test.ts +541 -0
  1644. package/src/store/chat/slices/topic/action.ts +330 -0
  1645. package/src/store/chat/slices/topic/initialState.ts +28 -0
  1646. package/src/store/chat/slices/topic/reducer.test.ts +139 -0
  1647. package/src/store/chat/slices/topic/reducer.ts +67 -0
  1648. package/src/store/chat/slices/topic/selectors.test.ts +95 -0
  1649. package/src/store/chat/slices/topic/selectors.ts +35 -0
  1650. package/src/store/chat/store.ts +50 -0
  1651. package/src/store/chat/utils/index.ts +19 -0
  1652. package/src/store/file/index.ts +2 -0
  1653. package/src/store/file/initialState.ts +7 -0
  1654. package/src/store/file/selectors.ts +7 -0
  1655. package/src/store/file/slices/images/action.test.ts +184 -0
  1656. package/src/store/file/slices/images/action.ts +153 -0
  1657. package/src/store/file/slices/images/initialState.ts +13 -0
  1658. package/src/store/file/slices/images/selectors.test.ts +78 -0
  1659. package/src/store/file/slices/images/selectors.ts +40 -0
  1660. package/src/store/file/slices/tts/action.test.ts +141 -0
  1661. package/src/store/file/slices/tts/action.ts +63 -0
  1662. package/src/store/file/slices/tts/index.ts +2 -0
  1663. package/src/store/file/slices/tts/selectors.ts +3 -0
  1664. package/src/store/file/store.ts +23 -0
  1665. package/src/store/global/action.test.ts +196 -0
  1666. package/src/store/global/action.ts +114 -0
  1667. package/src/store/global/index.ts +1 -0
  1668. package/src/store/global/initialState.ts +73 -0
  1669. package/src/store/global/selectors.ts +28 -0
  1670. package/src/store/global/store.ts +26 -0
  1671. package/src/store/market/action.ts +82 -0
  1672. package/src/store/market/index.ts +3 -0
  1673. package/src/store/market/initialState.ts +19 -0
  1674. package/src/store/market/selectors.ts +38 -0
  1675. package/src/store/market/store.ts +48 -0
  1676. package/src/store/middleware/createDevtools.ts +23 -0
  1677. package/src/store/middleware/createHyperStorage/index.test.ts +341 -0
  1678. package/src/store/middleware/createHyperStorage/index.ts +126 -0
  1679. package/src/store/middleware/createHyperStorage/indexedDB.test.ts +64 -0
  1680. package/src/store/middleware/createHyperStorage/indexedDB.ts +26 -0
  1681. package/src/store/middleware/createHyperStorage/keyMapper.ts +57 -0
  1682. package/src/store/middleware/createHyperStorage/localStorage.ts +18 -0
  1683. package/src/store/middleware/createHyperStorage/type.ts +25 -0
  1684. package/src/store/middleware/createHyperStorage/urlStorage.test.ts +84 -0
  1685. package/src/store/middleware/createHyperStorage/urlStorage.ts +81 -0
  1686. package/src/store/serverConfig/Provider.tsx +23 -0
  1687. package/src/store/serverConfig/index.ts +3 -0
  1688. package/src/store/serverConfig/selectors.test.ts +75 -0
  1689. package/src/store/serverConfig/selectors.ts +14 -0
  1690. package/src/store/serverConfig/store.test.ts +53 -0
  1691. package/src/store/serverConfig/store.ts +66 -0
  1692. package/src/store/session/helpers.ts +1 -0
  1693. package/src/store/session/index.ts +1 -32
  1694. package/src/store/session/initialState.ts +4 -6
  1695. package/src/store/session/selectors.ts +2 -3
  1696. package/src/store/session/slices/session/action.test.ts +232 -0
  1697. package/src/store/session/slices/session/action.ts +226 -70
  1698. package/src/store/session/slices/session/helpers.ts +17 -0
  1699. package/src/store/session/slices/session/initialState.ts +18 -19
  1700. package/src/store/session/slices/session/reducers.test.ts +79 -0
  1701. package/src/store/session/slices/session/reducers.ts +61 -0
  1702. package/src/store/session/slices/session/selectors/index.ts +2 -20
  1703. package/src/store/session/slices/session/selectors/list.test.ts +126 -0
  1704. package/src/store/session/slices/session/selectors/list.ts +45 -51
  1705. package/src/store/session/slices/session/selectors/meta.test.ts +108 -0
  1706. package/src/store/session/slices/session/selectors/meta.ts +45 -0
  1707. package/src/store/session/slices/sessionGroup/action.test.ts +133 -0
  1708. package/src/store/session/slices/sessionGroup/action.ts +73 -0
  1709. package/src/store/session/slices/sessionGroup/initialState.ts +12 -0
  1710. package/src/store/session/slices/sessionGroup/reducer.test.ts +86 -0
  1711. package/src/store/session/slices/sessionGroup/reducer.ts +56 -0
  1712. package/src/store/session/slices/sessionGroup/selectors.ts +11 -0
  1713. package/src/store/session/store.ts +25 -9
  1714. package/src/store/tool/helpers.ts +28 -0
  1715. package/src/store/tool/index.ts +2 -0
  1716. package/src/store/tool/initialState.ts +13 -0
  1717. package/src/store/tool/selectors/index.ts +5 -0
  1718. package/src/store/tool/selectors/tool.test.ts +247 -0
  1719. package/src/store/tool/selectors/tool.ts +123 -0
  1720. package/src/store/tool/slices/builtin/action.test.ts +87 -0
  1721. package/src/store/tool/slices/builtin/action.ts +58 -0
  1722. package/src/store/tool/slices/builtin/index.ts +2 -0
  1723. package/src/store/tool/slices/builtin/initialState.ts +12 -0
  1724. package/src/store/tool/slices/builtin/selectors.test.ts +53 -0
  1725. package/src/store/tool/slices/builtin/selectors.ts +20 -0
  1726. package/src/store/tool/slices/customPlugin/action.test.ts +141 -0
  1727. package/src/store/tool/slices/customPlugin/action.ts +88 -0
  1728. package/src/store/tool/slices/customPlugin/index.ts +3 -0
  1729. package/src/store/tool/slices/customPlugin/initialState.ts +17 -0
  1730. package/src/store/tool/slices/customPlugin/reducers/customPluginList.ts +56 -0
  1731. package/src/store/tool/slices/customPlugin/selectors.test.ts +70 -0
  1732. package/src/store/tool/slices/customPlugin/selectors.ts +9 -0
  1733. package/src/store/tool/slices/plugin/__snapshots__/action.test.ts.snap +15 -0
  1734. package/src/store/tool/slices/plugin/action.test.ts +196 -0
  1735. package/src/store/tool/slices/plugin/action.ts +76 -0
  1736. package/src/store/tool/slices/plugin/index.ts +3 -0
  1737. package/src/store/tool/slices/plugin/initialState.ts +16 -0
  1738. package/src/store/tool/slices/plugin/reducers/manifest.ts +36 -0
  1739. package/src/store/tool/slices/plugin/selectors.test.ts +197 -0
  1740. package/src/store/tool/slices/plugin/selectors.ts +80 -0
  1741. package/src/store/tool/slices/store/action.test.ts +392 -0
  1742. package/src/store/tool/slices/store/action.ts +112 -0
  1743. package/src/store/tool/slices/store/index.ts +3 -0
  1744. package/src/store/tool/slices/store/initialState.ts +17 -0
  1745. package/src/store/tool/slices/store/selectors.test.ts +50 -0
  1746. package/src/store/tool/slices/store/selectors.ts +32 -0
  1747. package/src/store/tool/store.ts +32 -0
  1748. package/src/store/user/helpers.ts +9 -0
  1749. package/src/store/user/index.ts +1 -0
  1750. package/src/store/user/initialState.ts +22 -0
  1751. package/src/store/user/selectors.ts +13 -0
  1752. package/src/store/user/slices/auth/action.test.ts +202 -0
  1753. package/src/store/user/slices/auth/action.ts +63 -0
  1754. package/src/store/user/slices/auth/initialState.ts +28 -0
  1755. package/src/store/user/slices/auth/selectors.test.ts +143 -0
  1756. package/src/store/user/slices/auth/selectors.ts +48 -0
  1757. package/src/store/user/slices/common/action.test.ts +271 -0
  1758. package/src/store/user/slices/common/action.ts +129 -0
  1759. package/src/store/user/slices/common/initialState.ts +15 -0
  1760. package/src/store/user/slices/modelList/action.test.ts +363 -0
  1761. package/src/store/user/slices/modelList/action.ts +209 -0
  1762. package/src/store/user/slices/modelList/initialState.ts +15 -0
  1763. package/src/store/user/slices/modelList/reducers/customModelCard.test.ts +204 -0
  1764. package/src/store/user/slices/modelList/reducers/customModelCard.ts +64 -0
  1765. package/src/store/user/slices/modelList/selectors/index.ts +3 -0
  1766. package/src/store/user/slices/modelList/selectors/keyVaults.test.ts +201 -0
  1767. package/src/store/user/slices/modelList/selectors/keyVaults.ts +45 -0
  1768. package/src/store/user/slices/modelList/selectors/modelConfig.test.ts +200 -0
  1769. package/src/store/user/slices/modelList/selectors/modelConfig.ts +85 -0
  1770. package/src/store/user/slices/modelList/selectors/modelProvider.test.ts +145 -0
  1771. package/src/store/user/slices/modelList/selectors/modelProvider.ts +147 -0
  1772. package/src/store/user/slices/preference/action.test.ts +43 -0
  1773. package/src/store/user/slices/preference/action.ts +35 -0
  1774. package/src/store/user/slices/preference/initialState.ts +13 -0
  1775. package/src/store/user/slices/preference/selectors.test.ts +82 -0
  1776. package/src/store/user/slices/preference/selectors.ts +19 -0
  1777. package/src/store/user/slices/settings/action.test.ts +153 -0
  1778. package/src/store/user/slices/settings/action.ts +115 -0
  1779. package/src/store/user/slices/settings/initialState.ts +15 -0
  1780. package/src/store/user/slices/settings/selectors/__snapshots__/settings.test.ts.snap +109 -0
  1781. package/src/store/user/slices/settings/selectors/general.test.ts +45 -0
  1782. package/src/store/user/slices/settings/selectors/general.ts +40 -0
  1783. package/src/store/user/slices/settings/selectors/index.ts +3 -0
  1784. package/src/store/user/slices/settings/selectors/settings.test.ts +156 -0
  1785. package/src/store/user/slices/settings/selectors/settings.ts +52 -0
  1786. package/src/store/user/slices/settings/selectors/systemAgent.ts +18 -0
  1787. package/src/store/user/slices/sync/action.test.ts +164 -0
  1788. package/src/store/user/slices/sync/action.ts +97 -0
  1789. package/src/store/user/slices/sync/initialState.ts +13 -0
  1790. package/src/store/user/slices/sync/selectors.ts +20 -0
  1791. package/src/store/user/store.ts +42 -0
  1792. package/src/styles/antdOverride.ts +8 -23
  1793. package/src/styles/global.ts +39 -14
  1794. package/src/styles/index.ts +6 -1
  1795. package/src/styles/mobileHeader.ts +15 -0
  1796. package/src/tools/dalle/Render/Item/EditMode.tsx +66 -0
  1797. package/src/tools/dalle/Render/Item/Error.tsx +50 -0
  1798. package/src/tools/dalle/Render/Item/Image.tsx +44 -0
  1799. package/src/tools/dalle/Render/Item/ImageFileItem.tsx +77 -0
  1800. package/src/tools/dalle/Render/Item/index.tsx +88 -0
  1801. package/src/tools/dalle/Render/ToolBar.tsx +55 -0
  1802. package/src/tools/dalle/Render/index.tsx +51 -0
  1803. package/src/tools/dalle/index.ts +92 -0
  1804. package/src/tools/index.ts +11 -0
  1805. package/src/tools/portals.ts +3 -0
  1806. package/src/tools/renders.ts +14 -0
  1807. package/src/types/agent/index.ts +83 -0
  1808. package/src/types/exportConfig.ts +128 -42
  1809. package/src/types/fetch.ts +37 -0
  1810. package/src/types/files.ts +42 -0
  1811. package/src/types/importer.ts +128 -0
  1812. package/src/types/llm.ts +92 -12
  1813. package/src/types/locale.ts +4 -0
  1814. package/src/types/market.ts +20 -0
  1815. package/src/types/message/index.ts +82 -0
  1816. package/src/types/message/tools.ts +65 -0
  1817. package/src/types/message/translate.ts +4 -0
  1818. package/src/types/meta.ts +24 -12
  1819. package/src/types/next-auth.d.ts +23 -0
  1820. package/src/types/openai/chat.ts +128 -0
  1821. package/src/types/openai/functionCall.ts +10 -0
  1822. package/src/types/openai/image.ts +34 -0
  1823. package/src/types/openai/plugin.ts +57 -0
  1824. package/src/types/serverConfig.ts +32 -0
  1825. package/src/types/service.ts +7 -0
  1826. package/src/types/session/agentSession.ts +35 -0
  1827. package/src/types/session/index.ts +10 -0
  1828. package/src/types/session/sessionGroup.ts +24 -0
  1829. package/src/types/share.ts +7 -0
  1830. package/src/types/sync.ts +41 -0
  1831. package/src/types/tool/builtin.ts +47 -0
  1832. package/src/types/tool/dalle.ts +12 -0
  1833. package/src/types/tool/index.ts +16 -0
  1834. package/src/types/tool/plugin.ts +35 -0
  1835. package/src/types/tool/tool.ts +10 -0
  1836. package/src/types/topic.ts +9 -0
  1837. package/src/types/trace/action.ts +31 -0
  1838. package/src/types/trace/index.ts +1 -0
  1839. package/src/types/user/index.ts +44 -0
  1840. package/src/types/user/settings/general.ts +12 -0
  1841. package/src/types/user/settings/index.ts +32 -0
  1842. package/src/types/user/settings/keyVaults.ts +41 -0
  1843. package/src/types/user/settings/modelProvider.ts +34 -0
  1844. package/src/types/user/settings/sync.ts +10 -0
  1845. package/src/types/user/settings/systemAgent.ts +12 -0
  1846. package/src/types/user/settings/tool.ts +5 -0
  1847. package/src/types/user/settings/tts.ts +10 -0
  1848. package/src/utils/__snapshots__/parseModels.test.ts.snap +63 -0
  1849. package/src/utils/basePath.ts +3 -0
  1850. package/src/utils/client/switchLang.test.ts +34 -0
  1851. package/src/utils/client/switchLang.ts +10 -0
  1852. package/src/utils/compass.ts +1 -5
  1853. package/src/utils/compressImage.test.ts +59 -0
  1854. package/src/utils/compressImage.ts +29 -0
  1855. package/src/utils/config.ts +108 -0
  1856. package/src/utils/cookie.ts +10 -0
  1857. package/src/utils/difference.test.ts +46 -0
  1858. package/src/utils/difference.ts +26 -0
  1859. package/src/utils/env.ts +3 -0
  1860. package/src/utils/fetch.test.ts +534 -0
  1861. package/src/utils/fetch.ts +371 -105
  1862. package/src/utils/filter.ts +1 -1
  1863. package/src/utils/format.test.ts +75 -0
  1864. package/src/utils/format.ts +48 -0
  1865. package/src/utils/genOG.ts +20 -0
  1866. package/src/utils/imageToBase64.ts +37 -0
  1867. package/src/utils/jwt.test.ts +27 -0
  1868. package/src/utils/jwt.ts +37 -0
  1869. package/src/utils/keyboard.ts +13 -0
  1870. package/src/utils/localStorage.ts +38 -0
  1871. package/src/utils/locale.ts +16 -0
  1872. package/src/utils/merge.ts +11 -0
  1873. package/src/utils/parseMarkdown.ts +9 -0
  1874. package/src/utils/parseModels.test.ts +290 -0
  1875. package/src/utils/parseModels.ts +156 -0
  1876. package/src/utils/platform.test.ts +83 -0
  1877. package/src/utils/platform.ts +55 -0
  1878. package/src/utils/responsive.ts +40 -0
  1879. package/src/utils/safeParseJSON.test.ts +71 -0
  1880. package/src/utils/safeParseJSON.ts +12 -0
  1881. package/src/utils/storeDebug.ts +11 -0
  1882. package/src/utils/tokenizer.ts +5 -0
  1883. package/src/utils/toolCall.ts +21 -0
  1884. package/src/utils/trace.ts +21 -0
  1885. package/src/utils/url.test.ts +51 -0
  1886. package/src/utils/url.ts +23 -0
  1887. package/src/utils/uuid.ts +4 -4
  1888. package/src/utils/zustand.ts +8 -0
  1889. package/tests/setup-db.ts +7 -0
  1890. package/tests/setup.ts +35 -0
  1891. package/tests/utils.tsx +11 -0
  1892. package/tsconfig.json +19 -4
  1893. package/vercel.json +3 -0
  1894. package/vitest.config.ts +33 -3
  1895. package/vitest.server.config.ts +23 -0
  1896. package/.github/ISSUE_TEMPLATE/3_question.yml +0 -15
  1897. package/.github/ISSUE_TEMPLATE/4_other.md +0 -7
  1898. package/.github/dependabot.yml +0 -17
  1899. package/.github/workflows/auto-merge.yml +0 -32
  1900. package/.github/workflows/contributor-help.yml +0 -29
  1901. package/.github/workflows/issue-check-inactive.yml +0 -22
  1902. package/.github/workflows/issue-remove-inactive.yml +0 -25
  1903. package/.gitpod.yml +0 -3
  1904. package/.husky/commit-msg +0 -4
  1905. package/locales/en_US/common.json +0 -41
  1906. package/locales/en_US/setting.json +0 -117
  1907. package/locales/zh_CN/common.json +0 -41
  1908. package/locales/zh_CN/setting.json +0 -117
  1909. package/public/next.svg +0 -1
  1910. package/public/vercel.svg +0 -1
  1911. package/scripts/genDefaultLocale.ts +0 -18
  1912. package/scripts/genResources.ts +0 -51
  1913. package/scripts/toc.ts +0 -7
  1914. package/src/const/modelTokens.ts +0 -8
  1915. package/src/features/FolderPanel/index.tsx +0 -55
  1916. package/src/features/SideBar/index.tsx +0 -35
  1917. package/src/helpers/prompt.test.ts +0 -36
  1918. package/src/helpers/prompt.ts +0 -36
  1919. package/src/layout/index.tsx +0 -57
  1920. package/src/layout/style.ts +0 -18
  1921. package/src/locales/index.ts +0 -5
  1922. package/src/locales/options.ts +0 -19
  1923. package/src/locales/resources/en_US.ts +0 -9
  1924. package/src/locales/resources/index.ts +0 -13
  1925. package/src/locales/resources/zh_CN.ts +0 -9
  1926. package/src/pages/_app.page.tsx +0 -13
  1927. package/src/pages/_document.page.tsx +0 -70
  1928. package/src/pages/api/LangChainStream.ts +0 -95
  1929. package/src/pages/api/chain.api.ts +0 -17
  1930. package/src/pages/api/openai.api.ts +0 -31
  1931. package/src/pages/chat/SessionList/Header.tsx +0 -56
  1932. package/src/pages/chat/SessionList/List/SessionItem.tsx +0 -90
  1933. package/src/pages/chat/SessionList/List/index.tsx +0 -31
  1934. package/src/pages/chat/SessionList/List/style.ts +0 -77
  1935. package/src/pages/chat/SessionList/index.tsx +0 -18
  1936. package/src/pages/chat/[id]/Config/ConfigCell.tsx +0 -68
  1937. package/src/pages/chat/[id]/Config/ReadMode.tsx +0 -63
  1938. package/src/pages/chat/[id]/Config/index.tsx +0 -79
  1939. package/src/pages/chat/[id]/Conversation/ChatList.tsx +0 -36
  1940. package/src/pages/chat/[id]/Conversation/Input.tsx +0 -61
  1941. package/src/pages/chat/[id]/Conversation/index.tsx +0 -32
  1942. package/src/pages/chat/[id]/Header.tsx +0 -86
  1943. package/src/pages/chat/[id]/edit/AgentConfig.tsx +0 -95
  1944. package/src/pages/chat/[id]/edit/AgentMeta.tsx +0 -117
  1945. package/src/pages/chat/[id]/edit/FormItem.tsx +0 -26
  1946. package/src/pages/chat/[id]/edit/Prompt.tsx +0 -68
  1947. package/src/pages/chat/[id]/edit/index.page.tsx +0 -62
  1948. package/src/pages/chat/[id]/edit/style.ts +0 -42
  1949. package/src/pages/chat/[id]/index.page.tsx +0 -40
  1950. package/src/pages/chat/index.page.tsx +0 -1
  1951. package/src/pages/chat/layout.tsx +0 -51
  1952. package/src/pages/index.page.tsx +0 -1
  1953. package/src/pages/setting/Header.tsx +0 -27
  1954. package/src/pages/setting/SettingForm.tsx +0 -299
  1955. package/src/pages/setting/SliderWithInput/index.tsx +0 -34
  1956. package/src/pages/setting/ThemeSwatches/ThemeSwatchesNeutral.tsx +0 -33
  1957. package/src/pages/setting/ThemeSwatches/ThemeSwatchesPrimary.tsx +0 -33
  1958. package/src/pages/setting/index.page.tsx +0 -41
  1959. package/src/prompts/agent.ts +0 -65
  1960. package/src/services/chatModel.ts +0 -34
  1961. package/src/services/langChain.ts +0 -18
  1962. package/src/services/url.ts +0 -8
  1963. package/src/store/middleware/createHashStorage.ts +0 -49
  1964. package/src/store/session/slices/agentConfig/action.ts +0 -226
  1965. package/src/store/session/slices/agentConfig/initialState.ts +0 -34
  1966. package/src/store/session/slices/agentConfig/selectors.ts +0 -54
  1967. package/src/store/session/slices/chat/action.ts +0 -210
  1968. package/src/store/session/slices/chat/index.ts +0 -3
  1969. package/src/store/session/slices/chat/initialState.ts +0 -12
  1970. package/src/store/session/slices/chat/messageReducer.test.ts +0 -70
  1971. package/src/store/session/slices/chat/messageReducer.ts +0 -84
  1972. package/src/store/session/slices/chat/selectors.ts +0 -83
  1973. package/src/store/session/slices/session/index.ts +0 -3
  1974. package/src/store/session/slices/session/reducers/session.test.ts +0 -456
  1975. package/src/store/session/slices/session/reducers/session.ts +0 -113
  1976. package/src/store/session/slices/session/selectors/chat.ts +0 -4
  1977. package/src/store/settings/action.ts +0 -40
  1978. package/src/store/settings/index.ts +0 -23
  1979. package/src/store/settings/initialState.ts +0 -41
  1980. package/src/store/settings/selectors.ts +0 -17
  1981. package/src/store/settings/store.ts +0 -13
  1982. package/src/types/chatMessage.ts +0 -46
  1983. package/src/types/langchain.ts +0 -34
  1984. package/src/types/openai.ts +0 -62
  1985. package/src/types/session.ts +0 -59
  1986. package/src/utils/VersionController.test.ts +0 -90
  1987. package/src/utils/VersionController.ts +0 -64
  1988. /package/src/{pages/setting → app/(main)/settings/common/features/Theme}/ThemeSwatches/index.ts +0 -0
  1989. /package/src/store/{session/slices/agentConfig → file/slices/images}/index.ts +0 -0
@@ -0,0 +1,828 @@
1
+ <div align="center"><a name="readme-top"></a>
2
+
3
+ [![][image-banner]][vercel-link]
4
+
5
+ <h1>Lobe Chat</h1>
6
+
7
+ 现代化设计的开源 ChatGPT/LLMs 聊天应用与开发框架<br/>
8
+ 支持语音合成、多模态、可扩展的([function call][docs-functionc-call])插件系统<br/>
9
+ 一键**免费**拥有你自己的 ChatGPT/Gemini/Claude/Ollama 应用
10
+
11
+ [English](./README.md) · **简体中文** · [官网][official-site] · [更新日志](./CHANGELOG.md) · [文档][docs] · [博客][blog] · [反馈问题][github-issues-link]
12
+
13
+ <!-- SHIELD GROUP -->
14
+
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
+ **分享 LobeChat 给你的好友**
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
+
39
+ <sup>探索私人生产力的未来。在个体崛起的时代中为你打造.</sup>
40
+
41
+ [![][github-trending-shield]][github-trending-url]
42
+ [![][github-hello-shield]][github-hello-url]
43
+
44
+ [![][image-overview]][vercel-link]
45
+
46
+ </div>
47
+
48
+ <details>
49
+ <summary><kbd>目录树</kbd></summary>
50
+
51
+ #### TOC
52
+
53
+ - [👋🏻 开始使用 & 交流](#-开始使用--交流)
54
+ - [✨ 特性一览](#-特性一览)
55
+ - [`1` 多模型服务商支持](#1-多模型服务商支持)
56
+ - [`2` 支持本地大语言模型 (LLM)](#2-支持本地大语言模型-llm)
57
+ - [`3` 模型视觉识别 (Model Visual)](#3-模型视觉识别-model-visual)
58
+ - [`4` TTS & STT 语音会话](#4-tts--stt-语音会话)
59
+ - [`5` Text to Image 文生图](#5-text-to-image-文生图)
60
+ - [`6` 插件系统 (Function Calling)](#6-插件系统-function-calling)
61
+ - [`7` 助手市场 (GPTs)](#7-助手市场-gpts)
62
+ - [`8` 支持本地 / 远程数据库](#8-支持本地--远程数据库)
63
+ - [`9` 支持多用户管理](#9-支持多用户管理)
64
+ - [`10` 渐进式 Web 应用 (PWA)](#10-渐进式-web-应用-pwa)
65
+ - [`11` 移动设备适配](#11-移动设备适配)
66
+ - [`12` 自定义主题](#12-自定义主题)
67
+ - [更多特性](#更多特性)
68
+ - [⚡️ 性能测试](#️-性能测试)
69
+ - [🛳 开箱即用](#-开箱即用)
70
+ - [`A` 使用 Vercel、Zeabur 或 Sealos 部署](#a-使用-vercelzeabur-或-sealos-部署)
71
+ - [`B` 使用 Docker 部署](#b-使用-docker-部署)
72
+ - [环境变量](#环境变量)
73
+ - [获取 OpenAI API Key](#获取-openai-api-key)
74
+ - [📦 生态系统](#-生态系统)
75
+ - [🧩 插件体系](#-插件体系)
76
+ - [⌨️ 本地开发](#️-本地开发)
77
+ - [🤝 参与贡献](#-参与贡献)
78
+ - [❤ 社区赞助](#-社区赞助)
79
+ - [🔗 更多工具](#-更多工具)
80
+
81
+ ####
82
+
83
+ <br/>
84
+
85
+ </details>
86
+
87
+ ## 👋🏻 开始使用 & 交流
88
+
89
+ 我们是一群充满热情的设计工程师,希望为 AIGC 提供现代化的设计组件和工具,并以开源的方式分享。
90
+ 同时通过 Bootstrapping 的方式,我们希望能够为开发者和用户提供一个更加开放、更加透明友好的产品生态。
91
+
92
+ 不论普通用户与专业开发者,LobeHub 旨在成为所有人的 AI Agent 实验场。LobeChat 目前正在积极开发中,有任何需求或者问题,欢迎提交 [issues][issues-link]
93
+
94
+ | [![][vercel-shield-badge]][vercel-link] | 无需安装或注册!访问我们的网站,快速体验 |
95
+ | :---------------------------------------- | :--------------------------------------------------------------------------- |
96
+ | [![][discord-shield-badge]][discord-link] | 加入我们的 Discord 社区!这是你可以与开发者和其他 LobeHub 热衷用户交流的地方 |
97
+
98
+ > \[!IMPORTANT]
99
+ >
100
+ > **收藏项目**,你将从 GitHub 上无延迟地接收所有发布通知~⭐️
101
+
102
+ [![][image-star]][github-stars-link]
103
+
104
+ <details><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 src="https://api.star-history.com/svg?repos=lobehub%2Flobe-chat&type=Date">
108
+ </picture>
109
+ </details>
110
+
111
+ ## ✨ 特性一览
112
+
113
+ [![][image-feat-privoder]][docs-feat-provider]
114
+
115
+ ### `1` [多模型服务商支持][docs-feat-provider]
116
+
117
+ 在 LobeChat 的不断发展过程中,我们深刻理解到在提供 AI 会话服务时模型服务商的多样性对于满足社区需求的重要性。因此,我们不再局限于单一的模型服务商,而是拓展了对多种模型服务商的支持,以便为用户提供更为丰富和多样化的会话选择。
118
+
119
+ 通过这种方式,LobeChat 能够更灵活地适应不同用户的需求,同时也为开发者提供了更为广泛的选择空间。
120
+
121
+ #### 已支持的模型服务商
122
+
123
+ 我们已经实现了对以下模型服务商的支持:
124
+
125
+ - **AWS Bedrock**:集成了 AWS Bedrock 服务,支持了 **Claude / LLama2** 等模型,提供了强大的自然语言处理能力。[了解更多](https://aws.amazon.com/cn/bedrock)
126
+ - **Google AI (Gemini Pro、Gemini Vision)**:接入了 Google 的 **Gemini** 系列模型,包括 Gemini 和 Gemini Pro,以支持更高级的语言理解和生成。[了解更多](https://deepmind.google/technologies/gemini/)
127
+ - **Anthropic (Claude)**:接入了 Anthropic 的 **Claude** 系列模型,包括 Claude 3 和 Claude 2,多模态突破,超长上下文,树立行业新基准。[了解更多](https://www.anthropic.com/claude)
128
+ - **ChatGLM**:加入了智谱的 **ChatGLM** 系列模型(GLM-4/GLM-4-vision/GLM-3-turbo),为用户提供了另一种高效的会话模型选择。[了解更多](https://www.zhipuai.cn/)
129
+ - **Moonshot AI (月之暗面)**:集成了 Moonshot 系列模型,这是一家来自中国的创新性 AI 创业公司,旨在提供更深层次的会话理解。[了解更多](https://www.moonshot.cn/)
130
+ - **Together.ai**:集成部署了数百种开源模型和向量模型,无需本地部署即可随时访问这些模型。[了解更多](https://www.together.ai/)
131
+ - **01.AI (零一万物)**:集成了零一万物模型,系列 API 具备较快的推理速度,这不仅缩短了处理时间,同时也保持了出色的模型效果。[了解更多](https://www.lingyiwanwu.com/)
132
+ - **Groq**:接入了 Groq 的 AI 模型,高效处理消息序列,生成回应,胜任多轮对话及单次交互任务。[了解更多](https://groq.com/)
133
+ - **OpenRouter**:其支持包括 **Claude 3**,**Gemma**,**Mistral**,**Llama2**和**Cohere**等模型路由,支持智能路由优化,提升使用效率,开放且灵活。[了解更多](https://openrouter.ai/)
134
+ - **Minimax**: 接入了 Minimax 的 AI 模型,包括 MoE 模型 **abab6**,提供了更多的选择空间。[了解更多](https://www.minimaxi.com/)
135
+ - **DeepSeek**: 接入了 DeepSeek 的 AI 模型,包括最新的 **DeepSeek-V2**,提供兼顾性能与价格的模型。[了解更多](https://www.deepseek.com/)
136
+ - **Qwen**: 接入了 Qwen 的 AI 模型,包括最新的 **qwen-turbo**,**qwen-plus** 和 **qwen-max** 等模型。[了解更多](https://help.aliyun.com/zh/dashscope/developer-reference/model-introduction)
137
+
138
+ 同时,我们也在计划支持更多的模型服务商,如 Replicate 和 Perplexity 等,以进一步丰富我们的服务商库。如果你希望让 LobeChat 支持你喜爱的服务商,欢迎加入我们的[社区讨论](https://github.com/lobehub/lobe-chat/discussions/1284)。
139
+
140
+ <div align="right">
141
+
142
+ [![][back-to-top]](#readme-top)
143
+
144
+ </div>
145
+
146
+ [![][image-feat-local]][docs-feat-local]
147
+
148
+ ### `2` [支持本地大语言模型 (LLM)][docs-feat-local]
149
+
150
+ 为了满足特定用户的需求,LobeChat 还基于 [Ollama](https://ollama.ai) 支持了本地模型的使用,让用户能够更灵活地使用自己的或第三方的模型。
151
+
152
+ > \[!TIP]
153
+ >
154
+ > 查阅 [📘 在 LobeChat 中使用 Ollama][docs-usage-ollama] 获得更多信息
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)][docs-feat-vision]
165
+
166
+ LobeChat 已经支持 OpenAI 最新的 [`gpt-4-vision`](https://platform.openai.com/docs/guides/vision) 支持视觉识别的模型,这是一个具备视觉识别能力的多模态应用。
167
+ 用户可以轻松上传图片或者拖拽图片到对话框中,助手将能够识别图片内容,并在此基础上进行智能对话,构建更智能、更多元化的聊天场景。
168
+
169
+ 这一特性打开了新的互动方式,使得交流不再局限于文字,而是可以涵盖丰富的视觉元素。无论是日常使用中的图片分享,还是在特定行业内的图像解读,助手都能提供出色的对话体验。
170
+
171
+ <div align="right">
172
+
173
+ [![][back-to-top]](#readme-top)
174
+
175
+ </div>
176
+
177
+ [![][image-feat-tts]][docs-feat-tts]
178
+
179
+ ### `4` [TTS & STT 语音会话][docs-feat-tts]
180
+
181
+ LobeChat 支持文字转语音(Text-to-Speech,TTS)和语音转文字(Speech-to-Text,STT)技术,这使得我们的应用能够将文本信息转化为清晰的语音输出,用户可以像与真人交谈一样与我们的对话助手进行交流。
182
+ 用户可以从多种声音中选择,给助手搭配合适的音源。 同时,对于那些倾向于听觉学习或者想要在忙碌中获取信息的用户来说,TTS 提供了一个极佳的解决方案。
183
+
184
+ 在 LobeChat 中,我们精心挑选了一系列高品质的声音选项 (OpenAI Audio, Microsoft Edge Speech),以满足不同地域和文化背景用户的需求。用户可以根据个人喜好或者特定场景来选择合适的语音,从而获得个性化的交流体验。
185
+
186
+ <div align="right">
187
+
188
+ [![][back-to-top]](#readme-top)
189
+
190
+ </div>
191
+
192
+ [![][image-feat-t2i]][docs-feat-t2i]
193
+
194
+ ### `5` [Text to Image 文生图][docs-feat-t2i]
195
+
196
+ 支持最新的文本到图片生成技术,LobeChat 现在能够让用户在与助手对话中直接调用文生图工具进行创作。
197
+ 通过利用 [`DALL-E 3`](https://openai.com/dall-e-3)、[`MidJourney`](https://www.midjourney.com/) 和 [`Pollinations`](https://pollinations.ai/) 等 AI 工具的能力, 助手们现在可以将你的想法转化为图像。
198
+ 同时可以更私密和沉浸式地完成你的创作过程。
199
+
200
+ <div align="right">
201
+
202
+ [![][back-to-top]](#readme-top)
203
+
204
+ </div>
205
+
206
+ [![][image-feat-plugin]][docs-feat-plugin]
207
+
208
+ ### `6` [插件系统 (Function Calling)][docs-feat-plugin]
209
+
210
+ LobeChat 的插件生态系统是其核心功能的重要扩展,它极大地增强了 ChatGPT 的实用性和灵活性。
211
+
212
+ <video controls src="https://github.com/lobehub/lobe-chat/assets/28616219/f29475a3-f346-4196-a435-41a6373ab9e2" muted="false"></video>
213
+
214
+ 通过利用插件,ChatGPT 能够实现实时信息的获取和处理,例如自动获取最新新闻头条,为用户提供即时且相关的资讯。
215
+
216
+ 此外,这些插件不仅局限于新闻聚合,还可以扩展到其他实用的功能,如快速检索文档、生成图象、获取电商平台数据,以及其他各式各样的第三方服务。
217
+
218
+ > 通过文档了解更多 [📘 插件使用][docs-usage-plugin]
219
+
220
+ <!-- PLUGIN LIST -->
221
+
222
+ | 最近新增 | 插件描述 |
223
+ | ---------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
224
+ | [Savvy Trader AI](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **savvytrader** on **2024-06-27**</sup> | 实时股票、加密货币和其他投资数据。<br/>`股票` `分析` |
225
+ | [社交搜索](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **say-apps** on **2024-06-02**</sup> | 社交搜索提供访问推文、用户、关注者、图片、媒体等功能。<br/>`社交` `推特` `x` `搜索` |
226
+ | [空间](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **automateyournetwork** on **2024-05-12**</sup> | 包括 NASA 的空间数据。<br/>`空间` `nasa` |
227
+ | [Search1API](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **fatwang2** on **2024-05-06**</sup> | 搜索聚合服务,专为 LLMs 设计<br/>`web` `search` |
228
+
229
+ > 📊 Total plugins: [<kbd>**52**</kbd>](https://github.com/lobehub/lobe-chat-plugins)
230
+
231
+ <!-- PLUGIN LIST -->
232
+
233
+ <div align="right">
234
+
235
+ [![][back-to-top]](#readme-top)
236
+
237
+ </div>
238
+
239
+ [![][image-feat-agent]][docs-feat-agent]
240
+
241
+ ### `7` [助手市场 (GPTs)][docs-feat-agent]
242
+
243
+ 在 LobeChat 的助手市场中,创作者们可以发现一个充满活力和创新的社区,它汇聚了众多精心设计的助手,这些助手不仅在工作场景中发挥着重要作用,也在学习过程中提供了极大的便利。
244
+ 我们的市场不仅是一个展示平台,更是一个协作的空间。在这里,每个人都可以贡献自己的智慧,分享个人开发的助手。
245
+
246
+ > \[!TIP]
247
+ >
248
+ > 通过 [🤖/🏪 提交助手][submit-agents-link] ,你可以轻松地将你的助手作品提交到我们的平台。我们特别强调的是,LobeChat 建立了一套精密的自动化国际化(i18n)工作流程, 它的强大之处在于能够无缝地将你的助手转化为多种语言版本。
249
+ > 这意味着,不论你的用户使用何种语言,他们都能无障碍地体验到你的助手。
250
+
251
+ > \[!IMPORTANT]
252
+ >
253
+ > 我欢迎所有用户加入这个不断成长的生态系统,共同参与到助手的迭代与优化中来。共同创造出更多有趣、实用且具有创新性的助手,进一步丰富助手的多样性和实用性。
254
+
255
+ <!-- AGENT LIST -->
256
+
257
+ | 最近新增 | 助手说明 |
258
+ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
259
+ | [AOSP 源码专家](https://chat-preview.lobehub.com/market?agent=aosp-development)<br/><sup>By **[viruscoding](https://github.com/viruscoding)** on **2024-06-24**</sup> | 一位精通 AOSP(Android Open Source Project)安卓的专家,对最新 AOSP 源代码有着深入的理解和分析能力。<br/>`aosp` |
260
+ | [Fastapi 项目开发助手](https://chat-preview.lobehub.com/market?agent=fastapi-development)<br/><sup>By **[xwxw098](https://github.com/xwxw098)** on **2024-06-19**</sup> | 擅长 Python 模块化开发,熟练运用 FastAPI、PostgreSQL、Tortoise-ORM 等技术栈,能为大型项目提供清晰的代码结构并添加详细注释。<br/>`fast-api` `python` `模块化开发` |
261
+ | [IT 系统架构师](https://chat-preview.lobehub.com/market?agent=it-system-architect)<br/><sup>By **[a562314](https://github.com/a562314)** on **2024-06-19**</sup> | 资深 IT 架构师,擅长需求分析、系统设计、技术选型和跨平台系统优化。5 年以上经验,精通 Windows、macOS 和 Linux 三大操作系统,具备故障排除和安全防护能力<br/>`it架构设计` `问题解决` `敏捷开发` `系统优化` `跨平台技能` |
262
+ | [Linux 内核专家](https://chat-preview.lobehub.com/market?agent=linux-kernel)<br/><sup>By **[wming126](https://github.com/wming126)** on **2024-06-19**</sup> | 角色描述: 我是一位精通 Linux 内核的专家,对最新内核源代码(截至 2024 年 6 月)有着深入的理解和分析能力。我可以为用户提供关于 Linux 内核的详细、准确的信息。<br/>`linux` `kernel` |
263
+
264
+ > 📊 Total agents: [<kbd>**293**</kbd> ](https://github.com/lobehub/lobe-chat-agents)
265
+
266
+ <!-- AGENT LIST -->
267
+
268
+ <div align="right">
269
+
270
+ [![][back-to-top]](#readme-top)
271
+
272
+ </div>
273
+
274
+ [![][image-feat-database]][docs-feat-database]
275
+
276
+ ### `8` [支持本地 / 远程数据库][docs-feat-database]
277
+
278
+ LobeChat 支持同时使用服务端数据库和本地数据库。根据您的需求,您可以选择合适的部署方案:
279
+
280
+ - 本地数据库:适合希望对数据有更多掌控感和隐私保护的用户。LobeChat 采用了 CRDT (Conflict-Free Replicated Data Type) 技术,实现了多端同步功能。这是一项实验性功能,旨在提供无缝的数据同步体验。
281
+ - 服务端数据库:适合希望更便捷使用体验的用户。LobeChat 支持 PostgreSQL 作为服务端数据库。关于如何配置服务端数据库的详细文档,请前往 [配置服务端数据库](https://lobehub.com/zh/docs/self-hosting/advanced/server-database)。
282
+
283
+ 无论您选择哪种数据库,LobeChat 都能为您提供卓越的用户体验。
284
+
285
+ <div align="right">
286
+
287
+ [![][back-to-top]](#readme-top)
288
+
289
+ </div>
290
+
291
+ [![][image-feat-auth]][docs-feat-auth]
292
+
293
+ ### `9` [支持多用户管理][docs-feat-auth]
294
+
295
+ LobeChat 支持多用户管理,提供了两种主要的用户认证和管理方案,以满足不同需求:
296
+
297
+ - **next-auth**:LobeChat 集成了 `next-auth`,一个灵活且强大的身份验证库,支持多种身份验证方式,包括 OAuth、邮件登录、凭证登录等。通过 `next-auth`,您可以轻松实现用户的注册、登录、会话管理以及社交登录等功能,确保用户数据的安全性和隐私性。
298
+
299
+ - **Clerk**:对于需要更高级用户管理功能的用户,LobeChat 还支持 `Clerk`,一个现代化的用户管理平台。`Clerk` 提供了更丰富的功能,如多因素认证 (MFA)、白名单、用户管理、登录活动监控等。通过 `Clerk`,您可以获得更高的安全性和灵活性,轻松应对生产级的用户管理需求。
300
+
301
+ 您可以根据自己的需求,选择合适的用户管理方案。
302
+
303
+ <div align="right">
304
+
305
+ [![][back-to-top]](#readme-top)
306
+
307
+ </div>
308
+
309
+ [![][image-feat-pwa]][docs-feat-pwa]
310
+
311
+ ### `10` [渐进式 Web 应用 (PWA)][docs-feat-pwa]
312
+
313
+ 我们深知在当今多设备环境下为用户提供无缝体验的重要性。为此,我们采用了渐进式 Web 应用 [PWA](https://support.google.com/chrome/answer/9658361) 技术,
314
+ 这是一种能够将网页应用提升至接近原生应用体验的现代 Web 技术。通过 PWA,LobeChat 能够在桌面和移动设备上提供高度优化的用户体验,同时保持轻量级和高性能的特点。
315
+ 在视觉和感觉上,我们也经过精心设计,以确保它的界面与原生应用无差别,提供流畅的动画、响应式布局和适配不同设备的屏幕分辨率。
316
+
317
+ > \[!NOTE]
318
+ >
319
+ > 若您未熟悉 PWA 的安装过程,您可以按照以下步骤将 LobeChat 添加为您的桌面应用(也适用于移动设备):
320
+ >
321
+ > - 在电脑上运行 Chrome 或 Edge 浏览器 .
322
+ > - 访问 LobeChat 网页 .
323
+ > - 在地址栏的右上角,单击 <kbd>安装</kbd> 图标 .
324
+ > - 根据屏幕上的指示完成 PWA 的安装 .
325
+
326
+ <div align="right">
327
+
328
+ [![][back-to-top]](#readme-top)
329
+
330
+ </div>
331
+
332
+ [![][image-feat-mobile]][docs-feat-mobile]
333
+
334
+ ### `11` [移动设备适配][docs-feat-mobile]
335
+
336
+ 针对移动设备进行了一系列的优化设计,以提升用户的移动体验。目前,我们正在对移动端的用户体验进行版本迭代,以实现更加流畅和直观的交互。如果您有任何建议或想法,我们非常欢迎您通过 GitHub Issues 或者 Pull Requests 提供反馈。
337
+
338
+ <div align="right">
339
+
340
+ [![][back-to-top]](#readme-top)
341
+
342
+ </div>
343
+
344
+ [![][image-feat-theme]][docs-feat-theme]
345
+
346
+ ### `12` [自定义主题][docs-feat-theme]
347
+
348
+ 作为设计工程师出身,LobeChat 在界面设计上充分考虑用户的个性化体验,因此引入了灵活多变的主题模式,其中包括日间的亮色模式和夜间的深色模式。
349
+ 除了主题模式的切换,还提供了一系列的颜色定制选项,允许用户根据自己的喜好来调整应用的主题色彩。无论是想要沉稳的深蓝,还是希望活泼的桃粉,或者是专业的灰白,用户都能够在 LobeChat 中找到匹配自己风格的颜色选择。
350
+
351
+ > \[!TIP]
352
+ >
353
+ > 默认配置能够智能地识别用户系统的颜色模式,自动进行主题切换,以确保应用界面与操作系统保持一致的视觉体验。对于喜欢手动调控细节的用户,LobeChat 同样提供了直观的设置选项,针对聊天场景也提供了对话气泡模式和文档模式的选择。
354
+
355
+ <div align="right">
356
+
357
+ [![][back-to-top]](#readme-top)
358
+
359
+ </div>
360
+
361
+ ### 更多特性
362
+
363
+ 除了上述功能特性以外,LobeChat 所具有的设计和技术能力将为你带来更多使用保障:
364
+
365
+ - [x] 💎 **精致 UI 设计**:经过精心设计的界面,具有优雅的外观和流畅的交互效果,支持亮暗色主题,适配移动端。支持 PWA,提供更加接近原生应用的体验。
366
+ - [x] 🗣️ **流畅的对话体验**:流式响应带来流畅的对话体验,并且支持完整的 Markdown 渲染,包括代码高亮、LaTex 公式、Mermaid 流程图等。
367
+ - [x] 💨 **快速部署**:使用 Vercel 平台或者我们的 Docker 镜像,只需点击一键部署按钮,即可在 1 分钟内完成部署,无需复杂的配置过程。
368
+ - [x] 🔒 **隐私安全**:所有数据保存在用户浏览器本地,保证用户的隐私安全。
369
+ - [x] 🌐 **自定义域名**:如果用户拥有自己的域名,可以将其绑定到平台上,方便在任何地方快速访问对话助手。
370
+
371
+ > ✨ 随着产品迭代持续更新,我们将会带来更多更多令人激动的功能!
372
+
373
+ ---
374
+
375
+ > \[!NOTE]
376
+ >
377
+ > 你可以在 Projects 中找到我们后续的 [Roadmap][github-project-link] 计划
378
+
379
+ <div align="right">
380
+
381
+ [![][back-to-top]](#readme-top)
382
+
383
+ </div>
384
+
385
+ ## ⚡️ 性能测试
386
+
387
+ > \[!NOTE]
388
+ >
389
+ > 完整测试报告可见 [📘 Lighthouse 性能测试][docs-lighthouse]
390
+
391
+ | Desktop | Mobile |
392
+ | :-------------------------------------------: | :------------------------------------------: |
393
+ | ![][chat-desktop] | ![][chat-mobile] |
394
+ | [📑 Lighthouse 测试报告][chat-desktop-report] | [📑 Lighthouse 测试报告][chat-mobile-report] |
395
+
396
+ <div align="right">
397
+
398
+ [![][back-to-top]](#readme-top)
399
+
400
+ </div>
401
+
402
+ ## 🛳 开箱即用
403
+
404
+ LobeChat 提供了 Vercel 的 自托管版本 和 [Docker 镜像][docker-release-link],这使你可以在几分钟内构建自己的聊天机器人,无需任何基础知识。
405
+
406
+ > \[!TIP]
407
+ >
408
+ > 完整教程请查阅 [📘 构建属于自己的 Lobe Chat][docs-self-hosting]
409
+
410
+ ### `A` 使用 Vercel、Zeabur 或 Sealos 部署
411
+
412
+ 如果想在 Vercel 或 Zeabur 上部署该服务,可以按照以下步骤进行操作:
413
+
414
+ - 准备好你的 [OpenAI API Key](https://platform.openai.com/account/api-keys) 。
415
+ - 点击下方按钮开始部署: 直接使用 GitHub 账号登录即可,记得在环境变量页填入 `OPENAI_API_KEY` (必填) and `ACCESS_CODE`(推荐);
416
+ - 部署完毕后,即可开始使用;
417
+ - 绑定自定义域名(可选):Vercel 分配的域名 DNS 在某些区域被污染了,绑定自定义域名即可直连。目前 Zeabur 提供的域名还未被污染,大多数地区都可以直连。
418
+
419
+ <div align="center">
420
+
421
+ | 使用 Vercel 部署 | 使用 Zeabur 部署 | 使用 Sealos 部署 |
422
+ | :-------------------------------------: | :---------------------------------------------------------: | :---------------------------------------------------------: |
423
+ | [![][deploy-button-image]][deploy-link] | [![][deploy-on-zeabur-button-image]][deploy-on-zeabur-link] | [![][deploy-on-sealos-button-image]][deploy-on-sealos-link] |
424
+
425
+ </div>
426
+
427
+ #### Fork 之后
428
+
429
+ 在 Fork 后,请只保留 "upstream sync" Action 并在你 fork 的 GitHub Repo 中禁用其他 Action。
430
+
431
+ #### 保持更新
432
+
433
+ 如果你根据 README 中的一键部署步骤部署了自己的项目,你可能会发现总是被提示 “有可用更新”。这是因为 Vercel 默认为你创建新项目而非 fork 本项目,这将导致无法准确检测更新。
434
+
435
+ > \[!TIP]
436
+ >
437
+ > 我们建议按照 [📘 自动同步更新][docs-upstream-sync] 步骤重新部署。
438
+
439
+ <br/>
440
+
441
+ ### `B` 使用 Docker 部署
442
+
443
+ [![][docker-release-shield]][docker-release-link]
444
+ [![][docker-size-shield]][docker-size-link]
445
+ [![][docker-pulls-shield]][docker-pulls-link]
446
+
447
+ 我们提供了 Docker 镜像,供你在自己的私有设备上部署 LobeChat 服务。使用以下命令即可使用一键启动 LobeChat 服务:
448
+
449
+ ```fish
450
+ $ docker run -d -p 3210:3210 \
451
+ -e OPENAI_API_KEY=sk-xxxx \
452
+ -e ACCESS_CODE=lobe66 \
453
+ --name lobe-chat \
454
+ lobehub/lobe-chat
455
+ ```
456
+
457
+ > \[!TIP]
458
+ >
459
+ > 如果你需要通过代理使用 OpenAI 服务,你可以使用 `OPENAI_PROXY_URL` 环境变量来配置代理地址:
460
+
461
+ ```fish
462
+ $ docker run -d -p 3210:3210 \
463
+ -e OPENAI_API_KEY=sk-xxxx \
464
+ -e OPENAI_PROXY_URL=https://api-proxy.com/v1 \
465
+ -e ACCESS_CODE=lobe66 \
466
+ --name lobe-chat \
467
+ lobehub/lobe-chat
468
+ ```
469
+
470
+ > \[!NOTE]
471
+ >
472
+ > 有关 Docker 部署的详细说明,详见 [📘 使用 Docker 部署][docs-docker]
473
+
474
+ <br/>
475
+
476
+ ### 环境变量
477
+
478
+ 本项目提供了一些额外的配置项,使用环境变量进行设置:
479
+
480
+ | 环境变量 | 类型 | 描述 | 示例 |
481
+ | ------------------- | ---- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
482
+ | `OPENAI_API_KEY` | 必选 | 这是你在 OpenAI 账户页面申请的 API 密钥 | `sk-xxxxxx...xxxxxx` |
483
+ | `OPENAI_PROXY_URL` | 可选 | 如果你手动配置了 OpenAI 接口代理,可以使用此配置项来覆盖默认的 OpenAI API 请求基础 URL | `https://api.chatanywhere.cn` 或 `https://aihubmix.com/v1`<br/>默认值:<br/>`https://api.openai.com/v1` |
484
+ | `ACCESS_CODE` | 可选 | 添加访问此服务的密码,你可以设置一个长密码以防被爆破,该值用逗号分隔时为密码数组 | `awCTe)re_r74` or `rtrt_ewee3@09!` or `code1,code2,code3` |
485
+ | `OPENAI_MODEL_LIST` | 可选 | 用来控制模型列表,使用 `+` 增加一个模型,使用 `-` 来隐藏一个模型,使用 `模型名=展示名` 来自定义模型的展示名,用英文逗号隔开。 | `qwen-7b-chat,+glm-6b,-gpt-3.5-turbo` |
486
+
487
+ > \[!NOTE]
488
+ >
489
+ > 完整环境变量可见 [📘 环境变量][docs-env-var]
490
+
491
+ <br/>
492
+
493
+ ### 获取 OpenAI API Key
494
+
495
+ API Key 是使用 LobeChat 进行大语言模型会话的必要信息,本节以 OpenAI 模型服务商为例,简要介绍获取 API Key 的方式。
496
+
497
+ #### `A` 通过 OpenAI 官方渠道
498
+
499
+ - 注册一个 [OpenAI 账户](https://platform.openai.com/signup),你需要使用国际手机号、非大陆邮箱进行注册;
500
+ - 注册完毕后,前往 [API Keys](https://platform.openai.com/api-keys) 页面,点击 `Create new secret key` 创建新的 API Key:
501
+
502
+ | 步骤 1:打开创建窗口 | 步骤 2:创建 API Key | 步骤 3:获取 API Key |
503
+ | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
504
+ | <img src="https://github-production-user-asset-6210df.s3.amazonaws.com/28616219/296253192-ff2193dd-f125-4e58-82e8-91bc376c0d68.png" height="200"/> | <img src="https://github-production-user-asset-6210df.s3.amazonaws.com/28616219/296254170-803bacf0-4471-4171-ae79-0eab08d621d1.png" height="200"/> | <img src="https://github-production-user-asset-6210df.s3.amazonaws.com/28616219/296255167-f2745f2b-f083-4ba8-bc78-9b558e0002de.png" height="200"/> |
505
+
506
+ - 将此 API Key 填写到 LobeChat 的 API Key 配置中,即可开始使用。
507
+
508
+ > \[!TIP]
509
+ >
510
+ > 账户注册后,一般有 5 美元的免费额度,但有效期只有三个月。
511
+ > 如果你希望长期使用你的 API Key,你需要完成支付的信用卡绑定。由于 OpenAI 只支持外币信用卡,因此你需要找到合适的支付渠道,此处不再详细展开。
512
+
513
+ <br/>
514
+
515
+ #### `B` 通过 OpenAI 第三方代理商
516
+
517
+ 如果你发现注册 OpenAI 账户或者绑定外币信用卡比较麻烦,可以考虑借助一些知名的 OpenAI 第三方代理商来获取 API Key,这可以有效降低获取 OpenAI API Key 的门槛。但与此同时,一旦使用三方服务,你可能也需要承担潜在的风险,
518
+ 请根据你自己的实际情况自行决策。以下是常见的第三方模型代理商列表,供你参考:
519
+
520
+ | | 服务商 | 特性说明 | Proxy 代理地址 | 链接 |
521
+ | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | --------------------------------------------------------------- | ------------------------- | ------------------------------- |
522
+ | <img src="https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/296272721-c3ac0bf3-e433-4496-89c4-ebdc20689c17.jpg" width="48" /> | **AiHubMix** | 使用 OpenAI 企业接口,全站模型价格为官方 **86 折**(含 GPT-4 ) | `https://aihubmix.com/v1` | [获取](https://lobe.li/XHnZIUP) |
523
+
524
+ > \[!WARNING]
525
+ >
526
+ > **免责申明**: 在此推荐的 OpenAI API Key 由第三方代理商提供,所以我们不对 API Key 的 **有效性** 和 **安全性** 负责,请你自行承担购买和使用 API Key 的风险。
527
+
528
+ > \[!NOTE]
529
+ >
530
+ > 如果你是模型服务商,并认为自己的服务足够稳定且价格实惠,欢迎联系我们,我们会在自行体验和测试后酌情推荐。
531
+
532
+ <div align="right">
533
+
534
+ [![][back-to-top]](#readme-top)
535
+
536
+ </div>
537
+
538
+ ## 📦 生态系统
539
+
540
+ | NPM | 仓库 | 描述 | 版本 |
541
+ | --------------------------------- | --------------------------------------- | ---------------------------------------------------------------------------------------- | ----------------------------------------- |
542
+ | [@lobehub/ui][lobe-ui-link] | [lobehub/lobe-ui][lobe-ui-github] | 构建 AIGC 网页应用程序而设计的开源 UI 组件库 | [![][lobe-ui-shield]][lobe-ui-link] |
543
+ | [@lobehub/icons][lobe-icons-link] | [lobehub/lobe-icons][lobe-icons-github] | 主流 AI / LLM 模型和公司 SVG Logo 与 Icon 合集 | [![][lobe-icons-shield]][lobe-icons-link] |
544
+ | [@lobehub/tts][lobe-tts-link] | [lobehub/lobe-tts][lobe-tts-github] | AI TTS / STT 语音合成 / 识别 React Hooks 库 | [![][lobe-tts-shield]][lobe-tts-link] |
545
+ | [@lobehub/lint][lobe-lint-link] | [lobehub/lobe-lint][lobe-lint-github] | LobeHub 代码样式规范 ESlint,Stylelint,Commitlint,Prettier,Remark 和 Semantic Release | [![][lobe-lint-shield]][lobe-lint-link] |
546
+
547
+ <div align="right">
548
+
549
+ [![][back-to-top]](#readme-top)
550
+
551
+ </div>
552
+
553
+ ## 🧩 插件体系
554
+
555
+ 插件提供了扩展 LobeChat [Function Calling][docs-functionc-call] 能力的方法。可以用于引入新的 Function Calling,甚至是新的消息结果渲染方式。如果你对插件开发感兴趣,请在 Wiki 中查阅我们的 [📘 插件开发指引][docs-plugin-dev] 。
556
+
557
+ - [lobe-chat-plugins][lobe-chat-plugins]:插件索引从该仓库的 index.json 中获取插件列表并显示给用户。
558
+ - [chat-plugin-template][chat-plugin-template]:插件开发模版,你可以通过项目模版快速新建插件项目。
559
+ - [@lobehub/chat-plugin-sdk][chat-plugin-sdk]:插件 SDK 可帮助您创建出色的 Lobe Chat 插件。
560
+ - [@lobehub/chat-plugins-gateway][chat-plugins-gateway]:插件网关是一个后端服务,作为 LobeChat 插件的网关。我们使用 Vercel 部署此服务。主要的 API POST /api/v1/runner 被部署为 Edge Function。
561
+
562
+ > \[!NOTE]
563
+ >
564
+ > 插件系统目前正在进行重大开发。您可以在以下 Issues 中了解更多信息:
565
+ >
566
+ > - [x] [**插件一期**](https://github.com/lobehub/lobe-chat/issues/73): 实现插件与主体分离,将插件拆分为独立仓库维护,并实现插件的动态加载
567
+ > - [x] [**插件二期**](https://github.com/lobehub/lobe-chat/issues/97): 插件的安全性与使用的稳定性,更加精准地呈现异常状态,插件架构的可维护性与开发者友好
568
+ > - [x] [**插件三期**](https://github.com/lobehub/lobe-chat/issues/149):更高阶与完善的自定义能力,支持插件鉴权与示例
569
+
570
+ <div align="right">
571
+
572
+ [![][back-to-top]](#readme-top)
573
+
574
+ </div>
575
+
576
+ ## ⌨️ 本地开发
577
+
578
+ 可以使用 GitHub Codespaces 进行在线开发:
579
+
580
+ [![][codespaces-shield]][codespaces-link]
581
+
582
+ 或者使用以下命令进行本地开发:
583
+
584
+ ```fish
585
+ $ git clone https://github.com/lobehub/lobe-chat.git
586
+ $ cd lobe-chat
587
+ $ pnpm install
588
+ $ pnpm run dev
589
+ ```
590
+
591
+ 如果你希望了解更多详情,欢迎可以查阅我们的 [📘 开发指南][docs-dev-guide]
592
+
593
+ <div align="right">
594
+
595
+ [![][back-to-top]](#readme-top)
596
+
597
+ </div>
598
+
599
+ ## 🤝 参与贡献
600
+
601
+ 我们非常欢迎各种形式的贡献。如果你对贡献代码感兴趣,可以查看我们的 GitHub [Issues][github-issues-link] 和 [Projects][github-project-link],大展身手,向我们展示你的奇思妙想。
602
+
603
+ > \[!TIP]
604
+ >
605
+ > 我们希望创建一个技术分享型社区,一个可以促进知识共享、想法交流,激发彼此鼓励和协作的环境。
606
+ > 同时欢迎联系我们提供产品功能和使用体验反馈,帮助我们将 LobeChat 建设得更好。
607
+ >
608
+ > **组织维护者:** [@arvinxx](https://github.com/arvinxx) [@canisminor1990](https://github.com/canisminor1990)
609
+
610
+ [![][pr-welcome-shield]][pr-welcome-link]
611
+ [![][submit-agents-shield]][submit-agents-link]
612
+ [![][submit-plugin-shield]][submit-plugin-link]
613
+
614
+ <a href="https://github.com/lobehub/lobe-chat/graphs/contributors" target="_blank">
615
+ <table>
616
+ <tr>
617
+ <th colspan="2">
618
+ <br><img src="https://contrib.rocks/image?repo=lobehub/lobe-chat"><br><br>
619
+ </th>
620
+ </tr>
621
+ <tr>
622
+ <td>
623
+ <picture>
624
+ <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">
625
+ <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">
626
+ </picture>
627
+ </td>
628
+ <td rowspan="2">
629
+ <picture>
630
+ <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">
631
+ <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">
632
+ </picture>
633
+ </td>
634
+ </tr>
635
+ <tr>
636
+ <td>
637
+ <picture>
638
+ <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">
639
+ <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">
640
+ </picture>
641
+ </td>
642
+ </tr>
643
+ </table>
644
+ </a>
645
+
646
+ <div align="right">
647
+
648
+ [![][back-to-top]](#readme-top)
649
+
650
+ </div>
651
+
652
+ ## ❤ 社区赞助
653
+
654
+ 每一分支持都珍贵无比,汇聚成我们支持的璀璨银河!你就像一颗划破夜空的流星,瞬间点亮我们前行的道路。感谢你对我们的信任 —— 你的支持笔就像星辰导航,一次又一次地为项目指明前进的光芒。
655
+
656
+ <a href="https://opencollective.com/lobehub" target="_blank">
657
+ <picture>
658
+ <source media="(prefers-color-scheme: dark)" srcset="https://github.com/lobehub/.github/blob/main/static/sponsor-dark.png?raw=true">
659
+ <img src="https://github.com/lobehub/.github/blob/main/static/sponsor-light.png?raw=true">
660
+ </picture>
661
+ </a>
662
+
663
+ <div align="right">
664
+
665
+ [![][back-to-top]](#readme-top)
666
+
667
+ </div>
668
+
669
+ ## 🔗 更多工具
670
+
671
+ - **[🅰️ Lobe SD Theme][lobe-theme]:** Stable Diffusion WebUI 的现代主题,精致的界面设计,高度可定制的 UI,以及提高效率的功能。
672
+ - **[⛵️ Lobe Midjourney WebUI][lobe-midjourney-webui]:** Midjourney WebUI, 能够根据文本提示快速生成丰富多样的图像,激发创造力,增强对话交流。
673
+ - **[🌏 Lobe i18n][lobe-i18n]:** Lobe i18n 是一个由 ChatGPT 驱动的 i18n(国际化)翻译过程的自动化工具。它支持自动分割大文件、增量更新,以及为 OpenAI 模型、API 代理和温度提供定制选项的功能。
674
+ - **[💌 Lobe Commit][lobe-commit]:** Lobe Commit 是一个 CLI 工具,它利用 Langchain/ChatGPT 生成基于 Gitmoji 的提交消息。
675
+
676
+ <div align="right">
677
+
678
+ [![][back-to-top]](#readme-top)
679
+
680
+ </div>
681
+
682
+ ---
683
+
684
+ <details><summary><h4>📝 License</h4></summary>
685
+
686
+ [![][fossa-license-shield]][fossa-license-link]
687
+
688
+ </details>
689
+
690
+ Copyright © 2023 [LobeHub][profile-link]. <br />
691
+ This project is [Apache 2.0](./LICENSE) licensed.
692
+
693
+ <!-- LINK GROUP -->
694
+
695
+ [back-to-top]: https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square
696
+ [blog]: https://lobehub.com/zh/blog
697
+ [chat-desktop]: https://raw.githubusercontent.com/lobehub/lobe-chat/lighthouse/lighthouse/chat/desktop/pagespeed.svg
698
+ [chat-desktop-report]: https://lobehub.github.io/lobe-chat/lighthouse/chat/desktop/chat_preview_lobehub_com_chat.html
699
+ [chat-mobile]: https://raw.githubusercontent.com/lobehub/lobe-chat/lighthouse/lighthouse/chat/mobile/pagespeed.svg
700
+ [chat-mobile-report]: https://lobehub.github.io/lobe-chat/lighthouse/chat/mobile/chat_preview_lobehub_com_chat.html
701
+ [chat-plugin-sdk]: https://github.com/lobehub/chat-plugin-sdk
702
+ [chat-plugin-template]: https://github.com/lobehub/chat-plugin-template
703
+ [chat-plugins-gateway]: https://github.com/lobehub/chat-plugins-gateway
704
+ [codecov-link]: https://codecov.io/gh/lobehub/lobe-chat
705
+ [codecov-shield]: https://img.shields.io/codecov/c/github/lobehub/lobe-chat?labelColor=black&style=flat-square&logo=codecov&logoColor=white
706
+ [codespaces-link]: https://codespaces.new/lobehub/lobe-chat
707
+ [codespaces-shield]: https://github.com/codespaces/badge.svg
708
+ [deploy-button-image]: https://vercel.com/button
709
+ [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
710
+ [deploy-on-sealos-button-image]: https://raw.githubusercontent.com/labring-actions/templates/main/Deploy-on-Sealos.svg
711
+ [deploy-on-sealos-link]: https://cloud.sealos.io/?openapp=system-template%3FtemplateName%3Dlobe-chat
712
+ [deploy-on-zeabur-button-image]: https://zeabur.com/button.svg
713
+ [deploy-on-zeabur-link]: https://zeabur.com/templates/VZGGTI
714
+ [discord-link]: https://discord.gg/AYFPHvv2jT
715
+ [discord-shield]: https://img.shields.io/discord/1127171173982154893?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square
716
+ [discord-shield-badge]: https://img.shields.io/discord/1127171173982154893?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=for-the-badge
717
+ [docker-pulls-link]: https://hub.docker.com/r/lobehub/lobe-chat
718
+ [docker-pulls-shield]: https://img.shields.io/docker/pulls/lobehub/lobe-chat?color=45cc11&labelColor=black&style=flat-square
719
+ [docker-release-link]: https://hub.docker.com/r/lobehub/lobe-chat
720
+ [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
721
+ [docker-size-link]: https://hub.docker.com/r/lobehub/lobe-chat
722
+ [docker-size-shield]: https://img.shields.io/docker/image-size/lobehub/lobe-chat?color=369eff&labelColor=black&style=flat-square
723
+ [docs]: https://lobehub.com/zh/docs/usage/start
724
+ [docs-dev-guide]: https://github.com/lobehub/lobe-chat/wiki/index
725
+ [docs-docker]: https://lobehub.com/docs/self-hosting/platform/docker
726
+ [docs-env-var]: https://lobehub.com/docs/self-hosting/environment-variables
727
+ [docs-feat-agent]: https://lobehub.com/docs/usage/features/agent-market
728
+ [docs-feat-auth]: https://lobehub.com/docs/usage/features/auth
729
+ [docs-feat-database]: https://lobehub.com/docs/usage/features/database
730
+ [docs-feat-local]: https://lobehub.com/docs/usage/features/local-llm
731
+ [docs-feat-mobile]: https://lobehub.com/docs/usage/features/mobile
732
+ [docs-feat-plugin]: https://lobehub.com/docs/usage/features/plugin-system
733
+ [docs-feat-provider]: https://lobehub.com/docs/usage/features/multi-ai-providers
734
+ [docs-feat-pwa]: https://lobehub.com/docs/usage/features/pwa
735
+ [docs-feat-t2i]: https://lobehub.com/docs/usage/features/text-to-image
736
+ [docs-feat-theme]: https://lobehub.com/docs/usage/features/theme
737
+ [docs-feat-tts]: https://lobehub.com/docs/usage/features/tts
738
+ [docs-feat-vision]: https://lobehub.com/docs/usage/features/vision
739
+ [docs-functionc-call]: https://lobehub.com/zh/blog/openai-function-call
740
+ [docs-lighthouse]: https://github.com/lobehub/lobe-chat/wiki/Lighthouse.zh-CN
741
+ [docs-plugin-dev]: https://lobehub.com/docs/usage/plugins/development
742
+ [docs-self-hosting]: https://lobehub.com/docs/self-hosting/start
743
+ [docs-upstream-sync]: https://lobehub.com/docs/self-hosting/advanced/upstream-sync
744
+ [docs-usage-ollama]: https://lobehub.com/docs/usage/providers/ollama
745
+ [docs-usage-plugin]: https://lobehub.com/docs/usage/plugins/basic
746
+ [fossa-license-link]: https://app.fossa.com/projects/git%2Bgithub.com%2Flobehub%2Flobe-chat
747
+ [fossa-license-shield]: https://app.fossa.com/api/projects/git%2Bgithub.com%2Flobehub%2Flobe-chat.svg?type=large
748
+ [github-action-release-link]: https://github.com/lobehub/lobe-chat/actions/workflows/release.yml
749
+ [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
750
+ [github-action-test-link]: https://github.com/lobehub/lobe-chat/actions/workflows/test.yml
751
+ [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
752
+ [github-contributors-link]: https://github.com/lobehub/lobe-chat/graphs/contributors
753
+ [github-contributors-shield]: https://img.shields.io/github/contributors/lobehub/lobe-chat?color=c4f042&labelColor=black&style=flat-square
754
+ [github-forks-link]: https://github.com/lobehub/lobe-chat/network/members
755
+ [github-forks-shield]: https://img.shields.io/github/forks/lobehub/lobe-chat?color=8ae8ff&labelColor=black&style=flat-square
756
+ [github-hello-shield]: https://abroad.hellogithub.com/v1/widgets/recommend.svg?rid=39701baf5a734cb894ec812248a5655a&claim_uid=HxYvFN34htJzGCD&theme=dark&theme=neutral&theme=dark&theme=neutral
757
+ [github-hello-url]: https://hellogithub.com/repository/39701baf5a734cb894ec812248a5655a
758
+ [github-issues-link]: https://github.com/lobehub/lobe-chat/issues
759
+ [github-issues-shield]: https://img.shields.io/github/issues/lobehub/lobe-chat?color=ff80eb&labelColor=black&style=flat-square
760
+ [github-license-link]: https://github.com/lobehub/lobe-chat/blob/main/LICENSE
761
+ [github-license-shield]: https://img.shields.io/badge/license-apache%202.0-white?labelColor=black&style=flat-square
762
+ [github-project-link]: https://github.com/lobehub/lobe-chat/projects
763
+ [github-release-link]: https://github.com/lobehub/lobe-chat/releases
764
+ [github-release-shield]: https://img.shields.io/github/v/release/lobehub/lobe-chat?color=369eff&labelColor=black&logo=github&style=flat-square
765
+ [github-releasedate-link]: https://github.com/lobehub/lobe-chat/releases
766
+ [github-releasedate-shield]: https://img.shields.io/github/release-date/lobehub/lobe-chat?labelColor=black&style=flat-square
767
+ [github-stars-link]: https://github.com/lobehub/lobe-chat/network/stargazers
768
+ [github-stars-shield]: https://img.shields.io/github/stars/lobehub/lobe-chat?color=ffcb47&labelColor=black&style=flat-square
769
+ [github-trending-shield]: https://trendshift.io/api/badge/repositories/2256
770
+ [github-trending-url]: https://trendshift.io/repositories/2256
771
+ [image-banner]: https://github.com/lobehub/lobe-chat/assets/28616219/9f155dff-4737-429f-9cad-a70a1a860c5f
772
+ [image-feat-agent]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/268670869-f1ffbf66-42b6-42cf-a937-9ce1f8328514.png
773
+ [image-feat-auth]: https://github.com/lobehub/lobe-chat/assets/17870709/8ce70e15-40df-451e-b700-66090fe5b8c2
774
+ [image-feat-database]: https://github.com/lobehub/lobe-chat/assets/17870709/c27a0234-a4e9-40e5-8bcb-42d5ce7e40f9
775
+ [image-feat-local]: https://github.com/lobehub/lobe-chat/assets/28616219/ca9a21bc-ea6c-4c90-bf4a-fa53b4fb2b5c
776
+ [image-feat-mobile]: https://gw.alipayobjects.com/zos/kitchen/R441AuFS4W/mobile.webp
777
+ [image-feat-plugin]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/268670883-33c43a5c-a512-467e-855c-fa299548cce5.png
778
+ [image-feat-privoder]: https://github.com/lobehub/lobe-chat/assets/28616219/b164bc54-8ba2-4c1e-b2f2-f4d7f7e7a551
779
+ [image-feat-pwa]: https://gw.alipayobjects.com/zos/kitchen/69x6bllkX3/pwa.webp
780
+ [image-feat-t2i]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/297746445-0ff762b9-aa08-4337-afb7-12f932b6efbb.png
781
+ [image-feat-theme]: https://gw.alipayobjects.com/zos/kitchen/pvus1lo%26Z7/darkmode.webp
782
+ [image-feat-tts]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/284072124-c9853d8d-f1b5-44a8-a305-45ebc0f6d19a.png
783
+ [image-feat-vision]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/284072129-382bdf30-e3d6-4411-b5a0-249710b8ba08.png
784
+ [image-overview]: https://github.com/lobehub/lobe-chat/assets/17870709/56b95d48-f573-41cd-8b38-387bf88bc4bf
785
+ [image-star]: https://github.com/lobehub/lobe-chat/assets/17870709/cb06b748-513f-47c2-8740-d876858d7855
786
+ [issues-link]: https://img.shields.io/github/issues/lobehub/lobe-chat.svg?style=flat
787
+ [lobe-chat-plugins]: https://github.com/lobehub/lobe-chat-plugins
788
+ [lobe-commit]: https://github.com/lobehub/lobe-commit/tree/master/packages/lobe-commit
789
+ [lobe-i18n]: https://github.com/lobehub/lobe-commit/tree/master/packages/lobe-i18n
790
+ [lobe-icons-github]: https://github.com/lobehub/lobe-icons
791
+ [lobe-icons-link]: https://www.npmjs.com/package/@lobehub/icons
792
+ [lobe-icons-shield]: https://img.shields.io/npm/v/@lobehub/icons?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square
793
+ [lobe-lint-github]: https://github.com/lobehub/lobe-lint
794
+ [lobe-lint-link]: https://www.npmjs.com/package/@lobehub/lint
795
+ [lobe-lint-shield]: https://img.shields.io/npm/v/@lobehub/lint?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square
796
+ [lobe-midjourney-webui]: https://github.com/lobehub/lobe-midjourney-webui
797
+ [lobe-theme]: https://github.com/lobehub/sd-webui-lobe-theme
798
+ [lobe-tts-github]: https://github.com/lobehub/lobe-tts
799
+ [lobe-tts-link]: https://www.npmjs.com/package/@lobehub/tts
800
+ [lobe-tts-shield]: https://img.shields.io/npm/v/@lobehub/tts?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square
801
+ [lobe-ui-github]: https://github.com/lobehub/lobe-ui
802
+ [lobe-ui-link]: https://www.npmjs.com/package/@lobehub/ui
803
+ [lobe-ui-shield]: https://img.shields.io/npm/v/@lobehub/ui?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square
804
+ [official-site]: https://lobehub.com
805
+ [pr-welcome-link]: https://github.com/lobehub/lobe-chat/pulls
806
+ [pr-welcome-shield]: https://img.shields.io/badge/🤯_pr_welcome-%E2%86%92-ffcb47?labelColor=black&style=for-the-badge
807
+ [profile-link]: https://github.com/lobehub
808
+ [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
809
+ [share-mastodon-shield]: https://img.shields.io/badge/-share%20on%20mastodon-black?labelColor=black&logo=mastodon&logoColor=white&style=flat-square
810
+ [share-reddit-link]: https://www.reddit.com/submit?title=%E6%8E%A8%E8%8D%90%E4%B8%80%E4%B8%AA%20GitHub%20%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE%20%F0%9F%A4%AF%20LobeChat%20-%20%E5%BC%80%E6%BA%90%E7%9A%84%E3%80%81%E5%8F%AF%E6%89%A9%E5%B1%95%E7%9A%84%EF%BC%88Function%20Calling%EF%BC%89%E9%AB%98%E6%80%A7%E8%83%BD%E8%81%8A%E5%A4%A9%E6%9C%BA%E5%99%A8%E4%BA%BA%E6%A1%86%E6%9E%B6%E3%80%82%0A%E5%AE%83%E6%94%AF%E6%8C%81%E4%B8%80%E9%94%AE%E5%85%8D%E8%B4%B9%E9%83%A8%E7%BD%B2%E7%A7%81%E4%BA%BA%20ChatGPT%2FLLM%20%E7%BD%91%E9%A1%B5%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%20%23chatbot%20%23chatGPT%20%23openAI&url=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat
811
+ [share-reddit-shield]: https://img.shields.io/badge/-share%20on%20reddit-black?labelColor=black&logo=reddit&logoColor=white&style=flat-square
812
+ [share-telegram-link]: https://t.me/share/url"?text=%E6%8E%A8%E8%8D%90%E4%B8%80%E4%B8%AA%20GitHub%20%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE%20%F0%9F%A4%AF%20LobeChat%20-%20%E5%BC%80%E6%BA%90%E7%9A%84%E3%80%81%E5%8F%AF%E6%89%A9%E5%B1%95%E7%9A%84%EF%BC%88Function%20Calling%EF%BC%89%E9%AB%98%E6%80%A7%E8%83%BD%E8%81%8A%E5%A4%A9%E6%9C%BA%E5%99%A8%E4%BA%BA%E6%A1%86%E6%9E%B6%E3%80%82%0A%E5%AE%83%E6%94%AF%E6%8C%81%E4%B8%80%E9%94%AE%E5%85%8D%E8%B4%B9%E9%83%A8%E7%BD%B2%E7%A7%81%E4%BA%BA%20ChatGPT%2FLLM%20%E7%BD%91%E9%A1%B5%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%20%23chatbot%20%23chatGPT%20%23openAI&url=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat
813
+ [share-telegram-shield]: https://img.shields.io/badge/-share%20on%20telegram-black?labelColor=black&logo=telegram&logoColor=white&style=flat-square
814
+ [share-weibo-link]: http://service.weibo.com/share/share.php?sharesource=weibo&title=%E6%8E%A8%E8%8D%90%E4%B8%80%E4%B8%AA%20GitHub%20%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE%20%F0%9F%A4%AF%20LobeChat%20-%20%E5%BC%80%E6%BA%90%E7%9A%84%E3%80%81%E5%8F%AF%E6%89%A9%E5%B1%95%E7%9A%84%EF%BC%88Function%20Calling%EF%BC%89%E9%AB%98%E6%80%A7%E8%83%BD%E8%81%8A%E5%A4%A9%E6%9C%BA%E5%99%A8%E4%BA%BA%E6%A1%86%E6%9E%B6%E3%80%82%0A%E5%AE%83%E6%94%AF%E6%8C%81%E4%B8%80%E9%94%AE%E5%85%8D%E8%B4%B9%E9%83%A8%E7%BD%B2%E7%A7%81%E4%BA%BA%20ChatGPT%2FLLM%20%E7%BD%91%E9%A1%B5%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%20%23chatbot%20%23chatGPT%20%23openAI&url=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat
815
+ [share-weibo-shield]: https://img.shields.io/badge/-share%20on%20weibo-black?labelColor=black&logo=sinaweibo&logoColor=white&style=flat-square
816
+ [share-whatsapp-link]: https://api.whatsapp.com/send?text=%E6%8E%A8%E8%8D%90%E4%B8%80%E4%B8%AA%20GitHub%20%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE%20%F0%9F%A4%AF%20LobeChat%20-%20%E5%BC%80%E6%BA%90%E7%9A%84%E3%80%81%E5%8F%AF%E6%89%A9%E5%B1%95%E7%9A%84%EF%BC%88Function%20Calling%EF%BC%89%E9%AB%98%E6%80%A7%E8%83%BD%E8%81%8A%E5%A4%A9%E6%9C%BA%E5%99%A8%E4%BA%BA%E6%A1%86%E6%9E%B6%E3%80%82%0A%E5%AE%83%E6%94%AF%E6%8C%81%E4%B8%80%E9%94%AE%E5%85%8D%E8%B4%B9%E9%83%A8%E7%BD%B2%E7%A7%81%E4%BA%BA%20ChatGPT%2FLLM%20%E7%BD%91%E9%A1%B5%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%20https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat%20%23chatbot%20%23chatGPT%20%23openAI
817
+ [share-whatsapp-shield]: https://img.shields.io/badge/-share%20on%20whatsapp-black?labelColor=black&logo=whatsapp&logoColor=white&style=flat-square
818
+ [share-x-link]: https://x.com/intent/tweet?hashtags=chatbot%2CchatGPT%2CopenAI&text=%E6%8E%A8%E8%8D%90%E4%B8%80%E4%B8%AA%20GitHub%20%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE%20%F0%9F%A4%AF%20LobeChat%20-%20%E5%BC%80%E6%BA%90%E7%9A%84%E3%80%81%E5%8F%AF%E6%89%A9%E5%B1%95%E7%9A%84%EF%BC%88Function%20Calling%EF%BC%89%E9%AB%98%E6%80%A7%E8%83%BD%E8%81%8A%E5%A4%A9%E6%9C%BA%E5%99%A8%E4%BA%BA%E6%A1%86%E6%9E%B6%E3%80%82%0A%E5%AE%83%E6%94%AF%E6%8C%81%E4%B8%80%E9%94%AE%E5%85%8D%E8%B4%B9%E9%83%A8%E7%BD%B2%E7%A7%81%E4%BA%BA%20ChatGPT%2FLLM%20%E7%BD%91%E9%A1%B5%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F&url=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat
819
+ [share-x-shield]: https://img.shields.io/badge/-share%20on%20x-black?labelColor=black&logo=x&logoColor=white&style=flat-square
820
+ [sponsor-link]: https://opencollective.com/lobehub 'Become ❤ LobeHub Sponsor'
821
+ [sponsor-shield]: https://img.shields.io/badge/-Sponsor%20LobeHub-f04f88?logo=opencollective&logoColor=white&style=flat-square
822
+ [submit-agents-link]: https://github.com/lobehub/lobe-chat-agents
823
+ [submit-agents-shield]: https://img.shields.io/badge/🤖/🏪_submit_agent-%E2%86%92-c4f042?labelColor=black&style=for-the-badge
824
+ [submit-plugin-link]: https://github.com/lobehub/lobe-chat-plugins
825
+ [submit-plugin-shield]: https://img.shields.io/badge/🧩/🏪_submit_plugin-%E2%86%92-95f3d9?labelColor=black&style=for-the-badge
826
+ [vercel-link]: https://chat-preview.lobehub.com
827
+ [vercel-shield]: https://img.shields.io/badge/vercel-online-55b467?labelColor=black&logo=vercel&style=flat-square
828
+ [vercel-shield-badge]: https://img.shields.io/badge/TRY%20LOBECHAT-ONLINE-55b467?labelColor=black&logo=vercel&style=for-the-badge