# 《WaLiAPI - 本地 LLM API 网关》第4-1节:Wiki 数据模型与项目结构
作者:小傅哥
博客:https://bugstack.cn (opens new window)
沉淀、分享、成长,让自己和他人都能有所收获!😄
大家好,我是技术UP主小傅哥。
进入第 4 部分,我们开始构建 Wiki 能力。如果说 part-3 的知识库(RAG)解决的是"找原始片段"——把文档切块向量化后做语义检索,那么 Wiki 解决的是"看结构化知识"——文档摄入后自动生成带 frontmatter、标签、wikilinks 的结构化页面,并能编织成知识图谱。
两者互补:RAG 适合跨文档的语义问答,Wiki 适合结构化浏览、精确页面检索与标签导航。这一节先打地基:数据模型与项目结构。
# 一、本章诉求
- 设计 Wiki 的数据库表结构(migration 017,七张表 + migration 018 标签列)
- 实现 Rust 数据模型(models.rs — 项目/页面/源/任务/会话/搜索/问答/图谱/标签)
- 实现项目目录管理(project.rs — 磁盘文件系统布局)
- 实现数据库 CRUD(repository.rs — 全表读写封装)
- 注册 WikiService 服务骨架(mod.rs),接入 part-3-2 的服务注册框架
# 二、Wiki 与 RAG 的定位差异
| 能力域 | 说明 | 数据形态 | 适合场景 |
|---|---|---|---|
| Knowledge Base (RAG) | 文档分块 → 向量化 → 语义检索 | chunk + 向量 | 原始片段搜索、跨文档问答 |
| Wiki | 文档摄入 → 结构化页面 → 知识图谱 | page + frontmatter + wikilinks | 结构化浏览、精确检索、标签导航 |
RAG 把文档拆成"碎片"做向量搜索,Wiki 把文档"提炼"成结构化页面做知识管理。一个是找片段,一个是看整理好的知识。

