LLM-WIKI 产品级技术选型矩阵
# LLM-WIKI 产品级技术选型矩阵
1. 文档定位
本文用于逐一讨论 LLM-WIKI 产品架构中各独立产品的技术选型。
本文不改变既有蓝图约束:
- GitHub 是唯一确定选型。
- 其他技术产品均为候选或阶段性推荐。
- Wiki.js、Docusaurus、RAGFlow、Mintlify、向量数据库和模型供应商都不能写死到蓝图层。
- LLM-WIKI 只自研现成商业服务和开源方案无法覆盖的文档治理控制面。
2. 选型总览
| 产品 | 推荐选型 | 备选选型 | 自研边界 |
|---|---|---|---|
| GitHub 文档源 | GitHub 仓库 + docs-publish 分支 | 固定 tag 前缀 | 不自研 Git 托管 |
| LLM-WIKI 控制仓库 | GitHub repo + YAML/JSON | 后续管理 UI | 自研配置模型和状态模型 |
| 文档收集器 | 自研 Python CLI + GitHub Actions | GitHub App 服务化 Collector | 必须自研 |
| 发布工作目录 | publish/** Git 目录 | 对象存储镜像 | 自研目录规范和状态约束 |
| 文档迭代智能体 | RAGFlow + 商业 LLM | Flowise / LangChain / LlamaIndex | 自研 AgentBridge |
| 审批与治理台 | GitHub PR + branch protection | GitHub PR + 自研治理视图 | 不替代 PR,只做视图和编排 |
| 文档展示产品 | Docusaurus | Wiki.js / Mintlify / GitBook / ReadMe | 自研 DisplayBackend adapter |
| 文档编辑产品 | GitHub 编辑 + PR | 商业文档平台编辑器 / 自研轻量编辑器 | 自研时只提交 PR |
| 知识索引产品 | RAGFlow RAG 索引 + Meilisearch | pgvector / Algolia / 专用向量库 | 自研索引元数据协议,向量存储不单列为 MVP 产品 |
| 问答产品 | RAGFlow 问答应用 | 自研 API + LangChain/LlamaIndex | 自研 Answer API 适配层 |
| 智能体访问产品 | LLM-WIKI Agent Access API/tool adapter | MCP server / Agent Gateway | 自研访问协议、scope、审计和反馈桥接 |
| 反馈与任务产品 | GitHub Issues | Jira/Linear/商业反馈系统 | 自研反馈到任务映射 |
| 权限与身份产品 | GitHub 权限 + GitHub App/PAT | 企业 SSO/IdP | 自研权限映射,不自研 IdP |
| 配置管理产品 | Git-managed YAML + schema 校验 | 配置 UI | 自研 schema 和校验器 |
| 运行基础设施 | GitHub Actions + 静态/轻量服务托管 | 托管 PaaS / 自建服务器 | 自研编排,不自研基础设施 |
3. 逐产品选型
3.1 GitHub 文档源
技术产品
| 技术产品 | 关键特性 | 适配度 |
|---|---|---|
| GitHub Repository | 分支、tag、commit、PR、权限、审计 | 高 |
| GitHub protected branches | 限制 force push、要求 PR 和检查 | 高 |
| GitHub CODEOWNERS | 自动指定评审人 | 中 |
推荐选型
GitHub Repository + 固定 docs-publish 分支。
理由
- 已经确定所有来源项目都在 GitHub。
- 固定发布分支比 main 更稳定,能隔离开发中未准备发布的文档。
- LLM-WIKI 只读取该分支或固定 tag 前缀,避免隐式消费未发布内容。
关键约束
- 每个来源项目必须显式配置
repo、ref、sourcePath、publishPath。 - 来源项目 内文档如何组织,不由 LLM-WIKI 干预。
- LLM-WIKI 只把整个
sourcePath同步到配置指定的publishPath。
3.2 LLM-WIKI 控制仓库
技术产品
| 技术产品 | 关键特性 | 适配度 |
|---|---|---|
| GitHub Repository | 配置、状态、发布目录、PR 统一审计 | 高 |
| YAML/JSON 文件 | 可读、可审查、适合自动化 | 高 |
| GitHub App | 细粒度权限和自动化身份 | 中,适合后续 |
推荐选型
GitHub repo + YAML 配置 + JSON 状态文件。
理由
- 当前最核心的是让配置和状态可审查、可回滚。
- 不需要先建设数据库或后台管理系统。
- 后续如果配置复杂,再补管理 UI,但 UI 也应通过 PR 修改配置。
关键特性映射
| 产品特性 | 技术支撑 |
|---|---|
| 来源配置管理 | config/sources.yaml |
| 发布路径配置 | publishPath 字段 |
| 同步状态追踪 | state/source-lock.json |
| 变更审计 | Git commit + PR |
3.3 文档收集器
技术产品
| 技术产品 | 关键特性 | 适配度 |
|---|---|---|
| 自研 Python CLI | 精确控制 Git 读取、文件同步、三方 diff | 高 |
| GitHub Actions | 定时执行、手动触发、Secrets、PR 自动化 | 高 |
| GitHub App | 更安全的跨仓库访问 | 中,适合后续服务化 |
| rsync / copy 工具 | 目录镜像 | 低,不能表达三方 diff |
推荐选型
自研 Python CLI + GitHub Actions。
理由
文档收集器是 LLM-WIKI 的核心差异点,不能简单用目录同步工具替代。它必须知道:
- 上一次同步的来源基线是什么。
- 当前上游来源变了什么。
- 当前
publish/**是否已经被智能体或人整理过。 - 什么时候自动更新,什么时候保留,什么时候报冲突。
必须支持的特性
| 特性 | 要求 |
|---|---|
| 新增 | 上游新增文件,目标未修改时写入 publishPath |
| 更新 | 上游更新文件,目标未修改时更新 |
| 删除 | 上游删除文件,目标未修改时删除 |
| 保留 | 上游未变、目标已变时保留目标 |
| 冲突 | 上游和目标同时变更时生成冲突报告 |
| PR 输出 | 同步结果必须通过 draft PR 呈现 |
3.4 发布工作目录
技术产品
| 技术产品 | 关键特性 | 适配度 |
|---|---|---|
Git directory publish/** | 可 diff、可审查、可回滚 | 高 |
| Markdown/MDX | 文档源格式,适合展示和智能体处理 | 高 |
| Object storage | 可做发布产物存储 | 低,不适合作为编辑事实源 |
推荐选型
publish/** 作为 Git 管理的发布工作目录。
理由
- 它不是临时缓存,而是文档生产流水线的事实源。
- 上游同步、智能体迭代、人工编辑、发布系统都围绕它工作。
- Git diff 是最直接、最低成本、最可审计的治理机制。
关键约束
- 收集器不能无条件覆盖
publish/**。 - 智能体不能直接发布,只能修改
publish/**并生成 PR。 - 发布系统只读取已审批合并的
publish/**。
3.5 文档迭代智能体
技术产品
| 技术产品 | 关键特性 | 适配度 |
|---|---|---|
| RAGFlow | 文档理解、RAG、Agent 编排、引用能力 | 高 |
| Flowise | 可视化 Agent/LLM workflow、API、human-in-loop | 中 |
| LangChain | 代码化 Agent/RAG 编排,生态丰富 | 中 |
| LlamaIndex | 数据连接、索引、Agent over data | 中 |
| OpenAI / Anthropic / Gemini API | 高质量商业模型 | 高 |
| Ollama | 本地模型运行 |