@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.
- package/dist/ai/docs/nocobase/ai-dev/watermark-plugin.md +2 -0
- package/dist/ai/docs/nocobase/ai-employees/block/ai-chat-box.md +133 -0
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/documents.md +1 -1
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/index.md +11 -7
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/settings.md +12 -8
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/rag.md +43 -13
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/vector-database.md +3 -3
- package/dist/ai/docs/nocobase/ai-employees/workflow/nodes/knowledge/create-document.md +1 -1
- package/dist/ai/docs/nocobase/api/app/env.md +2 -0
- package/dist/ai/docs/nocobase/api/cli/api/resource/create.md +4 -3
- package/dist/ai/docs/nocobase/building-tips/ai-fill-js-block-form.md +1092 -0
- package/dist/ai/docs/nocobase/data-sources/calendar/calendar-collection.md +100 -3
- package/dist/ai/docs/nocobase/data-sources/collection-comment/index.md +92 -39
- package/dist/ai/docs/nocobase/data-sources/collection-sql/index.md +150 -29
- package/dist/ai/docs/nocobase/data-sources/collection-tree/index.md +93 -5
- package/dist/ai/docs/nocobase/data-sources/collection-view/index.md +226 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/china-region.md +122 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/collection-select.md +105 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/json.md +102 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/nano-id.md +104 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/snowflake-id.md +108 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/sort.md +3 -19
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/uuid.md +104 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/associations/index.md +44 -8
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/color.md +102 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/email.md +104 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/icon.md +102 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/input.md +112 -8
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/integer.md +103 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/number.md +103 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/password.md +102 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/percent.md +104 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/phone.md +104 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/textarea.md +99 -8
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/url.md +103 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/checkbox-group.md +105 -3
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/checkbox.md +102 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/china-region.md +108 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/multiple-select.md +103 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/radio-group.md +106 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/select.md +103 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/date.md +102 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/datetime-without-tz.md +103 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/datetime.md +103 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/index.md +53 -47
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/time.md +102 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/unix-timestamp.md +103 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/circle.md +102 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/line.md +103 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/point.md +102 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/polygon.md +102 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/index.md +62 -16
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/media/markdown.md +104 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/media/rich-text.md +105 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/created-at.md +105 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/created-by.md +103 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/space.md +100 -6
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/table-oid.md +102 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/updated-at.md +104 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/updated-by.md +104 -6
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/validation.md +68 -58
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection.md +32 -13
- package/dist/ai/docs/nocobase/data-sources/data-modeling/index.md +41 -33
- package/dist/ai/docs/nocobase/data-sources/data-source-external-mariadb/index.md +114 -6
- package/dist/ai/docs/nocobase/data-sources/data-source-external-mssql/index.md +117 -6
- package/dist/ai/docs/nocobase/data-sources/data-source-external-mysql/index.md +103 -6
- package/dist/ai/docs/nocobase/data-sources/data-source-external-nocobase/index.md +75 -73
- package/dist/ai/docs/nocobase/data-sources/data-source-external-oracle/index.md +129 -11
- package/dist/ai/docs/nocobase/data-sources/data-source-external-postgres/index.md +110 -6
- package/dist/ai/docs/nocobase/data-sources/data-source-kingbase/index.md +75 -49
- package/dist/ai/docs/nocobase/data-sources/data-source-main/general-collection.md +116 -15
- package/dist/ai/docs/nocobase/data-sources/data-source-main/index.md +92 -62
- package/dist/ai/docs/nocobase/data-sources/data-source-main/inheritance-collection.md +97 -10
- package/dist/ai/docs/nocobase/data-sources/data-source-manager/external-database.md +97 -58
- package/dist/ai/docs/nocobase/data-sources/data-source-manager/index.md +32 -24
- package/dist/ai/docs/nocobase/data-sources/data-source-rest-api/index.md +115 -153
- package/dist/ai/docs/nocobase/data-sources/external/clickhouse.md +124 -0
- package/dist/ai/docs/nocobase/data-sources/external/doris.md +130 -0
- package/dist/ai/docs/nocobase/data-sources/external/index.md +140 -0
- package/dist/ai/docs/nocobase/data-sources/external/kingbase.md +129 -0
- package/dist/ai/docs/nocobase/data-sources/external/mariadb.md +126 -0
- package/dist/ai/docs/nocobase/data-sources/external/mssql.md +129 -0
- package/dist/ai/docs/nocobase/data-sources/external/mysql.md +115 -0
- package/dist/ai/docs/nocobase/data-sources/external/nocobase.md +159 -0
- package/dist/ai/docs/nocobase/data-sources/external/oceanbase.md +126 -0
- package/dist/ai/docs/nocobase/data-sources/external/oracle.md +158 -0
- package/dist/ai/docs/nocobase/data-sources/external/postgresql.md +122 -0
- package/dist/ai/docs/nocobase/data-sources/external/rest-api.md +245 -0
- package/dist/ai/docs/nocobase/data-sources/field-attachment-url/index.md +100 -12
- package/dist/ai/docs/nocobase/data-sources/field-encryption/index.md +48 -47
- package/dist/ai/docs/nocobase/data-sources/field-formula/index.md +99 -5
- package/dist/ai/docs/nocobase/data-sources/field-markdown-vditor/index.md +105 -5
- package/dist/ai/docs/nocobase/data-sources/field-sequence/index.md +102 -5
- package/dist/ai/docs/nocobase/data-sources/field-signature/index.md +18 -16
- package/dist/ai/docs/nocobase/data-sources/field-sort/index.md +76 -73
- package/dist/ai/docs/nocobase/data-sources/file-manager/field-attachment.md +101 -7
- package/dist/ai/docs/nocobase/data-sources/file-manager/file-collection.md +101 -14
- package/dist/ai/docs/nocobase/data-sources/index.md +49 -33
- package/dist/ai/docs/nocobase/data-sources/main/index.md +130 -0
- package/dist/ai/docs/nocobase/data-sources/main/kingbase.md +147 -0
- package/dist/ai/docs/nocobase/data-sources/main/mariadb.md +59 -0
- package/dist/ai/docs/nocobase/data-sources/main/mysql.md +59 -0
- package/dist/ai/docs/nocobase/data-sources/main/oceanbase.md +62 -0
- package/dist/ai/docs/nocobase/data-sources/main/postgresql.md +61 -0
- package/dist/ai/docs/nocobase/file-manager/file-preview/index.md +44 -3
- package/dist/ai/docs/nocobase/file-manager/storage/aliyun-oss.md +100 -3
- package/dist/ai/docs/nocobase/file-manager/storage/index.md +66 -26
- package/dist/ai/docs/nocobase/file-manager/storage/s3-pro.md +58 -7
- package/dist/ai/docs/nocobase/get-started/installation/env.md +1 -1
- package/dist/ai/docs/nocobase/ops-management/migration-manager/built-in-tables.md +1 -2
- package/dist/ai/docs/nocobase/plugin-development/build.md +10 -4
- package/dist/ai/docs/nocobase/plugin-development/client/appendix/faq.md +1 -1
- package/dist/ai/docs/nocobase/plugin-development/client/examples/custom-action.md +2 -0
- package/dist/ai/docs/nocobase/plugin-development/client/examples/custom-block.md +2 -0
- package/dist/ai/docs/nocobase/plugin-development/client/examples/custom-field.md +2 -0
- package/dist/ai/docs/nocobase/plugin-development/client/examples/fullstack-plugin.md +2 -0
- package/dist/ai/docs/nocobase/plugin-development/client/examples/settings-page.md +2 -0
- package/dist/ai/docs/nocobase/plugin-development/common/i18n.md +3 -3
- package/dist/ai/docs/nocobase/plugin-development/server/cache.md +1 -1
- package/dist/ai/docs/nocobase/plugin-development/server/collections.md +0 -6
- package/dist/ai/docs/nocobase/plugin-development/server/command.md +2 -2
- package/dist/ai/docs/nocobase/plugin-development/server/context.md +2 -2
- package/dist/ai/docs/nocobase/plugin-development/server/i18n.md +4 -4
- package/dist/ai/docs/nocobase/plugin-development/write-your-first-plugin.md +91 -43
- package/dist/ai/docs/nocobase/runjs/context/ai.md +194 -4
- package/dist/ai/docs/nocobase/users-permissions/sync/index.md +8 -1
- package/dist/ai/docs/nocobase/users-permissions/sync/sources/dingtalk.md +138 -0
- package/dist/ai/docs/nocobase/users-permissions/sync/sources/ldap.md +87 -0
- package/dist/ai/docs/nocobase/workflow/nodes/javascript.md +21 -1
- package/dist/ai/tools/executeFrontendTool.d.ts +10 -0
- package/dist/ai/tools/executeFrontendTool.js +86 -0
- package/dist/ai/tools/getSkill.js +1 -1
- package/dist/ai/tools/knowledge-base-retrieve.js +3 -1
- package/dist/ai/tools/loadFrontendTool.d.ts +10 -0
- package/dist/ai/tools/loadFrontendTool.js +99 -0
- package/dist/client/244.28ee769f796b7c2f.js +10 -0
- package/dist/client/{525.203778500aca5d05.js → 525.94dd4136c1361477.js} +1 -1
- package/dist/client/681.6ffbc9329b9ac242.js +10 -0
- package/dist/{client-v2/705.1d10027ff8cfdf79.js → client/705.a4fe26945d175e8a.js} +1 -1
- package/dist/client/index.d.ts +1 -3
- package/dist/client/index.js +8 -8
- package/dist/client-v2/244.39348a95d627d9e3.js +10 -0
- package/dist/client-v2/420.a5b929a5e7f330be.js +10 -0
- package/dist/client-v2/681.6890caa389564ff7.js +10 -0
- package/dist/client-v2/705.f2e1b26a3f000075.js +10 -0
- package/dist/client-v2/ai-employees/AIEmployeeShortcut.d.ts +2 -0
- package/dist/client-v2/ai-employees/AddContextButton.d.ts +2 -0
- package/dist/client-v2/ai-employees/chatbox/components/AIEmployeeSwitcher.d.ts +1 -0
- package/dist/client-v2/ai-employees/chatbox/components/ChatBoxUnreadBadge.d.ts +17 -0
- package/dist/client-v2/ai-employees/chatbox/components/Conversations.d.ts +9 -1
- package/dist/client-v2/ai-employees/chatbox/components/MessageRenderers.d.ts +1 -1
- package/dist/client-v2/ai-employees/chatbox/components/Messages.d.ts +5 -1
- package/dist/client-v2/ai-employees/chatbox/components/ModelSwitcher.d.ts +4 -0
- package/dist/client-v2/ai-employees/chatbox/components/Sender.d.ts +33 -1
- package/dist/client-v2/ai-employees/chatbox/components/index.d.ts +1 -0
- package/dist/client-v2/ai-employees/chatbox/hooks/reasoning-stream.d.ts +10 -0
- package/dist/client-v2/ai-employees/chatbox/hooks/useChat.d.ts +8 -5
- package/dist/client-v2/ai-employees/chatbox/hooks/useChatBoxActions.d.ts +3 -2
- package/dist/client-v2/ai-employees/chatbox/hooks/useChatBoxEffect.d.ts +2 -1
- package/dist/client-v2/ai-employees/chatbox/hooks/useChatConversationActions.d.ts +3 -2
- package/dist/client-v2/ai-employees/chatbox/hooks/useChatMessageActions.d.ts +4 -2
- package/dist/client-v2/ai-employees/chatbox/hooks/useToolCallActions.d.ts +3 -1
- package/dist/client-v2/ai-employees/chatbox/hooks/useUploadFiles.d.ts +13 -3
- package/dist/client-v2/ai-employees/chatbox/hooks/useWorkflowTasks.d.ts +3 -2
- package/dist/client-v2/ai-employees/chatbox/index.d.ts +17 -0
- package/dist/client-v2/ai-employees/chatbox/roles.d.ts +2 -153
- package/dist/client-v2/ai-employees/chatbox/stores/chat-box.d.ts +46 -33
- package/dist/client-v2/ai-employees/chatbox/stores/chat-conversations.d.ts +7 -7
- package/dist/client-v2/ai-employees/chatbox/stores/chat-messages.d.ts +23 -18
- package/dist/client-v2/ai-employees/chatbox/stores/chat-sender.d.ts +43 -0
- package/dist/client-v2/ai-employees/chatbox/stores/chat-tool-call.d.ts +6 -5
- package/dist/client-v2/ai-employees/chatbox/stores/chat-tools.d.ts +11 -5
- package/dist/client-v2/ai-employees/chatbox/stores/mounted-chat-boxes.d.ts +20 -0
- package/dist/client-v2/ai-employees/chatbox/stores/runtime.d.ts +43 -0
- package/dist/client-v2/ai-employees/chatbox/stores/workflow-tasks.d.ts +22 -10
- package/dist/client-v2/ai-employees/chatbox/upload.d.ts +19 -0
- package/dist/client-v2/ai-employees/chatbox/utils.d.ts +28 -4
- package/dist/client-v2/ai-employees/frontend-tools.d.ts +11 -0
- package/dist/client-v2/ai-employees/tools/SuggestionsOptionsCard.d.ts +1 -1
- package/dist/client-v2/ai-employees/tools/WorkflowTaskOutputCard.d.ts +1 -1
- package/dist/client-v2/ai-employees/types.d.ts +30 -0
- package/dist/client-v2/block/ai-chat-box/AIChatBoxBlockModel.d.ts +21 -0
- package/dist/client-v2/block/ai-chat-box/AIChatBoxCoreModel.d.ts +13 -0
- package/dist/client-v2/{ai-employees/chatbox/components/DebugPanel.d.ts → block/ai-chat-box/components/AIChatBoxCoreView.d.ts} +1 -1
- package/dist/client-v2/block/ai-chat-box/components/AIChatBoxView.d.ts +12 -0
- package/dist/client-v2/block/ai-chat-box/index.d.ts +14 -0
- package/dist/client-v2/block/ai-chat-box/settings.d.ts +12 -0
- package/dist/client-v2/block/ai-chat-box/sub-models.d.ts +26 -0
- package/dist/client-v2/block/ai-chat-box/types.d.ts +38 -0
- package/dist/client-v2/block/ai-chat-box/utils.d.ts +26 -0
- package/dist/client-v2/index.d.ts +3 -5
- package/dist/client-v2/index.js +3 -3
- package/dist/client-v2/llm-providers/forms.d.ts +2 -0
- package/dist/client-v2/llm-providers/index.d.ts +1 -0
- package/dist/client-v2/llm-services/model-select.d.ts +33 -0
- package/dist/client-v2/llm-services/utils.d.ts +1 -0
- package/dist/client-v2/manager/ai-manager.d.ts +10 -3
- package/dist/client-v2/manager/frontend-tool-registry.d.ts +30 -0
- package/dist/client-v2/models/ai-employees/AIEmployeeActionModel.d.ts +4 -1
- package/dist/client-v2/models/ai-employees/AIEmployeeShortcutModel.d.ts +8 -0
- package/dist/client-v2/pages/EmployeesPage.d.ts +12 -0
- package/dist/client-v2/pages/LLMServicesPage.d.ts +9 -4
- package/dist/client-v2/repositories/AIConfigRepository.d.ts +2 -0
- package/dist/client-v2/runjs/registerAIEmployeeRunJSFacade.d.ts +1 -0
- package/dist/collections/ai-employees.d.ts +1 -0
- package/dist/collections/ai-employees.js +1 -0
- package/dist/common/ai-employee-validation.d.ts +15 -0
- package/dist/common/ai-employee-validation.js +61 -0
- package/dist/common/error-codes.d.ts +13 -0
- package/dist/common/error-codes.js +48 -0
- package/dist/common/frontend-tools.d.ts +26 -0
- package/dist/common/frontend-tools.js +57 -0
- package/dist/common/llm-service-models.d.ts +16 -0
- package/dist/common/llm-service-models.js +84 -0
- package/dist/externalVersion.js +19 -17
- package/dist/locale/de-DE.json +2 -1
- package/dist/locale/en-US.json +85 -5
- package/dist/locale/es-ES.json +2 -1
- package/dist/locale/fr-FR.json +2 -1
- package/dist/locale/hu-HU.json +2 -1
- package/dist/locale/id-ID.json +2 -1
- package/dist/locale/it-IT.json +2 -1
- package/dist/locale/ja-JP.json +2 -1
- package/dist/locale/ko-KR.json +2 -1
- package/dist/locale/nl-NL.json +2 -1
- package/dist/locale/pt-BR.json +2 -1
- package/dist/locale/ru-RU.json +2 -1
- package/dist/locale/tr-TR.json +2 -1
- package/dist/locale/uk-UA.json +2 -1
- package/dist/locale/vi-VN.json +2 -1
- package/dist/locale/zh-CN.json +85 -5
- package/dist/locale/zh-TW.json +2 -1
- package/dist/node_modules/@langchain/mistralai/package.json +1 -1
- package/dist/node_modules/@langchain/xai/package.json +1 -1
- package/dist/node_modules/fs-extra/package.json +1 -1
- package/dist/node_modules/jsonrepair/package.json +1 -1
- package/dist/node_modules/just-bash/package.json +1 -1
- package/dist/node_modules/nodejs-snowflake/package.json +1 -1
- package/dist/node_modules/openai/package.json +1 -1
- package/dist/node_modules/zod/package.json +1 -1
- package/dist/server/ai-employees/ai-conversations.d.ts +4 -1
- package/dist/server/ai-employees/ai-conversations.js +2 -0
- package/dist/server/ai-employees/ai-employee.d.ts +4 -1
- package/dist/server/ai-employees/ai-employee.js +112 -47
- package/dist/server/ai-employees/ai-knowledge-base.d.ts +21 -1
- package/dist/server/ai-employees/ai-knowledge-base.js +76 -8
- package/dist/server/ai-employees/middleware/conversation.js +9 -2
- package/dist/server/ai-employees/reasoning-stream-state.d.ts +23 -0
- package/dist/server/ai-employees/reasoning-stream-state.js +63 -0
- package/dist/server/collections/ai-conversations.js +5 -0
- package/dist/server/document-loader/constants.js +1 -1
- package/dist/server/features/knowledge-base.d.ts +2 -0
- package/dist/server/frontend-tools.d.ts +25 -0
- package/dist/server/frontend-tools.js +171 -0
- package/dist/server/llm-providers/common/reasoning.js +18 -10
- package/dist/server/llm-providers/deepseek/index.d.ts +10 -0
- package/dist/server/llm-providers/deepseek/index.js +32 -0
- package/dist/server/llm-providers/deepseek/provider.d.ts +57 -0
- package/dist/server/llm-providers/deepseek/provider.js +320 -0
- package/dist/server/llm-providers/deepseek/reasoning.d.ts +83 -0
- package/dist/server/llm-providers/deepseek/reasoning.js +285 -0
- package/dist/server/llm-providers/mistral.d.ts +1 -1
- package/dist/server/llm-providers/provider.d.ts +1 -0
- package/dist/server/llm-providers/provider.js +3 -0
- package/dist/server/llm-providers/shengsuanyun.d.ts +29 -0
- package/dist/server/llm-providers/shengsuanyun.js +114 -0
- package/dist/server/manager/ai-feature-manager.js +1 -1
- package/dist/server/manager/ai-manager.d.ts +3 -0
- package/dist/server/manager/ai-manager.js +7 -2
- package/dist/server/manager/work-context-handler.js +10 -3
- package/dist/server/migrations/20260501000000-ai-employee-knowledge-base-retrieval-strategy.d.ts +14 -0
- package/dist/server/migrations/20260501000000-ai-employee-knowledge-base-retrieval-strategy.js +49 -0
- package/dist/server/plugin.d.ts +1 -0
- package/dist/server/plugin.js +31 -0
- package/dist/server/resource/aiConversations.d.ts +2 -0
- package/dist/server/resource/aiConversations.js +33 -3
- package/dist/server/resource/aiEmployees.d.ts +2 -0
- package/dist/server/resource/aiEmployees.js +70 -0
- package/dist/server/resource/aiWorkflowTasks.js +9 -1
- package/dist/server/resource/llmServices.d.ts +11 -0
- package/dist/server/resource/llmServices.js +85 -0
- package/dist/server/types/ai-message.type.d.ts +4 -0
- package/dist/server/types/knowledge-base.type.d.ts +8 -3
- package/dist/swagger/common.d.ts +143 -0
- package/dist/swagger/common.js +144 -0
- package/dist/swagger/employees.d.ts +301 -0
- package/dist/swagger/employees.js +131 -0
- package/dist/swagger/index.d.ts +1617 -0
- package/dist/swagger/index.js +62 -0
- package/dist/swagger/llm.d.ts +563 -0
- package/dist/swagger/llm.js +255 -0
- package/dist/swagger/schemas.d.ts +757 -0
- package/dist/swagger/schemas.js +392 -0
- package/package.json +2 -2
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/vector-store.md +0 -24
- package/dist/ai/docs/nocobase/data-sources/development/index.md +0 -6
- package/dist/client/372.40eb52905e3f3049.js +0 -10
- package/dist/client/681.399948c18d753667.js +0 -10
- package/dist/client/705.380279da896021fb.js +0 -10
- package/dist/client-v2/372.8cc3fde09c9bec77.js +0 -10
- package/dist/client-v2/406.341be51205c674e0.js +0 -10
- package/dist/client-v2/681.082f4f1c7b841983.js +0 -10
- package/dist/client-v2/ai-employees/chatbox/stores/create-selectors.d.ts +0 -46
- package/dist/client-v2/ai-employees/chatbox/utils/normalizeTriggerTaskOptions.d.ts +0 -19
- package/dist/client-v2/debug-logger.d.ts +0 -52
- package/dist/server/llm-providers/deepseek.d.ts +0 -40
- 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
|
+

|
|
28
|
+
|
|
29
|
+
## Understand the block structure
|
|
30
|
+
|
|
31
|
+

|
|
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
|
+

|
|
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
|
+

|
|
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`,
|
|
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
|
-

|
|
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
|
|
26
|
+
- Settings is used to adjust basic information, vector configuration, and default segmentation parameters
|
|
27
27
|
|
|
28
|
-

|
|
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
|
-

|
|
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
|
-

|
|
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
|
|
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
|
|
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
|
|
5
|
-
keywords: "knowledge base settings,
|
|
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
|
|
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
|
-

|
|
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
|
|
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
|
|
31
|
+
:::tip Vector configuration changes
|
|
30
32
|
|
|
31
|
-
After you modify Vector
|
|
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
|
-

|
|
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
|
-
|
|
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
|
+

|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
40
|
+

|
|
12
41
|
|
|
42
|
+
:::warning Note
|
|
13
43
|
|
|
14
|
-
|
|
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
|
-
|
|
48
|
+
## When the user has no knowledge-base access
|
|
18
49
|
|
|
19
|
-
|
|
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
|
-
-
|
|
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
|
+

|
|
25
53
|
|
|
26
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-

|
|
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
|
-

|
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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
|
|