70e337462e
- 添加需求文档 docs/01-requirements.md - 更新 README.md - Phase 1: 需求评审 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
170 lines
5.0 KiB
Markdown
170 lines
5.0 KiB
Markdown
# sanguo_llmwiki 需求文档
|
||
|
||
## 1. 项目背景
|
||
|
||
### 1.1 现状
|
||
- 用户已有 21 个 Wiki Skills,功能完整但分散
|
||
- Wiki 位于 `/Volumes/KnowledgeBase/wiki-vault`,约 1353 页
|
||
- 高频查询操作(wiki-query)性能较差,每次都需全文扫描
|
||
- 缺乏统一的索引缓存机制
|
||
|
||
### 1.2 目标
|
||
构建混合架构 Wiki 系统,将高频查询和维护功能 MCP 化,保留一次性操作为 Skill,实现:
|
||
- 查询性能提升 40-150 倍
|
||
- 统一的知识管理接口
|
||
- 持久化的索引缓存
|
||
|
||
### 1.3 范围
|
||
**包含:**
|
||
- Wiki MCP Server(Python 实现)
|
||
- 11 个一次性操作 Skills
|
||
- SQLite 索引系统
|
||
- 完整的测试和文档
|
||
|
||
**不包含:**
|
||
- 现有 21 个 Skills 的迁移(OpenClaw 专用)
|
||
- Obsidian 客户端集成
|
||
- Wiki 内容的编辑功能
|
||
|
||
---
|
||
|
||
## 2. 功能需求
|
||
|
||
### 2.1 MCP Server 功能
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| **wiki_query** | 基于 SQLite 索引查询 wiki,支持关键词和语义搜索 | P0 |
|
||
| **memory_bridge** | 按 AI 工具来源浏览和对比 wiki 知识 | P1 |
|
||
| **wiki_status** | 显示 wiki 当前状态(页面数、待处理项、增量差异)| P0 |
|
||
| **wiki_lint** | 审计 wiki 健康(格式、链接、frontmatter 规范)| P1 |
|
||
| **cross_linker** | 扫描 wiki,自动发现缺失的交叉引用 | P2 |
|
||
| **tag_taxonomy** | 用受控词表强制标签一致性 | P2 |
|
||
| **wiki_synthesize** | 发现跨概念的综合分析机会,生成 synthesis 页面 | P2 |
|
||
| **daily_update** | 日常维护(检查源新鲜度、更新 index、重新生成 hot.md)| P1 |
|
||
|
||
### 2.2 Wiki Skills 功能(保留为 Skill)
|
||
|
||
| Skill | 描述 | 优先级 |
|
||
|-------|------|--------|
|
||
| **wiki-setup** | 初始化新 wiki vault,创建目录结构 | P0 |
|
||
| **wiki-rebuild** | 归档现有 wiki 并重建,或从历史备份恢复 | P1 |
|
||
| **wiki-ingest** | 将文档蒸馏为互联的 wiki 页面 | P0 |
|
||
| **data-ingest** | 录入非结构化数据(对话记录、日志等)| P1 |
|
||
| **ingest-url** | 抓取 URL 内容并蒸馏入 wiki | P1 |
|
||
| **wiki-capture** | 将当前对话保存为结构化 wiki 笔记 | P1 |
|
||
| **wiki-agent** | 从特定 AI agent 的历史记录中定向录入 | P2 |
|
||
| **wiki-export** | 导出知识图谱为结构化格式 | P1 |
|
||
| **wiki-research** | 多轮 web 搜索 → 综合发现 → 存入 wiki | P2 |
|
||
| **impl-validator** | 验证实现是否符合其声明目标 | P2 |
|
||
| **graph-colorize** | 重写 Obsidian graph.json 按分类着色节点 | P2 |
|
||
|
||
### 2.3 索引系统
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| **页面索引** | 索引所有 wiki 页面的元数据和内容 | P0 |
|
||
| **全文搜索** | 基于 FTS5 的全文搜索能力 | P0 |
|
||
| **链接图** | 记录页面间的链接关系 | P1 |
|
||
| **增量更新** | 只更新变化的页面,避免全量重建 | P0 |
|
||
| **标签索引** | 按标签快速查找页面 | P1 |
|
||
|
||
---
|
||
|
||
## 3. 非功能需求
|
||
|
||
### 3.1 性能
|
||
- 查询 10 页响应时间 < 100ms
|
||
- 全文搜索响应时间 < 200ms
|
||
- 索引 1000 页耗时 < 10s
|
||
- 增量更新单页耗时 < 50ms
|
||
|
||
### 3.2 可靠性
|
||
- SQLite 写入失败不影响原始 wiki
|
||
- 索引损坏可自动重建
|
||
- MCP 服务崩溃可自动恢复
|
||
|
||
### 3.3 可维护性
|
||
- 代码覆盖率 > 80%
|
||
- 关键功能有集成测试
|
||
- 有完整的 API 文档
|
||
|
||
### 3.4 兼容性
|
||
- 兼容 Claude Code MCP 协议
|
||
- 兼容 Obsidian Markdown 格式
|
||
- 支持 Python 3.11+
|
||
|
||
---
|
||
|
||
## 4. 技术约束
|
||
|
||
### 4.1 部署环境
|
||
- macOS(开发和生产)
|
||
- Wiki 路径:`/Volumes/KnowledgeBase/wiki-vault`(默认,可配置)
|
||
|
||
### 4.2 技术栈
|
||
- Python 3.11+
|
||
- SQLite 3.38+
|
||
- MCP SDK(最新版)
|
||
|
||
### 4.3 外部依赖
|
||
- Gitea MCP Server 作为参考实现(stdio 模式)
|
||
- Claude Code Skills 规范
|
||
|
||
---
|
||
|
||
## 5. 验收标准
|
||
|
||
### 5.1 MCP Server
|
||
- [ ] 所有 8 个 MCP Tools 可正常调用
|
||
- [ ] wiki_query 返回结果准确,带 [[wikilink]] 引用
|
||
- [ ] 索引更新后查询结果实时生效
|
||
- [ ] MCP 服务崩溃后可自动重启
|
||
|
||
### 5.2 Wiki Skills
|
||
- [ ] 11 个 Skills 可独立触发
|
||
- [ ] wiki-ingest 能正确蒸馏文档
|
||
- [ ] wiki-capture 能保存当前对话
|
||
|
||
### 5.3 性能
|
||
- [ ] 查询 10 页耗时 < 100ms
|
||
- [ ] 全文搜索耗时 < 200ms
|
||
- [ ] 增量更新单页耗时 < 50ms
|
||
|
||
### 5.4 测试
|
||
- [ ] 单元测试覆盖率 > 80%
|
||
- [ ] 集成测试通过
|
||
- [ ] E2E 测试通过
|
||
|
||
### 5.5 文档
|
||
- [ ] README 完整(安装、配置、使用)
|
||
- [ ] API 文档完整
|
||
- [ ] 部署文档完整
|
||
|
||
---
|
||
|
||
## 6. 项目里程碑
|
||
|
||
| 阶段 | 交付物 | 状态 |
|
||
|------|--------|------|
|
||
| Phase 0 | 仓库初始化 | ✅ 完成 |
|
||
| Phase 1 | 需求文档 + 评审 | 🚧 进行中 |
|
||
| Phase 2 | 设计文档 + 评审 | ⏳ 待开始 |
|
||
| Phase 3 | 编码实现 + 评审 | ⏳ 待开始 |
|
||
| Phase 4 | 测试 + 评审 | ⏳ 待开始 |
|
||
| Phase 5 | 部署 + 文档 | ⏳ 待开始 |
|
||
|
||
---
|
||
|
||
## 7. 参考资料
|
||
|
||
- 现有 21 个 Wiki Skills:`~/.sanguo_projects/sanguo_mozi/skills/wiki/`
|
||
- Gitea MCP Server:`/opt/homebrew/bin/gitea-mcp`
|
||
- nvk/llm-wiki AGENTS.md 协议
|
||
- Obsidian Wiki:`/Volumes/KnowledgeBase/wiki-vault`
|
||
|
||
---
|
||
|
||
*文档版本:v1.0*
|
||
*创建时间:2026-06-26*
|