# 文脉工作台｜PRD

## 文档信息

- **项目名称：**文脉工作台（Novel Workbench）
- **产品定位：**面向长篇小说作者的本地 AI 创作工作台
- **个人角色：**独立产品负责人；独立完成需求分析、产品设计、交互设计、前后端开发与测试
- **项目周期：**2026.08—2026.09
- **项目状态：**V1.0 已实现，可在 Windows 本地运行与演示；真实用户验证待开展
- **在线体验与原型：**[GitHub 仓库](https://github.com/Boundless-Fang/novel-workbench)；本地启动后访问 [工作台](http://127.0.0.1:4173)；完整案例见项目内 `小说工作台-完整作品展示.html`

> 状态说明：本文以当前代码、产品文档和自动化测试为依据。“已完成”表示功能已实现并通过无真实模型测试，不代表已完成真实用户或生产环境验证。

## 1. 项目概述

### 1.1 需求背景

长篇小说创作需要跨数十至数百章持续维护世界规则、角色状态、人物关系、剧情推进、伏笔和语言风格。通用对话式 AI 更擅长单次生成，设定与过程容易散落在长对话中，导致后续复用困难、错误难定位、生成失败后难恢复，正式内容也不便编辑和版本管理。

本项目将 AI 能力放入一套本地、步骤化的创作流程：先把设定沉淀为可读写文件，再按明确节点生成章节，并记录每次模型调用和流程状态。

### 1.2 产品目标

- 将设定、人物、剧情和正文沉淀为可持续积累的本地创作资产；
- 把复杂生成拆成可检查、可撤回、可重试的单步任务，降低过程失控风险；
- 在正文生成前冻结完整上下文，生成后集中校验，减少设定遗漏和角色失真；
- 支持原创、同人两类项目，并允许用户按步骤配置 OpenAI 兼容模型；
- 保留作者最终确认权，不替代作者做内容发布或版权判断。

## 2. 用户与场景

### 2.1 目标用户

- **核心用户：**持续进行多章创作、需要维护复杂设定的长篇网文或小说作者；
- **细分用户：**重视世界观与人物关系的设定型创作者、重度 AI 辅助写作者、需要提取原著特征的同人作者；
- **核心诉求：**跨章记忆、过程可控、失败可恢复、产物可编辑、模型可替换；
- **验证状态：**以上用户与痛点来自创作流程观察和产品假设，尚需通过目标用户访谈与任务测试验证。

### 2.2 核心场景

用户准备创作一部长篇小说，但初始资料只有角色、背景和剧情梗概。用户在工作台中新建原创或同人项目，逐步生成世界观、角色卡、剧情等全局资产；进入章节创作后，系统读取相关设定和上一章信息，依次生成锚点、配置、台词、提示词快照、正文和校验报告。若某一步结果不满意或模型调用失败，用户可在保留既有文件与进度的前提下撤回、补充信息或重试。

## 3. 产品方案

### 3.1 核心流程

**原创项目：**

```text
新建项目 → 输入角色与剧情梗概 → 资料完整性判别
→ 生成简介 / 世界观 / 语言风格 / 角色与关系 / 剧情 / 信息账本
→ 新建章节 → 章节信息判别
→ 强制设定锚点 → 章节配置 → 关键台词 → 最终提示词快照
→ 生成正文 → 校验 → 用户通过 / 撤回 / 重试 → 下一章
```

**同人项目：**

```text
上传 TXT / Markdown 原著
→ 原文统计 → 高频词 → 原文风格 → 正向词库 → 专属词库
→ 进入与原创项目相同的初始化和章节流程
```

### 3.2 核心功能

| 功能 | 主要规则 | 异常与保护 | 完成状态 |
| --- | --- | --- | --- |
| 项目与章节管理 | 支持原创 / 同人项目及卷、章节层级；所有资产保存到项目目录 | 名称与路径校验；删除二次确认；同名创建被拒绝 | 已完成 |
| 同人原著提取 | 上传 TXT / Markdown；按五步提取统计、词频、文风和词库 | 缺少原著或模型配置时不推进；上传失败回滚空项目 | 已完成 |
| 初始化资产生成 | 按步骤生成简介、世界观、语言风格、角色名单、角色卡、关系卡、剧情书、剧情卷和信息账本 | 资料不足时先要求补充；失败不推进、不覆盖；批量任务支持断点续传 | 已完成 |
| 单章生成与校验 | 按“锚点—配置—台词—快照—正文—校验”执行；正文生成前冻结上下文 | 缺少必需资产时明确拦截；校验失败可撤回或重试 | 已完成 |
| 流程控制 | 支持标准 / 自动模式、撤回、重试、跳过、取消和下一步 | 缺输入、已有文件冲突、执行失败或流程结束时自动暂停 | 已完成；手动模式仅部分可用 |
| 文件工作区 | 右侧直接预览、编辑 Markdown / TXT / JSON 等本地文件 | 限制扩展名、大小和项目目录边界；已有文件需明确查看、覆盖或跳过 | 已完成 |
| 状态恢复与用量记录 | 保存当前步骤、对话、正式文件、模型、token、耗时和错误 | 刷新或调用失败后恢复；失败调用的已知用量仍计入 | 已完成 |
| 多模型配置 | 支持 OpenAI 兼容 API，可按步骤覆盖提供方、模型和思考强度 | 未配置 API 的模型步骤被拦截；本地步骤不依赖 API | 已完成 |

### 3.3 原型与交互

工作台采用三栏布局：左侧是项目、卷和章节导航；中间是当前流程、用户补充、生成结果及步骤操作；右侧是正式文件的预览与编辑区。用户始终能看到“当前项目—当前步骤—本步产物—下一步动作”的关系。

关键交互规则：

- 每一步只生成一种正式产物，完成卡提供打开、撤回、重试和下一步；
- 正文完成后可生成改写草稿或章节评分，均不直接覆盖正式正文；
- 只有通过格式门禁的结果才写入正式资产，失败结果保留错误信息但不覆盖旧文件；
- 自动模式可连续推进，但遇到缺输入、冲突、失败或完成节点时暂停并交还用户确认；
- “本地”指工作台、流程与资产存储在本机；调用外部模型时，相关上下文仍会发送给用户选择的服务商。

## 4. 完成与验证

- **已完成页面与功能：**三栏工作台、新建项目、初始化流程、单章流程、文件编辑、模型设置、流程预设、失败卡、用量统计和本地状态恢复；
- **可演示核心流程：**新建原创 / 同人项目 → 完成初始化 → 新建章节 → 生成正文 → 输出校验报告；也可演示单步撤回、失败重试与刷新恢复；
- **测试数据与模拟部分：**自动化验收默认使用测试项目、固定脚本结果或模拟模型返回，不消耗真实 API；仓库内示例小说仅用于产品演示，不代表真实用户作品；
- **已完成测试：**后端单元测试 28 项、无模型流程 21 个实际任务路由及 2 个负向门禁、服务端黑盒 20 项、前端静态契约 6 项、端到端无模型验收 27 项均已通过；
- **尚未验证：**目标用户需求强度、首章独立完成率、长篇持续使用效果、真实模型全流程稳定性、内容质量提升和付费意愿；
- **当前结论：**已验证“产品链路能够运行并可恢复”，尚未验证“真实用户会持续使用且创作效率显著提升”。

## 5. 复盘与后续计划

### 当前限制

- 校验通过后尚不能自动、可撤销地更新剧情卷、角色状态和信息账本，下一章可能读取到过期状态；
- API Key 目前以本机设置文件保存，尚未接入系统密钥链；项目和章节删除后无回收站；
- 长篇后期采用完整上下文可能超过模型窗口或带来较高成本，尚未建立可预览的上下文预算、摘要或检索策略；
- 当前主要面向 Windows 桌面端，跨平台、无障碍和大规模项目性能尚未系统验收。

### 优先验证的用户假设

1. 用户是否愿意用固定、可裁剪的步骤换取更高的可控性；
2. 文件化资产与失败恢复是否能实质减少重复整理和返工；
3. 用户更希望全量上下文、摘要还是 RAG，并需要看到多少上下文细节；
4. 校验通过后，哪些资产可自动更新，哪些必须逐项人工确认。

### 下一版本计划

1. 邀请至少 5 名目标用户完成“新建项目—初始化—首章校验”任务测试，记录完成率、卡点和返工量；
2. 设计校验后的资产增量更新：变更预览、逐项确认、撤销与版本记录；
3. 增加回收站 / 项目导出备份，并改进 API Key 安全存储；
4. 建立真实模型回归集和可视化上下文预算，再评估摘要与 RAG 方案。

## 附录

- **在线仓库：**[novel-workbench](https://github.com/Boundless-Fang/novel-workbench)
- **本地原型：**启动项目根目录 `启动工作台.bat` 后访问 [http://127.0.0.1:4173](http://127.0.0.1:4173)
- **完整作品展示：**`D:\小说生成全流程\小说工作台-完整作品展示.html`
- **实机截图：**`D:\小说生成全流程\portfolio-assets\workbench-1920x1080.png`
- **完整 PRD：**`D:\小说生成全流程\docs\产品需求文档.md`
- **技术文档：**`D:\小说生成全流程\docs\技术文档.md`
- **测试入口：**`D:\小说生成全流程\工作流脚本\运行测试.py`
