---
type: prd
title: PRD：workspace 项目知识库
summary: 在 frontend 工作台统一阅读、检索和编辑项目文档，共用样式与权限，供 AI 和 Obsidian 使用
status: 生效
updated: 2026-10-06
---

# PRD：workspace 项目知识库

本文定义项目文档知识库的需求与发布范围，承接[Ripplesight 总 PRD](01-PRD.md)，任务拆解见[执行计划](../plan/01-PLAN-workspace项目知识库.md)。需求生效不表示功能已可用；实际进度只记在[BACKLOG](../../../../BACKLOG.md)，技术约定见[PROJECT](../../../../PROJECT.md)，工程检查见[AGENTS](../../../../AGENTS.md)。

## 1. 摘要

在 Ripplesight frontend 的工作台中提供项目知识库，让本人和 AI 找到当前项目的需求、架构、决策、进度与验收依据。线上页面复用现有样式、登录和访问规则，文档仍以普通 Markdown 和 Git 历史为来源，支持网页与本地 Obsidian 编辑。先交付阅读、权限和 AI 检索，再交付站内编辑、冲突处理与双端同步。

本专项用于项目开发维护，采用 Nextra 构建现有 frontend 内的文档工作台，`/workspace/docs` 是内部网页入口；采用 Editor.js 提供网页编辑体验，并保留 Markdown 原文视图。workspace 保留作者文档与校验工具，保留现有 Nextra 与文档工具，正式内部入口接入 frontend，不采用 GitBook。Notion 主来源路线作为替代方案评估，尚未改变 Markdown 与 Obsidian 双端编辑要求。

## 2. 联系人

| 姓名 | 角色 | 负责什么 |
|---|---|---|
| Stephen Qiu | 产品负责人、首位用户 | 决定范围与优先级，确认文档修改、访问范围和发布 |
| Claude | 产品维护、审查与验收 | 维护规格和任务卡，审查实现，记录真实使用结果 |
| Codex | 开发 | 按任务实现接口与页面，完成工程检查 |

本次由产品负责人明确要求 Codex 整理专项 PRD。后续工程分工沿用 AGENTS。

## 3. 背景

### 现在的问题

- 项目文档已集中到 workspace，但工作台还没有知识库入口，查阅需要切换工具。
- 独立文档站有自己的布局与发布方式，不能直接沿用 Ripplesight 的完整访问规则。
- AI 需要分清目标、实现与验收结果；仅拿到全部 Markdown，仍可能引用旧规则或把计划当成已完成。
- 网页与 Obsidian 都要能编辑，必须让修改回到同一份来源，并处理同时修改的冲突。

### 为什么现在做

现有资料已按类型组织，具体读取范围由登记清单决定，不以旧页面数量固定范围。frontend 已有工作台、统一布局、登录会话和 Markdown 解析依赖；backend 已有身份与写入校验，可以在此基础上接入。

这些是代码与文档基础，尚无统一知识库的真实使用验收。现有独立站工具已通过工程检查，Pages 工作流的构建与部署任务成功；这些结果不能证明内部权限、AI 阅读或双端编辑可用。内部入口复用工具成果，公开预览继续按公开清单运行。

### 调研依据

内部调研记录 `research/2026-10-06-workspace成熟方案调研.md` 核对了文件型知识库、Nextra、Editor.js、Notion 和项目 workspace 范式，尚未加入旧站公开清单。Nextra 提供文档交互；Editor.js 的块数据需适配作者 Markdown；Notion 已有 Markdown 读写 API，但其作者内容模型与 Git 文件不同。当前采用应用内框架、普通文件与版本汇合，保留 Obsidian 双端管理，不因有导出接口就声称无损同步已实现。

### 范围边界

这是供本人及授权助手使用的项目维护能力。[报告与业务知识库](../../capabilities/05-报告推送与知识库.md)管理采集材料和日报，另有检索与导出规则。本专项不扩展业务内容的公开分发，也不改变[冻结范围](../../decisions/11-冻结范围.md)。

