diff --git a/ui/src/router/admin/system/modules/knowledge-system-resource.ts b/ui/src/router/admin/system/modules/knowledge-system-resource.ts index f9e2989c4f9..84ea9b1fdf1 100644 --- a/ui/src/router/admin/system/modules/knowledge-system-resource.ts +++ b/ui/src/router/admin/system/modules/knowledge-system-resource.ts @@ -73,7 +73,7 @@ export const systemResourceKnowledgeRoutes: RouteRecordRaw[] = [ { path: 'dictionary', name: 'system-resource-knowledge-dictionary', - component: () => import('@/views/knowledge-detail/dictionary/index.vue'), + component: () => import('@/views/knowledge-detail/termbase/index.vue'), meta: { title: '自定义分词', order: 30 }, }, ], diff --git a/ui/src/router/admin/system/modules/knowledge-system-shared.ts b/ui/src/router/admin/system/modules/knowledge-system-shared.ts index 10f1ed9aee3..50e79aaa9b7 100644 --- a/ui/src/router/admin/system/modules/knowledge-system-shared.ts +++ b/ui/src/router/admin/system/modules/knowledge-system-shared.ts @@ -73,7 +73,7 @@ export const systemSharedKnowledgeRoutes: RouteRecordRaw[] = [ { path: 'dictionary', name: 'system-shared-knowledge-dictionary', - component: () => import('@/views/knowledge-detail/dictionary/index.vue'), + component: () => import('@/views/knowledge-detail/termbase/index.vue'), meta: { title: '自定义分词', order: 30 }, }, ], diff --git a/ui/src/router/admin/workspace/modules/knowledge-shared.ts b/ui/src/router/admin/workspace/modules/knowledge-shared.ts index de2422f4796..29570a1eb8b 100644 --- a/ui/src/router/admin/workspace/modules/knowledge-shared.ts +++ b/ui/src/router/admin/workspace/modules/knowledge-shared.ts @@ -73,7 +73,7 @@ export const sharedKnowledgeRoutes: RouteRecordRaw[] = [ { path: 'dictionary', name: 'workspace-shared-knowledge-dictionary', - component: () => import('@/views/knowledge-detail/dictionary/index.vue'), + component: () => import('@/views/knowledge-detail/termbase/index.vue'), meta: { title: '自定义分词', order: 30 }, }, ], diff --git a/ui/src/router/admin/workspace/modules/knowledge.ts b/ui/src/router/admin/workspace/modules/knowledge.ts index b64021e42df..b0e2e183535 100644 --- a/ui/src/router/admin/workspace/modules/knowledge.ts +++ b/ui/src/router/admin/workspace/modules/knowledge.ts @@ -85,7 +85,7 @@ export const knowledgeRoutes: RouteRecordRaw[] = [ { path: 'dictionary', name: 'workspace-knowledge-dictionary', - component: () => import('@/views/knowledge-detail/dictionary/index.vue'), + component: () => import('@/views/knowledge-detail/termbase/index.vue'), meta: { title: '自定义分词', order: 30 }, }, ], diff --git a/ui/src/views/VIEW_README.md b/ui/src/views/VIEW_README.md index b86399e9720..a71687d9136 100644 --- a/ui/src/views/VIEW_README.md +++ b/ui/src/views/VIEW_README.md @@ -44,7 +44,8 @@ | `knowledge-detail/` | 四范围知识库详情、菜单与上下文 | | `knowledge-detail/library/document/`、`tags/` | 文档及标签维护 | | `knowledge-detail/library/image/` | 图片占位页 | -| `knowledge-detail/recall-test/`、`question/`、`dictionary/` | 检索优化占位页 | +| `knowledge-detail/recall-test/`、`question/` | 检索优化占位页 | +| `knowledge-detail/termbase/` | 知识库自定义分词维护 | | `knowledge-detail/chat-user/`、`external-retrieval/` | 对话授权与外部检索配置 | | `knowledge-detail/setting/base/`、`document-strategy/`、`scheduled-sync/` | 基础设置、文档策略、定时同步与日志 | | `knowledge-detail/workflow-transform/` | 非工作流知识库转换说明与确认 | @@ -99,7 +100,7 @@ `knowledge-detail/context.ts` 仅通过 `provideKnowledgeDetailContext` 和 `useKnowledgeDetailContext` 公开详情、更新能力、ID、来源导航及完整 API。 -`resourceApi.knowledge / scheduledSync / document / tags / chatUser / externalRetrieval` 按当前范围响应式读取,无需 `.value`, +`resourceApi.knowledge / scheduledSync / document / tags / termbase / chatUser / externalRetrieval` 按当前范围响应式读取,无需 `.value`, 不要在 setup 时解构具体 API。`workflow` 当前仅普通 Workspace 提供,其他范围不回退。 共有查询方法必填,部分范围缺失的方法可选调用;未发请求时不提示成功、不关闭、不刷新或修改快照,loading 正常清理。 不增加查询/维护双入口、接口别名或专属 Context hook,也不以方法存在性新增操作显隐规则。 diff --git a/ui/src/views/knowledge-detail/context.ts b/ui/src/views/knowledge-detail/context.ts index 119c718368d..9bd6c047b69 100644 --- a/ui/src/views/knowledge-detail/context.ts +++ b/ui/src/views/knowledge-detail/context.ts @@ -15,6 +15,10 @@ import TagsApi from '@/api/admin/workspace/knowledge/tags' import SharedTagsApi from '@/api/admin/workspace/shared/knowledge/tags' import SystemResourceTagsApi from '@/api/admin/system/resource-management/knowledge/tags' import SystemSharedTagsApi from '@/api/admin/system/shared-resources/knowledge/tags' +import TermbaseApi from '@/api/admin/workspace/knowledge/termbase' +import SharedTermbaseApi from '@/api/admin/workspace/shared/knowledge/termbase' +import SystemResourceTermbaseApi from '@/api/admin/system/resource-management/knowledge/termbase' +import SystemSharedTermbaseApi from '@/api/admin/system/shared-resources/knowledge/termbase' import WorkflowApi from '@/api/admin/workspace/knowledge/workflow' import ScheduledSyncApi from '@/api/admin/workspace/knowledge/scheduled-sync' import SharedScheduledSyncApi from '@/api/admin/workspace/shared/knowledge/scheduled-sync' @@ -46,6 +50,9 @@ interface KnowledgeResourceApi { typeof DocumentApi | typeof SharedDocumentApi | typeof SystemResourceDocumentApi | typeof SystemSharedDocumentApi > readonly tags: OptionalApiMethods + readonly termbase: OptionalApiMethods< + typeof TermbaseApi | typeof SharedTermbaseApi | typeof SystemResourceTermbaseApi | typeof SystemSharedTermbaseApi + > readonly knowledge: typeof KnowledgeApi | typeof SharedKnowledgeApi | typeof SystemResourceKnowledgeApi | typeof SystemSharedKnowledgeApi readonly scheduledSync: OptionalApiMethods< typeof ScheduledSyncApi | typeof SharedScheduledSyncApi | typeof SystemResourceScheduledSyncApi | typeof SystemSharedScheduledSyncApi @@ -73,6 +80,7 @@ const resourceConfigs = { externalRetrieval: ExternalRetrievalApi, document: DocumentApi, tags: TagsApi, + termbase: TermbaseApi, workflow: WorkflowApi, }, listRouteName: 'workspace-knowledge-list', @@ -85,6 +93,7 @@ const resourceConfigs = { externalRetrieval: SharedExternalRetrievalApi, document: SharedDocumentApi, tags: SharedTagsApi, + termbase: SharedTermbaseApi, }, listRouteName: 'workspace-knowledge-list', }, @@ -96,6 +105,7 @@ const resourceConfigs = { externalRetrieval: SystemResourceExternalRetrievalApi, document: SystemResourceDocumentApi, tags: SystemResourceTagsApi, + termbase: SystemResourceTermbaseApi, }, listRouteName: 'system-resource-knowledge', }, @@ -107,6 +117,7 @@ const resourceConfigs = { externalRetrieval: SystemSharedExternalRetrievalApi, document: SystemSharedDocumentApi, tags: SystemSharedTagsApi, + termbase: SystemSharedTermbaseApi, }, listRouteName: 'system-shared-knowledge', }, @@ -147,6 +158,9 @@ function createKnowledgeDetailContext(state: KnowledgeDetailState): KnowledgeDet get tags() { return resourceConfig.value.resourceApi.tags }, + get termbase() { + return resourceConfig.value.resourceApi.termbase + }, get knowledge() { return resourceConfig.value.resourceApi.knowledge }, @@ -201,10 +215,11 @@ type ScopedResourceApi = { } type ScopedKnowledgeDetailContext = Omit & { - resourceApi: Omit, 'scheduledSync' | 'tags' | 'document' | 'chatUser' | 'externalRetrieval'> & { + resourceApi: Omit, 'scheduledSync' | 'tags' | 'termbase' | 'document' | 'chatUser' | 'externalRetrieval'> & { readonly chatUser: OptionalApiMethods<(typeof resourceConfigs)[Scope]['resourceApi']['chatUser']> readonly scheduledSync: OptionalApiMethods<(typeof resourceConfigs)[Scope]['resourceApi']['scheduledSync']> readonly tags: OptionalApiMethods<(typeof resourceConfigs)[Scope]['resourceApi']['tags']> + readonly termbase: OptionalApiMethods<(typeof resourceConfigs)[Scope]['resourceApi']['termbase']> readonly document: OptionalApiMethods<(typeof resourceConfigs)[Scope]['resourceApi']['document']> readonly externalRetrieval: OptionalApiMethods<(typeof resourceConfigs)[Scope]['resourceApi']['externalRetrieval']> } diff --git a/ui/src/views/knowledge-detail/dictionary/index.vue b/ui/src/views/knowledge-detail/dictionary/index.vue deleted file mode 100644 index 131b3acf873..00000000000 --- a/ui/src/views/knowledge-detail/dictionary/index.vue +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/ui/src/views/knowledge-detail/termbase/components/ButtonCreateTermbase.vue b/ui/src/views/knowledge-detail/termbase/components/ButtonCreateTermbase.vue new file mode 100644 index 00000000000..a6f91021794 --- /dev/null +++ b/ui/src/views/knowledge-detail/termbase/components/ButtonCreateTermbase.vue @@ -0,0 +1,67 @@ + + + diff --git a/ui/src/views/knowledge-detail/termbase/index.vue b/ui/src/views/knowledge-detail/termbase/index.vue new file mode 100644 index 00000000000..4aec6d993b3 --- /dev/null +++ b/ui/src/views/knowledge-detail/termbase/index.vue @@ -0,0 +1,220 @@ + + +