DisplayBackend Adapter 技术设计
# DisplayBackend Adapter 技术设计
修订记录
| 版本 | 日期 | 修订说明 |
|---|---|---|
| v0.1 | 2026-05-01 | 建立当前设计基线;延续 kunora-wiki 作为 llm-wiki 方案的既有产品封板和工程设计,不推倒重来。 |
1. 摘要
DisplayBackend Adapter 负责把 kunora-wiki 的 publish/** 正式文档转换为展示后端可消费的输入,并生成发布相关 manifest。MVP 展示后端是 Docusaurus,但 Docusaurus 的常规配置、主题和部署属于产品实施;进入 development 的部分只包括自研 adapter 契约、输入输出结构、构建状态映射和发布影响报告。
DisplayBackend Adapter 不拥有正式内容事实源,不修改业务文档正文,不生成答案,也不直接驱动索引。它只消费 Git 中已审批的 publish/** 和 WorkspaceStore 派生的文档记录,输出 PageManifest、PublishImpactReport、PublishManifest、SiteManifest 和标准错误。
2. 模块目标
- 将
DocumentRecord[]转换为展示后端输入。 - 为每个页面生成稳定 URL、标题、质量状态和展示元数据。
- 生成 Docusaurus sidebar、页面 metadata 和
EditContext,支撑编辑入口、反馈入口和 PR/Issue 上下文。 - 在发布前生 成
PublishImpactReport,供 ReviewBridge 审查页面新增、更新、删除和 URL 变化。 - 在发布后生成
PublishManifest和SiteManifest。 - 把 Docusaurus 构建结果映射为标准
OperationStatus、DriftStatus和ErrorObject。 - 隔离 Docusaurus 文件布局和 build output 等后端细节;sidebar 生成属于 MVP adapter 契约。
3. 非目标
- 不把 Docusaurus 作为正式内容事实源。
- 不把构建产物写回
publish/**。 - 不决定文档是否应该同步或进入 Release PR。
- 不调用 RAGFlow、Meilisearch 或 Answer API。
- 不修复 Markdown 内容语义错误。
- 不管理产品级站点主题、导航体验、部署域名和 CDN 策略。 但 MVP 必须生成可审查的 sidebar 输入、页面 metadata 和 EditContext。
4. 上下文边界
DisplayBackend Adapter 位于 L2 Publish/Index 层。它可以依赖 ConfigManager、WorkspaceStore 和 DisplayBackend adapter interface,但不能依赖 Answer API、Agent Access API 或 AgentBridge。
5. 输入与输出
5.1 输入
| 输入 | 来源 | 说明 |
|---|---|---|
PublishConfig | ConfigManager | 展示后端、baseUrl、managedPath、build output。 |
DocumentRecord[] | WorkspaceStore | 当前正式文档视图。 |
| previous manifests | WorkspaceStore/state | 用于发布影响 diff 和 drift 检查。 |
| git metadata | GitProvider/workflow | commit、baseRef、headRef、publishRunId。 |
| display backend result | Docusaurus adapter | 构建状态、页面输出、错误。 |
5.2 输出
| 输出 | 消费者 | 说明 |
|---|---|---|
PageManifest | Index Adapter、Answer API、Agent Access API、AgentBridge | 页面清单、URL、质量状态。 |
PublishImpactReport | ReviewBridge、维护者 | 发布前影响分析。 |
PublishManifest | Index Adapter、Answer API、drift check | 发布动作事实记录。 |
SiteManifest | ReviewBridge、drift check、维护者 | 站点构建和可访问页面状态。 |
EditContext | Docusaurus、ReviewBridge、IssueTracker | 编辑入口和 PR/Issue 上下文。 |
ErrorObject[] | ReviewBridge、workflow | 构建失败、URL 冲突、manifest 错误。 |