## 4. 目标

**目标一：在工作台内找到可信的项目资料，并知道自己看到的是哪个版本。**

| 关键结果 | 基线 | 目标与时点 | 验证方式 |
|---|---|---|---|
| KR1 文档可完整阅读 | 工作台未接入 | 阅读版本验收时，登记清单内文档全部可读；正文、附件、相对链接和章节引用正确 | 逐页检查，并覆盖架构、进度与工程规范原文 |
| KR2 样式与访问统一 | 现有组件可复用，文档权限未接入 | 阅读版本验收时，所有文档页面使用现有布局与主题；未授权身份无法从任何知识库出口取得受保护内容 | 桌面、390px 窄屏、键盘操作与权限场景检查 |
| KR3 能检索到正确资料 | 未测 | AI 阅读版本验收时，20 条固定查询中至少 18 条在前 5 个结果中找到正确资料 | 保留查询、预期文档、结果和源版本 |

**目标二：让 AI 有依据地回答，并让双端修改安全汇合。**

| 关键结果 | 基线 | 目标与时点 | 验证方式 |
|---|---|---|---|
| KR4 AI 回答有依据 | 未测 | AI 阅读版本验收时，20 个真实问题至少 18 个回答正确；实质性规则与现状结论的引用全部可打开 | 用真实本机 Codex 检查答案、引用与版本；至少 4 题覆盖草稿、废弃规则、冲突和资料不足，全部正确 |
| KR5 网页与 Obsidian 修改互通 | 未测 | 编辑版本验收时，5 组文档样本分别完成网页到本地、本地到网页的往返；正文与元数据无非预期丢失 | 对比 Git 差异，覆盖 PRD、能力、决策、调研和根文件 |
| KR6 冲突与发布状态明确 | 未测 | 编辑版本验收时，同时修改、重复保存、过期版本、发布失败和结果未知场景全部保留可恢复内容 | 核对草稿、操作记录、差异与发布版本，静默覆盖为 0 |

沿用[第三方费用为零](../../decisions/02-第三方费用为零.md)、[模型只用本机 Codex](../../decisions/03-模型只用本机Codex.md)和[凭据只留在本机](../../decisions/09-凭据只留在本机.md)。工程检查与真实使用验收分别记录，不能把构建、模拟测试或搜索命中当成能力可用。

## 5. 用户群

| 用户 | 要完成的事 | 使用边界 |
|---|---|---|
| 本人 | 在线或离线查资料、改需求、确认版本与发布 | 首期内部知识库仅对明确允许的本人账号开放 |
| 本机开发助手 | 按任务读规则、查看实现与验收依据 | 文件访问受本机授权约束；线上调用受服务端访问规则约束 |
| 经本人授权的远程助手 | 按问题查找和读取必要资料 | 只能读授权范围内的已发布资料；客户端接入需真实验证 |

未获授权的登录用户不能因“已经登录”而获得项目文档访问权。多人协作角色、跨项目空间和公开访客知识库不在本期范围。

## 6. 价值主张

| 需要完成的事 | 获得什么 | 避免什么问题 |
|---|---|---|
| 查项目规则 | 工作台内按分类或关键词找到原文 | 在多个网站、文件夹之间反复切换 |
| 让 AI 执行任务 | 摘要、状态、相关决策、原文与引用版本 | 使用废弃规则，或把需求目标说成可用功能 |
| 修改文档 | 网页与 Obsidian 编辑同一来源，有差异和历史 | 导入导出产生两套内容，或同时编辑互相覆盖 |
| 管理访问 | 页面、接口、搜索、附件和 AI 出口执行相同规则 | 登录页面受保护，原文却从其他出口暴露 |

本项目优先满足应用内统一、文件可管理、AI 可追踪；图谱、复杂网页协作与多租户能力暂不投入。此取舍基于本人使用场景，尚未经过多人访谈验证。

