- scripts/ops.py:install-check(依赖与资源版本、客户端不得低于服务端)、init-database(建空库 并提示最小权限)、backup(全库 dump + manifest,不含凭据)、restore(默认只写空库、 --confirm 必需、覆盖需 --force、拒绝系统库与带 CREATE DATABASE/USE 的 dump、比对源库校验和)、 verify(完整性 + 可选两账号接口闭环)、smoke(干净实例上建两个演练账号走通学习闭环) - scripts/bench.py:写明规模的人造数据集性能测量,记录数据量、机器与 p50/p95 - tests/test_lexgo_ops.py:版本解析、库名白名单、dump 安全性、manifest 字段白名单等无库测试 - Wiki 新增 Deployment-and-Operations 页面与 wiki-docs.json 映射(含升级回滚与已知限制) - 更新 Architecture、Business-Rules、Local-Development、Product-Requirements、Home 与 README/AGENTS;本单无 schema 与接口变化
31 KiB
generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Product-Requirements-Overview wiki_url: https://git.ilapage.cn/OPC/lexgo/wiki/Product-Requirements-Overview.- wiki_revision: a1847957e287c7eb1a54905e13632aeca4cd75f7 synchronized_at: 2026-09-15T08:27:38Z
产品需求总览
本页用途
连接调研、候选交付范围、工作量和验收。详细行为见 中文需求提取,两份分析冲突见项目档案。
事实来源边界
当前产品实现:账号与独立空间工程基础已通过验收,其余学习业务待实施。用户已确认多账号、数据独立、自托管和 F01~F12;已建立原型工单 #1 及 Quant-UX 桌面/手机设计。下方 U/A/N 与 M0~M4 保留为研究索引,不能扩大已批准 MVP,也不能用原型完成度代替产品实现进度。
当前需求索引
| 领域 | 需求定位 | 候选阶段 | 最小验收入口 |
|---|---|---|---|
| 身份与管理 | U01、A01/A02/A09、N01 | M1 | A/B 用户数据不可互访,普通用户直接管理 API 被拒绝 |
| 内容库与文本处理 | U02/U03/U04/U08/U09、N02/N03/N04 | M0/M1 | 导入→就绪→阅读;失败重试无重复;原文可还原 |
| 阅读器、词语与短语 | U10/U11/U12/U13/U16、N04/N07 | M0/M1 | 点词、划短语、跨章状态与完成阅读开关正确 |
| 词典与语言资源 | U14、A03/A04、N05 | M0/M1 | 一种已验收语言查词与模型配置,本地核心无需翻译服务 |
| 复习与词汇库 | U17/U19、A07、N02 | M0/M1 | 到期/重学/时区/等级样例,重复作答不重复记账 |
| 统计、外观与移动 | U21/U24/U25、N07 | M1 基础、M2 补齐 | 事件统计一致、基础主题、手机与键盘操作 |
| 备份恢复 | A10、N06 | M1 基础、M4 演练 | 空实例恢复数据库、文件、配置清单后抽样一致 |
| 多格式导入 | U05/U06/U07 文件部分 | M2 | EPUB/网页/字幕文件成功与失败样例,明确格式限制 |
| 功能完善 | U11 完整形态/U15/U18/U19 CSV/U22/U24 定制/U25 PWA/U26、A04 格式/A05/A06 | M2 | 练习不改调度、CSV 空值语义、TTS、设置及删除本人数据边界 |
| 外部与语言专项 | U07 远程/U20/U23、A08 | M3 | 独立验证 Anki/Jellyfin/YouTube 和中日专项,可降级 |
| 稳定化 | N01~N08 | M1 起持续,M4 集中 | 隔离、恢复、Unicode、幂等、性能实测;N08 待定版 |
登记规则
阶段与工作量表关联。正式建单后增加真实 URL、状态和设计版本;不编造 #1 等占位编号。拆分某个需求时保留原编号并注明子范围。
原型与设计资产
已建立 Quant-UX 桌面与手机原型 v1,入口和覆盖范围见本页末尾;当前已通过用户审核。管理区仅展示本 MVP 必要适配,后续实现沿用 go-admin。
状态规则
范围确认后更新为待实施;开始执行才标实施中;有实际证据才标待验收;用户明确验收才标已验收。发生范围、技术基线或验收标准变化时更新主题与估算,不用“已写文档”替代产品状态。
最小验收清单
首版按完整学习闭环、词语状态一致、阅读完成开关、多用户隔离、管理员越权拒绝、任务失败恢复、固定时间复习、Unicode/短语定位、完整备份恢复九类场景验收。真实测试入口待工程建立后补齐。
原型门禁
按轻量模式,只在交互不确定性或明显返工风险下建立可审阅原型;独立功能仍需单元工单。
线上原型与按需 HTML 快照
默认以带版本的线上链接审核;仅用户明确要求才导出 HTML,已确认快照不得覆盖。
原型确认记录
用户已验收当前 Quant-UX 桌面/手机 v1,原型工单 #1 已关闭;结论见验收记录。LinguaCafe 对照修订未执行,后续由划词验证工单承接,不将预设交互计作真实选择验证。
更新时机
范围确认、实际实施状态变化或验收标准变化时更新索引;工单只有实际创建后才填写 URL。
轻量修改边界
目标明确的局部样式或布局、预期行为明确的小 Bug,以及不改变接口、数据结构和权限的单模块调整可直接实施,完成必要验证后报告即可,不为了留痕补建工单。完整独立需求和中高风险变化仍需工单。
本轮技术决策与需求状态
2026-09-10 用户要求先记录已讨论技术方案,再讨论需求和 MVP。学习端采用 Vue 3 + TypeScript + Vite,通过 create-vue 新建独立工程,配套 Vue Router、Pinia、Element Plus、Vitest 和 Playwright;管理端基于指定 go-admin-ui 二次开发,共用基于 go-admin 扩展的后端及 MySQL 8。
上述决策只固定实现方向。当前 U/A/N 需求索引与 M0~M4 阶段仍是候选规划,不视为用户已批准全部 P0/P1/P2 或首版范围。不因技术选择自动创建实施工单或开始产品代码。目标用户现已确定为少量受邀用户;F01~F12 已筛选确认;默认学习语言已确认英语,原型 v1 已获用户验收,真实划词与调度仍需工程验证。
MVP 范围基线 v1(2026-09-10,F01~F12 已确认)
已确认定位:支持多账号、数据独立的自托管学习工具,先邀请少量用户使用。 用户要求从 LinguaCafe 提取候选,再由用户筛选。用户已确认 F01~F12 全部进入 MVP,X01~X14 暂不纳入。原文 P0 中超出 F 清单的部分不自动进入 MVP。确认功能范围不表示原型或产品实现已验收。
来源为已有 LinguaCafe 需求提取,静态研究基线为 c1ea298ce40c65b9dd33e9b26fd2e52fae66f2c8。本轮没有重新拉取上游或运行原版。U/A 为上游功能索引,N 为 LexGo 提出的质量要求;以下首版裁剪属于 LexGo 建议。
B:定位确定的基础与建议实现边界
| 编号 | 基础要求 | 来源与确认边界 | 最小通过条件 |
|---|---|---|---|
| B01 | 多账号、学习者与管理员角色 | 多账号已确认;U01/A01/A02 为基础。建议首批由管理员创建账号,不默认公开注册或邀请链接 | 两账号独立登录;普通用户直接访问管理 API 被拒绝 |
| B02 | 私人内容、词汇、释义、复习和进度独立 | 数据独立已确认;N01 是 LexGo 验收要求,不声称原版已完整满足 | 更换 ID 不能访问他人记录;后台任务、文件、缓存及账号切换不串数据 |
| B03 | 共享模型与词典,个人学习记录独立 | U14/A03/A04,作为已确认定位的实现建议 | 同一词典服务两人,A 修改释义不影响 B |
| B04 | 自托管、可恢复、已选功能行为正确 | 自托管已确认;A10/S10 为参考,N02~N06 为新增质量要求 | 可在干净环境安装;备份恢复抽样一致;重试和重复请求不重复产生副作用 |
B04 建议先提供可执行的部署与备份恢复步骤,不要求备份管理页面、定时策略或一键安装器进入首版。已选功能的隔离、文本正确性、幂等验收随功能保留,不能作为独立可删项。账号禁用、重置和删除策略在账号细化时确定;原版缺失的用户删除不能视为现成能力。
F:已确认的首版学习闭环
F01~F12 全部已确认进入 MVP,目前已通过原型验收,实施工单待执行,尚未实现。范围变化应另行记录用户确认。
| 编号 | 功能 | 首版最小范围与通过条件 | 来源 |
|---|---|---|---|
| F01 | 私人书库与章节 | 创建、改名、编辑/删除本人书籍和章节,使用默认封面;可进入阅读,删除需确认且不影响他人 | U02 |
| F02 | 粘贴文本导入 | 选择语言、粘贴正文、新建或追加章节,先固定分章策略;文本可生成可读章节,异常有提示 | U04/U08 |
| F03 | TXT 文件导入 | 约定支持编码,检查空文件、超限与错误编码;不含 EPUB/PDF/字幕 | U04 |
| F04 | 处理进度与失败重试 | 展示处理中/就绪/失败,错误可读;重试不重复生成章节、任务只对本人可见 | U09;N02/N03 |
| F05 | 基础阅读器 | 原文、词语高亮、点击查词、切换章节;先一套查询交互,Unicode/标点/空白及点击位置正确 | U10/U11;N04 |
| F06 | 本地词典查词 | 默认英语、一种可用词典格式,基础资源配置/导入与查询;可用时利用 lemma,查询不依赖在线翻译 | U14/A03/A04 |
| F07 | 个人词语记录 | 保存/修改释义、例句、学习等级;区分新词/学习中/已知/忽略;同一词跨章节状态一致 | U12 |
| F08 | 短语学习 | 连续选词保存短语、释义、状态并正确定位;匹配与重叠规则需细化,选 F10 时也覆盖短语复习 | U13 |
| F09 | 词汇库 | 搜索、按学习状态筛选、查看与编辑本人词条;不含 CSV | U19 基础 |
| F10 | 基础间隔复习 | 按用户/语言取到期词条,例句、答案、答对/答错和重学;固定时钟验证到期与等级边界,重复作答不重复记账 | U17/A07;N02 |
| F11 | 完成阅读与基础进度 | 标记章节已读,展示已读/已知词/待复习等基本数量;重复完成不重复计数 | U16/U21 子集 |
| F12 | 电脑与手机浏览器基础体验 | 响应式、字号/基础主题、常用键盘操作;已选闭环在两种设备上可用,不包含 PWA | U24/U25;N07 |
X:按使用习惯增选,默认建议后置
X01~X14 本轮均不进入 MVP,留待后续需求讨论。
| 编号 | 功能 | 提升到首版的理由与边界 | 来源 |
|---|---|---|---|
| X01 | EPUB 导入 | 主要读电子书时优先;需分章与异常文件处理,不包含 PDF/MOBI | U05 |
| X02 | 网页 URL 导入 | 主要读新闻时优先;需明确网站适用范围、访问限制和失败回退 | U06 |
| X03 | 本地字幕文件导入 | 主要用视频材料时考虑;只做约定文件格式,不含远程平台 | U07 文件部分 |
| X04 | 词汇 CSV 导入/导出 | 有现成词表或需导出词汇时考虑;缺列与空值语义需保留,不是完整备份 | U19/S7 |
| X05 | 每日目标与学习日历 | 在基础统计上增加目标、日历和历史展示 | U21 完整部分 |
| X06 | 浏览器朗读 | 在阅读/复习中朗读并选择声音,不承诺云端 TTS 品质 | U22 |
| X07 | 在线翻译 | 先选一种服务,处理错误和额度,不默认集成所有服务商 | U15/A05 |
| X08 | 不计复习进度的练习 | 自由练习不改变 SRS 调度;练习次数统计另定 | U18 |
| X09 | 阅读前难度提示 | 用已知词/新词等帮助选择章节 | U03 |
| X10 | 阅读完成批量标已知 | 在 F11 外新增明确开关;关闭时只记已读,不改词语状态 | U16 扩展部分 |
| X11 | 复习范围筛选与策略界面 | 按书/章节筛选、管理员配置间隔;F10 可先固定已定义参数 | U17/A07 完整部分 |
| X12 | 复杂外观与查询形态 | 四种查询形式、字体、电子墨水主题等;按需要拆选 | U11/U24/A06 |
| X13 | PWA 安装 | 添加到主屏,不等于完整离线学习与同步 | U25 扩展部分 |
| X14 | 本人语言数据批量清理 | 与删除一本书不同,需明确范围和恢复边界 | U26 |
默认学习语言已确认英语。未来增加中文或日语时,U23 读音/汉字等专项需重新判断优先级,不能套用“英语先行”的旧估算。27 种语言完整覆盖不作为 MVP 承诺。
默认留到后续讨论的范围
Anki(U20)、YouTube/Jellyfin 远程字幕(U07/A08)、全量旧实例迁移、定时备份 UI、全部词典格式、复杂导入设置和完整管理面板建议后续再定;需要其中某项可单独提出。公开注册/邀请链接系统、组织租户、收费、课程、社交、AI 对话、OCR、视频转写、原生 App、完整离线同步和 FSRS 不纳入本次“原版功能提取”承诺。
已确认流程与依赖
- 用户确认 F01~F12,并同意“更新范围文档 → 建原型工单 → Quant-UX 可点击原型 → 审核后拆实施工单”。
- 原型阶段已结束,进入四阶段实施工单与技术验证;不导出本地 HTML。
- F02 和 F03 均保留,支持粘贴文本与 TXT;F08 与 F10 均保留,必须展示短语保存与复习;F12 覆盖桌面和手机关键操作。
- F05/F06/F07 是查词保存基础;所有私人数据归属本人,公共词典与模型可共享;原型只示意账号与数据归属;真实越权拒绝和服务端隔离在实现阶段验证。
- 英语为演示语料,默认学习语言已确认英语。管理员创建账号、固定分章、按全库复习、不批量置已知作为原型草案处理,原型审核时确认细节。
- 原型需覆盖加载、空状态、错误/重试、删除确认、保存成功、复习答案与结果;桌面与手机可走通完整学习闭环。
- 具体实现工单、接口契约和估算拆解在原型获用户审核后进行。
本轮确认记录
| 内容 | 状态 |
|---|---|
| 多账号、数据独立、自托管、少量受邀用户先用 | 用户已确认 |
| F01~F12 / X01~X14 | 用户已确认 F 全部进入,X 暂不纳入 |
| 默认学习语言 | 用户已确认英语;原型文章为虚构样例 |
| 交互和页面细节 | 当前 v1 已通过用户审核,见工单 #1 验收记录 |
| 产品实现与运行验收 | 工程基础 #2 已实现并本地验证,待用户验收;其余学习业务未实现 |
Quant-UX 原型任务
2026-09-10 用户明确要求使用 Quant-UX 并同意先建原型工单、审核原型后再拆实施工单。审核必须具备可编辑设计源、可访问演示链接、版本标识、覆盖矩阵与实际测试结果;未审核不得标为已验收。实际入口见下方,审核结果统一记录到工单 #1。
原型正式任务:MVP F01–F12:Quant-UX 桌面与手机交互原型 v1。F01~F12 范围已确认;Quant-UX 连接已恢复,原型 v1 已建立并获用户验收。
原型 v1 审核入口(2026-09-10)
版本身份:LexGo · MVP F01–F12 · 桌面/手机 v1;模型摘要、实际点击证据和限制见工单 #1。确认人:当前会话项目用户;确认日期:2026-09-10;结论:通过,精确记录见工单 #1 评论 7498。
用户要求页面尽量减少说明文字,与目标页面一致。产品页保留字段、操作、必要提示;功能编号、模拟说明和异常测试入口集中在独立导览及工单。英语及账号均为样例;输入、预设文件选择、处理状态、选词/短语与复习转换用于审阅交互,不证明真实文件解析、任意划词、数据持久化、权限隔离和调度正确。没有生成 HTML。
| 范围 | 原型入口 |
|---|---|
| F01 | 书库、章节目录、书籍/章节编辑与删除确认 |
| F02–F04 | 粘贴/TXT 导入、校验提示、处理中、失败重试、完成 |
| F05–F08 | 阅读、查词、保存词语/短语、无释义/无词典、词条状态 |
| F09–F10 | 生词本、筛选/空结果、编辑词条/短语、两张复习卡与重学/结果 |
| F11–F12 | 章节完成、基础进度、浅色/深色字号、桌面/手机布局 |
| 多用户基础 | 登录/错误/退出、另一账号空书库、管理员建账号、语言资源配置 |
原型审核后再拆实施工单,结合首发语言与技术验证重新估算 F01~F12;旧全量研究估算不是该 MVP 的承诺。
2026-09-10 用户补充确认默认学习语言为英语。MVP 默认启用英语学习空间,技术验证优先检查英语分词/lemma 与本地词典;此确认不扩展为多语言同时交付。
实施工单与登录要求(2026-09-10)
用户已验收当前 Quant-UX 桌面/手机 v1,原型工单 #1 已关闭;结论见验收记录。LinguaCafe 对照修订未执行,后续由划词验证工单承接,不将预设交互计作真实选择验证。
学习端与管理端均使用账号(用户名)+密码登录,账号不要求邮箱格式;邮箱不作为必填登录标识。两端共用账号体系,管理权限由服务端单独校验。用户名唯一性和大小写规则在账号工单中细化。
四阶段实施总览 #16 汇总四阶段与依赖,各单均包含完整路径、参考模块、设计证据、验收和人日估算。工程基础 #2 已于 2026-09-10 通过用户验收:两端用户名登录、管理员创建/启停/重置学习账号、可撤销会话和本人英语空空间。阅读、导入、词典和复习尚未实现。代码在 feat/2-account-foundation 分支。
| 阶段 | 工单 | 覆盖 | 预计人日 |
|---|---|---|---|
| 1 | #2 工程基础:管理员建账号,学习者登录独立空间 | B01–B02、F12 登录基础 | 6~9 |
| 2 | #3 技术验证:英语分词、原文定位与本地词典贯通 | F05–F06 技术验证 | 3~5 |
| 2 | #4 技术验证:桌面划词与手机短语范围选择 | F05、F08、F12 技术验证 | 3~5 |
| 3 | #5 粘贴英语文本,处理后进入本人章节阅读 | F01 基础、F02、F04 基础、F05 原文 | 5~8 |
| 3 | #6 配置英语词典,在章节中点词查看释义 | F05 查词、F06、B03 | 5~8 |
| 3 | #7 保存个人词义与状态,并在其他章节同步显示 | F07、F05 高亮、B02 | 4~6 |
| 3 | #8 完成到期单词复习,答题结果只记账一次 | F10 单词、B02 | 5~8 |
| 4 | #9 上传 TXT,校验编码后导入本人书库 | F03、F04 补齐 | 3~5 |
| 4 | #10 编辑和删除本人书籍、章节 | F01 补齐、F04 | 3~5 |
| 4 | #11 选择连续短语,保存并加入到期复习 | F08、F10 短语 | 4~7 |
| 4 | #12 搜索、筛选并编辑自己的词语和短语 | F09 | 2~4 |
| 4 | #13 完成章节并查看个人基础进度 | F11 | 2~3 |
| 4 | #14 补齐桌面与手机学习体验、主题及键盘操作 | F12 收尾 | 3~5 |
| 4 | #15 自托管试用交付:安装、完整恢复与两账号验收 | B04、F01–F12 集成验收 | 4~6 |
工程基础交付边界(#2)
工程基础 #2 已于 2026-09-10 通过用户验收:两端用户名登录、管理员创建/启停/重置学习账号、可撤销会话和本人英语空空间。阅读、导入、词典和复习尚未实现。代码在 feat/2-account-foundation 分支。
用户名登录与账号管理覆盖 B01/B02 和 F12 的登录基础;所有 F 学习业务仍需按 #3~#15 验收。#2 的会话和权限测试不能证明尚未存在的书籍/词汇/复习权限已通过。
试用前管理能力增补
用户于 2026-09-10 验收 #2,并批准新增 #18 登录日志与操作审计:两个管理员列表、查询筛选分页、必要字段记录、权限及 90 天保留清理。沿用现有 go-admin 管理布局,无需独立高保真原型。已通过用户验收,纳入 #16“邀请用户试用前完成”;不替代 #3 英语分词和 #4 阅读选择验证,也不引入其他 go-admin 默认模块。
实施进度增补(#5)
2026-09-10:#5“粘贴英语文本,处理后进入本人章节阅读”已实现并待用户验收,覆盖 F01 基础(书库与章节)、F02(粘贴导入)、F04 基础(处理状态与失败重试)与 F05 原文(可读原文与章节切换)。本节取代此前“阅读、导入尚未实现”的表述:粘贴导入与原文阅读已实现;点词查词、词典、个人词语状态、复习与统计仍未实现(#6~#15)。schema 升级为 v3,新增 lexgo_books、lexgo_chapters、lexgo_ingest_jobs。
范围边界不变:本单按 Go 处理,不接入 Python NLP,因此不产生 token、lemma 或词典索引;Go+Python NLP 与全 Go 路线仍未确认,正式接入前必须由用户确认。真机手机详细证据仍缺失(#4 缺口保持)。
全 Go 正式架构决定(2026-09-11,#6)
用户已明确选择全 Go:正式英语分词、原文位置映射、本地词典解析和词形候选查询由 Go 后端完成,不运行 Python NLP 服务。此前“Python 建议/全 Go 未决”仅为历史决策记录,由本决定覆盖;spikes/english 保留历史验证,不接入产品。#6 按该方向实施,当前方案见工单最新启动评论;WordNet 3.0 仍为首个资源(英语释义),词形规则候选不等同于 spaCy 上下文消歧,原文及个人学习状态不按候选合并。
#6 交付范围更新(2026-09-11)
用户确认全Go后,英语词典配置与阅读器点词查义已实现待验收:共享WordNet3.0英语释义、管理员导入/启停、本人章节点击/键盘查词、加载/无结果/资源不可用/网络失败/关闭状态。词形结果是规则候选,不提供上下文词性消歧。个人释义输入是未保存临时草稿,#7才持久化。沿用已验收v1;手机底部45dvh面板自动测试通过,真机缺口保留。#5已关闭并合入main,#6尚不关闭。
#7 交付范围更新(2026-09-11)
F07 的个人词语记录已于 2026-09-11 通过用户验收:阅读器可以保存与修改个人释义、例句和状态(新词/学习中/已知/忽略),同一词形在本人其他章节显示相同状态与高亮,两个账号的数据互不影响。个人释义与共享 WordNet 词典分开存储,个人释义不进入审计日志。schema 升级为 v5,新增 lexgo_terms。
仍未实现并留给后续工单:词汇库搜索与编辑(#12)、短语(#11)、到期复习与等级推进(#8)、阅读完成与进度(#13)、TXT 导入(#9)、书籍章节编辑删除(#10)。词形候选仍不提供上下文消歧,个人学习状态不按候选合并;例句不自动关联原文句子。
#8 交付范围更新(2026-09-11)
F10 的单词到期复习已于 2026-09-11 通过用户验收(包含独立审核整改 R1~R3):按固定间隔表取本人当前语言的到期词条,正面显示词与挖空例句,显示答案后按「认识/答对」「不认识/答错」「再学一次」评分;答对升级并排下次复习,答错降级并立即回到本轮,再学一次不改等级并回到本轮。重复提交、网络重发与双标签页都不会重复更新次数和间隔;已知与忽略的词条不入队。管理端无改动。
仍未实现并留给后续工单:短语复习(#11)、词汇库搜索与编辑(#12)、阅读完成与进度统计(#13)、TXT 导入(#9)、书籍章节编辑删除(#10)。复习范围筛选与策略配置(X11)、练习模式(X08)、FSRS 仍在范围外。
#9 交付范围更新(2026-09-11)
F03 的 TXT 文件导入已于 2026-09-13 通过用户验收:学习端导入页新增「粘贴文本 / TXT 文件」来源切换,选择 UTF-8 的 .txt 文件后经大小、空文件与编码校验进入与粘贴相同的处理与阅读流程,失败可重试。只支持 UTF-8(允许可选 BOM)且不替换损坏字符;UTF-16 与其他编码会被明确拒绝;文件只在内存中解码、不写临时文件,客户端文件名不参与任何路径也不入库;重复上传同一文件只产生一章。schema 无变化。
仍未实现并留给后续工单:书籍与章节的编辑删除(#10)、短语选择与保存(#11)、词汇库搜索与编辑(#12)、阅读完成与进度(#13)、桌面与手机体验补齐(#14)、自托管试用交付与完整恢复(#15)。EPUB/PDF/字幕、UTF-16 转码、按空行自动分章与断点续传不在本单范围。
#10 交付范围更新(2026-09-11)
F01 的编辑与删除已于 2026-09-14 通过用户验收:学习端可改书名、改章节标题、编辑章节正文并按新版本重新处理,可用确认弹窗删除章节或整本书。编辑正文产生明确版本,旧处理结果被标为 superseded 而不覆盖新版本;删除在事务内完成并重排剩余章节序号,个人词条、复习排期与作答记录一律保留。本次没有数据库结构变化。
仍未实现并留给后续工单:短语选择与保存(#11)、词汇库搜索与编辑(#12)、阅读完成与进度(#13)、桌面与手机体验补齐(#14)、自托管试用交付与完整恢复(#15)。封面与音频附件(#21)、回收站/撤销、批量操作、章节跨书移动与语言变更不在本单范围。
#11 交付范围更新(2026-09-11)
F08 的短语学习与 F10 的短语复习已于 2026-09-14 通过用户验收:阅读器支持连续选择(桌面原生拖选、手机系统手势、面板按词调整端点),保存个人释义、例句与状态;短语与单词共用同一张表、同一到期队列与同一套幂等作答,同一短语跨章节只存一条记录并在出现处高亮;复习卡片把整段短语挖成一个空。范围规则(整词对齐、内部标点保留、最多 12 词、最左最长重叠)与失效引用回退(高亮消失、学习记录保留)已固化。本次没有数据库结构变化。
仍未实现并留给后续工单:词汇库搜索与编辑(#12,含短语编辑界面)、阅读完成与进度(#13)、桌面与手机体验补齐(#14)、自托管试用交付与完整恢复(#15)。短语自动合并同义形式、上下文词性消歧、短语跨书移动、批量编辑与真机手柄精细手感不在本单范围。
#12 交付范围更新(2026-09-11)
F09 的词汇库已于 2026-09-15 通过用户验收:生词本分页列出本人保存的词语与短语,可按关键词(匹配词形、显示原文或个人释义,大小写不敏感、通配符按字面值)与状态/类型筛选,可编辑释义、例句、状态与 1~7 学习等级,提供「开始到期复习」入口、空态与「没有匹配的词条 + 清除搜索与筛选」。编辑沿用与阅读器相同的领域校验与排期规则:身份不可编辑、只有状态或等级变化才移动复习时间、历史作答记录与计数保留;筛选与页码写入 URL,刷新或返回列表都保留。原型编辑页的「来自某章节」不实现(词条按身份存储、不引用章节)。本次没有数据库结构变化。
仍未实现并留给后续工单:阅读完成与进度(#13)、桌面与手机体验补齐(#14)、自托管试用交付与完整恢复(#15)、书籍音频与封面附件(#21)、书库列表优化(#24)。CSV 导入导出(X04)、复杂复习范围筛选(X11)、删除词条或批量清理(X14)不在本轮范围。
#13 交付范围更新(2026-09-15)
F11 的完成阅读与基础进度已于 2026-09-15 通过用户验收:阅读页提供显式「标记本章已读」(只记已读、不批量改变词语状态),书籍页章节列表显示已读,新的进度页面显示已读章节(分母只含可阅读章节)、待复习、已知词、学习中、新词、忽略与已保存词条数,以及每本书的已读进度;重复标记不重复计数,待复习与到期复习队列共用同一规则与时钟。正文改成新版本后该章回到未读并可在重读后更新同一记录;删除章节时记录随之消失。本次新增 schema v7(一张新表),需要显式迁移。
仍未实现并留给后续工单:桌面与手机体验补齐(#14)、自托管试用交付与完整恢复(#15)、书籍音频与封面附件(#21)、书库列表优化(#24)。每日目标、日历、难度评分、统计导出明确不在范围内。另记录既有缺陷 #32(编辑章节正文回到曾用版本返回 500,已定位未修复,方案待用户确认)。
#14 交付范围更新(2026-09-15)
F12 的电脑与手机基础体验已于 2026-09-15 通过用户验收:新增「显示」设置(浅色/深色/跟随系统;正文标准/大/特大),偏好按账号保存在本机、账号切换不串、不跨设备同步;阅读位置按账号与章节保留,正文换新版本后不套用旧位置;复习页支持空格显示答案与 1/2/3 评分,输入框内不误触全局快捷键,焦点环可见;手机端以 390×844 触摸视口验证八个界面无横向溢出、均可返回、触摸滑动可滚动且不误开释义面板。本次无数据库与接口变化。
仍未实现并留给后续工单:自托管试用交付与完整恢复(#15)、书籍音频与封面附件(#21)、书库列表优化(#24),以及已定位未修复的缺陷 #32。PWA、离线能力、自定义配色、全局 UI 缩放与偏好跨设备同步明确不在范围内。真实手机的长按选择与操作手感仍需人工确认,本单的触摸证据来自模拟设备。
#15 交付状态更新(2026-09-15)
B04 与 F01–F12 的集成交付已实现,待用户验收:新部署与运维 Wiki 页(首次部署、配置与凭据来源、日常运维、健康检查、升级回滚、备份恢复、已知限制),运维工具 scripts/ops.py(install-check / init-database / backup / restore / verify / smoke)与 scripts/bench.py。本机完成完整演练:空库安装并由管理员建立两个虚构演练账号走通学习闭环;备份开发库后恢复到空实例,逐表行数与内容校验和一致、源库未被改动,两账号闭环与越权校验全通过。性能在 20 章/2000 词条/8000 条作答的人造数据集上实测(p50 6–23 ms,登录 82 ms,均无错误),只作观察不给承诺。
用户已确认的范围边界:本次只交付本机可复现的安装/备份/恢复材料并在本机演练,不对外部署、不创建发布标签、不邀请用户;生产入口与 HTTPS 只写入文档。真实回滚、定时备份、监控告警、多机部署与 HTTPS 仍未验证;附件(音频/封面,#21)尚未实现,因此恢复契约目前只覆盖数据库,待 #21 落地后由本单的恢复验收纳入附件。遗留缺陷 #32(编辑正文回到曾用版本返回 500)仍待确认修复方案。