@nocobase/plugin-ai 2.3.0-alpha.1 → 2.3.0-beta.3

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 (307) hide show
  1. package/dist/ai/docs/nocobase/ai-dev/watermark-plugin.md +2 -0
  2. package/dist/ai/docs/nocobase/ai-employees/block/ai-chat-box.md +133 -0
  3. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/documents.md +1 -1
  4. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/index.md +11 -7
  5. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/settings.md +12 -8
  6. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/rag.md +43 -13
  7. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/vector-database.md +3 -3
  8. package/dist/ai/docs/nocobase/ai-employees/workflow/nodes/knowledge/create-document.md +1 -1
  9. package/dist/ai/docs/nocobase/api/app/env.md +2 -0
  10. package/dist/ai/docs/nocobase/api/cli/api/resource/create.md +4 -3
  11. package/dist/ai/docs/nocobase/building-tips/ai-fill-js-block-form.md +1092 -0
  12. package/dist/ai/docs/nocobase/data-sources/calendar/calendar-collection.md +100 -3
  13. package/dist/ai/docs/nocobase/data-sources/collection-comment/index.md +92 -39
  14. package/dist/ai/docs/nocobase/data-sources/collection-sql/index.md +150 -29
  15. package/dist/ai/docs/nocobase/data-sources/collection-tree/index.md +93 -5
  16. package/dist/ai/docs/nocobase/data-sources/collection-view/index.md +226 -4
  17. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/china-region.md +122 -5
  18. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/collection-select.md +105 -4
  19. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/json.md +102 -4
  20. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/nano-id.md +104 -4
  21. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/snowflake-id.md +108 -4
  22. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/sort.md +3 -19
  23. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/uuid.md +104 -4
  24. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/associations/index.md +44 -8
  25. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/color.md +102 -4
  26. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/email.md +104 -4
  27. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/icon.md +102 -4
  28. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/input.md +112 -8
  29. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/integer.md +103 -4
  30. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/number.md +103 -4
  31. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/password.md +102 -4
  32. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/percent.md +104 -5
  33. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/phone.md +104 -4
  34. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/textarea.md +99 -8
  35. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/url.md +103 -4
  36. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/checkbox-group.md +105 -3
  37. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/checkbox.md +102 -4
  38. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/china-region.md +108 -5
  39. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/multiple-select.md +103 -5
  40. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/radio-group.md +106 -4
  41. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/select.md +103 -5
  42. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/date.md +102 -4
  43. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/datetime-without-tz.md +103 -5
  44. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/datetime.md +103 -5
  45. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/index.md +53 -47
  46. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/time.md +102 -4
  47. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/unix-timestamp.md +103 -5
  48. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/circle.md +102 -4
  49. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/line.md +103 -5
  50. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/point.md +102 -4
  51. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/polygon.md +102 -4
  52. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/index.md +62 -16
  53. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/media/markdown.md +104 -4
  54. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/media/rich-text.md +105 -5
  55. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/created-at.md +105 -5
  56. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/created-by.md +103 -5
  57. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/space.md +100 -6
  58. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/table-oid.md +102 -4
  59. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/updated-at.md +104 -5
  60. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/updated-by.md +104 -6
  61. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/validation.md +68 -58
  62. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection.md +32 -13
  63. package/dist/ai/docs/nocobase/data-sources/data-modeling/index.md +41 -33
  64. package/dist/ai/docs/nocobase/data-sources/data-source-external-mariadb/index.md +114 -6
  65. package/dist/ai/docs/nocobase/data-sources/data-source-external-mssql/index.md +117 -6
  66. package/dist/ai/docs/nocobase/data-sources/data-source-external-mysql/index.md +103 -6
  67. package/dist/ai/docs/nocobase/data-sources/data-source-external-nocobase/index.md +75 -73
  68. package/dist/ai/docs/nocobase/data-sources/data-source-external-oracle/index.md +129 -11
  69. package/dist/ai/docs/nocobase/data-sources/data-source-external-postgres/index.md +110 -6
  70. package/dist/ai/docs/nocobase/data-sources/data-source-kingbase/index.md +75 -49
  71. package/dist/ai/docs/nocobase/data-sources/data-source-main/general-collection.md +116 -15
  72. package/dist/ai/docs/nocobase/data-sources/data-source-main/index.md +92 -62
  73. package/dist/ai/docs/nocobase/data-sources/data-source-main/inheritance-collection.md +97 -10
  74. package/dist/ai/docs/nocobase/data-sources/data-source-manager/external-database.md +97 -58
  75. package/dist/ai/docs/nocobase/data-sources/data-source-manager/index.md +32 -24
  76. package/dist/ai/docs/nocobase/data-sources/data-source-rest-api/index.md +115 -153
  77. package/dist/ai/docs/nocobase/data-sources/external/clickhouse.md +124 -0
  78. package/dist/ai/docs/nocobase/data-sources/external/doris.md +130 -0
  79. package/dist/ai/docs/nocobase/data-sources/external/index.md +140 -0
  80. package/dist/ai/docs/nocobase/data-sources/external/kingbase.md +129 -0
  81. package/dist/ai/docs/nocobase/data-sources/external/mariadb.md +126 -0
  82. package/dist/ai/docs/nocobase/data-sources/external/mssql.md +129 -0
  83. package/dist/ai/docs/nocobase/data-sources/external/mysql.md +115 -0
  84. package/dist/ai/docs/nocobase/data-sources/external/nocobase.md +159 -0
  85. package/dist/ai/docs/nocobase/data-sources/external/oceanbase.md +126 -0
  86. package/dist/ai/docs/nocobase/data-sources/external/oracle.md +158 -0
  87. package/dist/ai/docs/nocobase/data-sources/external/postgresql.md +122 -0
  88. package/dist/ai/docs/nocobase/data-sources/external/rest-api.md +245 -0
  89. package/dist/ai/docs/nocobase/data-sources/field-attachment-url/index.md +100 -12
  90. package/dist/ai/docs/nocobase/data-sources/field-encryption/index.md +48 -47
  91. package/dist/ai/docs/nocobase/data-sources/field-formula/index.md +99 -5
  92. package/dist/ai/docs/nocobase/data-sources/field-markdown-vditor/index.md +105 -5
  93. package/dist/ai/docs/nocobase/data-sources/field-sequence/index.md +102 -5
  94. package/dist/ai/docs/nocobase/data-sources/field-signature/index.md +18 -16
  95. package/dist/ai/docs/nocobase/data-sources/field-sort/index.md +76 -73
  96. package/dist/ai/docs/nocobase/data-sources/file-manager/field-attachment.md +101 -7
  97. package/dist/ai/docs/nocobase/data-sources/file-manager/file-collection.md +101 -14
  98. package/dist/ai/docs/nocobase/data-sources/index.md +49 -33
  99. package/dist/ai/docs/nocobase/data-sources/main/index.md +130 -0
  100. package/dist/ai/docs/nocobase/data-sources/main/kingbase.md +147 -0
  101. package/dist/ai/docs/nocobase/data-sources/main/mariadb.md +59 -0
  102. package/dist/ai/docs/nocobase/data-sources/main/mysql.md +59 -0
  103. package/dist/ai/docs/nocobase/data-sources/main/oceanbase.md +62 -0
  104. package/dist/ai/docs/nocobase/data-sources/main/postgresql.md +61 -0
  105. package/dist/ai/docs/nocobase/file-manager/file-preview/index.md +44 -3
  106. package/dist/ai/docs/nocobase/file-manager/storage/aliyun-oss.md +100 -3
  107. package/dist/ai/docs/nocobase/file-manager/storage/index.md +66 -26
  108. package/dist/ai/docs/nocobase/file-manager/storage/s3-pro.md +58 -7
  109. package/dist/ai/docs/nocobase/get-started/installation/env.md +1 -1
  110. package/dist/ai/docs/nocobase/ops-management/migration-manager/built-in-tables.md +1 -2
  111. package/dist/ai/docs/nocobase/plugin-development/build.md +10 -4
  112. package/dist/ai/docs/nocobase/plugin-development/client/appendix/faq.md +1 -1
  113. package/dist/ai/docs/nocobase/plugin-development/client/examples/custom-action.md +2 -0
  114. package/dist/ai/docs/nocobase/plugin-development/client/examples/custom-block.md +2 -0
  115. package/dist/ai/docs/nocobase/plugin-development/client/examples/custom-field.md +2 -0
  116. package/dist/ai/docs/nocobase/plugin-development/client/examples/fullstack-plugin.md +2 -0
  117. package/dist/ai/docs/nocobase/plugin-development/client/examples/settings-page.md +2 -0
  118. package/dist/ai/docs/nocobase/plugin-development/common/i18n.md +3 -3
  119. package/dist/ai/docs/nocobase/plugin-development/server/cache.md +1 -1
  120. package/dist/ai/docs/nocobase/plugin-development/server/collections.md +0 -6
  121. package/dist/ai/docs/nocobase/plugin-development/server/command.md +2 -2
  122. package/dist/ai/docs/nocobase/plugin-development/server/context.md +2 -2
  123. package/dist/ai/docs/nocobase/plugin-development/server/i18n.md +4 -4
  124. package/dist/ai/docs/nocobase/plugin-development/write-your-first-plugin.md +91 -43
  125. package/dist/ai/docs/nocobase/runjs/context/ai.md +194 -4
  126. package/dist/ai/docs/nocobase/users-permissions/sync/index.md +8 -1
  127. package/dist/ai/docs/nocobase/users-permissions/sync/sources/dingtalk.md +138 -0
  128. package/dist/ai/docs/nocobase/users-permissions/sync/sources/ldap.md +87 -0
  129. package/dist/ai/docs/nocobase/workflow/nodes/javascript.md +21 -1
  130. package/dist/ai/tools/executeFrontendTool.d.ts +10 -0
  131. package/dist/ai/tools/executeFrontendTool.js +86 -0
  132. package/dist/ai/tools/getSkill.js +1 -1
  133. package/dist/ai/tools/knowledge-base-retrieve.js +3 -1
  134. package/dist/ai/tools/loadFrontendTool.d.ts +10 -0
  135. package/dist/ai/tools/loadFrontendTool.js +99 -0
  136. package/dist/client/244.28ee769f796b7c2f.js +10 -0
  137. package/dist/client/{525.203778500aca5d05.js → 525.94dd4136c1361477.js} +1 -1
  138. package/dist/client/681.6ffbc9329b9ac242.js +10 -0
  139. package/dist/{client-v2/705.1d10027ff8cfdf79.js → client/705.a4fe26945d175e8a.js} +1 -1
  140. package/dist/client/index.d.ts +1 -3
  141. package/dist/client/index.js +8 -8
  142. package/dist/client-v2/244.39348a95d627d9e3.js +10 -0
  143. package/dist/client-v2/420.a5b929a5e7f330be.js +10 -0
  144. package/dist/client-v2/681.6890caa389564ff7.js +10 -0
  145. package/dist/client-v2/705.f2e1b26a3f000075.js +10 -0
  146. package/dist/client-v2/ai-employees/AIEmployeeShortcut.d.ts +2 -0
  147. package/dist/client-v2/ai-employees/AddContextButton.d.ts +2 -0
  148. package/dist/client-v2/ai-employees/chatbox/components/AIEmployeeSwitcher.d.ts +1 -0
  149. package/dist/client-v2/ai-employees/chatbox/components/ChatBoxUnreadBadge.d.ts +17 -0
  150. package/dist/client-v2/ai-employees/chatbox/components/Conversations.d.ts +9 -1
  151. package/dist/client-v2/ai-employees/chatbox/components/MessageRenderers.d.ts +1 -1
  152. package/dist/client-v2/ai-employees/chatbox/components/Messages.d.ts +5 -1
  153. package/dist/client-v2/ai-employees/chatbox/components/ModelSwitcher.d.ts +4 -0
  154. package/dist/client-v2/ai-employees/chatbox/components/Sender.d.ts +33 -1
  155. package/dist/client-v2/ai-employees/chatbox/components/index.d.ts +1 -0
  156. package/dist/client-v2/ai-employees/chatbox/hooks/reasoning-stream.d.ts +10 -0
  157. package/dist/client-v2/ai-employees/chatbox/hooks/useChat.d.ts +8 -5
  158. package/dist/client-v2/ai-employees/chatbox/hooks/useChatBoxActions.d.ts +3 -2
  159. package/dist/client-v2/ai-employees/chatbox/hooks/useChatBoxEffect.d.ts +2 -1
  160. package/dist/client-v2/ai-employees/chatbox/hooks/useChatConversationActions.d.ts +3 -2
  161. package/dist/client-v2/ai-employees/chatbox/hooks/useChatMessageActions.d.ts +4 -2
  162. package/dist/client-v2/ai-employees/chatbox/hooks/useToolCallActions.d.ts +3 -1
  163. package/dist/client-v2/ai-employees/chatbox/hooks/useUploadFiles.d.ts +13 -3
  164. package/dist/client-v2/ai-employees/chatbox/hooks/useWorkflowTasks.d.ts +3 -2
  165. package/dist/client-v2/ai-employees/chatbox/index.d.ts +17 -0
  166. package/dist/client-v2/ai-employees/chatbox/roles.d.ts +2 -153
  167. package/dist/client-v2/ai-employees/chatbox/stores/chat-box.d.ts +46 -33
  168. package/dist/client-v2/ai-employees/chatbox/stores/chat-conversations.d.ts +7 -7
  169. package/dist/client-v2/ai-employees/chatbox/stores/chat-messages.d.ts +23 -18
  170. package/dist/client-v2/ai-employees/chatbox/stores/chat-sender.d.ts +43 -0
  171. package/dist/client-v2/ai-employees/chatbox/stores/chat-tool-call.d.ts +6 -5
  172. package/dist/client-v2/ai-employees/chatbox/stores/chat-tools.d.ts +11 -5
  173. package/dist/client-v2/ai-employees/chatbox/stores/mounted-chat-boxes.d.ts +20 -0
  174. package/dist/client-v2/ai-employees/chatbox/stores/runtime.d.ts +43 -0
  175. package/dist/client-v2/ai-employees/chatbox/stores/workflow-tasks.d.ts +22 -10
  176. package/dist/client-v2/ai-employees/chatbox/upload.d.ts +19 -0
  177. package/dist/client-v2/ai-employees/chatbox/utils.d.ts +28 -4
  178. package/dist/client-v2/ai-employees/frontend-tools.d.ts +11 -0
  179. package/dist/client-v2/ai-employees/tools/SuggestionsOptionsCard.d.ts +1 -1
  180. package/dist/client-v2/ai-employees/tools/WorkflowTaskOutputCard.d.ts +1 -1
  181. package/dist/client-v2/ai-employees/types.d.ts +30 -0
  182. package/dist/client-v2/block/ai-chat-box/AIChatBoxBlockModel.d.ts +21 -0
  183. package/dist/client-v2/block/ai-chat-box/AIChatBoxCoreModel.d.ts +13 -0
  184. package/dist/client-v2/{ai-employees/chatbox/components/DebugPanel.d.ts → block/ai-chat-box/components/AIChatBoxCoreView.d.ts} +1 -1
  185. package/dist/client-v2/block/ai-chat-box/components/AIChatBoxView.d.ts +12 -0
  186. package/dist/client-v2/block/ai-chat-box/index.d.ts +14 -0
  187. package/dist/client-v2/block/ai-chat-box/settings.d.ts +12 -0
  188. package/dist/client-v2/block/ai-chat-box/sub-models.d.ts +26 -0
  189. package/dist/client-v2/block/ai-chat-box/types.d.ts +38 -0
  190. package/dist/client-v2/block/ai-chat-box/utils.d.ts +26 -0
  191. package/dist/client-v2/index.d.ts +3 -5
  192. package/dist/client-v2/index.js +3 -3
  193. package/dist/client-v2/llm-providers/forms.d.ts +2 -0
  194. package/dist/client-v2/llm-providers/index.d.ts +1 -0
  195. package/dist/client-v2/llm-services/model-select.d.ts +33 -0
  196. package/dist/client-v2/llm-services/utils.d.ts +1 -0
  197. package/dist/client-v2/manager/ai-manager.d.ts +10 -3
  198. package/dist/client-v2/manager/frontend-tool-registry.d.ts +30 -0
  199. package/dist/client-v2/models/ai-employees/AIEmployeeActionModel.d.ts +4 -1
  200. package/dist/client-v2/models/ai-employees/AIEmployeeShortcutModel.d.ts +8 -0
  201. package/dist/client-v2/pages/EmployeesPage.d.ts +12 -0
  202. package/dist/client-v2/pages/LLMServicesPage.d.ts +9 -4
  203. package/dist/client-v2/repositories/AIConfigRepository.d.ts +2 -0
  204. package/dist/client-v2/runjs/registerAIEmployeeRunJSFacade.d.ts +1 -0
  205. package/dist/collections/ai-employees.d.ts +1 -0
  206. package/dist/collections/ai-employees.js +1 -0
  207. package/dist/common/ai-employee-validation.d.ts +15 -0
  208. package/dist/common/ai-employee-validation.js +61 -0
  209. package/dist/common/error-codes.d.ts +13 -0
  210. package/dist/common/error-codes.js +48 -0
  211. package/dist/common/frontend-tools.d.ts +26 -0
  212. package/dist/common/frontend-tools.js +57 -0
  213. package/dist/common/llm-service-models.d.ts +16 -0
  214. package/dist/common/llm-service-models.js +84 -0
  215. package/dist/externalVersion.js +19 -17
  216. package/dist/locale/de-DE.json +2 -1
  217. package/dist/locale/en-US.json +85 -5
  218. package/dist/locale/es-ES.json +2 -1
  219. package/dist/locale/fr-FR.json +2 -1
  220. package/dist/locale/hu-HU.json +2 -1
  221. package/dist/locale/id-ID.json +2 -1
  222. package/dist/locale/it-IT.json +2 -1
  223. package/dist/locale/ja-JP.json +2 -1
  224. package/dist/locale/ko-KR.json +2 -1
  225. package/dist/locale/nl-NL.json +2 -1
  226. package/dist/locale/pt-BR.json +2 -1
  227. package/dist/locale/ru-RU.json +2 -1
  228. package/dist/locale/tr-TR.json +2 -1
  229. package/dist/locale/uk-UA.json +2 -1
  230. package/dist/locale/vi-VN.json +2 -1
  231. package/dist/locale/zh-CN.json +85 -5
  232. package/dist/locale/zh-TW.json +2 -1
  233. package/dist/node_modules/@langchain/mistralai/package.json +1 -1
  234. package/dist/node_modules/@langchain/xai/package.json +1 -1
  235. package/dist/node_modules/fs-extra/package.json +1 -1
  236. package/dist/node_modules/jsonrepair/package.json +1 -1
  237. package/dist/node_modules/just-bash/package.json +1 -1
  238. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  239. package/dist/node_modules/openai/package.json +1 -1
  240. package/dist/node_modules/zod/package.json +1 -1
  241. package/dist/server/ai-employees/ai-conversations.d.ts +4 -1
  242. package/dist/server/ai-employees/ai-conversations.js +2 -0
  243. package/dist/server/ai-employees/ai-employee.d.ts +4 -1
  244. package/dist/server/ai-employees/ai-employee.js +112 -47
  245. package/dist/server/ai-employees/ai-knowledge-base.d.ts +21 -1
  246. package/dist/server/ai-employees/ai-knowledge-base.js +76 -8
  247. package/dist/server/ai-employees/middleware/conversation.js +9 -2
  248. package/dist/server/ai-employees/reasoning-stream-state.d.ts +23 -0
  249. package/dist/server/ai-employees/reasoning-stream-state.js +63 -0
  250. package/dist/server/collections/ai-conversations.js +5 -0
  251. package/dist/server/document-loader/constants.js +1 -1
  252. package/dist/server/features/knowledge-base.d.ts +2 -0
  253. package/dist/server/frontend-tools.d.ts +25 -0
  254. package/dist/server/frontend-tools.js +171 -0
  255. package/dist/server/llm-providers/common/reasoning.js +18 -10
  256. package/dist/server/llm-providers/deepseek/index.d.ts +10 -0
  257. package/dist/server/llm-providers/deepseek/index.js +32 -0
  258. package/dist/server/llm-providers/deepseek/provider.d.ts +57 -0
  259. package/dist/server/llm-providers/deepseek/provider.js +320 -0
  260. package/dist/server/llm-providers/deepseek/reasoning.d.ts +83 -0
  261. package/dist/server/llm-providers/deepseek/reasoning.js +285 -0
  262. package/dist/server/llm-providers/mistral.d.ts +1 -1
  263. package/dist/server/llm-providers/provider.d.ts +1 -0
  264. package/dist/server/llm-providers/provider.js +3 -0
  265. package/dist/server/llm-providers/shengsuanyun.d.ts +29 -0
  266. package/dist/server/llm-providers/shengsuanyun.js +114 -0
  267. package/dist/server/manager/ai-feature-manager.js +1 -1
  268. package/dist/server/manager/ai-manager.d.ts +3 -0
  269. package/dist/server/manager/ai-manager.js +7 -2
  270. package/dist/server/manager/work-context-handler.js +10 -3
  271. package/dist/server/migrations/20260501000000-ai-employee-knowledge-base-retrieval-strategy.d.ts +14 -0
  272. package/dist/server/migrations/20260501000000-ai-employee-knowledge-base-retrieval-strategy.js +49 -0
  273. package/dist/server/plugin.d.ts +1 -0
  274. package/dist/server/plugin.js +31 -0
  275. package/dist/server/resource/aiConversations.d.ts +2 -0
  276. package/dist/server/resource/aiConversations.js +33 -3
  277. package/dist/server/resource/aiEmployees.d.ts +2 -0
  278. package/dist/server/resource/aiEmployees.js +70 -0
  279. package/dist/server/resource/aiWorkflowTasks.js +9 -1
  280. package/dist/server/resource/llmServices.d.ts +11 -0
  281. package/dist/server/resource/llmServices.js +85 -0
  282. package/dist/server/types/ai-message.type.d.ts +4 -0
  283. package/dist/server/types/knowledge-base.type.d.ts +8 -3
  284. package/dist/swagger/common.d.ts +143 -0
  285. package/dist/swagger/common.js +144 -0
  286. package/dist/swagger/employees.d.ts +301 -0
  287. package/dist/swagger/employees.js +131 -0
  288. package/dist/swagger/index.d.ts +1617 -0
  289. package/dist/swagger/index.js +62 -0
  290. package/dist/swagger/llm.d.ts +563 -0
  291. package/dist/swagger/llm.js +255 -0
  292. package/dist/swagger/schemas.d.ts +757 -0
  293. package/dist/swagger/schemas.js +392 -0
  294. package/package.json +2 -2
  295. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/vector-store.md +0 -24
  296. package/dist/ai/docs/nocobase/data-sources/development/index.md +0 -6
  297. package/dist/client/372.40eb52905e3f3049.js +0 -10
  298. package/dist/client/681.399948c18d753667.js +0 -10
  299. package/dist/client/705.380279da896021fb.js +0 -10
  300. package/dist/client-v2/372.8cc3fde09c9bec77.js +0 -10
  301. package/dist/client-v2/406.341be51205c674e0.js +0 -10
  302. package/dist/client-v2/681.082f4f1c7b841983.js +0 -10
  303. package/dist/client-v2/ai-employees/chatbox/stores/create-selectors.d.ts +0 -46
  304. package/dist/client-v2/ai-employees/chatbox/utils/normalizeTriggerTaskOptions.d.ts +0 -19
  305. package/dist/client-v2/debug-logger.d.ts +0 -52
  306. package/dist/server/llm-providers/deepseek.d.ts +0 -40
  307. package/dist/server/llm-providers/deepseek.js +0 -174