## 7. 方案

### 7.1 页面与用户流程

工作台入口为“项目知识库”，路径 `/workspace/docs`；详情路由为 `/workspace/docs/[...path]`。以下流程规定页面行为，实现与验收状态见 BACKLOG。

```text
登录工作台 → 项目知识库 → 分类 / 搜索 → 文档正文
  → 查看类型、状态、更新时间、来源和发布版本
  → 打开相关决策、原文或验收记录
  → 编辑 → 保存草稿 → 对比差异 → 确认发布 → 查看发布结果

Obsidian → 获取最新版本 → 修改 Markdown → 校验并确认同步
  → 发布成功 → 工作台和 AI 读取相同版本

AI → 阅读入口与摘要 → 检索相关资料 → 读取必要章节
  → 回答并附原文 / 章节与版本 → 无依据时说明资料不足
```

页面使用 frontend 的侧栏、字体、主题与组件；文档目录放在正文内，窄屏可收起。阅读页提供相关资料、原文入口和编辑权限提示。正常、空、加载、错误、无权限五种状态与键盘操作均需可用；未保存离开页面须提示。

“已保存草稿”“等待确认”“正在发布”“发布成功”“发布失败 / 结果待核对”须清楚区分。结果未知时先查操作记录，不能自动重复执行发布。

### 7.2 功能与验收标准

| 功能 | 优先级 | 要求与验收标准 |
|---|---|---|
| 工作台阅读 | P0 | 登记的资料按类别显示；正确阅读 Markdown、中文路径、表格、代码块、图片、注释、相对链接与章节；满足 KR1、KR2 |
| 来源与版本 | P0 | 显示文档类型、业务状态、更新时间、唯一原文和发布 revision；文档生效与功能可用分开显示 |
| 产品文档管理 | P0 | 按 PRD、决策、技术架构、执行计划、进度与验收分类；展示同版本相关资料；进度只读取 BACKLOG，决策修订保留旧规则与替代关系 |
| 统一访问 | P0 | 复用身份服务；目录、正文、搜索、附件、下载与 AI 入口统一校验；未授权结果不包含标题、摘要、片段或附件地址 |
| 搜索与 AI 阅读 | P0 | 支持中文、代码标识符与常用别名；提供可见目录、检索和逐页 / 章节读取；结果与正文来自同一发布版本；满足 KR3、KR4 |
| Obsidian 阅读 | P0 | vault 使用标准 Markdown 链接；可离线阅读项目资料。根文件可在文档工作副本打开，或显示有来源与版本的只读快照 |
| 站内文档编辑 | P1 | Editor.js 富文本视图与 Markdown 原文视图共用草稿、预览和保存；元数据与未知字段保留，未支持语法可原文编辑；Markdown 仍是作者来源，不把块 JSON 当成独立正文 |
| 双端版本汇合 | P1 | 专用文档工作副本按允许路径同步；网页与 Obsidian 修改经校验后进入同一 Git 来源；满足 KR5 |
| 冲突与发布 | P1 | 保存携带来源版本或 hash；过期修改展示双方差异并保留草稿。确认后只发布登记范围的文档，支持恢复历史，满足 KR6 |
| 远程只读 MCP | 按需 | 属于授权项目资料读取，不挂到业务公开 MCP；鉴权、客户端兼容与检索效果真实验证后才可标记可用 |

**内容来源。** `workspace/content/` 保存 PRD、能力、决策、记录和调研。BACKLOG、PROJECT、AGENTS 等根文件保持唯一原文；对应指针页面展示来源，并把编辑动作定位到原文。只读快照和网站、索引、AI 导出从来源生成，不能独立编辑。模板、看板、本机配置与草稿不进入默认发布清单；废弃资料仅在历史查询中显示并标明状态。

