@lobehub/chat 1.111.5 → 1.111.7

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 (253) hide show
  1. package/.github/workflows/claude-code-review.yml +78 -0
  2. package/.github/workflows/claude.yml +64 -0
  3. package/.github/workflows/desktop-pr-build.yml +2 -2
  4. package/.github/workflows/release-desktop-beta.yml +2 -2
  5. package/CHANGELOG.md +50 -0
  6. package/README.md +2 -2
  7. package/README.zh-CN.md +2 -2
  8. package/changelog/v1.json +18 -0
  9. package/docker-compose/local/.env.example +1 -0
  10. package/docker-compose/local/.env.zh-CN.example +1 -0
  11. package/docker-compose/local/docker-compose.yml +1 -1
  12. package/docker-compose/local/init_data.json +994 -488
  13. package/docker-compose/setup.sh +3 -3
  14. package/package.json +4 -4
  15. package/packages/model-runtime/package.json +12 -0
  16. package/{src/libs/model-runtime → packages/model-runtime/src}/anthropic/index.ts +8 -6
  17. package/{src/libs/model-runtime → packages/model-runtime/src}/google/index.ts +1 -2
  18. package/{src/libs/model-runtime → packages/model-runtime/src}/minimax/createImage.test.ts +12 -15
  19. package/{src/libs/model-runtime → packages/model-runtime/src}/minimax/createImage.ts +1 -2
  20. package/{src/libs/model-runtime → packages/model-runtime/src}/moonshot/index.ts +1 -1
  21. package/{src/libs/model-runtime → packages/model-runtime/src}/qwen/createImage.ts +5 -5
  22. package/{src/libs/model-runtime → packages/model-runtime/src}/qwen/index.ts +2 -2
  23. package/{src/libs/model-runtime → packages/model-runtime/src}/sensenova/index.ts +14 -4
  24. package/{src/libs/model-runtime → packages/model-runtime/src}/utils/googleErrorParser.test.ts +46 -34
  25. package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/openai/responsesStream.ts +14 -12
  26. package/{src/libs/model-runtime → packages/model-runtime/src}/utils/usageConverter.test.ts +1 -1
  27. package/{src/libs/model-runtime → packages/model-runtime/src}/utils/usageConverter.ts +9 -5
  28. package/{src/libs/model-runtime → packages/model-runtime/src}/volcengine/index.ts +4 -4
  29. package/src/app/(backend)/middleware/auth/index.test.ts +1 -1
  30. package/src/app/(backend)/middleware/auth/index.ts +5 -1
  31. package/src/app/(backend)/middleware/auth/utils.ts +1 -1
  32. package/src/app/(backend)/webapi/chat/[provider]/route.test.ts +1 -1
  33. package/src/app/(backend)/webapi/chat/[provider]/route.ts +4 -4
  34. package/src/app/(backend)/webapi/chat/vertexai/route.ts +2 -1
  35. package/src/app/(backend)/webapi/models/[provider]/pull/route.ts +1 -1
  36. package/src/app/(backend)/webapi/models/[provider]/route.ts +1 -1
  37. package/src/app/(backend)/webapi/plugin/gateway/route.ts +2 -2
  38. package/src/app/(backend)/webapi/text-to-image/[provider]/route.ts +1 -1
  39. package/src/app/[variants]/(main)/settings/llm/ProviderList/Azure/index.tsx +1 -1
  40. package/src/app/[variants]/(main)/settings/provider/(detail)/azure/page.tsx +1 -1
  41. package/src/app/[variants]/(main)/settings/provider/(detail)/azureai/page.tsx +1 -1
  42. package/src/components/InvalidAPIKey/APIKeyForm/Bedrock.tsx +1 -1
  43. package/src/components/InvalidAPIKey/APIKeyForm/index.tsx +1 -1
  44. package/src/const/settings/llm.ts +2 -1
  45. package/src/database/models/__tests__/aiProvider.test.ts +1 -1
  46. package/src/database/models/aiProvider.ts +1 -1
  47. package/src/features/Conversation/Error/index.tsx +1 -1
  48. package/src/features/Conversation/components/ChatItem/ShareMessageModal/ShareImage/Preview.tsx +55 -48
  49. package/src/features/Conversation/components/ChatItem/ShareMessageModal/ShareImage/index.tsx +82 -75
  50. package/src/features/Conversation/components/ChatItem/ShareMessageModal/index.tsx +5 -2
  51. package/src/libs/trpc/client/lambda.ts +1 -1
  52. package/src/server/globalConfig/_deprecated.test.ts +1 -1
  53. package/src/server/globalConfig/_deprecated.ts +2 -1
  54. package/src/server/globalConfig/genServerAiProviderConfig.test.ts +1 -1
  55. package/src/server/globalConfig/genServerAiProviderConfig.ts +2 -1
  56. package/src/server/modules/ModelRuntime/index.test.ts +10 -7
  57. package/src/server/modules/ModelRuntime/index.ts +2 -1
  58. package/src/server/modules/ModelRuntime/trace.ts +1 -1
  59. package/src/server/routers/async/ragEval.ts +1 -1
  60. package/src/services/__tests__/_auth.test.ts +1 -1
  61. package/src/services/__tests__/chat.test.ts +11 -11
  62. package/src/services/_auth.ts +2 -1
  63. package/src/services/chat.ts +6 -6
  64. package/src/services/textToImage.ts +2 -1
  65. package/src/store/image/slices/generationConfig/initialState.ts +2 -1
  66. package/src/store/user/slices/modelList/action.ts +1 -1
  67. package/src/utils/errorResponse.test.ts +1 -2
  68. package/src/utils/errorResponse.ts +1 -2
  69. package/src/utils/fetch/fetchSSE.ts +1 -1
  70. package/src/utils/genUserLLMConfig.test.ts +1 -1
  71. package/src/utils/genUserLLMConfig.ts +2 -1
  72. package/tsconfig.json +2 -0
  73. package/vitest.config.ts +1 -0
  74. /package/{src/libs/model-runtime → packages/model-runtime/src}/BaseAI.ts +0 -0
  75. /package/{src/libs/model-runtime → packages/model-runtime/src}/ModelRuntime.test.ts +0 -0
  76. /package/{src/libs/model-runtime → packages/model-runtime/src}/ModelRuntime.ts +0 -0
  77. /package/{src/libs/model-runtime → packages/model-runtime/src}/RouterRuntime/baseRuntimeMap.ts +0 -0
  78. /package/{src/libs/model-runtime → packages/model-runtime/src}/RouterRuntime/createRuntime.test.ts +0 -0
  79. /package/{src/libs/model-runtime → packages/model-runtime/src}/RouterRuntime/createRuntime.ts +0 -0
  80. /package/{src/libs/model-runtime → packages/model-runtime/src}/RouterRuntime/index.ts +0 -0
  81. /package/{src/libs/model-runtime → packages/model-runtime/src}/UniformRuntime/index.ts +0 -0
  82. /package/{src/libs/model-runtime → packages/model-runtime/src}/ai21/index.test.ts +0 -0
  83. /package/{src/libs/model-runtime → packages/model-runtime/src}/ai21/index.ts +0 -0
  84. /package/{src/libs/model-runtime → packages/model-runtime/src}/ai302/index.ts +0 -0
  85. /package/{src/libs/model-runtime → packages/model-runtime/src}/ai360/index.test.ts +0 -0
  86. /package/{src/libs/model-runtime → packages/model-runtime/src}/ai360/index.ts +0 -0
  87. /package/{src/libs/model-runtime → packages/model-runtime/src}/aihubmix/index.ts +0 -0
  88. /package/{src/libs/model-runtime → packages/model-runtime/src}/anthropic/handleAnthropicError.ts +0 -0
  89. /package/{src/libs/model-runtime → packages/model-runtime/src}/anthropic/index.test.ts +0 -0
  90. /package/{src/libs/model-runtime → packages/model-runtime/src}/azureOpenai/index.test.ts +0 -0
  91. /package/{src/libs/model-runtime → packages/model-runtime/src}/azureOpenai/index.ts +0 -0
  92. /package/{src/libs/model-runtime → packages/model-runtime/src}/azureai/index.ts +0 -0
  93. /package/{src/libs/model-runtime → packages/model-runtime/src}/baichuan/index.test.ts +0 -0
  94. /package/{src/libs/model-runtime → packages/model-runtime/src}/baichuan/index.ts +0 -0
  95. /package/{src/libs/model-runtime → packages/model-runtime/src}/bedrock/index.test.ts +0 -0
  96. /package/{src/libs/model-runtime → packages/model-runtime/src}/bedrock/index.ts +0 -0
  97. /package/{src/libs/model-runtime → packages/model-runtime/src}/cloudflare/index.test.ts +0 -0
  98. /package/{src/libs/model-runtime → packages/model-runtime/src}/cloudflare/index.ts +0 -0
  99. /package/{src/libs/model-runtime → packages/model-runtime/src}/cohere/index.ts +0 -0
  100. /package/{src/libs/model-runtime → packages/model-runtime/src}/deepseek/index.test.ts +0 -0
  101. /package/{src/libs/model-runtime → packages/model-runtime/src}/deepseek/index.ts +0 -0
  102. /package/{src/libs/model-runtime → packages/model-runtime/src}/error.ts +0 -0
  103. /package/{src/libs/model-runtime → packages/model-runtime/src}/fal/index.test.ts +0 -0
  104. /package/{src/libs/model-runtime → packages/model-runtime/src}/fal/index.ts +0 -0
  105. /package/{src/libs/model-runtime → packages/model-runtime/src}/fireworksai/index.test.ts +0 -0
  106. /package/{src/libs/model-runtime → packages/model-runtime/src}/fireworksai/index.ts +0 -0
  107. /package/{src/libs/model-runtime → packages/model-runtime/src}/giteeai/index.test.ts +0 -0
  108. /package/{src/libs/model-runtime → packages/model-runtime/src}/giteeai/index.ts +0 -0
  109. /package/{src/libs/model-runtime → packages/model-runtime/src}/github/index.test.ts +0 -0
  110. /package/{src/libs/model-runtime → packages/model-runtime/src}/github/index.ts +0 -0
  111. /package/{src/libs/model-runtime → packages/model-runtime/src}/google/index.test.ts +0 -0
  112. /package/{src/libs/model-runtime → packages/model-runtime/src}/groq/index.test.ts +0 -0
  113. /package/{src/libs/model-runtime → packages/model-runtime/src}/groq/index.ts +0 -0
  114. /package/{src/libs/model-runtime → packages/model-runtime/src}/helpers/index.ts +0 -0
  115. /package/{src/libs/model-runtime → packages/model-runtime/src}/helpers/parseToolCalls.test.ts +0 -0
  116. /package/{src/libs/model-runtime → packages/model-runtime/src}/helpers/parseToolCalls.ts +0 -0
  117. /package/{src/libs/model-runtime → packages/model-runtime/src}/higress/index.ts +0 -0
  118. /package/{src/libs/model-runtime → packages/model-runtime/src}/huggingface/index.ts +0 -0
  119. /package/{src/libs/model-runtime → packages/model-runtime/src}/hunyuan/index.test.ts +0 -0
  120. /package/{src/libs/model-runtime → packages/model-runtime/src}/hunyuan/index.ts +0 -0
  121. /package/{src/libs/model-runtime → packages/model-runtime/src}/index.ts +0 -0
  122. /package/{src/libs/model-runtime → packages/model-runtime/src}/infiniai/index.ts +0 -0
  123. /package/{src/libs/model-runtime → packages/model-runtime/src}/internlm/index.test.ts +0 -0
  124. /package/{src/libs/model-runtime → packages/model-runtime/src}/internlm/index.ts +0 -0
  125. /package/{src/libs/model-runtime → packages/model-runtime/src}/jina/index.ts +0 -0
  126. /package/{src/libs/model-runtime → packages/model-runtime/src}/lmstudio/index.test.ts +0 -0
  127. /package/{src/libs/model-runtime → packages/model-runtime/src}/lmstudio/index.ts +0 -0
  128. /package/{src/libs/model-runtime → packages/model-runtime/src}/minimax/index.ts +0 -0
  129. /package/{src/libs/model-runtime → packages/model-runtime/src}/mistral/index.test.ts +0 -0
  130. /package/{src/libs/model-runtime → packages/model-runtime/src}/mistral/index.ts +0 -0
  131. /package/{src/libs/model-runtime → packages/model-runtime/src}/modelscope/index.ts +0 -0
  132. /package/{src/libs/model-runtime → packages/model-runtime/src}/moonshot/index.test.ts +0 -0
  133. /package/{src/libs/model-runtime → packages/model-runtime/src}/novita/__snapshots__/index.test.ts.snap +0 -0
  134. /package/{src/libs/model-runtime → packages/model-runtime/src}/novita/fixtures/models.json +0 -0
  135. /package/{src/libs/model-runtime → packages/model-runtime/src}/novita/index.test.ts +0 -0
  136. /package/{src/libs/model-runtime → packages/model-runtime/src}/novita/index.ts +0 -0
  137. /package/{src/libs/model-runtime → packages/model-runtime/src}/novita/type.ts +0 -0
  138. /package/{src/libs/model-runtime → packages/model-runtime/src}/nvidia/index.ts +0 -0
  139. /package/{src/libs/model-runtime → packages/model-runtime/src}/ollama/index.test.ts +0 -0
  140. /package/{src/libs/model-runtime → packages/model-runtime/src}/ollama/index.ts +0 -0
  141. /package/{src/libs/model-runtime → packages/model-runtime/src}/ollama/type.ts +0 -0
  142. /package/{src/libs/model-runtime → packages/model-runtime/src}/openai/__snapshots__/index.test.ts.snap +0 -0
  143. /package/{src/libs/model-runtime → packages/model-runtime/src}/openai/fixtures/openai-models.json +0 -0
  144. /package/{src/libs/model-runtime → packages/model-runtime/src}/openai/index.test.ts +0 -0
  145. /package/{src/libs/model-runtime → packages/model-runtime/src}/openai/index.ts +0 -0
  146. /package/{src/libs/model-runtime → packages/model-runtime/src}/openrouter/__snapshots__/index.test.ts.snap +0 -0
  147. /package/{src/libs/model-runtime → packages/model-runtime/src}/openrouter/fixtures/frontendModels.json +0 -0
  148. /package/{src/libs/model-runtime → packages/model-runtime/src}/openrouter/fixtures/models.json +0 -0
  149. /package/{src/libs/model-runtime → packages/model-runtime/src}/openrouter/index.test.ts +0 -0
  150. /package/{src/libs/model-runtime → packages/model-runtime/src}/openrouter/index.ts +0 -0
  151. /package/{src/libs/model-runtime → packages/model-runtime/src}/openrouter/type.ts +0 -0
  152. /package/{src/libs/model-runtime → packages/model-runtime/src}/perplexity/index.test.ts +0 -0
  153. /package/{src/libs/model-runtime → packages/model-runtime/src}/perplexity/index.ts +0 -0
  154. /package/{src/libs/model-runtime → packages/model-runtime/src}/ppio/__snapshots__/index.test.ts.snap +0 -0
  155. /package/{src/libs/model-runtime → packages/model-runtime/src}/ppio/fixtures/models.json +0 -0
  156. /package/{src/libs/model-runtime → packages/model-runtime/src}/ppio/index.test.ts +0 -0
  157. /package/{src/libs/model-runtime → packages/model-runtime/src}/ppio/index.ts +0 -0
  158. /package/{src/libs/model-runtime → packages/model-runtime/src}/ppio/type.ts +0 -0
  159. /package/{src/libs/model-runtime → packages/model-runtime/src}/providerTestUtils.test.ts +0 -0
  160. /package/{src/libs/model-runtime → packages/model-runtime/src}/providerTestUtils.ts +0 -0
  161. /package/{src/libs/model-runtime → packages/model-runtime/src}/qiniu/index.test.ts +0 -0
  162. /package/{src/libs/model-runtime → packages/model-runtime/src}/qiniu/index.ts +0 -0
  163. /package/{src/libs/model-runtime → packages/model-runtime/src}/qwen/createImage.test.ts +0 -0
  164. /package/{src/libs/model-runtime → packages/model-runtime/src}/qwen/index.test.ts +0 -0
  165. /package/{src/libs/model-runtime → packages/model-runtime/src}/runtimeMap.ts +0 -0
  166. /package/{src/libs/model-runtime → packages/model-runtime/src}/sambanova/index.ts +0 -0
  167. /package/{src/libs/model-runtime → packages/model-runtime/src}/search1api/index.ts +0 -0
  168. /package/{src/libs/model-runtime → packages/model-runtime/src}/sensenova/index.test.ts +0 -0
  169. /package/{src/libs/model-runtime → packages/model-runtime/src}/siliconcloud/index.ts +0 -0
  170. /package/{src/libs/model-runtime → packages/model-runtime/src}/spark/index.test.ts +0 -0
  171. /package/{src/libs/model-runtime → packages/model-runtime/src}/spark/index.ts +0 -0
  172. /package/{src/libs/model-runtime → packages/model-runtime/src}/stepfun/index.test.ts +0 -0
  173. /package/{src/libs/model-runtime → packages/model-runtime/src}/stepfun/index.ts +0 -0
  174. /package/{src/libs/model-runtime → packages/model-runtime/src}/taichu/index.test.ts +0 -0
  175. /package/{src/libs/model-runtime → packages/model-runtime/src}/taichu/index.ts +0 -0
  176. /package/{src/libs/model-runtime → packages/model-runtime/src}/tencentcloud/index.test.ts +0 -0
  177. /package/{src/libs/model-runtime → packages/model-runtime/src}/tencentcloud/index.ts +0 -0
  178. /package/{src/libs/model-runtime → packages/model-runtime/src}/togetherai/fixtures/models.json +0 -0
  179. /package/{src/libs/model-runtime → packages/model-runtime/src}/togetherai/index.test.ts +0 -0
  180. /package/{src/libs/model-runtime → packages/model-runtime/src}/togetherai/index.ts +0 -0
  181. /package/{src/libs/model-runtime → packages/model-runtime/src}/togetherai/type.ts +0 -0
  182. /package/{src/libs/model-runtime → packages/model-runtime/src}/types/chat.ts +0 -0
  183. /package/{src/libs/model-runtime → packages/model-runtime/src}/types/embeddings.ts +0 -0
  184. /package/{src/libs/model-runtime → packages/model-runtime/src}/types/image.ts +0 -0
  185. /package/{src/libs/model-runtime → packages/model-runtime/src}/types/index.ts +0 -0
  186. /package/{src/libs/model-runtime → packages/model-runtime/src}/types/model.ts +0 -0
  187. /package/{src/libs/model-runtime → packages/model-runtime/src}/types/textToImage.ts +0 -0
  188. /package/{src/libs/model-runtime → packages/model-runtime/src}/types/tts.ts +0 -0
  189. /package/{src/libs/model-runtime → packages/model-runtime/src}/types/type.ts +0 -0
  190. /package/{src/libs/model-runtime → packages/model-runtime/src}/upstage/index.test.ts +0 -0
  191. /package/{src/libs/model-runtime → packages/model-runtime/src}/upstage/index.ts +0 -0
  192. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/anthropicHelpers.test.ts +0 -0
  193. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/anthropicHelpers.ts +0 -0
  194. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/cloudflareHelpers.test.ts +0 -0
  195. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/cloudflareHelpers.ts +0 -0
  196. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/createError.ts +0 -0
  197. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/debugStream.test.ts +0 -0
  198. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/debugStream.ts +0 -0
  199. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/desensitizeUrl.test.ts +0 -0
  200. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/desensitizeUrl.ts +0 -0
  201. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/googleErrorParser.ts +0 -0
  202. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/handleOpenAIError.ts +0 -0
  203. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/modelParse.test.ts +0 -0
  204. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/modelParse.ts +0 -0
  205. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/openaiCompatibleFactory/index.test.ts +0 -0
  206. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/openaiCompatibleFactory/index.ts +0 -0
  207. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/openaiHelpers.test.ts +0 -0
  208. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/openaiHelpers.ts +0 -0
  209. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/response.ts +0 -0
  210. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/sensenovaHelpers.test.ts +0 -0
  211. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/sensenovaHelpers.ts +0 -0
  212. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/__snapshots__/protocol.test.ts.snap +0 -0
  213. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/anthropic.test.ts +0 -0
  214. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/anthropic.ts +0 -0
  215. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/bedrock/claude.ts +0 -0
  216. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/bedrock/common.ts +0 -0
  217. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/bedrock/index.ts +0 -0
  218. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/bedrock/llama.test.ts +0 -0
  219. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/bedrock/llama.ts +0 -0
  220. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/google-ai.test.ts +0 -0
  221. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/google-ai.ts +0 -0
  222. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/index.ts +0 -0
  223. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/model.ts +0 -0
  224. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/ollama.test.ts +0 -0
  225. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/ollama.ts +0 -0
  226. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/openai/__snapshots__/responsesStream.test.ts.snap +0 -0
  227. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/openai/index.ts +0 -0
  228. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/openai/openai.test.ts +0 -0
  229. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/openai/openai.ts +0 -0
  230. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/openai/responsesStream.test.ts +0 -0
  231. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/protocol.test.ts +0 -0
  232. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/protocol.ts +0 -0
  233. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/qwen.test.ts +0 -0
  234. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/qwen.ts +0 -0
  235. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/spark.test.ts +0 -0
  236. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/spark.ts +0 -0
  237. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/utils.ts +0 -0
  238. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/vertex-ai.test.ts +0 -0
  239. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/streams/vertex-ai.ts +0 -0
  240. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/uriParser.test.ts +0 -0
  241. /package/{src/libs/model-runtime → packages/model-runtime/src}/utils/uriParser.ts +0 -0
  242. /package/{src/libs/model-runtime → packages/model-runtime/src}/v0/index.ts +0 -0
  243. /package/{src/libs/model-runtime → packages/model-runtime/src}/vertexai/index.ts +0 -0
  244. /package/{src/libs/model-runtime → packages/model-runtime/src}/vllm/index.ts +0 -0
  245. /package/{src/libs/model-runtime → packages/model-runtime/src}/wenxin/index.test.ts +0 -0
  246. /package/{src/libs/model-runtime → packages/model-runtime/src}/wenxin/index.ts +0 -0
  247. /package/{src/libs/model-runtime → packages/model-runtime/src}/xai/index.test.ts +0 -0
  248. /package/{src/libs/model-runtime → packages/model-runtime/src}/xai/index.ts +0 -0
  249. /package/{src/libs/model-runtime → packages/model-runtime/src}/xinference/index.ts +0 -0
  250. /package/{src/libs/model-runtime → packages/model-runtime/src}/zeroone/index.test.ts +0 -0
  251. /package/{src/libs/model-runtime → packages/model-runtime/src}/zeroone/index.ts +0 -0
  252. /package/{src/libs/model-runtime → packages/model-runtime/src}/zhipu/index.test.ts +0 -0
  253. /package/{src/libs/model-runtime → packages/model-runtime/src}/zhipu/index.ts +0 -0
