diff --git a/ui/src/api/API_README.md b/ui/src/api/API_README.md index f9f5855b76d..52f5700ce02 100644 --- a/ui/src/api/API_README.md +++ b/ui/src/api/API_README.md @@ -321,6 +321,7 @@ PUT `//document/batch_generate_related`,单项也传 document_id_list, getKnowledgeMcpConfig 查询 external_service 并格式化 mcp_config;putKnowledgeKeywordIndex PUT tokenize 提交索引。 exportKnowledgeExcel、exportKnowledgeZip、exportKnowledge 下载文档 Excel、带图片文档 ZIP、可导入知识库 ZIP; +exportKnowledge 第三个参数为 withSourceFile,通过查询参数 with_source_file 传入是否包含源文件。 postKnowledgeImport 以 FormData file、folder_id 上传,响应 knowledge_id、type。 putKnowledge 更新通用字段,Workspace 飞书使用 putLarkKnowledge;移动传 folder_id,批量移动/删除传 id_list。 diff --git a/ui/src/api/admin/system/resource-management/knowledge/knowledge.ts b/ui/src/api/admin/system/resource-management/knowledge/knowledge.ts index 75816fd66be..6aff5bc8faf 100644 --- a/ui/src/api/admin/system/resource-management/knowledge/knowledge.ts +++ b/ui/src/api/admin/system/resource-management/knowledge/knowledge.ts @@ -68,8 +68,8 @@ const exportKnowledgeZip = (knowledgeId: string, knowledgeName: string) => { } /** 导出可用于导入创建的知识库压缩包。 */ -const exportKnowledge = (knowledgeId: string, knowledgeName: string) => { - return getExportFile(`${knowledgeName}.zip`, `${prefix}/${knowledgeId}/export_knowledge`) +const exportKnowledge = (knowledgeId: string, knowledgeName: string, withSourceFile: boolean) => { + return getExportFile(`${knowledgeName}.zip`, `${prefix}/${knowledgeId}/export_knowledge`, { with_source_file: withSourceFile }) } /** 获取知识库外部检索服务生成的 MCP 连接配置。 */ diff --git a/ui/src/api/admin/system/shared-resources/knowledge/knowledge.ts b/ui/src/api/admin/system/shared-resources/knowledge/knowledge.ts index a2541889ce0..bfe43d5c0f1 100644 --- a/ui/src/api/admin/system/shared-resources/knowledge/knowledge.ts +++ b/ui/src/api/admin/system/shared-resources/knowledge/knowledge.ts @@ -82,8 +82,8 @@ const exportKnowledgeZip = (knowledgeId: string, knowledgeName: string) => getExportFile(`${knowledgeName}.zip`, `${prefix}/${knowledgeId}/export_zip`) /** 导出可用于导入创建的知识库压缩包。 */ -const exportKnowledge = (knowledgeId: string, knowledgeName: string) => - getExportFile(`${knowledgeName}.zip`, `${prefix}/${knowledgeId}/export_knowledge`) +const exportKnowledge = (knowledgeId: string, knowledgeName: string, withSourceFile: boolean) => + getExportFile(`${knowledgeName}.zip`, `${prefix}/${knowledgeId}/export_knowledge`, { with_source_file: withSourceFile }) /** 获取知识库外部检索服务生成的 MCP 连接配置。 */ const getKnowledgeMcpConfig = (knowledgeId: string): Promise => diff --git a/ui/src/api/admin/workspace/knowledge/knowledge.ts b/ui/src/api/admin/workspace/knowledge/knowledge.ts index 1574e78b13a..ed1a744770d 100644 --- a/ui/src/api/admin/workspace/knowledge/knowledge.ts +++ b/ui/src/api/admin/workspace/knowledge/knowledge.ts @@ -106,8 +106,8 @@ const exportKnowledgeZip = (knowledgeId: string, knowledgeName: string) => { } /** 导出可用于导入创建的知识库压缩包。 */ -const exportKnowledge = (knowledgeId: string, knowledgeName: string) => { - return getExportFile(`${knowledgeName}.zip`, `${getPrefix()}/${knowledgeId}/export_knowledge`) +const exportKnowledge = (knowledgeId: string, knowledgeName: string, withSourceFile: boolean) => { + return getExportFile(`${knowledgeName}.zip`, `${getPrefix()}/${knowledgeId}/export_knowledge`, { with_source_file: withSourceFile }) } /** 导入知识库文件并在指定文件夹创建知识库。 */ diff --git a/ui/src/components/COMPONENT_README.md b/ui/src/components/COMPONENT_README.md index 786c11d7491..3d7630a49f9 100644 --- a/ui/src/components/COMPONENT_README.md +++ b/ui/src/components/COMPONENT_README.md @@ -833,7 +833,7 @@ Workspace 的文件夹虚拟树业务组件。组件根据当前资源上下文 `(Partial & { id: string })[]`,保留必需的 ID 并兼容缺少详情的旧数据, 组件采用 `MkViewLayout` 左右布局,搜索栏位于内容区右上角,刷新位于弹窗标题栏。 选项使用紧凑三列布局(窄屏减少列数),左侧图标与省略名称、右侧复选框。点击卡片或复选框 -切换选择,选中后仅展示相同 Embedding 模型的选项,清空后恢复;悬停展示知识库详情。 +切换选择,始终过滤掉 `embedding_model_id` 为空的知识库;选中后仅展示相同 Embedding 模型的选项,清空后恢复可选范围;悬停展示知识库详情。 按工作空间、System 资源管理、System 共享资源选择完整 Knowledge API 的 `getAllKnowledge`, 一次加载当前查询的全部知识库,不使用滚动分页,不增加 Workspace 共享页面来源分支。 仅普通工作空间显示只读 `FolderTree`,不显示共享目录、不调用 Workspace Shared API;其他范围不显示或查询文件夹。 diff --git a/ui/src/components/business/select-knowledge-dialog/index.vue b/ui/src/components/business/select-knowledge-dialog/index.vue index dc416836ffc..8015871967e 100644 --- a/ui/src/components/business/select-knowledge-dialog/index.vue +++ b/ui/src/components/business/select-knowledge-dialog/index.vue @@ -32,9 +32,9 @@ const isWorkspaceScope = computed(() => isWorkspaceResource()) const selectedKnowledgeIds = computed(() => selectedKnowledge.value.map(({ id }) => id)) const embeddingModelId = computed(() => selectedKnowledge.value.find((knowledge) => knowledge.embedding_model_id)?.embedding_model_id) const filteredKnowledge = computed(() => - embeddingModelId.value - ? knowledgeOptions.value.filter((knowledge) => knowledge.embedding_model_id === embeddingModelId.value) - : knowledgeOptions.value, + knowledgeOptions.value.filter( + (knowledge) => knowledge.embedding_model_id && (!embeddingModelId.value || knowledge.embedding_model_id === embeddingModelId.value), + ), ) function toggleKnowledge(knowledge: KnowledgeItem) { diff --git a/ui/src/components/mk-echart/LineCharts.vue b/ui/src/components/mk-echart/LineCharts.vue index cfe58ed22fb..792648391e0 100644 --- a/ui/src/components/mk-echart/LineCharts.vue +++ b/ui/src/components/mk-echart/LineCharts.vue @@ -44,7 +44,8 @@ const chartOption = computed(() => ({ itemHeight: 8, textStyle: { color: '#646A73' }, }, - grid: { left: 12, right: 16, top: 56, bottom: 0, containLabel: true }, + // 为居中显示的日期预留两端空间,避免裁切或挤掉相邻标签。 + grid: { left: 0, right: 0, top: 56, bottom: 0, outerBoundsMode: 'same', outerBoundsContain: 'axisLabel' }, xAxis: { type: 'category', data: props.option.xData, diff --git a/ui/src/views/VIEW_README.md b/ui/src/views/VIEW_README.md index 62cba9964a3..b9f007cd31e 100644 --- a/ui/src/views/VIEW_README.md +++ b/ui/src/views/VIEW_README.md @@ -166,8 +166,11 @@ MCP 配置入口使用独立权限。导出 Skills 权限已定义,知识库 四类知识库创建入口集中在 `knowledge/create-knowledge/`:`BaseKnowledgeDialog`、 `WebKnowledgeDrawer`、`LarkKnowledgeDialog`、`WorkflowKnowledgeDialog`。 -`KnowledgeBaseForm` 负责名称、描述及 Embedding 选择,内部按范围查询模型;未选择时默认首个可用模型, -刷新不覆盖用户选择。创建浮层接收完整 Knowledge API,工作流创建使用其 `postKnowledgeWorkflow`。 +`KnowledgeBaseForm` 负责名称、描述及 Embedding 选择,内部按范围查询模型;`mode` 默认为 `create`, +未选择时默认首个可用模型,刷新不覆盖用户选择;基础设置传入 `mode="setting"`,不自动选择模型,保留详情空值。 +创建浮层接收完整 Knowledge API,工作流创建使用其 `postKnowledgeWorkflow`。 +导入创建成功后先刷新基础资料权限与列表,再提示设置向量模型并向量化文档;确认后按知识库类型进入当前范围的基础设置页,关闭提示保留在当前页。 +“导出知识库”先弹窗确认是否同时导出源文件,默认不勾选;确认后通过当前范围 API 导出,成功关闭、失败保留选项,关闭后清理选择。文档 Excel、ZIP 仍直接导出。 `DocumentStrategyForm` 由 Web 创建、文档上传及策略设置复用;视觉增强仅在启用、切换策略或回填启用配置时 查询对应模型/工具,刷新模型不请求工具。Web 创建两步,策略设置回填独立草稿并单独保存 `doc_strategy`,下次同步生效。 diff --git a/ui/src/views/knowledge-detail/setting/base/index.vue b/ui/src/views/knowledge-detail/setting/base/index.vue index 1e0d8031bd0..b9a8f776c33 100644 --- a/ui/src/views/knowledge-detail/setting/base/index.vue +++ b/ui/src/views/knowledge-detail/setting/base/index.vue @@ -12,7 +12,9 @@ import { isWorkspaceResource, isWorkspaceSharedResource, isSystemResource } from import KnowledgeBaseForm from '@/views/knowledge/create-knowledge/components/KnowledgeBaseForm.vue' import { useKnowledgeDetailContext } from '../../context' -const canEdit = () => !isWorkspaceSharedResource() && (isSystemResource() ? perm.knowledge.system.settingEdit() : !isWorkspaceResource() || perm.knowledge.workspace.settingEdit(knowledgeId.value)) +const canEdit = () => + !isWorkspaceSharedResource() && + (isSystemResource() ? perm.knowledge.system.settingEdit() : !isWorkspaceResource() || perm.knowledge.workspace.settingEdit(knowledgeId.value)) defineOptions({ name: 'KnowledgeBaseSettingView' }) @@ -136,7 +138,7 @@ defineProps()