@@ -85,6 +85,8 @@ yarn pm create @my-project/plugin-watermark
85
85
 
86
86
  AI generates a standard plugin directory structure under `packages/plugins/@my-project/plugin-watermark/`.
87
87
 
88
+ Once the scaffold is created, start development mode so your code changes hot-reload: for a project created by `nb init`, run `nb source dev` from the project root (`<app-path>`); for a NocoBase source repository you cloned yourself, run `yarn dev` from the source root.
89
+
88
90
  ### 3. Write Server-Side Code
89
91
 
90
92
  AI will generate the following files:
@@ -0,0 +1,133 @@
1
+ ---
2
+ pkg: '@nocobase/plugin-ai'
3
+ title: 'AI Chat box block'
4
+ description: 'User guide for NocoBase administrators and page builders covering how to add an AI Chat box block, configure conversation capabilities, set Work context, manage conversations, and add Actions.'
5
+ keywords: 'AI Chat box,AI Employee,page block,Work context,Scope,Actions,NocoBase'
6
+ ---
7
+
8
+ # AI Chat box block
9
+
10
+ In NocoBase, **AI Chat box** is an AI conversation block that can be added directly to a page. You can place it on a business page to provide a fixed AI assistant entry point for that page.
11
+
12
+ Each AI Chat box block has its own current conversation and input state. Page builders can also restrict the available AI employees, models, file uploads, web search, and work context to suit the current business scenario.
13
+
14
+ :::tip Before you start
15
+
16
+ First [configure an LLM service](../features/llm-service.md) and [enable at least one AI employee](../features/enable-ai-employee.md).
17
+
18
+ :::
19
+
20
+ ## Add an AI Chat box block
21
+
22
+ 1. Open the page you want to configure.
23
+ 2. Click `UI Editor` in the upper-right corner to enter page editing mode.
24
+ 3. Click `Add block`.
25
+ 4. Under `Other blocks`, select `AI chat box`.
26
+
27
+ ![Select AI chat box from the Add block menu](https://static-docs.nocobase.com/ai-employees/block/ai-chat-box/2026-07-22/add-ai-chat-box-block-3.png)
28
+
29
+ ## Understand the block structure
30
+
31
+ ![AI Chat box block](https://static-docs.nocobase.com/ai-employees/block/ai-chat-box/2026-07-22/ai-chat-box-overview-2.png)
32
+
33
+ An AI Chat box contains three areas from top to bottom:
34
+
35
+ - **Top action area** — conversation list, Actions, custom actions, and new conversation buttons; a messages button also appears when the messages area is hidden
36
+ - **Messages area** — displays messages in the current draft or conversation
37
+ - **Sender area** — input box, context selection, file upload, web search, AI employee selection, model selection, send button, and disclaimer
38
+
39
+ ### Add display content inside the block body
40
+
41
+ In page editing mode, click `Add block` inside the AI Chat box to add any of the following blocks above the chat area:
42
+
43
+ - JS block
44
+ - Iframe
45
+ - Markdown
46
+
47
+ These blocks are useful for displaying instructions, external pages, or supporting information. The internal Add block menu only provides these three block types and does not allow another AI Chat box to be nested inside it.
48
+
49
+ ## Configure the AI Chat box
50
+
51
+ Move the pointer over the block and open its settings menu. Click `Edit chat box` to configure the conversation scope, default message, Work context, AI employees, and models.
52
+
53
+ ![Edit chat box settings dialog](https://static-docs.nocobase.com/ai-employees/block/ai-chat-box/2026-07-22/edit-chat-box-settings-2.png)
54
+
55
+ ### Edit chat box settings
56
+
57
+ | Setting | Description |
58
+ | --- | --- |
59
+ | `Scope` | Controls which AI Chat boxes share a conversation list. A new block uses its own block UID by default to keep conversations separate. |
60
+ | `Background` | Adds a system prompt after the AI employee definition to provide the role, objective, or response requirements for the current page. |
61
+ | `Default user message` | Prefills a default user message in the sender when a new conversation starts. |
62
+ | `Work context` | Selects page blocks to place in a new draft by default. |
63
+ | `AI employees` | Restricts the business AI employees that can be selected in this block. Leave it empty to allow all available business AI employees. |
64
+ | `Models` | Restricts the models that can be selected in this block. Leave it empty to allow all available models. |
65
+
66
+ ### Other block settings
67
+
68
+ | Setting | Description |
69
+ | --- | --- |
70
+ | `Show messages` | Controls whether the messages area is displayed directly in the block. When disabled, use the messages button at the top to open the right-side panel. |
71
+ | `Sender placeholder` | Changes the placeholder shown in the sender. |
72
+ | `Enable add context` | Shows or hides the context selection entry in the sender. |
73
+ | `Enable upload files` | Shows or hides the file upload entry. When disabled, pasting a file does not start an upload. |
74
+ | `Enable web search` | Shows or hides the web search switch. Disabling it also turns off web search for the current draft. |
75
+ | `Enable employee select` | Shows or hides the AI employee selector. |
76
+ | `Enable model select` | Shows or hides the model selector. |
77
+ | `Show disclaimer` | Shows or hides the AI disclaimer below the sender. |
78
+
79
+ ## Configure Work context
80
+
81
+ In `Work context` under `Edit chat box`, click the add context button, select `Pick block`, and then select the page block you want to provide to the AI. After saving, the selected block becomes the default work context for new conversations and can be removed from the sender before sending.
82
+
83
+ ## Hide the messages area and use the right-side panel
84
+
85
+ After disabling `Show messages`, the block body only keeps the sender area. A messages button appears at the top; click it to open the messages panel from the right.
86
+
87
+ ![Right-side messages panel with the messages area hidden](https://static-docs.nocobase.com/ai-employees/block/ai-chat-box/2026-07-22/messages-side-panel-2.png)
88
+
89
+ When the panel is open, the rest of the block is covered by an overlay. Click the overlay or click the messages button again to close the panel.
90
+
91
+ This layout works well when the AI Chat box is used as a lightweight input entry on a page: keep only the sender visible and open the panel when you need to review messages.
92
+
93
+ ## Manage conversation history
94
+
95
+ Click the conversation list button in the upper-left corner of the block to view conversation history under the current Scope.
96
+
97
+ Keep these rules in mind:
98
+
99
+ - Multiple AI Chat boxes with the same Scope can see the same conversation list
100
+ - Each block still has its own current conversation, sender draft, AI employee, model, attachments, and context state
101
+ - The global floating chatbox does not filter by block Scope, so it does not hide conversations with a Scope
102
+ - After clearing Scope, the block no longer filters the conversation list by Scope and displays both conversations without a Scope and conversations using other Scopes
103
+
104
+ Normally, keeping the Scope generated for a new block is enough to separate the history of each page assistant. Only configure the same Scope when multiple blocks need to share the same conversation list.
105
+
106
+ ## Add Actions
107
+
108
+ In page editing mode, click `Actions` at the top of the block to add either of the following actions:
109
+
110
+ - JS Action
111
+ - AI employee
112
+
113
+ After adding an AI employee, you can configure shortcut tasks for that employee.
114
+
115
+ The `Chat box uid` setting in a shortcut task specifies which AI Chat box runs the task. An AI employee added directly inside an AI Chat box points to the current block UID by default.
116
+
117
+ If the specified AI Chat box is not mounted, NocoBase reports that the target block cannot be found and does not fall back to the global floating chatbox. See [AI employee shortcut tasks](../features/task.md) for detailed configuration.
118
+
119
+ ## Configure a page-specific assistant
120
+
121
+ The following steps create a lightweight AI assistant for a page:
122
+
123
+ 1. Add an AI Chat box block and move it to the appropriate position on the page.
124
+ 2. Enter a page-specific Background under `Edit chat box`.
125
+ 3. Select one or more Work contexts.
126
+ 4. Restrict the available employees and models under `AI employees` and `Models`.
127
+ 5. Exit editing mode, enter a question, and send it.
128
+
129
+ ## Notes
130
+
131
+ - The AI Chat box block and the global floating chatbox in the lower-right corner are separate entry points; their current conversations and input states are not synchronized automatically
132
+ - Only JS block, Iframe, and Markdown can be added from `Add block` inside an AI Chat box
133
+ - Changing Scope affects the conversation list query and does not copy the conversation or draft currently open in another block
@@ -17,7 +17,7 @@ After opening the knowledge base detail page, click Documents in the left sideba
17
17
 
18
18
  Click Upload in the upper-right corner to upload files. After upload, documents automatically enter segment generation and vectorization. Status first shows Pending, then changes to Success after processing. If processing fails, it shows Error, and an error icon appears next to the filename.
19
19
 
20
- Supported document types include: `txt`, `md`, `json`, `csv`, `xls`, `xlsx`, `pdf`, `doc`, `docx`, `ppt`, and `pptx`.
20
+ Supported document types include: `txt`, `md`, `json`, `csv`, `xls`, `xlsx`, `pdf`, `doc`, `docx`, and `pptx`.
21
21
 
22
22
  :::tip PDF documents
23
23
 
@@ -13,7 +13,7 @@ A knowledge base is the foundation of RAG retrieval. You can add product manuals
13
13
 
14
14
  For most scenarios, a Local knowledge base is enough. Only consider Readonly or External knowledge bases when documents and vector data are already maintained by an external system.
15
15
 
16
- ![](https://static-docs.nocobase.com/20260617003643.png)
16
+ ![](https://static-docs.nocobase.com/20260728222403.png)
17
17
 
18
18
  ## Open knowledge base management
19
19
 
@@ -23,15 +23,15 @@ Click a knowledge base card to open its detail page:
23
23
 
24
24
  - Documents is used to upload documents, run vectorization, and open segment management
25
25
  - Hit tests is used to test which segments can be matched by a query
26
- - Settings is used to adjust basic information, vector store, and default segmentation parameters
26
+ - Settings is used to adjust basic information, vector configuration, and default segmentation parameters
27
27
 
28
- ![](https://static-docs.nocobase.com/20260617004104.png)
28
+ ![](https://static-docs.nocobase.com/20260728222406.png)
29
29
 
30
30
  ## Create a knowledge base
31
31
 
32
32
  Click Add new in the upper-right corner to create a knowledge base. The menu shows three types: Local, Readonly, and External.
33
33
 
34
- ![](https://static-docs.nocobase.com/20260617003505.png)
34
+ ![](https://static-docs.nocobase.com/20260728222404.png)
35
35
 
36
36
  The three knowledge base types have different capability boundaries:
37
37
 
@@ -45,19 +45,23 @@ Local knowledge bases are recommended by default. Only consider Readonly or Exte
45
45
 
46
46
  A Local knowledge base usually needs the following information:
47
47
 
48
- ![](https://static-docs.nocobase.com/20260617003603.png)
48
+ ![](https://static-docs.nocobase.com/20260728222405.png)
49
49
 
50
50
  - Key: unique identifier of the knowledge base. It cannot be changed after creation
51
51
  - Name: knowledge base name
52
52
  - File storage: where original documents and segment files are stored
53
- - Vector store: vector store used to generate and retrieve vectors
53
+ - Vector database: select a configured vector database. See [Vector database](../vector-database)
54
+ - LLM service: select a configured LLM service that supports embedding models. See [LLM service management](../../features/llm-service)
55
+ - Embedding model: select or enter the embedding model used to generate and retrieve vectors; available models update when the LLM service changes
54
56
  - Description: knowledge base description
55
57
  - Split document, Chunk size, and Chunk overlap: default segmentation parameters used after document upload
56
58
  - Enabled: whether the knowledge base is enabled
57
59
 
60
+ A Readonly knowledge base does not require File storage or default segmentation parameters, but it still requires Vector database, LLM service, and Embedding model.
61
+
58
62
  :::tip Prerequisites
59
63
 
60
- Before creating a Local knowledge base, prepare two dependencies: file storage for original documents and segment files, see [File storage](../../../file-manager/storage/); and vector storage for generating and retrieving vectors, see [Vector database](../vector-database) and [Vector store](../vector-store).
64
+ Before creating a Local knowledge base, prepare file storage, a vector database, and an LLM service that supports embedding models. File storage holds original documents and segment files; see [File storage](../../../file-manager/storage/index.md). Configure the vector database as described in [Vector database](../vector-database), and configure the LLM service as described in [LLM service management](../../features/llm-service).
61
65
 
62
66
  :::
63
67
 
@@ -1,17 +1,17 @@
1
1
  ---
2
2
  pkg: "@nocobase/plugin-ai-knowledge-base"
3
3
  title: "Settings"
4
- description: "Modify basic information, vector store, and default segmentation settings on the Settings page of a knowledge base, and understand the relation between knowledge-base-level and document-level segmentation settings."
5
- keywords: "knowledge base settings,segmentation settings,Chunk size,Chunk overlap,vector store,NocoBase"
4
+ description: "Modify basic information, vector database, LLM service, embedding model, and default segmentation settings on the Settings page of a knowledge base."
5
+ keywords: "knowledge base settings,vector database,LLM service,embedding model,segmentation settings,NocoBase"
6
6
  ---
7
7
 
8
8
  # Settings
9
9
 
10
10
  ## Open the Settings page
11
11
 
12
- After opening the knowledge base detail page, click Settings in the left sidebar. This page modifies basic information, file storage, vector store, and default segmentation settings of the current knowledge base.
12
+ After opening the knowledge base detail page, click Settings in the left sidebar. This page modifies basic information, file storage, vector database, LLM service, embedding model, and default segmentation settings of the current knowledge base.
13
13
 
14
- ![](https://static-docs.nocobase.com/20260617005832.png)
14
+ ![](https://static-docs.nocobase.com/20260728222407.png)
15
15
 
16
16
  ## Basic information
17
17
 
@@ -22,17 +22,21 @@ Local knowledge base settings include:
22
22
  | Key | Unique identifier of the knowledge base. It cannot be changed after creation |
23
23
  | Name | Knowledge base name |
24
24
  | File storage | Where documents and segment files are stored. It cannot be changed after creation |
25
- | Vector store | Vector store used by the current knowledge base |
25
+ | Vector database | Vector database used by the current knowledge base |
26
+ | LLM service | LLM service used to generate embeddings |
27
+ | Embedding model | Embedding model used to generate and retrieve vectors |
26
28
  | Description | Knowledge base description |
27
29
  | Enabled | Whether the current knowledge base is enabled |
28
30
 
29
- :::tip Vector store changes
31
+ :::tip Vector configuration changes
30
32
 
31
- After you modify Vector store, NocoBase asks for confirmation when saving. After the vector store changes, existing documents must be vectorized again before vector data can be written to the new vector store. Choose Save and vectorize to save the settings and vectorize immediately, or choose Save only to save the settings and later run Vectorization manually on the Documents page.
33
+ After you modify Vector database, LLM service, or Embedding model, NocoBase asks for confirmation when saving. After the vector configuration changes, existing documents must be vectorized again. Choose Save and vectorize to save the settings and vectorize immediately, or choose Save only to save the settings and later run Vectorization manually on the Documents page.
34
+
35
+ If the vector database connection settings change, the Documents page also prompts you to run vectorization again.
32
36
 
33
37
  :::
34
38
 
35
- ![](https://static-docs.nocobase.com/20260617005951.png)
39
+ ![](https://static-docs.nocobase.com/20260728222408.png)
36
40
 
37
41
  ## Default segmentation parameters
38
42
 
@@ -1,29 +1,59 @@
1
+ ---
2
+ pkg: "@nocobase/plugin-ai-knowledge-base"
3
+ title: "RAG Retrieval-Augmented Generation"
4
+ description: "Enable RAG for AI employees, configure the Knowledge Base, Retrieval strategy, Top K, and Score, and control knowledge-base access through user roles."
5
+ keywords: "RAG,retrieval-augmented generation,knowledge-base retrieval,Retrieval strategy,knowledge-base permissions,Top K,NocoBase"
6
+ ---
7
+
1
8
  # RAG Retrieval
2
9
 
3
10
  ## Introduction
4
11
 
5
- After configuring the knowledge base, you can enable the RAG feature in the AI employee settings.
12
+ In NocoBase, **RAG (Retrieval-Augmented Generation)** enables an AI employee to retrieve relevant content from knowledge bases before answering a question.
13
+
14
+ The knowledge bases an AI employee can actually use are determined by both the employee's `Knowledge Base` configuration and the knowledge-base permissions of the current user's roles. Only knowledge bases included in both scopes are searched.
15
+
16
+ ## Configure an AI employee's knowledge bases
17
+
18
+ Go to the `AI employees` configuration page, select the AI employee for which you want to enable RAG, and click `Edit`. In the edit drawer, open the `Knowledge Base` tab and turn on `Enable`.
19
+
20
+ ![](https://static-docs.nocobase.com/ai-employee-knowledge-base-settings-202608171620.png)
21
+
22
+ The available settings are:
23
+
24
+ - `Knowledge Base` — Optional. If left empty, the AI employee searches all enabled knowledge bases accessible to the current user's roles. If you select knowledge bases, it searches only the selected knowledge bases that the user is allowed to access
25
+ - `Retrieval strategy` — Controls when knowledge-base retrieval runs:
26
+ - `Retrieve on demand` — The AI employee retrieves knowledge-base content only when it determines that the current question requires it. New AI employees use this strategy by default, and it is the recommended option for most cases
27
+ - `Automatically retrieve for every question` — Retrieval runs before every user question is sent to the AI employee. Use this when every turn depends on knowledge-base content
28
+ - `Knowledge Base Prompt` — Defines how retrieved content is provided to the AI employee. `{knowledgeBaseData}` is a fixed placeholder; do not remove or modify it
29
+ - `Top K` — The maximum number of knowledge-base results returned by each retrieval. The range is 1–100, and the default is 3
30
+ - `Score` — The minimum similarity score required for a result. The range is 0–1, and the default is 0.6. A higher value returns more relevant content, but may produce fewer results
31
+
32
+ Click `Submit` to save the configuration.
33
+
34
+ ## Configure knowledge-base permissions
6
35
 
7
- With RAG enabled, when a user chats with an AI employee, the AI employee will use RAG retrieval to fetch documents from the knowledge base based on the user's message and reply based on the retrieved documents.
36
+ Selecting knowledge bases for an AI employee does not give every user access to them. Go to `Users & Permissions / Roles & Permissions`, select the role assigned to the user, and then open `Permissions / Knowledge bases`.
8
37
 
9
- ## Enable RAG
38
+ Select `Available` for each knowledge base that the role should be allowed to access. To automatically grant this role access to knowledge bases created later, select `New knowledge bases are allowed by default`.
10
39
 
11
- Go to the AI employee plugin configuration page, click the `AI employees` tab to enter the AI employee management page.
40
+ ![](https://static-docs.nocobase.com/knowledge-base-role-permissions-202608171620.png)
12
41
 
42
+ :::warning Note
13
43
 
14
- ![20251023010811](https://static-docs.nocobase.com/20251023010811.png)
44
+ The knowledge-base scope available to an AI employee is the intersection of its `Knowledge Base` configuration and the current user's role permissions. Unauthorized knowledge bases are automatically excluded.
15
45
 
46
+ :::
16
47
 
17
- Select the AI employee for which you want to enable RAG, click the `Edit` button to enter the AI employee editing page.
48
+ ## When the user has no knowledge-base access
18
49
 
19
- In the `Knowledge base` tab, turn on the `Enable` switch.
50
+ If knowledge bases are enabled for an AI employee but its configured scope has no overlap with the current user's role permissions, the AI employee first answers with information that does not depend on a knowledge base. It then appends a prominent notice explaining that no knowledge-base content was used because the user does not have access and advising the user to contact an administrator.
20
51
 
21
- - In `Knowledge Base Prompt`, enter the prompt for referencing the knowledge base. `{knowledgeBaseData}` is a fixed placeholder and should not be modified.
22
- - In `Knowledge Base`, select the configured knowledge base. See: [Knowledge Base](./knowledge-base/).
23
- - In the `Top K` input box, enter the number of documents to retrieve, the default is 3.
24
- - In the `Score` input box, enter the document relevance threshold for retrieval.
52
+ ![](https://static-docs.nocobase.com/ai-employee-no-knowledge-base-access-side-panel-202608171653.png)
25
53
 
26
- Click the `Submit` button to save the AI employee settings.
54
+ If the user can access at least one knowledge base but the current question returns no relevant content, the no-permission notice is not displayed.
27
55
 
56
+ ## Related links
28
57
 
29
- ![20251023010844](https://static-docs.nocobase.com/20251023010844.png)
58
+ - [Knowledge Base](./knowledge-base/index.md) — Create and maintain knowledge bases used for RAG retrieval
59
+ - [Roles and permissions](../../users-permissions/acl/permissions.md) — Configure system, menu, and data access for roles
@@ -10,10 +10,10 @@ Currently, the AI Knowledge Base plugin only has built-in support for PGVector,
10
10
 
11
11
  ## Vector Database Management
12
12
 
13
- Go to the AI Agent plugin configuration page, click the `Vector store` tab, and select `Vector database` to enter the vector database management page.
13
+ Go to the AI employees plugin configuration page and click the top-level `Vector database` tab to open the vector database management page.
14
14
 
15
15
 
16
- ![20251022233704](https://static-docs.nocobase.com/20251022233704.png)
16
+ ![20260728222401](https://static-docs.nocobase.com/20260728222401.png)
17
17
 
18
18
 
19
19
  Click the `Add new` button in the upper right corner to add a new `PGVector` vector database connection:
@@ -29,4 +29,4 @@ Click the `Add new` button in the upper right corner to add a new `PGVector` vec
29
29
  After entering all the necessary information, click the `Test` button to test if the vector database service is available, and click the `Submit` button to save the connection information.
30
30
 
31
31
 
32
- ![20251022234644](https://static-docs.nocobase.com/20251022234644.png)
32
+ ![20260728222402](https://static-docs.nocobase.com/20260728222402.png)
@@ -30,7 +30,7 @@ Where:
30
30
 
31
31
  The example uses the `Answers` / `Questions` collections and target knowledge base described in [Overview](./). Before configuring the workflow, confirm that:
32
32
 
33
- - A Local knowledge base has been created, with file storage and vector store configured. See [Knowledge base overview](../../../knowledge-base/knowledge-base) and [Vector store](../../../knowledge-base/vector-store)
33
+ - A Local knowledge base has been created, with file storage, vector database, LLM service, and embedding model configured. See [Knowledge base overview](../../../knowledge-base/knowledge-base/index.md) and [Vector database](../../../knowledge-base/vector-database)
34
34
  - The `Answers.questions` relation field is ready. To review the collection structure, return to [Overview](./)
35
35
  - The workflow uses asynchronous execution. See [Workflow](../../../../workflow) for the basics
36
36
 
@@ -57,6 +57,8 @@ Whitelist for outbound HTTP requests initiated by the server. It applies to serv
57
57
 
58
58
  When this variable is not configured, NocoBase still allows `http` / `https` requests to keep existing deployments compatible. However, if the target is a loopback, private, link-local, or metadata address, or if a domain resolves to one of these addresses, the server logs a warning. Future versions may gradually tighten the default behavior. If your deployment needs to access internal services, configure an explicit whitelist in advance.
59
59
 
60
+ When this variable is configured, the initial request and every redirect destination must match a whitelist entry. If a redirect points to a non-matching host, NocoBase stops before sending the redirected request.
61
+
60
62
  Supported entries include:
61
63
 
62
64
  - Exact IPv4 address, such as `192.168.1.10`
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  title: "nb api resource create"
3
- description: "nb api resource create command reference: create a record in a selected NocoBase resource."
3
+ description: "nb api resource create command reference: create one or more records in a selected NocoBase resource."
4
4
  keywords: "nb api resource create,NocoBase CLI,create record,CRUD"
5
5
  ---
6
6
 
7
7
  # nb api resource create
8
8
 
9
- Create a record in a selected resource. Pass record data as a JSON object through `--values`.
9
+ Create records in a selected resource. Pass record data as a JSON object through `--values`, or as a JSON array of objects to create multiple records in a single request.
10
10
 
11
11
  ## Usage
12
12
 
@@ -21,7 +21,7 @@ nb api resource create --resource <resource> --values <json> [flags]
21
21
  | `--resource` | string | Resource name, required |
22
22
  | `--data-source` | string | Data source key, default `main` |
23
23
  | `--source-id` | string | Source record ID for association resources |
24
- | `--values` | string | Data for the new record as a JSON object, required |
24
+ | `--values` | string | Data for the new records: a JSON object, or a JSON array of objects to create multiple records; required |
25
25
  | `--whitelist` | string[] | Fields allowed to write; repeatable or pass a JSON array |
26
26
  | `--blacklist` | string[] | Fields forbidden to write; repeatable or pass a JSON array |
27
27
 
@@ -31,6 +31,7 @@ Also supports common connection parameters from [`nb api resource`](./index.md).
31
31
 
32
32
  ```bash
33
33
  nb api resource create --resource users --values '{"nickname":"Ada"}'
34
+ nb api resource create --resource users --values '[{"nickname":"Ada"},{"nickname":"Grace"}]'
34
35
  nb api resource create --resource posts.comments --source-id 1 --values '{"content":"Hello"}'
35
36
  ```
36
37