@@ -1,529 +1,286 @@
1
1
  {
2
- "adapters": [
3
- {
4
- "owner": "built-in",
5
- "name": "user-adapter-built-in",
6
- "createdTime": "2024-09-09T09:26:13Z",
7
- "table": "casbin_user_rule",
8
- "useSameDb": true,
9
- "type": "",
10
- "databaseType": "",
11
- "host": "",
12
- "port": 0,
13
- "user": "",
14
- "password": "",
15
- "database": ""
16
- },
17
- {
18
- "owner": "built-in",
19
- "name": "api-adapter-built-in",
20
- "createdTime": "2024-09-09T09:26:12Z",
21
- "table": "casbin_api_rule",
22
- "useSameDb": true,
23
- "type": "",
24
- "databaseType": "",
25
- "host": "",
26
- "port": 0,
27
- "user": "",
28
- "password": "",
29
- "database": ""
30
- }
31
- ],
32
- "applications": [
2
+ "organizations": [
33
3
  {
34
4
  "owner": "admin",
35
5
  "name": "lobechat",
36
- "createdTime": "2024-09-09T09:26:06Z",
6
+ "createdTime": "2025-08-11T16:57:04+08:00",
37
7
  "displayName": "LobeChat",
8
+ "websiteUrl": "https://lobehub.com",
38
9
  "logo": "https://lobehub.com/icon-192x192.png",
39
- "homepageUrl": "https://lobehub.com",
40
- "description": "LobeChat",
41
- "organization": "lobechat",
42
- "cert": "cert-built-in",
43
- "headerHtml": "",
44
- "enablePassword": true,
45
- "enableSignUp": false,
46
- "enableSigninSession": false,
47
- "enableAutoSignin": false,
48
- "enableCodeSignin": false,
49
- "enableSamlCompress": false,
50
- "enableSamlC14n10": false,
51
- "enableSamlPostBinding": false,
52
- "enableWebAuthn": false,
53
- "enableLinkWithEmail": true,
54
- "orgChoiceMode": "",
55
- "samlReplyUrl": "",
56
- "providers": [],
57
- "signinMethods": [
58
- {
59
- "name": "Password",
60
- "displayName": "Password",
61
- "rule": "All"
62
- }
10
+ "logoDark": "",
11
+ "favicon": "https://lobehub.com/favicon.ico",
12
+ "hasPrivilegeConsent": false,
13
+ "passwordType": "plain",
14
+ "passwordSalt": "",
15
+ "passwordOptions": [
16
+ "AtLeast6"
63
17
  ],
64
- "signupItems": [
18
+ "passwordObfuscatorType": "Plain",
19
+ "passwordObfuscatorKey": "",
20
+ "passwordExpireDays": 0,
21
+ "countryCodes": [
22
+ "US"
23
+ ],
24
+ "defaultAvatar": "https://lobehub.com/favicon.ico",
25
+ "defaultApplication": "",
26
+ "userTypes": null,
27
+ "tags": [],
28
+ "languages": [
29
+ "en",
30
+ "es",
31
+ "fr",
32
+ "de",
33
+ "zh",
34
+ "id",
35
+ "ja",
36
+ "ko",
37
+ "ru",
38
+ "vi",
39
+ "pt",
40
+ "it",
41
+ "ms",
42
+ "tr",
43
+ "ar",
44
+ "he",
45
+ "nl",
46
+ "pl",
47
+ "fi",
48
+ "sv",
49
+ "uk",
50
+ "kk",
51
+ "fa",
52
+ "cs",
53
+ "sk"
54
+ ],
55
+ "themeData": null,
56
+ "masterPassword": "",
57
+ "defaultPassword": "",
58
+ "masterVerificationCode": "",
59
+ "ipWhitelist": "",
60
+ "initScore": 0,
61
+ "enableSoftDeletion": false,
62
+ "isProfilePublic": true,
63
+ "useEmailAsUsername": false,
64
+ "enableTour": true,
65
+ "disableSignin": false,
66
+ "ipRestriction": "",
67
+ "navItems": null,
68
+ "widgetItems": null,
69
+ "mfaItems": null,
70
+ "mfaRememberInHours": 12,
71
+ "accountItems": [
72
+ {
73
+ "name": "Organization",
74
+ "visible": true,
75
+ "viewRule": "Public",
76
+ "modifyRule": "Admin",
77
+ "regex": ""
78
+ },
65
79
  {
66
80
  "name": "ID",
67
- "visible": false,
68
- "required": true,
69
- "prompted": false,
70
- "customCss": "",
71
- "label": "",
72
- "placeholder": "",
73
- "regex": "",
74
- "rule": "Random"
81
+ "visible": true,
82
+ "viewRule": "Public",
83
+ "modifyRule": "Immutable",
84
+ "regex": ""
75
85
  },
76
86
  {
77
- "name": "Username",
87
+ "name": "Name",
78
88
  "visible": true,
79
- "required": true,
80
- "prompted": false,
81
- "customCss": "",
82
- "label": "",
83
- "placeholder": "",
84
- "regex": "",
85
- "rule": "None"
89
+ "viewRule": "Public",
90
+ "modifyRule": "Admin",
91
+ "regex": ""
86
92
  },
87
93
  {
88
94
  "name": "Display name",
89
95
  "visible": true,
90
- "required": true,
91
- "prompted": false,
92
- "customCss": "",
93
- "label": "",
94
- "placeholder": "",
95
- "regex": "",
96
- "rule": "None"
96
+ "viewRule": "Public",
97
+ "modifyRule": "Self",
98
+ "regex": ""
97
99
  },
98
100
  {
99
- "name": "Password",
101
+ "name": "Avatar",
100
102
  "visible": true,
101
- "required": true,
102
- "prompted": false,
103
- "customCss": "",
104
- "label": "",
105
- "placeholder": "",
106
- "regex": "",
107
- "rule": "None"
103
+ "viewRule": "Public",
104
+ "modifyRule": "Self",
105
+ "regex": ""
108
106
  },
109
107
  {
110
- "name": "Confirm password",
108
+ "name": "User type",
111
109
  "visible": true,
112
- "required": true,
113
- "prompted": false,
114
- "customCss": "",
115
- "label": "",
116
- "placeholder": "",
117
- "regex": "",
118
- "rule": "None"
110
+ "viewRule": "Public",
111
+ "modifyRule": "Admin",
112
+ "regex": ""
119
113
  },
120
114
  {
121
- "name": "Signup button",
115
+ "name": "Password",
122
116
  "visible": true,
123
- "required": false,
124
- "prompted": false,
125
- "customCss": "",
126
- "label": "",
127
- "placeholder": "",
128
- "regex": "",
129
- "rule": ""
130
- }
131
- ],
132
- "signinItems": [
117
+ "viewRule": "Self",
118
+ "modifyRule": "Self",
119
+ "regex": ""
120
+ },
133
121
  {
134
- "name": "Back button",
122
+ "name": "Email",
135
123
  "visible": true,
136
- "label": "",
137
- "customCss": ".back-button {\n top: 65px;\n left: 15px;\n position: absolute;\n}\n.back-inner-button{}",
138
- "placeholder": "",
139
- "rule": "None",
140
- "isCustom": false
124
+ "viewRule": "Public",
125
+ "modifyRule": "Self",
126
+ "regex": ""
141
127
  },
142
128
  {
143
- "name": "Languages",
129
+ "name": "Phone",
144
130
  "visible": true,
145
- "label": "",
146
- "customCss": ".login-languages {\n top: 55px;\n right: 5px;\n position: absolute;\n}",
147
- "placeholder": "",
148
- "rule": "None",
149
- "isCustom": false
131
+ "viewRule": "Public",
132
+ "modifyRule": "Self",
133
+ "regex": ""
150
134
  },
151
135
  {
152
- "name": "Logo",
136
+ "name": "Country code",
153
137
  "visible": true,
154
- "label": "",
155
- "customCss": ".login-logo-box {} \n.panel-logo {\n width: 80px;\n}",
156
- "placeholder": "",
157
- "rule": "None",
158
- "isCustom": false
138
+ "viewRule": "Public",
139
+ "modifyRule": "Self",
140
+ "regex": ""
159
141
  },
160
142
  {
161
- "name": "Signin methods",
143
+ "name": "Country/Region",
162
144
  "visible": true,
163
- "label": "",
164
- "customCss": ".signin-methods {}",
165
- "placeholder": "",
166
- "rule": "None",
167
- "isCustom": false
145
+ "viewRule": "Public",
146
+ "modifyRule": "Self",
147
+ "regex": ""
168
148
  },
169
149
  {
170
- "name": "Username",
150
+ "name": "Location",
171
151
  "visible": true,
172
- "label": "",
173
- "customCss": ".login-username {}\n.login-username-input{}",
174
- "placeholder": "",
175
- "rule": "None",
176
- "isCustom": false
152
+ "viewRule": "Public",
153
+ "modifyRule": "Self",
154
+ "regex": ""
177
155
  },
178
156
  {
179
- "name": "Password",
157
+ "name": "Address",
180
158
  "visible": true,
181
- "label": "",
182
- "customCss": ".login-password {}\n.login-password-input{}",
183
- "placeholder": "",
184
- "rule": "None",
185
- "isCustom": false
159
+ "viewRule": "Public",
160
+ "modifyRule": "Self",
161
+ "regex": ""
186
162
  },
187
163
  {
188
- "name": "Agreement",
164
+ "name": "Affiliation",
189
165
  "visible": true,
190
- "label": "",
191
- "customCss": ".login-agreement {}",
192
- "placeholder": "",
193
- "rule": "None",
194
- "isCustom": false
166
+ "viewRule": "Public",
167
+ "modifyRule": "Self",
168
+ "regex": ""
195
169
  },
196
170
  {
197
- "name": "Forgot password?",
171
+ "name": "Title",
198
172
  "visible": true,
199
- "label": "",
200
- "customCss": ".login-forget-password {\n display: inline-flex;\n justify-content: space-between;\n width: 320px;\n margin-bottom: 25px;\n}",
201
- "placeholder": "",
202
- "rule": "None",
203
- "isCustom": false
173
+ "viewRule": "Public",
174
+ "modifyRule": "Self",
175
+ "regex": ""
204
176
  },
205
177
  {
206
- "name": "Login button",
178
+ "name": "ID card type",
207
179
  "visible": true,
208
- "label": "",
209
- "customCss": ".login-button-box {\n margin-bottom: 5px;\n}\n.login-button {\n width: 100%;\n}",
210
- "placeholder": "",
211
- "rule": "None",
212
- "isCustom": false
180
+ "viewRule": "Public",
181
+ "modifyRule": "Self",
182
+ "regex": ""
213
183
  },
214
184
  {
215
- "name": "Signup link",
216
- "visible": true,
217
- "label": "",
218
- "customCss": ".login-signup-link {\n margin-bottom: 24px;\n display: flex;\n justify-content: end;\n}",
219
- "placeholder": "",
220
- "rule": "None",
221
- "isCustom": false
222
- },
223
- {
224
- "name": "Providers",
225
- "visible": true,
226
- "label": "",
227
- "customCss": ".provider-img {\n width: 30px;\n margin: 5px;\n}\n.provider-big-img {\n margin-bottom: 10px;\n}",
228
- "placeholder": "",
229
- "rule": "small",
230
- "isCustom": false
231
- }
232
- ],
233
- "grantTypes": [
234
- "authorization_code"
235
- ],
236
- "organizationObj": null,
237
- "certPublicKey": "",
238
- "tags": [],
239
- "samlAttributes": null,
240
- "isShared": false,
241
- "clientId": "a387a4892ee19b1a2249",
242
- "clientSecret": "dbf205949d704de81b0b5b3603174e23fbecc354",
243
- "redirectUris": [
244
- "http://localhost:3210/api/auth/callback/casdoor",
245
- "https://localhost:3210/api/auth/callback/casdoor",
246
- "http://example.com/api/auth/callback/casdoor",
247
- "https://example.com/api/auth/callback/casdoor"
248
- ],
249
- "tokenFormat": "JWT",
250
- "tokenSigningMethod": "",
251
- "tokenFields": [],
252
- "expireInHours": 168,
253
- "refreshExpireInHours": 0,
254
- "signupUrl": "",
255
- "signinUrl": "",
256
- "forgetUrl": "",
257
- "affiliationUrl": "",
258
- "termsOfUse": "",
259
- "signupHtml": "",
260
- "signinHtml": "",
261
- "themeData": null,
262
- "footerHtml": "",
263
- "formCss": "",
264
- "formCssMobile": "",
265
- "formOffset": 2,
266
- "formSideHtml": "",
267
- "formBackgroundUrl": "",
268
- "failedSigninLimit": 5,
269
- "failedSigninFrozenTime": 15
270
- }
271
- ],
272
- "certs": [
273
- {
274
- "owner": "admin",
275
- "name": "cert-built-in",
276
- "createdTime": "2024-09-09T09:26:06Z",
277
- "displayName": "Built-in Cert",
278
- "scope": "JWT",
279
- "type": "x509",
280
- "cryptoAlgorithm": "RS256",
281
- "bitSize": 4096,
282
- "expireInYears": 20,
283
- "certificate": "-----BEGIN CERTIFICATE-----\nMIIE3TCCAsWgAwIBAgIDAeJAMA0GCSqGSIb3DQEBCwUAMCgxDjAMBgNVBAoTBWFk\nbWluMRYwFAYDVQQDEw1jZXJ0LWJ1aWx0LWluMB4XDTI0MDkwOTA5MjYxMVoXDTQ0\nMDkwOTA5MjYxMVowKDEOMAwGA1UEChMFYWRtaW4xFjAUBgNVBAMTDWNlcnQtYnVp\nbHQtaW4wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC3EnylZ2VurCm4\ngVtZHBUw67qvuKoYuU9whqaJr2UQEboIX4ca+FtZCjDgcBoD80lwSoYrcKpTG+DI\nVEMDznUHOjKwongRWclV1jeE3jZqObtmG9872yt/WX+nxQLyDrk+nUGhci6Qrhgo\nYToN1DYaMqMV1Pi8catx8S0W3gg+ilb9mG3xdFpQo89o84mJhajTE/5/0jBuQ50D\nx8CRolpRWjZ6i9RNVfFQglei+aW0RNf1PY6RqMkxc/Hy0XwXf/bjM5Ax7Aajwteh\nx0Q1zeUaRMMhFu6REtz345oJdLJpUkpFwJN4dPQ35a0tqnjkD1MLZjvBhSgOt5IP\nAJA1HmcR83RMBS8B3iV6y/clPjr02cjyasORy+kL/aFMfZfwvuRWX1NqRE99+rUT\nlPszH2SQi7PCUItQK72nnMYWBMXgyS8/Mra48q7LDAB/ZQnWuEG1+P1SdsQUWM2U\naxkgjmfMNATVAgufrLOcOZDxAwVS7+quCF5f/QPTWaFqz5ofcpoUlf0iriv/k1mi\nl7OghX0eqyLI2cCSma+dgB1eMni91eDCLVRT25mGDYreFjkpAwpMx2uaBk5e6ffT\n2jmZ2Zp9iCrUomLXDNiwY2wZDClcDKFiHNhNPAN3IbvBC3c6qpt0dLsWvGYW2IQT\nTnI71r/YY1XN/mTa4t/zwI+/kghjMQIDAQABoxAwDjAMBgNVHRMBAf8EAjAAMA0G\nCSqGSIb3DQEBCwUAA4ICAQBJUMBYJXnNihlGA2NMFIZMlsnW+5tjUqqK/Pv+oSpt\nrqZxwDKFZL0NMxd4pVnLxIdU5HEcN2e01Xyqlaf5Tm3BZN6MaRVZAIRVfvxcNESQ\nYA0jSFjsJzZUFGIQf8P9a5u+7qqSmj4tZx4XaRjOGSOf8t2RMJDmAbUeydLiD8ny\nCcxTzetmyYky8J3NBUoYGRbwU6KKbkxHbT35QheAb3jT4CELopLZ57Aa5Fb8xTjQ\n6tNqwZ+Z3993FkTOWPYLNLM1l46oN3g9yVY4ncGjUJkxsLTpAXB4I+wdqeew9XXe\nxWNcY3cWWjA5VXgCNzntkPFM1D5IWkgP8MYVCvdv0Unfo78PahwVMoQMnDG4xLuS\n50gVKpukHLZQJNFPF0X4u/JeXauKPv/w7ssTTAK+8RIBYxBXQ72zDJNHyTqldR4e\nfPHZfcW7OTmUr5FGNZThyW7ipvZRWcLM4u4IaWF2ncllOSqAXs1gDxkk201J7Lrb\noZOjC3zgxE9HTCXpiszOAt5I38++5ufE3/hJW3ckz0jaJDeFqUphnn8eQhXPSwtC\nR8TL4ZpXSAFEpwahG+fCfZDK2KyPME33eXV3jtsYf0QHerYiMnP+tf1vAk3qtOzo\nE6Iv16fpBUvshk1Gm6E6bdhsP0hCrMwV4dm8uC3S52qcFiWZ6AC/HURaMbY+/lOs\n0A==\n-----END CERTIFICATE-----\n",
284
- "privateKey": "-----BEGIN RSA PRIVATE KEY-----\n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\n-----END RSA PRIVATE KEY-----\n"
285
- }
286
- ],
287
- "enforcers": [
288
- {
289
- "owner": "built-in",
290
- "name": "user-enforcer-built-in",
291
- "createdTime": "2024-09-09T09:26:13Z",
292
- "updatedTime": "2024-09-09 09:26:13",
293
- "displayName": "User Enforcer",
294
- "description": "",
295
- "model": "built-in/user-model-built-in",
296
- "adapter": "built-in/user-adapter-built-in",
297
- "modelCfg": null
298
- },
299
- {
300
- "owner": "built-in",
301
- "name": "api-enforcer-built-in",
302
- "createdTime": "2024-09-09T09:26:12Z",
303
- "updatedTime": "2024-09-09 09:26:12",
304
- "displayName": "API Enforcer",
305
- "description": "",
306
- "model": "built-in/api-model-built-in",
307
- "adapter": "built-in/api-adapter-built-in",
308
- "modelCfg": null
309
- }
310
- ],
311
- "groups": [],
312
- "invitations": [],
313
- "ldaps": [
314
- {
315
- "id": "ldap-built-in",
316
- "owner": "built-in",
317
- "createdTime": "2024-09-09T09:26:12Z",
318
- "serverName": "BuildIn LDAP Server",
319
- "host": "example.com",
320
- "port": 389,
321
- "enableSsl": false,
322
- "username": "cn=buildin,dc=example,dc=com",
323
- "password": "123",
324
- "baseDn": "ou=BuildIn,dc=example,dc=com",
325
- "filter": "",
326
- "filterFields": null,
327
- "defaultGroup": "",
328
- "autoSync": 0,
329
- "lastSync": ""
330
- }
331
- ],
332
- "models": [
333
- {
334
- "owner": "built-in",
335
- "name": "user-model-built-in",
336
- "createdTime": "2024-09-09T09:26:13Z",
337
- "displayName": "Built-in Model",
338
- "description": "",
339
- "modelText": "[request_definition]\nr = sub, obj, act\n\n[policy_definition]\np = sub, obj, act\n\n[role_definition]\ng = _, _\n\n[policy_effect]\ne = some(where (p.eft == allow))\n\n[matchers]\nm = g(r.sub, p.sub) \u0026\u0026 r.obj == p.obj \u0026\u0026 r.act == p.act"
340
- },
341
- {
342
- "owner": "built-in",
343
- "name": "api-model-built-in",
344
- "createdTime": "2024-09-09T09:26:12Z",
345
- "displayName": "API Model",
346
- "description": "",
347
- "modelText": "[request_definition]\nr = subOwner, subName, method, urlPath, objOwner, objName\n\n[policy_definition]\np = subOwner, subName, method, urlPath, objOwner, objName\n\n[role_definition]\ng = _, _\n\n[policy_effect]\ne = some(where (p.eft == allow))\n\n[matchers]\nm = (r.subOwner == p.subOwner || p.subOwner == \"*\") \u0026\u0026 \\\n (r.subName == p.subName || p.subName == \"*\" || r.subName != \"anonymous\" \u0026\u0026 p.subName == \"!anonymous\") \u0026\u0026 \\\n (r.method == p.method || p.method == \"*\") \u0026\u0026 \\\n (r.urlPath == p.urlPath || p.urlPath == \"*\") \u0026\u0026 \\\n (r.objOwner == p.objOwner || p.objOwner == \"*\") \u0026\u0026 \\\n (r.objName == p.objName || p.objName == \"*\") || \\\n (r.subOwner == r.objOwner \u0026\u0026 r.subName == r.objName)"
348
- }
349
- ],
350
- "organizations": [
351
- {
352
- "owner": "admin",
353
- "name": "built-in",
354
- "createdTime": "2024-09-09T09:26:04Z",
355
- "displayName": "Built-in Organization",
356
- "websiteUrl": "https://example.com",
357
- "logo": "",
358
- "logoDark": "",
359
- "favicon": "https://cdn.casbin.org/img/casbin/favicon.ico",
360
- "passwordType": "plain",
361
- "passwordSalt": "",
362
- "passwordOptions": [
363
- "AtLeast6"
364
- ],
365
- "countryCodes": [
366
- "US",
367
- "ES",
368
- "FR",
369
- "DE",
370
- "GB",
371
- "CN",
372
- "JP",
373
- "KR",
374
- "VN",
375
- "ID",
376
- "SG",
377
- "IN"
378
- ],
379
- "defaultAvatar": "https://cdn.casbin.org/img/casbin.svg",
380
- "defaultApplication": "",
381
- "tags": [],
382
- "languages": [
383
- "en",
384
- "zh",
385
- "es",
386
- "fr",
387
- "de",
388
- "id",
389
- "ja",
390
- "ko",
391
- "ru",
392
- "vi",
393
- "pt"
394
- ],
395
- "themeData": null,
396
- "masterPassword": "",
397
- "defaultPassword": "",
398
- "masterVerificationCode": "",
399
- "initScore": 2000,
400
- "enableSoftDeletion": false,
401
- "isProfilePublic": false,
402
- "useEmailAsUsername": false,
403
- "enableTour": true,
404
- "mfaItems": null,
405
- "accountItems": [
406
- {
407
- "name": "Organization",
408
- "visible": true,
409
- "viewRule": "Public",
410
- "modifyRule": "Admin",
411
- "regex": ""
412
- },
413
- {
414
- "name": "ID",
185
+ "name": "ID card",
415
186
  "visible": true,
416
187
  "viewRule": "Public",
417
- "modifyRule": "Immutable",
188
+ "modifyRule": "Self",
418
189
  "regex": ""
419
190
  },
420
191
  {
421
- "name": "Name",
192
+ "name": "ID card info",
422
193
  "visible": true,
423
194
  "viewRule": "Public",
424
- "modifyRule": "Admin",
195
+ "modifyRule": "Self",
425
196
  "regex": ""
426
197
  },
427
198
  {
428
- "name": "Display name",
199
+ "name": "Homepage",
429
200
  "visible": true,
430
201
  "viewRule": "Public",
431
202
  "modifyRule": "Self",
432
203
  "regex": ""
433
204
  },
434
205
  {
435
- "name": "Avatar",
206
+ "name": "Bio",
436
207
  "visible": true,
437
208
  "viewRule": "Public",
438
209
  "modifyRule": "Self",
439
210
  "regex": ""
440
211
  },
441
212
  {
442
- "name": "User type",
213
+ "name": "Tag",
443
214
  "visible": true,
444
215
  "viewRule": "Public",
445
216
  "modifyRule": "Admin",
446
217
  "regex": ""
447
218
  },
448
219
  {
449
- "name": "Password",
450
- "visible": true,
451
- "viewRule": "Self",
452
- "modifyRule": "Self",
453
- "regex": ""
454
- },
455
- {
456
- "name": "Email",
220
+ "name": "Language",
457
221
  "visible": true,
458
222
  "viewRule": "Public",
459
- "modifyRule": "Self",
223
+ "modifyRule": "Admin",
460
224
  "regex": ""
461
225
  },
462
226
  {
463
- "name": "Phone",
227
+ "name": "Gender",
464
228
  "visible": true,
465
229
  "viewRule": "Public",
466
- "modifyRule": "Self",
230
+ "modifyRule": "Admin",
467
231
  "regex": ""
468
232
  },
469
233
  {
470
- "name": "Country code",
234
+ "name": "Birthday",
471
235
  "visible": true,
472
236
  "viewRule": "Public",
473
237
  "modifyRule": "Admin",
474
238
  "regex": ""
475
239
  },
476
240
  {
477
- "name": "Country/Region",
241
+ "name": "Education",
478
242
  "visible": true,
479
243
  "viewRule": "Public",
480
- "modifyRule": "Self",
244
+ "modifyRule": "Admin",
481
245
  "regex": ""
482
246
  },
483
247
  {
484
- "name": "Location",
248
+ "name": "Score",
485
249
  "visible": true,
486
250
  "viewRule": "Public",
487
- "modifyRule": "Self",
251
+ "modifyRule": "Admin",
488
252
  "regex": ""
489
253
  },
490
254
  {
491
- "name": "Affiliation",
255
+ "name": "Karma",
492
256
  "visible": true,
493
257
  "viewRule": "Public",
494
- "modifyRule": "Self",
258
+ "modifyRule": "Admin",
495
259
  "regex": ""
496
260
  },
497
261
  {
498
- "name": "Title",
262
+ "name": "Ranking",
499
263
  "visible": true,
500
264
  "viewRule": "Public",
501
- "modifyRule": "Self",
265
+ "modifyRule": "Admin",
502
266
  "regex": ""
503
267
  },
504
268
  {
505
- "name": "Homepage",
269
+ "name": "Signup application",
506
270
  "visible": true,
507
271
  "viewRule": "Public",
508
- "modifyRule": "Self",
272
+ "modifyRule": "Admin",
509
273
  "regex": ""
510
274
  },
511
275
  {
512
- "name": "Bio",
513
- "visible": true,
514
- "viewRule": "Public",
276
+ "name": "API key",
277
+ "visible": false,
278
+ "viewRule": "",
515
279
  "modifyRule": "Self",
516
280
  "regex": ""
517
281
  },
518
282
  {
519
- "name": "Tag",
520
- "visible": true,
521
- "viewRule": "Public",
522
- "modifyRule": "Admin",
523
- "regex": ""
524
- },
525
- {
526
- "name": "Signup application",
283
+ "name": "Groups",
527
284
  "visible": true,
528
285
  "viewRule": "Public",
529
286
  "modifyRule": "Admin",
@@ -543,13 +300,6 @@
543
300
  "modifyRule": "Immutable",
544
301
  "regex": ""
545
302
  },
546
- {
547
- "name": "Groups",
548
- "visible": true,
549
- "viewRule": "Public",
550
- "modifyRule": "Admin",
551
- "regex": ""
552
- },
553
303
  {
554
304
  "name": "3rd-party logins",
555
305
  "visible": true,
@@ -559,6 +309,13 @@
559
309
  },
560
310
  {
561
311
  "name": "Properties",
312
+ "visible": false,
313
+ "viewRule": "Admin",
314
+ "modifyRule": "Admin",
315
+ "regex": ""
316
+ },
317
+ {
318
+ "name": "Is online",
562
319
  "visible": true,
563
320
  "viewRule": "Admin",
564
321
  "modifyRule": "Admin",
@@ -617,18 +374,22 @@
617
374
  },
618
375
  {
619
376
  "owner": "admin",
620
- "name": "lobechat",
621
- "createdTime": "2024-09-09T09:26:04Z",
622
- "displayName": "LobeChat Organization",
623
- "websiteUrl": "https://lobehub.com",
624
- "logo": "https://lobehub.com/icon-192x192.png",
377
+ "name": "built-in",
378
+ "createdTime": "2025-08-11T08:43:22Z",
379
+ "displayName": "Built-in Organization",
380
+ "websiteUrl": "https://example.com",
381
+ "logo": "",
625
382
  "logoDark": "",
626
- "favicon": "https://lobehub.com/favicon.ico",
383
+ "favicon": "https://cdn.casbin.org/img/casbin/favicon.ico",
384
+ "hasPrivilegeConsent": false,
627
385
  "passwordType": "plain",
628
386
  "passwordSalt": "",
629
387
  "passwordOptions": [
630
388
  "AtLeast6"
631
389
  ],
390
+ "passwordObfuscatorType": "",
391
+ "passwordObfuscatorKey": "",
392
+ "passwordExpireDays": 0,
632
393
  "countryCodes": [
633
394
  "US",
634
395
  "ES",
@@ -645,6 +406,7 @@
645
406
  ],
646
407
  "defaultAvatar": "https://cdn.casbin.org/img/casbin.svg",
647
408
  "defaultApplication": "",
409
+ "userTypes": [],
648
410
  "tags": [],
649
411
  "languages": [
650
412
  "en",
@@ -663,12 +425,18 @@
663
425
  "masterPassword": "",
664
426
  "defaultPassword": "",
665
427
  "masterVerificationCode": "",
428
+ "ipWhitelist": "",
666
429
  "initScore": 2000,
667
430
  "enableSoftDeletion": false,
668
431
  "isProfilePublic": false,
669
432
  "useEmailAsUsername": false,
670
433
  "enableTour": true,
434
+ "disableSignin": false,
435
+ "ipRestriction": "",
436
+ "navItems": null,
437
+ "widgetItems": null,
671
438
  "mfaItems": null,
439
+ "mfaRememberInHours": 0,
672
440
  "accountItems": [
673
441
  {
674
442
  "name": "Organization",
@@ -880,76 +648,579 @@
880
648
  "modifyRule": "Self",
881
649
  "regex": ""
882
650
  }
883
- ]
884
- }
885
- ],
886
- "payments": [],
887
- "permissions": [
888
- {
889
- "owner": "built-in",
890
- "name": "permission-built-in",
891
- "createdTime": "2024-09-09T09:26:04Z",
892
- "displayName": "Built-in Permission",
893
- "description": "Built-in Permission",
894
- "users": [
895
- "built-in/*"
896
- ],
897
- "groups": [],
898
- "roles": [],
899
- "domains": [],
900
- "model": "user-model-built-in",
901
- "adapter": "",
902
- "resourceType": "Application",
903
- "resources": [
904
- "app-built-in"
905
- ],
906
- "actions": [
907
- "Read",
908
- "Write",
909
- "Admin"
651
+ ]
652
+ }
653
+ ],
654
+ "applications": [
655
+ {
656
+ "owner": "admin",
657
+ "name": "lobechat",
658
+ "createdTime": "2025-08-11T17:06:30+08:00",
659
+ "displayName": "LobeChat",
660
+ "logo": "https://lobehub.com/icon-192x192.png",
661
+ "homepageUrl": "https://lobehub.com",
662
+ "description": "",
663
+ "organization": "lobechat",
664
+ "cert": "cert-built-in",
665
+ "defaultGroup": "",
666
+ "headerHtml": "",
667
+ "enablePassword": true,
668
+ "enableSignUp": false,
669
+ "disableSignin": false,
670
+ "enableSigninSession": false,
671
+ "enableAutoSignin": false,
672
+ "enableCodeSignin": false,
673
+ "enableSamlCompress": false,
674
+ "enableSamlC14n10": false,
675
+ "enableSamlPostBinding": false,
676
+ "useEmailAsSamlNameId": false,
677
+ "enableWebAuthn": false,
678
+ "enableLinkWithEmail": false,
679
+ "orgChoiceMode": "",
680
+ "samlReplyUrl": "",
681
+ "providers": [
682
+ {
683
+ "owner": "",
684
+ "name": "provider_captcha_default",
685
+ "canSignUp": false,
686
+ "canSignIn": false,
687
+ "canUnlink": false,
688
+ "countryCodes": null,
689
+ "prompted": false,
690
+ "signupGroup": "",
691
+ "rule": "",
692
+ "provider": null
693
+ }
694
+ ],
695
+ "signinMethods": [
696
+ {
697
+ "name": "Password",
698
+ "displayName": "Password",
699
+ "rule": "All"
700
+ },
701
+ {
702
+ "name": "Verification code",
703
+ "displayName": "Verification code",
704
+ "rule": "All"
705
+ },
706
+ {
707
+ "name": "WebAuthn",
708
+ "displayName": "WebAuthn",
709
+ "rule": "None"
710
+ },
711
+ {
712
+ "name": "Face ID",
713
+ "displayName": "Face ID",
714
+ "rule": "None"
715
+ }
716
+ ],
717
+ "signupItems": [
718
+ {
719
+ "name": "ID",
720
+ "visible": false,
721
+ "required": true,
722
+ "prompted": false,
723
+ "type": "",
724
+ "customCss": "",
725
+ "label": "",
726
+ "placeholder": "",
727
+ "options": null,
728
+ "regex": "",
729
+ "rule": "Random"
730
+ },
731
+ {
732
+ "name": "Username",
733
+ "visible": true,
734
+ "required": true,
735
+ "prompted": false,
736
+ "type": "",
737
+ "customCss": "",
738
+ "label": "",
739
+ "placeholder": "",
740
+ "options": null,
741
+ "regex": "",
742
+ "rule": "None"
743
+ },
744
+ {
745
+ "name": "Display name",
746
+ "visible": true,
747
+ "required": true,
748
+ "prompted": false,
749
+ "type": "",
750
+ "customCss": "",
751
+ "label": "",
752
+ "placeholder": "",
753
+ "options": null,
754
+ "regex": "",
755
+ "rule": "None"
756
+ },
757
+ {
758
+ "name": "Password",
759
+ "visible": true,
760
+ "required": true,
761
+ "prompted": false,
762
+ "type": "",
763
+ "customCss": "",
764
+ "label": "",
765
+ "placeholder": "",
766
+ "options": null,
767
+ "regex": "",
768
+ "rule": "None"
769
+ },
770
+ {
771
+ "name": "Confirm password",
772
+ "visible": true,
773
+ "required": true,
774
+ "prompted": false,
775
+ "type": "",
776
+ "customCss": "",
777
+ "label": "",
778
+ "placeholder": "",
779
+ "options": null,
780
+ "regex": "",
781
+ "rule": "None"
782
+ },
783
+ {
784
+ "name": "Email",
785
+ "visible": true,
786
+ "required": true,
787
+ "prompted": false,
788
+ "type": "",
789
+ "customCss": "",
790
+ "label": "",
791
+ "placeholder": "",
792
+ "options": null,
793
+ "regex": "",
794
+ "rule": "Normal"
795
+ },
796
+ {
797
+ "name": "Phone",
798
+ "visible": true,
799
+ "required": true,
800
+ "prompted": false,
801
+ "type": "",
802
+ "customCss": "",
803
+ "label": "",
804
+ "placeholder": "",
805
+ "options": null,
806
+ "regex": "",
807
+ "rule": "None"
808
+ },
809
+ {
810
+ "name": "Agreement",
811
+ "visible": true,
812
+ "required": true,
813
+ "prompted": false,
814
+ "type": "",
815
+ "customCss": "",
816
+ "label": "",
817
+ "placeholder": "",
818
+ "options": null,
819
+ "regex": "",
820
+ "rule": "None"
821
+ },
822
+ {
823
+ "name": "Signup button",
824
+ "visible": true,
825
+ "required": true,
826
+ "prompted": false,
827
+ "type": "",
828
+ "customCss": "",
829
+ "label": "",
830
+ "placeholder": "",
831
+ "options": null,
832
+ "regex": "",
833
+ "rule": "None"
834
+ },
835
+ {
836
+ "name": "Providers",
837
+ "visible": true,
838
+ "required": true,
839
+ "prompted": false,
840
+ "type": "",
841
+ "customCss": ".provider-img {\n width: 30px;\n margin: 5px;\n }\n .provider-big-img {\n margin-bottom: 10px;\n }\n ",
842
+ "label": "",
843
+ "placeholder": "",
844
+ "options": null,
845
+ "regex": "",
846
+ "rule": "small"
847
+ }
848
+ ],
849
+ "signinItems": [
850
+ {
851
+ "name": "Back button",
852
+ "visible": true,
853
+ "label": "",
854
+ "customCss": ".back-button {\n top: 65px;\n left: 15px;\n position: absolute;\n}\n.back-inner-button{}",
855
+ "placeholder": "",
856
+ "rule": "None",
857
+ "isCustom": false
858
+ },
859
+ {
860
+ "name": "Languages",
861
+ "visible": true,
862
+ "label": "",
863
+ "customCss": ".login-languages {\n top: 55px;\n right: 5px;\n position: absolute;\n}",
864
+ "placeholder": "",
865
+ "rule": "None",
866
+ "isCustom": false
867
+ },
868
+ {
869
+ "name": "Logo",
870
+ "visible": true,
871
+ "label": "",
872
+ "customCss": ".login-logo-box {}",
873
+ "placeholder": "",
874
+ "rule": "None",
875
+ "isCustom": false
876
+ },
877
+ {
878
+ "name": "Signin methods",
879
+ "visible": true,
880
+ "label": "",
881
+ "customCss": ".signin-methods {}",
882
+ "placeholder": "",
883
+ "rule": "None",
884
+ "isCustom": false
885
+ },
886
+ {
887
+ "name": "Username",
888
+ "visible": true,
889
+ "label": "",
890
+ "customCss": ".login-username {}\n.login-username-input{}",
891
+ "placeholder": "",
892
+ "rule": "None",
893
+ "isCustom": false
894
+ },
895
+ {
896
+ "name": "Password",
897
+ "visible": true,
898
+ "label": "",
899
+ "customCss": ".login-password {}\n.login-password-input{}",
900
+ "placeholder": "",
901
+ "rule": "None",
902
+ "isCustom": false
903
+ },
904
+ {
905
+ "name": "Agreement",
906
+ "visible": true,
907
+ "label": "",
908
+ "customCss": ".login-agreement {}",
909
+ "placeholder": "",
910
+ "rule": "None",
911
+ "isCustom": false
912
+ },
913
+ {
914
+ "name": "Forgot password?",
915
+ "visible": true,
916
+ "label": "",
917
+ "customCss": ".login-forget-password {\n display: inline-flex;\n justify-content: space-between;\n width: 320px;\n margin-bottom: 25px;\n}",
918
+ "placeholder": "",
919
+ "rule": "None",
920
+ "isCustom": false
921
+ },
922
+ {
923
+ "name": "Login button",
924
+ "visible": true,
925
+ "label": "",
926
+ "customCss": ".login-button-box {\n margin-bottom: 5px;\n}\n.login-button {\n width: 100%;\n}",
927
+ "placeholder": "",
928
+ "rule": "None",
929
+ "isCustom": false
930
+ },
931
+ {
932
+ "name": "Signup link",
933
+ "visible": true,
934
+ "label": "",
935
+ "customCss": ".login-signup-link {\n margin-bottom: 24px;\n display: flex;\n justify-content: end;\n}",
936
+ "placeholder": "",
937
+ "rule": "None",
938
+ "isCustom": false
939
+ },
940
+ {
941
+ "name": "Providers",
942
+ "visible": true,
943
+ "label": "",
944
+ "customCss": ".provider-img {\n width: 30px;\n margin: 5px;\n}\n.provider-big-img {\n margin-bottom: 10px;\n}",
945
+ "placeholder": "",
946
+ "rule": "small",
947
+ "isCustom": false
948
+ }
949
+ ],
950
+ "grantTypes": [
951
+ "authorization_code",
952
+ "password",
953
+ "client_credentials",
954
+ "token",
955
+ "id_token",
956
+ "refresh_token"
957
+ ],
958
+ "organizationObj": null,
959
+ "certPublicKey": "",
960
+ "tags": [],
961
+ "samlAttributes": null,
962
+ "isShared": false,
963
+ "ipRestriction": "",
964
+ "clientId": "a387a4892ee19b1a2249",
965
+ "clientSecret": "dbf205949d704de81b0b5b3603174e23fbecc354",
966
+ "redirectUris": [
967
+ "http://localhost:3210/api/auth/callback/casdoor",
968
+ "https://localhost:3210/api/auth/callback/casdoor",
969
+ "http://example.com/api/auth/callback/casdoor",
970
+ "https://example.com/api/auth/callback/casdoor"
971
+ ],
972
+ "forcedRedirectOrigin": "",
973
+ "tokenFormat": "JWT",
974
+ "tokenSigningMethod": "",
975
+ "tokenFields": [],
976
+ "expireInHours": 168,
977
+ "refreshExpireInHours": 168,
978
+ "signupUrl": "",
979
+ "signinUrl": "",
980
+ "forgetUrl": "",
981
+ "affiliationUrl": "",
982
+ "ipWhitelist": "",
983
+ "termsOfUse": "",
984
+ "signupHtml": "",
985
+ "signinHtml": "",
986
+ "themeData": null,
987
+ "footerHtml": "",
988
+ "formCss": "\u003cstyle\u003e\n .login-panel {\n padding: 40px 70px 0 70px;\n border-radius: 10px;\n background-color: #ffffff;\n box-shadow: rgba(17, 12, 46, 0.15) 0px 48px 100px 0px;\n }\n .panel-logo {\n width: 64px;\n }\n .login-logo-box {\n margin-top: 20px;\n }\n\n #parent-area\n \u003e main\n \u003e div\n \u003e div.login-content\n \u003e div.login-panel\n \u003e div.login-form\n \u003e div\n \u003e div\n \u003e button {\n box-shadow: none !important;\n border-radius: 10px !important;\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n border: 1px solid #eee !important;\n }\n\n @media (max-width: 640px) {\n .login-panel {\n padding: 40px 0 0 0;\n box-shadow: none;\n }\n }\n\u003c/style\u003e",
989
+ "formCssMobile": "\u003cstyle\u003e\n .login-panel {\n padding: 40px 70px 0 70px;\n border-radius: 10px;\n background-color: #ffffff;\n box-shadow: rgba(17, 12, 46, 0.15) 0px 48px 100px 0px;\n }\n .panel-logo {\n width: 64px;\n }\n .login-logo-box {\n margin-top: 20px;\n }\n\n #parent-area\n \u003e main\n \u003e div\n \u003e div.login-content\n \u003e div.login-panel\n \u003e div.login-form\n \u003e div\n \u003e div\n \u003e button {\n box-shadow: none !important;\n border-radius: 10px !important;\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n border: 1px solid #eee !important;\n }\n\n @media (max-width: 640px) {\n .login-panel {\n padding: 40px 0 0 0;\n box-shadow: none;\n }\n }\n\u003c/style\u003e",
990
+ "formOffset": 2,
991
+ "formSideHtml": "",
992
+ "formBackgroundUrl": "",
993
+ "formBackgroundUrlMobile": "",
994
+ "failedSigninLimit": 5,
995
+ "failedSigninFrozenTime": 15
996
+ },
997
+ {
998
+ "owner": "admin",
999
+ "name": "app-built-in",
1000
+ "createdTime": "2025-08-11T08:43:23Z",
1001
+ "displayName": "Casdoor",
1002
+ "logo": "https://cdn.casbin.org/img/casdoor-logo_1185x256.png",
1003
+ "homepageUrl": "https://casdoor.org",
1004
+ "description": "",
1005
+ "organization": "built-in",
1006
+ "cert": "cert-built-in",
1007
+ "defaultGroup": "",
1008
+ "headerHtml": "",
1009
+ "enablePassword": true,
1010
+ "enableSignUp": true,
1011
+ "disableSignin": false,
1012
+ "enableSigninSession": false,
1013
+ "enableAutoSignin": false,
1014
+ "enableCodeSignin": false,
1015
+ "enableSamlCompress": false,
1016
+ "enableSamlC14n10": false,
1017
+ "enableSamlPostBinding": false,
1018
+ "useEmailAsSamlNameId": false,
1019
+ "enableWebAuthn": false,
1020
+ "enableLinkWithEmail": false,
1021
+ "orgChoiceMode": "",
1022
+ "samlReplyUrl": "",
1023
+ "providers": [
1024
+ {
1025
+ "owner": "",
1026
+ "name": "provider_captcha_default",
1027
+ "canSignUp": false,
1028
+ "canSignIn": false,
1029
+ "canUnlink": false,
1030
+ "countryCodes": null,
1031
+ "prompted": false,
1032
+ "signupGroup": "",
1033
+ "rule": "None",
1034
+ "provider": null
1035
+ }
1036
+ ],
1037
+ "signinMethods": [
1038
+ {
1039
+ "name": "Password",
1040
+ "displayName": "Password",
1041
+ "rule": "All"
1042
+ },
1043
+ {
1044
+ "name": "Verification code",
1045
+ "displayName": "Verification code",
1046
+ "rule": "All"
1047
+ },
1048
+ {
1049
+ "name": "WebAuthn",
1050
+ "displayName": "WebAuthn",
1051
+ "rule": "None"
1052
+ },
1053
+ {
1054
+ "name": "Face ID",
1055
+ "displayName": "Face ID",
1056
+ "rule": "None"
1057
+ }
1058
+ ],
1059
+ "signupItems": [
1060
+ {
1061
+ "name": "ID",
1062
+ "visible": false,
1063
+ "required": true,
1064
+ "prompted": false,
1065
+ "type": "",
1066
+ "customCss": "",
1067
+ "label": "",
1068
+ "placeholder": "",
1069
+ "options": null,
1070
+ "regex": "",
1071
+ "rule": "Random"
1072
+ },
1073
+ {
1074
+ "name": "Username",
1075
+ "visible": true,
1076
+ "required": true,
1077
+ "prompted": false,
1078
+ "type": "",
1079
+ "customCss": "",
1080
+ "label": "",
1081
+ "placeholder": "",
1082
+ "options": null,
1083
+ "regex": "",
1084
+ "rule": "None"
1085
+ },
1086
+ {
1087
+ "name": "Display name",
1088
+ "visible": true,
1089
+ "required": true,
1090
+ "prompted": false,
1091
+ "type": "",
1092
+ "customCss": "",
1093
+ "label": "",
1094
+ "placeholder": "",
1095
+ "options": null,
1096
+ "regex": "",
1097
+ "rule": "None"
1098
+ },
1099
+ {
1100
+ "name": "Password",
1101
+ "visible": true,
1102
+ "required": true,
1103
+ "prompted": false,
1104
+ "type": "",
1105
+ "customCss": "",
1106
+ "label": "",
1107
+ "placeholder": "",
1108
+ "options": null,
1109
+ "regex": "",
1110
+ "rule": "None"
1111
+ },
1112
+ {
1113
+ "name": "Confirm password",
1114
+ "visible": true,
1115
+ "required": true,
1116
+ "prompted": false,
1117
+ "type": "",
1118
+ "customCss": "",
1119
+ "label": "",
1120
+ "placeholder": "",
1121
+ "options": null,
1122
+ "regex": "",
1123
+ "rule": "None"
1124
+ },
1125
+ {
1126
+ "name": "Email",
1127
+ "visible": true,
1128
+ "required": true,
1129
+ "prompted": false,
1130
+ "type": "",
1131
+ "customCss": "",
1132
+ "label": "",
1133
+ "placeholder": "",
1134
+ "options": null,
1135
+ "regex": "",
1136
+ "rule": "Normal"
1137
+ },
1138
+ {
1139
+ "name": "Phone",
1140
+ "visible": true,
1141
+ "required": true,
1142
+ "prompted": false,
1143
+ "type": "",
1144
+ "customCss": "",
1145
+ "label": "",
1146
+ "placeholder": "",
1147
+ "options": null,
1148
+ "regex": "",
1149
+ "rule": "None"
1150
+ },
1151
+ {
1152
+ "name": "Agreement",
1153
+ "visible": true,
1154
+ "required": true,
1155
+ "prompted": false,
1156
+ "type": "",
1157
+ "customCss": "",
1158
+ "label": "",
1159
+ "placeholder": "",
1160
+ "options": null,
1161
+ "regex": "",
1162
+ "rule": "None"
1163
+ }
910
1164
  ],
911
- "effect": "Allow",
912
- "isEnabled": true,
913
- "submitter": "admin",
914
- "approver": "admin",
915
- "approveTime": "2024-09-09T09:26:04Z",
916
- "state": "Approved"
1165
+ "signinItems": null,
1166
+ "grantTypes": null,
1167
+ "organizationObj": null,
1168
+ "certPublicKey": "",
1169
+ "tags": [],
1170
+ "samlAttributes": null,
1171
+ "isShared": false,
1172
+ "ipRestriction": "",
1173
+ "clientId": "45f13635c08f7bdb97e4",
1174
+ "clientSecret": "fc76d8be000bc358c83712f6598754e054969994",
1175
+ "redirectUris": [],
1176
+ "forcedRedirectOrigin": "",
1177
+ "tokenFormat": "JWT",
1178
+ "tokenSigningMethod": "",
1179
+ "tokenFields": [],
1180
+ "expireInHours": 168,
1181
+ "refreshExpireInHours": 0,
1182
+ "signupUrl": "",
1183
+ "signinUrl": "",
1184
+ "forgetUrl": "",
1185
+ "affiliationUrl": "",
1186
+ "ipWhitelist": "",
1187
+ "termsOfUse": "",
1188
+ "signupHtml": "",
1189
+ "signinHtml": "",
1190
+ "themeData": null,
1191
+ "footerHtml": "",
1192
+ "formCss": "",
1193
+ "formCssMobile": "",
1194
+ "formOffset": 2,
1195
+ "formSideHtml": "",
1196
+ "formBackgroundUrl": "",
1197
+ "formBackgroundUrlMobile": "",
1198
+ "failedSigninLimit": 0,
1199
+ "failedSigninFrozenTime": 0
917
1200
  }
918
1201
  ],
919
- "plans": [],
920
- "pricings": [],
921
- "products": [],
922
- "providers": [],
923
- "records": [],
924
- "resources": [],
925
- "roles": [],
926
- "sessions": [],
927
- "subscriptions": [],
928
- "syncers": [],
929
- "tokens": [],
930
- "transactions": [],
931
1202
  "users": [
932
1203
  {
933
- "owner": "built-in",
934
- "name": "admin",
935
- "createdTime": "2024-09-09T09:26:05Z",
936
- "updatedTime": "",
1204
+ "owner": "lobechat",
1205
+ "name": "user",
1206
+ "createdTime": "2025-08-11T17:18:50+08:00",
1207
+ "updatedTime": "2025-08-11T09:19:46Z",
937
1208
  "deletedTime": "",
938
- "id": "bbf2a176-203c-414c-8cdd-ec92b019e07a",
1209
+ "id": "b3aa6ae0-ea16-44d5-9cad-373692995a11",
939
1210
  "externalId": "",
940
1211
  "type": "normal-user",
941
- "password": "123",
1212
+ "password": "pswd123",
942
1213
  "passwordSalt": "",
943
1214
  "passwordType": "plain",
944
- "displayName": "Admin",
1215
+ "displayName": "User",
945
1216
  "firstName": "",
946
1217
  "lastName": "",
947
- "avatar": "https://cdn.casbin.org/img/casbin.svg",
1218
+ "avatar": "https://lobehub.com/favicon.ico",
948
1219
  "avatarType": "",
949
1220
  "permanentAvatar": "",
950
- "email": "admin@example.com",
1221
+ "email": "pfub7l@example.com",
951
1222
  "emailVerified": false,
952
- "phone": "13245678910",
1223
+ "phone": "93788949801",
953
1224
  "countryCode": "US",
954
1225
  "region": "",
955
1226
  "location": "",
@@ -965,23 +1236,23 @@
965
1236
  "gender": "",
966
1237
  "birthday": "",
967
1238
  "education": "",
968
- "score": 2000,
1239
+ "score": 0,
969
1240
  "karma": 0,
970
1241
  "ranking": 1,
971
1242
  "balance": 0,
972
1243
  "currency": "",
973
1244
  "isDefaultAvatar": false,
974
1245
  "isOnline": false,
975
- "isAdmin": true,
1246
+ "isAdmin": false,
976
1247
  "isForbidden": false,
977
1248
  "isDeleted": false,
978
- "signupApplication": "app-built-in",
1249
+ "signupApplication": "",
979
1250
  "hash": "",
980
1251
  "preHash": "",
981
1252
  "accessKey": "",
982
1253
  "accessSecret": "",
983
1254
  "accessToken": "",
984
- "createdIp": "127.0.0.1",
1255
+ "createdIp": "",
985
1256
  "lastSigninTime": "",
986
1257
  "lastSigninIp": "",
987
1258
  "github": "",
@@ -1009,6 +1280,7 @@
1009
1280
  "bilibili": "",
1010
1281
  "okta": "",
1011
1282
  "douyin": "",
1283
+ "kwai": "",
1012
1284
  "line": "",
1013
1285
  "amazon": "",
1014
1286
  "auth0": "",
@@ -1074,34 +1346,38 @@
1074
1346
  "properties": {},
1075
1347
  "roles": null,
1076
1348
  "permissions": null,
1077
- "groups": null,
1349
+ "groups": [],
1350
+ "lastChangePasswordTime": "2025-08-11T09:19:46Z",
1078
1351
  "lastSigninWrongTime": "",
1079
1352
  "signinWrongTimes": 0,
1080
1353
  "managedAccounts": null,
1081
1354
  "mfaAccounts": null,
1082
- "needUpdatePassword": false
1355
+ "mfaItems": null,
1356
+ "mfaRememberDeadline": "",
1357
+ "needUpdatePassword": false,
1358
+ "ipWhitelist": ""
1083
1359
  },
1084
1360
  {
1085
- "owner": "lobechat",
1086
- "name": "user",
1087
- "createdTime": "2024-09-09T09:26:05Z",
1088
- "updatedTime": "",
1361
+ "owner": "built-in",
1362
+ "name": "admin",
1363
+ "createdTime": "2025-08-11T08:43:23Z",
1364
+ "updatedTime": "2025-08-11T09:26:11Z",
1089
1365
  "deletedTime": "",
1090
- "id": "b5a7c5b5-3e79-47ff-85a8-537b07fee2f9",
1366
+ "id": "d9f5b23b-6a49-4879-a015-3454522422c9",
1091
1367
  "externalId": "",
1092
1368
  "type": "normal-user",
1093
- "password": "123",
1369
+ "password": "pswd123",
1094
1370
  "passwordSalt": "",
1095
1371
  "passwordType": "plain",
1096
- "displayName": "User",
1372
+ "displayName": "Admin",
1097
1373
  "firstName": "",
1098
1374
  "lastName": "",
1099
1375
  "avatar": "https://cdn.casbin.org/img/casbin.svg",
1100
1376
  "avatarType": "",
1101
1377
  "permanentAvatar": "",
1102
- "email": "user@example.com",
1378
+ "email": "admin@example.com",
1103
1379
  "emailVerified": false,
1104
- "phone": "13245678910",
1380
+ "phone": "12345678910",
1105
1381
  "countryCode": "US",
1106
1382
  "region": "",
1107
1383
  "location": "",
@@ -1124,10 +1400,10 @@
1124
1400
  "currency": "",
1125
1401
  "isDefaultAvatar": false,
1126
1402
  "isOnline": false,
1127
- "isAdmin": false,
1403
+ "isAdmin": true,
1128
1404
  "isForbidden": false,
1129
1405
  "isDeleted": false,
1130
- "signupApplication": "lobechat",
1406
+ "signupApplication": "app-built-in",
1131
1407
  "hash": "",
1132
1408
  "preHash": "",
1133
1409
  "accessKey": "",
@@ -1161,6 +1437,7 @@
1161
1437
  "bilibili": "",
1162
1438
  "okta": "",
1163
1439
  "douyin": "",
1440
+ "kwai": "",
1164
1441
  "line": "",
1165
1442
  "amazon": "",
1166
1443
  "auth0": "",
@@ -1227,12 +1504,241 @@
1227
1504
  "roles": null,
1228
1505
  "permissions": null,
1229
1506
  "groups": null,
1507
+ "lastChangePasswordTime": "2025-08-11T09:26:11Z",
1230
1508
  "lastSigninWrongTime": "",
1231
1509
  "signinWrongTimes": 0,
1232
1510
  "managedAccounts": null,
1233
1511
  "mfaAccounts": null,
1234
- "needUpdatePassword": false
1512
+ "mfaItems": null,
1513
+ "mfaRememberDeadline": "",
1514
+ "needUpdatePassword": false,
1515
+ "ipWhitelist": ""
1516
+ }
1517
+ ],
1518
+ "certs": [
1519
+ {
1520
+ "owner": "admin",
1521
+ "name": "cert-built-in",
1522
+ "createdTime": "2025-08-11T08:43:23Z",
1523
+ "displayName": "Built-in Cert",
1524
+ "scope": "JWT",
1525
+ "type": "x509",
1526
+ "cryptoAlgorithm": "RS256",
1527
+ "bitSize": 4096,
1528
+ "expireInYears": 20,
1529
+ "certificate": "-----BEGIN CERTIFICATE-----\nMIIE3TCCAsWgAwIBAgIDAeJAMA0GCSqGSIb3DQEBCwUAMCgxDjAMBgNVBAoTBWFk\nbWluMRYwFAYDVQQDEw1jZXJ0LWJ1aWx0LWluMB4XDTI1MDgxMTA4NDMyNVoXDTQ1\nMDgxMTA4NDMyNVowKDEOMAwGA1UEChMFYWRtaW4xFjAUBgNVBAMTDWNlcnQtYnVp\nbHQtaW4wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDqvw3MYJxa1sKq\ndyU+GGDkIqGzcvkkLn/EsrZJrKaWaS7yPqjtx5VFIqn6VOUTvA0CNbaqWZT+qwM3\nhjmcZ+nRzHMA62ZnMZvm7GR/njWUoSaHMJf3AT66f8WJxTsuwiYF/vbG7Z7ZUyyV\nChFA+BEwjaVghL4JFe7lMqxoBhaajYVs9RZabIw5Od7Rr4WoQYh5cGUBqgW9tn4F\nMFH7poMT85LiM0hKIceQqLVWAbX0Cgr9JX2qRH5QDac+iIVnt836oRO+ojJIhK+y\nf65yyPy+TM7X6PNmU/UaRGxE6K9uqbXTJDi4zNoU1tgK2cv4eIo0epxF4QcyheZs\nlZnIckp/Z6cJLu2DEoMMSHVDu46AXYSuNRYkawKGlvNq3KkUXRl2+GEPvUQVNRSI\nHCioHDF45SXrlrcVC27ADOo8zjRzeGXSsJ+ncVlY8nuXhPL/ZTbh9ivLRqXG6ZJX\nDHXteMm8Dbept4nt+jCgTgC+0GkXqAO2+ZDfHNCu2En2BfQDWmE90G/QIC6ckLDR\nZzdp+q8CsFcEHuM6c7ur8MHn4Rcxt8aqSZJQhPd6fpFlGYdJAQH0nwJGigsOaBfV\n9MPXMkGPoczWcQCFizqs1LbSDKwUiRr8zIFhyxQ78AqGwDd01l/BcuyNu4uZXPdV\nQCbnxVhShVCqz8WD9fk2+Ro4k+6yjQIDAQABoxAwDjAMBgNVHRMBAf8EAjAAMA0G\nCSqGSIb3DQEBCwUAA4ICAQCfQjWOtGU4JSqDkUuz7JI4Y7Or2WpDZrRearXeytgP\nKtwc/TlWxcLZ46UcxzcqK5Fs09enVWv64g3abfCwpkhU91c1E3BrZBCkRcOC2Ort\nlZXPjph4H94DaKw0S4IZ6+syMXhFbFdrLlfStQRw97rmwiiz3HQQ5l5zdc4bFchW\nlVDOrV5qvXfa2SSoiICnxy9d/IS4TRHN0q+21nbwWuCFRAdOXPkvzkoVnHle92UH\nHWmK2CbUPXn17zv/ZRRGUJ+sCpZmHQ3l6PETZhZiYiuN5DL+pOkrJYpC8k37BuEZ\nG7qmMbdMQWJENRBJRUW1cS/r5A3kTLyEJciPCEI3agHtNx043Y+3JwXIyfg41Gpx\nrr6RxB7j8Az+JSJgNrU0IY9WsUb6hEbyFlwDdmCNtq+z+Yr5FLuY6y/mX0544bBg\n1GKEtO8DM7Ks6+6FdOvUDWPrBC6mTmjqN1Oq9wqrHHQ+M85eG4FHl653ctKswijA\n09GHgn6+j0gIGrVAjk0vRqBcshDQ5yKHeg7cECVStzRV4zFXceHC1ocBOgoMPFaS\nzBdCiRPQzzi06b4060lab5tKRl7eB1yAThpTNpR/CFiU3HXGVQe3b02Dytj1xfHD\nnoyTPdKxeCSMNBL1233ZR0fhc9o1Og+aBaSvHa1O//M6OUk6tQYhSOabobCdiEjH\nlg==\n-----END CERTIFICATE-----\n",
1530
+ "privateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIJKAIBAAKCAgEA6r8NzGCcWtbCqnclPhhg5CKhs3L5JC5/xLK2Saymlmku8j6o\n7ceVRSKp+lTlE7wNAjW2qlmU/qsDN4Y5nGfp0cxzAOtmZzGb5uxkf541lKEmhzCX\n9wE+un/FicU7LsImBf72xu2e2VMslQoRQPgRMI2lYIS+CRXu5TKsaAYWmo2FbPUW\nWmyMOTne0a+FqEGIeXBlAaoFvbZ+BTBR+6aDE/OS4jNISiHHkKi1VgG19AoK/SV9\nqkR+UA2nPoiFZ7fN+qETvqIySISvsn+ucsj8vkzO1+jzZlP1GkRsROivbqm10yQ4\nuMzaFNbYCtnL+HiKNHqcReEHMoXmbJWZyHJKf2enCS7tgxKDDEh1Q7uOgF2ErjUW\nJGsChpbzatypFF0ZdvhhD71EFTUUiBwoqBwxeOUl65a3FQtuwAzqPM40c3hl0rCf\np3FZWPJ7l4Ty/2U24fYry0alxumSVwx17XjJvA23qbeJ7fowoE4AvtBpF6gDtvmQ\n3xzQrthJ9gX0A1phPdBv0CAunJCw0Wc3afqvArBXBB7jOnO7q/DB5+EXMbfGqkmS\nUIT3en6RZRmHSQEB9J8CRooLDmgX1fTD1zJBj6HM1nEAhYs6rNS20gysFIka/MyB\nYcsUO/AKhsA3dNZfwXLsjbuLmVz3VUAm58VYUoVQqs/Fg/X5NvkaOJPuso0CAwEA\nAQKCAgEAmdpYJ9BWCa9h7KmkLht6PWt5QYykP5N+SCO9F3JhyIjtrPVmcFlzutkq\nQJitfw6sE/uyWdnWrkbVF+oQDjOI6uktorel6RJ5lJLwlzfQ9DXec5Jktw4I1+Dw\nTgiHbnDuzNU7Vkvc5aD+wjvT7Rno4kKj1iuKBZhrd6qLlq4O2ILSpQPI/8DO8p68\nK//3ALzavoTsnneZxao61BnEUcPjewsUBM8JnRSgoG4CU3lRkL2YUCvnPdYgV0Vr\njK+bh8vO42n47+OMQz07jiji4/ZYuDzNAHN8O1/hb7LSpyM9/7CZK+Y8itowQKJC\n/HGcnqAaLKUDkUUYG4Po7tfp75cAvVhf0tXUi2qAO6M1l3FUfiPpu0SG3a2B8dyf\ngfBCvon0pzdPj8b663AEY9aG02QMY7JjCap7oHMlZuonQbUCCCqMjQKDj9S/f8uo\n/lyEOwfRbAt1N8SvI8zSpTngj/D9T5dSUcBsPA8r76Ow+5jF3joBO+VEZ83n3pzm\nXZX8beUmRwKqNdDlku8Ze4czTSsvM0zMR8TQvUGxPlfCmbIDcdTn1OBMg0FWOsjZ\nvvD4tPWqfYzcpmzDed8vO97XD81rDxk0jcFXiMi0hzd4VYRgBtHm0rQmmkgXYaRe\nen3pplyFgBYHYsSKsMv83UyGNyDWzECZiFnyw30T8GFsGgpSkMECggEBAOyz/kRT\nMtxUKciYFjXiTQUWK1jdAZytfykIRh8vqnbZ37W0hwaMlCfBvdJnybnsEcqplwB8\nOybiMjJImRafpdiq77R0HNLXJpX4yFJ+nw8OjmBlzulAsPfJcG1f8kGZ1HDyH+7g\nIsQlN8UHIG64644EiOE5IToPg9Yf5iUeeQe2HKnI9vG7GP1Jf5FUGcpVX8K2/ipx\nQdd9B7hGHKTbGcvPjeNoykLVCjHrWx7Dpv0ghR2eXBwYI4/7F8B4t64eHwLGI7g0\nV8/bEZVGoojUoYw0ETu/x3vZIfPm2tKMoDc/GI0TxD9YWg3cPjCZYCEuca6Tzerl\nSe7oiOfdXHjNuH0CggEBAP3iOOZf+CoM+LWzBlj3kWXXqxtKiDB6Tn+/p+7fZwXD\nhTzUGhrSpLqfmPzJtTaCE7x8b/hOUqfb9Xio7GjhiABuyTg1LsYQKq2P83d0uwwp\nURIV5vH13PwlhN5JeIoKpTJBR4QfkQh5cvGFkFRRLocs405VJhIaTwUpjXKM10Zo\nYGMPn1Iz9R8rTHepS971SPS+a/7ZLJKxnBdXIA9zUFTBjLhzG/r/vqk6ZYhn34Ic\nXF8pKpGN9oosNXgtpB+VBEE927KPyog/J5mUeeRA2cTBRe/n57bAjbMqEs7Aflf0\nPHntHipRpbKjz5L8WKPufH5sd/t8yZG6YFpK5heoD1ECggEAM6BWduSGlVOuAVha\nj8oZ7mAVeD5L2bZlo7dwQ+ELlvySNHl5cc47iihRlJCaiPiaMM+oZayy4ho3xIvd\nB/guHgG6Ymto1fujKNaoKoX/fzM3joLmDC3V61V+NfzVQ8Wfdjr5CArOymUrsseJ\nJV0j00fd6vGg857qrEss0S/CShJIUifI5JRgMO5U6oejUGQqjLeI3AzzxWI5ytFP\n8gzvpWpRkiYK52S74oNozl7yDweGwR0HDgGd0At99LbfqRRcwyggJk8UT/uB7EMJ\ntDpcOc4pbBS6F6MWKrJRS9bsIuCaJDsJdJ96lMdSsRriwpn0pZULNo5n/7msEpZP\nUvHbqQKCAQArl813WSEubz3BTTUYz6GKoCaEMB8EW+vgqZL3RCrXZYQaNr0ov+SD\nGuZU+XmBG4KyCZfcRe6RXgZfKno1ZAxLLrqkSRV38syxMpd2enenleySs2oNP88r\nCHIxDOKCqWNGJslV2Wm4z8m5yNpIcAwSL9Xz3FEGKLhKxaDA+4f3UfLC76rGnZ9I\nM9IUdeBOL0XQqGW4w6eQpKiNpWse3Aj+FKHKBhHW3lTpj9phOpy5JY+C03m4tmyP\nuxmPQh79QUQSw8FWfrQjAt0U1Na9J5l83Eba87HowlVSXzYNhCXtikVcFifo0k4m\nR1RcA7Jgq5F6z7smVn3x5NOojVXG2BeRAoIBACUR3J+O9Cwp+2wDNouD/yWbOcPp\nqtcXvqRFgDppUEafbOZ9CP9NLhpM+/4rdMsA5aeh1Jn6mVbkz83Ikz4iU4PCHLrM\n8vhZz/jrYqLUKaKNuCOy+RDdjAyvXK0cq403NxFojea9xxzMQ4xENvuxRTZaAUt+\ng88oX9iI72l1uo31gLoB7o/zIRKVLyYvZa4oyCggPoPGTyhkSj+P8tCYTKQkIxdf\nX+HYxqMrxlY0c1dUJSo3XcW6l4OfHa6jSmyC0EsedQyttICvxfjGcjTlR/rFe/pK\nW0ifC3i5RCsqcwP7dciPGvaI8o5+w0+n7kykrYinTQ1uF2kU7Zu3VpEVVF0=\n-----END RSA PRIVATE KEY-----\n"
1531
+ }
1532
+ ],
1533
+ "providers": [
1534
+ {
1535
+ "owner": "admin",
1536
+ "name": "provider_captcha_default",
1537
+ "createdTime": "2025-08-11T08:43:23Z",
1538
+ "displayName": "Captcha Default",
1539
+ "category": "Captcha",
1540
+ "type": "Default",
1541
+ "subType": "",
1542
+ "method": "",
1543
+ "clientId": "",
1544
+ "clientSecret": "",
1545
+ "clientId2": "",
1546
+ "clientSecret2": "",
1547
+ "cert": "",
1548
+ "customAuthUrl": "",
1549
+ "customTokenUrl": "",
1550
+ "customUserInfoUrl": "",
1551
+ "customLogo": "",
1552
+ "scopes": "",
1553
+ "userMapping": null,
1554
+ "httpHeaders": null,
1555
+ "host": "",
1556
+ "port": 0,
1557
+ "disableSsl": false,
1558
+ "title": "",
1559
+ "content": "",
1560
+ "receiver": "",
1561
+ "regionId": "",
1562
+ "signName": "",
1563
+ "templateCode": "",
1564
+ "appId": "",
1565
+ "endpoint": "",
1566
+ "intranetEndpoint": "",
1567
+ "domain": "",
1568
+ "bucket": "",
1569
+ "pathPrefix": "",
1570
+ "metadata": "",
1571
+ "idP": "",
1572
+ "issuerUrl": "",
1573
+ "enableSignAuthnRequest": false,
1574
+ "emailRegex": "",
1575
+ "providerUrl": ""
1576
+ }
1577
+ ],
1578
+ "ldaps": [
1579
+ {
1580
+ "id": "ldap-built-in",
1581
+ "owner": "built-in",
1582
+ "createdTime": "2025-08-11T08:43:25Z",
1583
+ "serverName": "BuildIn LDAP Server",
1584
+ "host": "example.com",
1585
+ "port": 389,
1586
+ "enableSsl": false,
1587
+ "allowSelfSignedCert": false,
1588
+ "username": "cn=buildin,dc=example,dc=com",
1589
+ "password": "123",
1590
+ "baseDn": "ou=BuildIn,dc=example,dc=com",
1591
+ "filter": "",
1592
+ "filterFields": null,
1593
+ "defaultGroup": "",
1594
+ "passwordType": "",
1595
+ "autoSync": 0,
1596
+ "lastSync": ""
1597
+ }
1598
+ ],
1599
+ "models": [
1600
+ {
1601
+ "owner": "built-in",
1602
+ "name": "api-model-built-in",
1603
+ "createdTime": "2025-08-11T08:43:25Z",
1604
+ "displayName": "API Model",
1605
+ "description": "",
1606
+ "modelText": "[request_definition]\nr = subOwner, subName, method, urlPath, objOwner, objName\n\n[policy_definition]\np = subOwner, subName, method, urlPath, objOwner, objName\n\n[role_definition]\ng = _, _\n\n[policy_effect]\ne = some(where (p.eft == allow))\n\n[matchers]\nm = (r.subOwner == p.subOwner || p.subOwner == \"*\") \u0026\u0026 \\\n (r.subName == p.subName || p.subName == \"*\" || r.subName != \"anonymous\" \u0026\u0026 p.subName == \"!anonymous\") \u0026\u0026 \\\n (r.method == p.method || p.method == \"*\") \u0026\u0026 \\\n (r.urlPath == p.urlPath || p.urlPath == \"*\") \u0026\u0026 \\\n (r.objOwner == p.objOwner || p.objOwner == \"*\") \u0026\u0026 \\\n (r.objName == p.objName || p.objName == \"*\") || \\\n (r.subOwner == r.objOwner \u0026\u0026 r.subName == r.objName)"
1607
+ },
1608
+ {
1609
+ "owner": "built-in",
1610
+ "name": "user-model-built-in",
1611
+ "createdTime": "2025-08-11T08:43:25Z",
1612
+ "displayName": "Built-in Model",
1613
+ "description": "",
1614
+ "modelText": "[request_definition]\nr = sub, obj, act\n\n[policy_definition]\np = sub, obj, act\n\n[role_definition]\ng = _, _\n\n[policy_effect]\ne = some(where (p.eft == allow))\n\n[matchers]\nm = g(r.sub, p.sub) \u0026\u0026 r.obj == p.obj \u0026\u0026 r.act == p.act"
1615
+ }
1616
+ ],
1617
+ "permissions": [
1618
+ {
1619
+ "owner": "built-in",
1620
+ "name": "permission-built-in",
1621
+ "createdTime": "2025-08-11T08:43:22Z",
1622
+ "displayName": "Built-in Permission",
1623
+ "description": "Built-in Permission",
1624
+ "users": [
1625
+ "built-in/*"
1626
+ ],
1627
+ "groups": [],
1628
+ "roles": [],
1629
+ "domains": [],
1630
+ "model": "user-model-built-in",
1631
+ "adapter": "",
1632
+ "resourceType": "Application",
1633
+ "resources": [
1634
+ "app-built-in"
1635
+ ],
1636
+ "actions": [
1637
+ "Read",
1638
+ "Write",
1639
+ "Admin"
1640
+ ],
1641
+ "effect": "Allow",
1642
+ "isEnabled": true,
1643
+ "submitter": "admin",
1644
+ "approver": "admin",
1645
+ "approveTime": "2025-08-11T08:43:22Z",
1646
+ "state": "Approved"
1647
+ }
1648
+ ],
1649
+ "payments": [],
1650
+ "products": [],
1651
+ "resources": [],
1652
+ "roles": [],
1653
+ "syncers": [],
1654
+ "tokens": [],
1655
+ "webhooks": [
1656
+ {
1657
+ "owner": "admin",
1658
+ "name": "webhook_default",
1659
+ "createdTime": "2025-08-11T17:13:56+08:00",
1660
+ "organization": "lobechat",
1661
+ "url": "http://localhost:3210/api/webhooks/casdoor",
1662
+ "method": "POST",
1663
+ "contentType": "application/json",
1664
+ "headers": [
1665
+ {
1666
+ "name": "casdoor-secret",
1667
+ "value": "casdoor-secret"
1668
+ }
1669
+ ],
1670
+ "events": [
1671
+ "update-user"
1672
+ ],
1673
+ "tokenFields": null,
1674
+ "objectFields": [
1675
+ "All"
1676
+ ],
1677
+ "isUserExtended": false,
1678
+ "singleOrgOnly": false,
1679
+ "isEnabled": true
1680
+ }
1681
+ ],
1682
+ "groups": [],
1683
+ "adapters": [
1684
+ {
1685
+ "owner": "built-in",
1686
+ "name": "api-adapter-built-in",
1687
+ "createdTime": "2025-08-11T08:43:25Z",
1688
+ "table": "casbin_api_rule",
1689
+ "useSameDb": true,
1690
+ "type": "",
1691
+ "databaseType": "",
1692
+ "host": "",
1693
+ "port": 0,
1694
+ "user": "",
1695
+ "password": "",
1696
+ "database": ""
1697
+ },
1698
+ {
1699
+ "owner": "built-in",
1700
+ "name": "user-adapter-built-in",
1701
+ "createdTime": "2025-08-11T08:43:25Z",
1702
+ "table": "casbin_user_rule",
1703
+ "useSameDb": true,
1704
+ "type": "",
1705
+ "databaseType": "",
1706
+ "host": "",
1707
+ "port": 0,
1708
+ "user": "",
1709
+ "password": "",
1710
+ "database": ""
1711
+ }
1712
+ ],
1713
+ "enforcers": [
1714
+ {
1715
+ "owner": "built-in",
1716
+ "name": "api-enforcer-built-in",
1717
+ "createdTime": "2025-08-11T08:43:25Z",
1718
+ "updatedTime": "2025-08-11 08:43:25",
1719
+ "displayName": "API Enforcer",
1720
+ "description": "",
1721
+ "model": "built-in/api-model-built-in",
1722
+ "adapter": "built-in/api-adapter-built-in",
1723
+ "modelCfg": null
1724
+ },
1725
+ {
1726
+ "owner": "built-in",
1727
+ "name": "user-enforcer-built-in",
1728
+ "createdTime": "2025-08-11T08:43:25Z",
1729
+ "updatedTime": "2025-08-11 08:43:25",
1730
+ "displayName": "User Enforcer",
1731
+ "description": "",
1732
+ "model": "built-in/user-model-built-in",
1733
+ "adapter": "built-in/user-adapter-built-in",
1734
+ "modelCfg": null
1235
1735
  }
1236
1736
  ],
1237
- "webhooks": []
1238
- }
1737
+ "plans": [],
1738
+ "pricings": [],
1739
+ "invitations": [],
1740
+ "records": [],
1741
+ "sessions": [],
1742
+ "subscriptions": [],
1743
+ "transactions": []
1744
+ }