41
Product-Requirements-Overview
ila edited this page 2026-09-16 13:26:40 +08:00
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

产品需求总览

本页用途

连接调研、候选交付范围、工作量和验收。详细行为见 中文需求提取,两份分析冲突见项目档案。

事实来源边界

当前产品实现:账号与独立空间工程基础已通过验收,其余学习业务待实施。用户已确认多账号、数据独立、自托管和 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,已验收并合入 main)

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)仍待确认修复方案。

#21 交付状态更新(2026-09-15,已验收并合入 main)

F 范围之外的 MVP 增补项「书籍音频与封面附件」已实现,待用户验收:每本书可选一张封面与一段 MP3,书库显示封面,书籍页可上传/替换/移除,阅读页播放器支持播放、拖动与倍速,不自动播放也不与文本同步;播放位置按账号与书籍保存,替换或移除音频时重置;附件按文件内容校验类型(不看扩展名),音频 ≤20 MiB、封面 ≤2 MiB 且 ≤4096×4096;附件读取需会话并支持 HTTP Range。schema 升到 v8(两张新表,需显式迁移)。附件存于数据库,因此包含在 #15 的备份与完整恢复范围内,恢复演练已验证附件按字节恢复且仍可读取与拖动。

非目标保持不变:多音轨、分章音轨、字幕与时间戳同步、逐句跟读、转写、TTS、转码、自动搜索封面、在线音频地址抓取、公开分享与跨用户共享。浏览器真实解码播放(测试中媒体元素被桩替换)与真机听感仍需人工确认;Safari/Firefox 未验证。其余待办:书籍音频与封面已在 #21 落地,剩余 #24 书库列表优化与缺陷 #32。

#37 交付状态更新(2026-09-15)

用户的真实场景「多篇文章合并成一本书、每章各有音频,并为每章加插图」已实现,待用户验收:音频与插图改为章节级(一章各一张),封面维持书级;阅读页在正文上方显示本章插图,播放器只在本章有音频时出现;书籍页每个章节行显示插图缩略图与「附件」入口,附件对话框与正文编辑分开;播放位置粒度改为账号+章节,切换章节时上报一次。类型按文件内容判定(MP3、JPG/PNG/WebP),音频 ≤20 MiB、图片 ≤2 MiB 且 ≤4096×4096,读取需会话并支持 HTTP Range 与 ETag。schema 升到 v9(两张新表 + 幂等清空书级音频历史行,需显式迁移);书级音频接口已下线。附件仍存于数据库,因此 #15 的备份恢复自动覆盖,第三次恢复演练验证了附件按字节恢复且 Range 可用。

已知代价:#21 交付的书级音频功能整体作废(其测试期数据在迁移中清空且回退无法找回);前端实现与播放器组件被复用,未推倒重做。下次再调整附件挂载粒度前应先确认真实使用场景。真机听感与浏览器真实解码播放仍未验证。其余待办:#24 书库列表优化与缺陷 #32。

#37 交付状态更新(2026-09-15)

用户的真实场景「多篇文章合并成一本书、每章各有音频,并为每章加插图」已实现,待用户验收:音频与插图改为章节级(一章各一张),封面维持书级;阅读页在正文上方显示本章插图缩略图、点击后在弹窗里查看原图(章节列表不显示章节图片),播放器只在本章有音频时出现;书籍页每个章节行显示插图缩略图与「附件」入口,附件对话框与正文编辑分开;播放位置粒度改为账号+章节,切换章节时上报一次。类型按文件内容判定(MP3、JPG/PNG/WebP),音频 ≤20 MiB、图片 ≤2 MiB 且 ≤4096×4096,读取需会话并支持 HTTP Range 与 ETag。schema 升到 v9(两张新表 + 幂等清空书级音频历史行,需显式迁移);书级音频接口已下线。附件仍存于数据库,因此 #15 的备份恢复自动覆盖,第三次恢复演练验证了附件按字节恢复且 Range 可用。

已知代价:#21 交付的书级音频功能整体作废(其测试期数据在迁移中清空且回退无法找回);前端实现与播放器组件被复用,未推倒重做。下次再调整附件挂载粒度前应先确认真实使用场景。真机听感与浏览器真实解码播放仍未验证。其余待办:#24 书库列表优化与缺陷 #32。

#37 交付状态更新(2026-09-15)

用户的真实场景「多篇文章合并成一本书、每章各有音频,并为每章加插图」已实现,待用户验收:音频与插图改为章节级(一章各一张),封面维持书级;阅读页在正文上方显示本章插图缩略图、点击后在弹窗里查看原图(章节列表不显示章节图片),播放器只在本章有音频时出现;书籍页章节列表每行只有一个「编辑」入口,标题、正文、插图与音频在同一对话框内编辑(标题与正文点保存后生效,文件选中后立即上传);播放位置粒度改为账号+章节,切换章节时上报一次。类型按文件内容判定(MP3、JPG/PNG/WebP),音频 ≤20 MiB、图片 ≤2 MiB 且 ≤4096×4096,读取需会话并支持 HTTP Range 与 ETag。schema 升到 v9(两张新表 + 幂等清空书级音频历史行,需显式迁移);书级音频接口已下线。附件仍存于数据库,因此 #15 的备份恢复自动覆盖,第三次恢复演练验证了附件按字节恢复且 Range 可用。

已知代价:#21 交付的书级音频功能整体作废(其测试期数据在迁移中清空且回退无法找回);前端实现与播放器组件被复用,未推倒重做。下次再调整附件挂载粒度前应先确认真实使用场景。真机听感与浏览器真实解码播放仍未验证。其余待办:#24 书库列表优化与缺陷 #32。