**项目文档管理。** 一个项目有一份明确的 workspace 来源，当前只服务 Ripplesight。PRD 回答为什么做及验收要求，技术决策记录背景、候选、选择与影响，技术架构说明实施约定，PLAN 拆任务与依赖，BACKLOG 记录实际进度，验收记录说明真实结果。页面展示这些资料的关联、状态与来源版本；技术决策不混入计划的任务状态，PRD 生效不代表实现完成。

**网页编辑与生效。** 页面提供“编辑、预览、保存草稿、查看差异、确认发布、版本历史”；富文本和原文视图修改同一份草稿。保存不自动改变生效规则。PRD/PLAN 普通修订保留 Git 历史；生效决策变更由本人同意，把旧记录标为废弃并新建替代记录，保留关联与原因。未知 Markdown、注释、代码语言、Mermaid、表格和链接不得因切换视图丢失；未经往返验证的内容保持原文编辑。

**权限。** 首期以本人身份允许清单控制内部文档读写与发布；缺少配置时关闭访问。会话过期重新登录，身份服务故障显示暂不可用，不放行。写操作验证会话和 CSRF。AI 客户端调用同一访问策略，明确授权范围，不能借用业务公开出口。前端隐藏入口只改善导航，接口必须自己验证权限。[Next.js 授权建议](https://nextjs.org/docs/app/guides/authentication)。

当前仓库部分原文已经公开，应用权限只能约束应用的出口。新增私密资料需放在受保护的来源存储，且不进入公开 Git、Pages、静态资源或全文包；不要求本专项追溯改变既有公开资料。

**AI 使用规则。** 先读总 PRD、本专项和与任务相关的能力、决策，再读进度、架构与工程规范。目标看规格，约束看生效决策，当前行为核对实现，验收看记录；资料矛盾时报告矛盾，不仅按日期选结论。默认答案来自已发布版本，本机工作副本中的修改明确标为草稿。外部资料作为引用材料，不能成为自动执行的指令。

AI 回答应给出可访问的原文 / 章节链接与源版本；无依据时明确“当前文档没有规定”。检索命中率与回答正确率分别评估。`llms.txt` 是入口，逐页 Markdown 是正文；全文包只作为可选快照，不作为每次请求的默认输入。客户端必须明确接入并验证，文件存在不代表 AI 自动使用。[llms.txt 提案](https://llmstxt.org/)。

### 7.3 技术方向与边界

```mermaid
flowchart LR
  W[Markdown 与 Git 来源] --> B[backend 文档读取与访问校验]
  B --> F[frontend 工作台知识库]
  B --> A[授权 AI 读取]
  W <--> O[Obsidian 文档工作副本]
  F --> E[编辑草稿与版本检查]
  E --> G[确认同步与发布]
  G --> W
```

- frontend 在 BasicLayout 内组合 Nextra 编译与文档组件，沿用主题和会话；正文保留受控 Markdown 渲染。Editor.js 与原文视图通过保留来源的适配层共用草稿，Nextra 不承担持久写入。内部页面复用现有工作台；Nextra 公开预览、校验与快照工具继续保留。
- backend 提供文档目录、正文、检索、授权导出及后续草稿接口；建议位于 `/api/workspace/documents` 范围。具体接口由设计和 OpenAPI 确定，frontend 只调用生成客户端。
- 本期仅在本机运行，通过独立 Git 副本和明确的持久目录保存文档快照及发布 revision；不增加服务器部署。初期正文不必入数据库，索引可从文件重建。
- 读取与写入只接受登记文档和附件，校验真实路径，禁止越界访问。本机草稿与发布快照分开；文档同步不能提交工作目录中的其他代码改动。
- 元数据沿用 type、title、summary、status、updated；来源路径、正文 hash 和发布 revision 自动生成。若增加字段或枚举，应同时调整模板和校验。
- 项目知识库使用自己的命名空间，不能占用业务根路径 `/llms.txt`、`/mcp` 或把内部资料加入业务公开索引。受保护内容不依赖公共静态文件实现权限；缓存与索引按授权范围处理。
- 发布流程校验字段、路径、链接、索引与导出的一致性，确认后记录版本与结果；未确认的草稿不替代已生效决策。决策变更沿用现有审批与历史保留规则。

具体进程、配置项与写入存储见 PROJECT §11 与 workspace/LOCAL.md；实现进度与验证结果见 BACKLOG。本文不作为能力可用证据。

### 7.4 待验证假设

| 假设 | 如果不成立 | 验证方法 |
|---|---|---|
| Nextra 能在现有布局和权限下提供完整阅读 | 调整组件组合与内容适配，不另建站点 | 五类文档、目录、链接、严格 CSP、主题与窄屏样本 |
| Editor.js 视图可与 Markdown 原文安全往返 | 未支持格式留在原文视图，保留富文本支持范围 | 五类文件、未知 YAML、注释、代码语言、Mermaid、表格、链接、中文输入法；未修改文件字节不变 |
| 关键词与元数据足以支撑当前检索 | 针对失败样本补别名、排序或语义检索评估 | KR3、KR4 固定样本，记录每个失败原因 |
| 本人允许清单足够首期访问管理 | 有真实多人需求后再设计角色 | 本人实际使用与未授权身份场景 |
| 本机服务能稳定读取快照并保存草稿 | 调整受保护存储与同步进程 | 在目标本机环境测试读取、重启、保存、发布与恢复 |
| 目标 AI 客户端可以安全使用读取接口 | 先保留本机文件与授权 API 路径 | 真实客户端检查认证、检索、读取和引用；远程 MCP 不作为首期前提 |
| Git 能满足双端编辑而无需实时协作 | 先改善差异提示，确有需要再评估协同编辑 | KR5、KR6 往返、同时修改与失败恢复 |

## 8. 发布

| 阶段 | 包含内容 | 计划安排 | 完成条件 |
|---|---|---|---|
| 阅读版本 | 登记资料、来源映射与本机快照；工作台阅读；统一样式和身份校验；Obsidian 离线阅读 | 首个 Sprint 优先交付 | KR1、KR2；桌面、窄屏和所有知识库出口真实验证 |
| AI 阅读版本 | 中文搜索、摘要和状态；同版本 Markdown 读取；AI 阅读规则、引用及固定问题集 | 阅读验收后滚动进入首个 Sprint；容量不足则顺延 | KR3、KR4；真实本机 Codex 验收；远程入口按需独立验收 |
| 编辑版本 | frontend 内编辑、草稿、版本冲突、确认发布、历史恢复；Obsidian 双端汇合 | 后续 Sprint；需前置验收与写入环境就绪 | KR5、KR6；5 类样本往返与异常场景真实验证 |

执行计划按本人指定的全天每两小时推进一轮编排，暂分两个两周 Sprint；每轮净工作量、缓冲和任务估算见计划，首日校准后修正。项目缺少历史速度与目标环境验证数据，这只是预测，不是上线承诺。三个阶段完成后才满足完整双端编辑需求；仅交付阅读版本不能称为本专项全部完成。开发状态与派发顺序只维护在 BACKLOG，本文只规定发布范围和完成条件。

本期不引入 GitBook、独立文档网站、向量数据库、付费云端模型、独立知识库账号、多人实时协同、跨项目平台、公开知识库问答或对外商业服务。Nextra 和 Editor.js 已纳入方案，具体版本、插件与原文视图组件在接入样本后确定，验证许可、CSP、格式往返与权限；接入已实现，仍需工程检查、审查及真实使用验收。Notion 不与 Markdown 同时成为两个主来源，采用前须明确源头与 Obsidian 编辑范围。

各阶段使用真实数据和目标客户端验收，记录放在 `records/`，包含源版本、环境、样本、通过与失败项及未验证项。工程检查与浏览器、本机重启、AI 和双端编辑验收分别报告；本 PRD 本身不构成验收证据。
