Core · 使用插件

知识库

提供的能力

@nocobase/app-plugin-knowledge 提供知识空间、目录、Markdown 文档、文件、版本、搜索及修改建议。基础知识库可以独立使用,不要求启用 Agents 或语义检索。

基础知识库独立于 Agents 和语义索引;空间的业务归属与授权由应用定义。

使用场景与示例

示例:团队知识变更审阅

  1. 应用为团队配置空间及读取、建议、编辑权限。
  2. 成员提交文章修改建议,编辑者检查差异和基础版本。
  3. 编辑者接受或拒绝,接受后形成新的文档版本。
  4. 检查搜索结果与历史记录,并验证其他空间的成员看不到无权内容。

knowledge.proposals: false 可关闭建议流程,改为直接编辑;历史建议数据保留,直接编辑仍需要原有权限。代表用户工作的 actor 不能直接编辑或决定建议。

开发提示词(交给当前应用目录中的 Coding Agent):

纯文本
请使用知识库插件,为团队接入知识空间与文档变更审阅。
提供 KnowledgeAccessResolver,按团队身份决定可见空间及 read、propose、edit、manage 权限。
复用知识库页面或组件,成员提交建议,编辑者检查版本后接受或拒绝。
先使用基础搜索,不假设已配置语义模型或 OCR。
验证跨团队隔离、并发编辑冲突、建议接受及文件解析失败。

完成标志:成员能提出建议,编辑者接受后生成新版本,其他团队无法通过页面或搜索读取内容。

重要原理与实现

以下是实现本例时的接入位置与预期界面变化;它们是开发说明,具体文件名沿用当前应用结构。

接入位置代码或配置变化界面与行为变化
服务端访问解析器绑定 knowledgeAccessToken,解析空间与节点权限用户只能进入允许的团队空间
客户端路由或业务页注册知识库页面或嵌入 KnowledgeView出现文档、目录、版本与建议界面
可选索引配置与 Jobs单独组合索引和管理权限需要时增加语义检索,基础搜索保持可用

接入与空间权限

注册 Client、Server 插件并执行迁移。应用必须通过 /server/tokens 的 knowledgeAccessToken 提供 KnowledgeAccessResolver,定义空间是否存在、继承关系及当前读者的权限。未绑定访问解析器时,没有可用空间。

空间由 scope 和 scopeId 标识,例如系统空间或某个业务项目的空间。应用决定空间候选列表与权限,不能把数据库中的所有空间直接交给用户选择。

权限可进行的工作
read读取允许的文档和文件
propose提交修改建议
edit编辑内容及审阅可处理的建议
manage管理空间与节点的权限设置

目录、文档和文件还可配置继承或自定义权限。页面访问权限与内容权限分开,进入页面不表示可以读取所有空间。

页面与内容使用

knowledge() 默认注册 /knowledge 页面,也可传入 path、space。需要把知识库嵌入业务页时,使用 knowledge({ routes: false }),自行组合 /client/pages 的 KnowledgePage 或 KnowledgeView。

使用者可以创建目录与文章、编辑 Markdown、查阅版本差异及恢复内容。编辑提交包含预期版本;发生版本冲突时应读取最新版本再处理,避免覆盖别人的修改。

上传文件还需要文件插件和 Drive。文件会保留原始内容,并尝试提取支持格式的文本;解析状态会显示处理中、成功、失败或不支持。当前没有 OCR,图片或扫描件不能假定会得到可搜索文本。

搜索与语义索引

基础搜索使用当前文档与已提取文本的匹配。语义索引需要另外配置;Knowledge 可以维护自己的全局索引,Agents 只作为可选 Embedding 网关,不复用 Agents 的向量集合。

需要索引时,组合 /config 的 defineKnowledgeConfig(),配置索引实例、模型来源和宿主 Jobs,并接入公开的索引管理组件。索引管理使用独立的 settings:kb.indexing 权限,不由空间管理权限自动授予。索引不可用或重建期间,普通文本搜索仍可使用。

验证空间隔离、版本冲突、文件解析失败、建议审阅和搜索范围。相关文档:Agents、文件、管理插件。

AI 开发的约束与验证

本插件的开发约束

  • 空间列表、文档读取与搜索使用同一访问边界,页面可访问不代表所有空间可读。
  • 写入携带预期版本,冲突时重新读取并处理,不通过去掉版本检查强行覆盖。
  • 验证建议资格、跨空间搜索和解析失败;扫描件不可搜索不能通过伪造提取成功状态掩盖。

上述检查是接入后的验收要求,不表示本文已完成运行验证。让 Agent 报告实际改动、执行过的检查和未验证项;项目指引、Skills 与通用检查流程见持续开发应用和测试。

源码依据:插件公开入口与实现。

NocoBase 文档助手

关于 NocoBase,你想了解什么?

每次提问独立回答,不会参考之前的问答。请提供完整背景。