#37 交付状态更新(2026-09-15)

用户的真实场景「多篇文章合并成一本书、每章各有音频,并为每章加插图」已实现,待用户验收:音频与插图改为章节级(一章各一张),封面维持书级;阅读页在正文上方显示本章插图缩略图、点击后在弹窗里查看原图(章节列表不显示章节图片),播放器只在本章有音频时出现;书籍页章节列表每行只有一个「编辑」入口,标题、作者、正文、插图与音频在同一对话框内编辑(标题/作者/正文点保存后生效,文件选中后立即上传);章节作者为可选自由文本(≤120 字符),阅读页在标题下显示;schema 为 v10;播放位置粒度改为账号+章节,切换章节时上报一次。类型按文件内容判定(MP3、JPG/PNG/WebP),音频 ≤20 MiB、图片 ≤2 MiB 且 ≤4096×4096,读取需会话并支持 HTTP Range 与 ETag。schema 升到 v9(两张新表 + 幂等清空书级音频历史行,需显式迁移);书级音频接口已下线。附件仍存于数据库,因此 #15 的备份恢复自动覆盖,第三次恢复演练验证了附件按字节恢复且 Range 可用。

已知代价:#21 交付的书级音频功能整体作废(其测试期数据在迁移中清空且回退无法找回);前端实现与播放器组件被复用,未推倒重做。下次再调整附件挂载粒度前应先确认真实使用场景。真机听感与浏览器真实解码播放仍未验证。其余待办:#24 书库列表优化与缺陷 #32。

#37 交付状态更新(2026-09-15)

用户的真实场景「多篇文章合并成一本书、每章各有音频,并为每章加插图」已实现,待用户验收:音频与插图改为章节级(一章各一张),封面维持书级;阅读页在正文上方显示本章插图缩略图、点击后在弹窗里查看原图(章节列表不显示章节图片),播放器只在本章有音频时出现;书籍页章节列表每行只有一个「编辑」入口,标题、作者、正文、插图与音频在同一对话框内编辑(标题/作者/正文点保存后生效,文件选中后立即上传);书籍作者与章节作者是两份互相独立的可选自由文本(各 ≤120 字符,留空即清空),书级作者显示在书籍页书名右侧并由「编辑书籍」维护,章节作者显示在阅读页标题下;schema 为 v11;播放位置粒度改为账号+章节,切换章节时上报一次。类型按文件内容判定(MP3、JPG/PNG/WebP),音频 ≤20 MiB、图片 ≤2 MiB 且 ≤4096×4096,读取需会话并支持 HTTP Range 与 ETag。schema 升到 v9(两张新表 + 幂等清空书级音频历史行,需显式迁移);书级音频接口已下线。附件仍存于数据库,因此 #15 的备份恢复自动覆盖,第三次恢复演练验证了附件按字节恢复且 Range 可用。

已知代价:#21 交付的书级音频功能整体作废(其测试期数据在迁移中清空且回退无法找回);前端实现与播放器组件被复用,未推倒重做。下次再调整附件挂载粒度前应先确认真实使用场景。真机听感与浏览器真实解码播放仍未验证。其余待办:#24 书库列表优化与缺陷 #32。

#37 交付状态更新(2026-09-15,已验收并合入 main)

用户的真实场景「多篇文章合并成一本书、每章各有音频,并为每章加插图」已实现,待用户验收:音频与插图改为章节级(一章各一张),封面维持书级;阅读页在正文上方显示本章插图缩略图、点击后在弹窗里查看原图(章节列表不显示章节图片),播放器只在本章有音频时出现;书籍页章节列表每行只有一个「编辑」入口,标题、作者、正文、插图与音频在同一对话框内编辑(标题/作者/正文点保存后生效,文件选中后立即上传);书籍作者与章节作者是两份互相独立的可选自由文本(各 ≤120 字符,留空即清空),书级作者显示在书籍页书名右侧并由「编辑书籍」维护,章节作者显示在阅读页标题下;schema 为 v11;播放位置粒度改为账号+章节,切换章节时上报一次。类型按文件内容判定(MP3、JPG/PNG/WebP),音频 ≤20 MiB、图片 ≤2 MiB 且 ≤4096×4096,读取需会话并支持 HTTP Range 与 ETag。schema 升到 v9(两张新表 + 幂等清空书级音频历史行,需显式迁移);书级音频接口已下线。附件仍存于数据库,因此 #15 的备份恢复自动覆盖,第三次恢复演练验证了附件按字节恢复且 Range 可用。

已知代价:#21 交付的书级音频功能整体作废(其测试期数据在迁移中清空且回退无法找回);前端实现与播放器组件被复用,未推倒重做。下次再调整附件挂载粒度前应先确认真实使用场景。真机听感与浏览器真实解码播放仍未验证。其余待办:#24 书库列表优化与缺陷 #32。

F06 词典范围扩展:英汉释义与规范音标(#40)

用户 2026-09-16 提出「找个英中词典,单词有发音」,并澄清"发音"指音标(举例「grok 的 /gra:k/」), 随后确认三项决策:约 5 万词量级的常用子集、规范 IPA 音标、允许多词典并存(schema v12)。

已交付范围:点词后同时看到中文释义(ECDICT 子集,约 8.2 万条)与音标 (优先 CMUdict IPA 转写,其余保留 ECDICT 记法并标注来源),英英释义仍作为补充; 两本词典可分别启停,个人释义与学习状态规则不变。

非目标:发音音频、整句翻译、汉英方向(中→英)、词频统计界面。F 系列其余功能与 X 系列范围不受影响。