📚 条目管理
概述
条目(CAIU)是知识库的基本单元,每个条目包含标题、内容、标签和元数据。"条目管理"就是对这些知识卡片进行增删改查、批量操作和分类组织的工作。
核心场景
- 你需要把零散的笔记整理为结构化的知识条目
- 想给条目打上标签,方便按主题分类检索
- 需要批量调整条目的优先级、启用状态
- 想快速找到特定标签或关键词的条目
条目列表
进入知识库工作区后,左侧会展示当前知识库的条目列表,采用卡片布局展示。每个条目卡片显示:
| 信息 | 说明 |
|---|---|
| 标题(Key) | 条目的唯一标识名称 |
| 摘要 | 内容前 100 字符的快照 |
| 标签 | 条目关联的标签名(最多展示 3 个,超出显示 "+N") |
| 优先级 | 非默认优先级(≠100)会以 PX 形式标注 |
| 向量化状态 | 通过闪电图标颜色标识:🟢 就绪 / 🟡 处理中 / 🔴 失败 / ⚪ 未向量化 |
| 启用开关 | 单条切换启用/禁用状态 |
| Token 数 | 该条目累计消耗的 Token 数 |
| 更新时间 | 最后修改日期 |
列表支持按 更新时间、标题(Key)、优先级 排序,以及升序/降序切换。
TODO: 截图 - 条目列表界面,标注卡片布局的各元素
搜索
列表顶部的搜索框支持对条目标题(Key)和内容摘要进行关键词搜索,并触发后端语义检索返回更精确的结果。搜索时会显示匹配数量和搜索状态。
TODO: 截图 - 搜索界面
添加条目
手动创建
在工作区点击 添加条目 按钮,弹出编辑界面:
- 标题(Key):必填,作为条目的唯一标识
- 内容(Content):可选的 Markdown 正文
- 标签:可选的标签列表
- 优先级:默认为 100
创建完成后会自动选中新条目,方便继续编辑。
TODO: 截图 - 添加条目弹窗,标注各输入区域
批量导入文件
支持从本地导入文件,系统会自动处理:
支持的导入方式:
- 拖放文件:直接将文件拖到工作区
- 选择文件:点击"选择文件"按钮
- 批量导入:一次性选择多个文件
文件处理逻辑:
- 读取文件内容作为条目的 Content
- 自动提取第一个 Markdown 一级标题作为 Key(可在设置中关闭)
- 自动识别
Tags: xxx或标签: xxx标记行添加标签(可在设置中关闭) - 对内容相同的文件自动去重(可在设置中关闭)
导入结果反馈: 成功导入后,会显示:
- 成功导入的条目数量
- 跳过的文件数(非文本格式)
- 去重过滤掉的文件数
TODO: 截图 - 导入文件后的结果反馈弹窗
编辑条目
内容编辑
点击列表中的条目,右侧会展示完整的条目编辑器:
- 标题:可编辑条目的 Key
- 正文:Markdown 编辑器(基于 RichCodeEditor),支持语法高亮和实时预览
- 标签:带权重的标签管理器,支持添加/删除标签以及 AI 辅助生成
- 优先级:调整检索权重(数值 0-999)
- 启用开关:禁用后该条目不会出现在搜索结果中
编辑采用自动保存机制:内容发生变化后约 800ms 自动触发保存,无需手动点击按钮。保存时系统会自动:
- 计算新的内容哈希
- 更新元数据中的摘要和标签快照
- 如果开启了自动向量化,触发重新向量化
条目头部会显示"正在保存..."或"已保存 HH:mm:ss"的状态指示。
TODO: 截图 - 右侧条目编辑器,标注各编辑区域
AI 辅助标签生成
在编辑条目时,可以点击 AI 生成 按钮,系统会调用已配置的 LLM 模型自动分析内容并推荐标签。生成逻辑包括:
- 基于内容语义提取 3-5 个核心标签
- 每个标签附带权重(0.0~1.0)
- 优先使用已有的专业术语
标签生成可以在 设置 > 标签生成 中配置:
| 配置项 | 说明 |
|---|---|
| 启用 AI 标签生成 | 主开关 |
| 生成模型 | 指定用于标签生成的 LLM(建议轻量模型) |
| 生成提示词 | 自定义提示词模板,使用 {content} 占位 |
| 温度 | 控制生成随机性(建议 0.3 以下) |
TODO: 截图 - AI 标签生成结果展示
批量操作
在工作区顶部可以进入条目管理模式(勾选模式),选中多个条目后进行批量操作。
批量启用/禁用
选中多个条目后,可以一键切换启用状态。禁用后的条目在搜索时不会出现,但保留内容和向量,随时可以重新启用。
适用场景:暂时不想让某些条目影响搜索结果,但不删除它们。
批量更新向量
选中多个条目后,可以批量触发向量化同步。
批量 AI 标签生成
选中多个条目后,可以批量调用 LLM 为条目补充标签或强制重生成。
批量导出/删除
选中多个条目后,可以一次性导出或删除。删除操作会:
- 删除条目原始数据(
entries/{entryId}.json) - 删除对应的向量文件(
vectors/{modelHash}/{entryId}.vec) - 从元数据索引中移除
- 从缓存中清除
删除不可逆
删除后的条目无法恢复。如果只是暂时不想使用,建议用"禁用"功能代替删除。
TODO: 截图 - 批量操作模式,标注选中状态和操作按钮
标签管理
标签系统
知识库采用带权重的标签系统(内部表示为 {name: string, weight: number})。每个标签可以附带权重(0.0~1.0),权重越高在语义检索中的影响力越大。标签在 UI 中通过标签管理器进行添加、编辑权重和删除。
全局标签池(Tag Pool)
标签池是全局的基础设施:
- 跨库共享:同一名称的标签在不同知识库中共享同一个向量表示
- 按模型隔离:标签的向量空间按 Embedding 模型隔离
- 语义联想:标签本身也被向量化并建立索引,支持"以标签找标签"的语义搜索
标签池管理器
在 设置 > 标签池管理 中可以:
- 浏览:查看所有已发现的标签及其使用频率
- 搜索:关键词搜索标签
- 向量化:对未向量化的标签进行向量化
- 清理:删除没有条目关联的孤立标签
TODO: 截图 - 标签池管理器,展示标签列表和操作按钮
已发现标签
系统会自动收集所有知识库中使用过的标签,在搜索时提供标签建议。标签统计信息显示在 统计 标签页,包括:
- 标签总数
- 已向量化标签数
- 每个标签的使用频率
- 按使用频率排序的热门标签
导出知识库
支持将整个知识库导出为 JSON 文件:
- 格式:JSON
- 内容:包含所有条目的完整数据和元数据
- 文件名:自动生成为
{知识库名称}_export_{日期}.json
导出的文件可以用于备份、迁移到其他设备,或供外部工具处理。
克隆知识库
知识库支持克隆(复制)操作:
- 自动命名:源库名称 +
(副本),如果重名则自动递增为(副本 2) - 克隆内容:复制所有条目的原始数据和元数据
- 适用场景:基于现有知识库创建变体,或用于测试修改效果
TODO: 截图 - 克隆知识库的操作菜单
常见问题
Q:条目标题(Key)可以重复吗?
同一个知识库中条目 Key 是唯一标识符,不可重复。如果导入时遇到重名条目,系统会将其视为更新操作而不是新建。
Q:条目启用的作用是什么?
禁用条目后,该条目不会出现在搜索结果中,但原始数据和向量文件都保留着。你可以随时重新启用。适合暂时隐藏某些条目而不丢失其向量化状态。
Q:标签为什么需要向量化?
标签向量化后,系统可以进行"语义联想"——比如"React"和"Vue"虽然字面不同,但在向量空间中距离较近,搜索时可以用标签找到概念上相关的内容。
Q:导入文件时自动提取的标题不对怎么办?
在 设置 > 导入与预处理 中关闭"导入时自动提取标题",然后自行编辑条目标题。
Q:为什么批量导入提示很多跳过?
可能原因:
- 文件格式不被支持(只支持
.md、.txt等文本格式) - 开启了去重且文件内容与已有条目完全一致
- 文件内容为空