面向 Windows 的本地英语单词本。通过剧集字幕、原声、划词和截图 OCR 收集生词,以测验和易忘词专项帮助复习,并与已有的英语练习站点同步。
项目仍在开发中,当前版本见 package.json,尚未正式发布。 功能开发使用本机开发环境进行验证,不随每次功能变更生成或安装发行包。历史候选包及安装验收记录见发布记录,这些记录不代表后续代码已经打包或正式发布。当前功能证据与兼容边界见验收覆盖。
产品名称、公开仓库名称和本地工作目录名称统一为 SubtitleVocabularyList。
0.7 系列增加离线基础词库:已有中文释义优先复用,再按 Google 高频词表、ECDICT 的顺序查询,精确及词形命中后不调用本地模型。支持明确书写变体和基础缩写补充,原文与个人生词本保持;准备命令及 24 集真实覆盖见基线记录和未命中复核结果。
0.7.3 的手动打包流程已加入双底库:首次安装写入所选目录的 Data/dictionaries,升级只更新底库资源,保留个人词库及学习记录。打包不读取个人数据库;本轮仅完成资源流程验证,未生成新安装包。
| 文档 | 职责 |
|---|---|
| 产品需求文档 | 产品目标、0.1 范围、用户流程、需求和验收标准 |
| 需求审查记录 | 文档层审查与开放事项的推进方式 |
| 架构设计文档 | 已确认的技术栈、系统边界、模块职责、数据与集成设计 |
| 高频水平测试设计 | 题库、离线作答、报告、确认收录和完整历史同步已接入;本轮人工验收按用户确认结束,未复核边界见验证记录 |
| 高频水平测试开发计划 | M-15 至 M-19 的依赖、交付和正常验证;真实正常同步通过,用户确认本轮验收结束,后续问题按 bug 处理 |
| 数据模型设计 | 词条、例句、原声、收录、测验及同步数据的关系与一致性 |
| 应用流程设计 | 预习、采集、确认、播放、测验、专项和异常状态 |
| 接口契约设计 | 本地命令、任务、错误及外部适配与同步契约 |
| Pot 替代功能设计 | 后续独立小窗、自动查询、剪贴板监听、多服务与插件提案 |
| Pot 替代开发计划 | M-09 至 M-13 的顺序、工作包、依赖和最小正常验收 |
| 测试与验收计划 | 验证环境、计划场景、需求覆盖与执行证据规则 |
| 首轮原型验证 | 实际核心与工具链测试,真实 PGS 剧集结果和覆盖边界 |
| 桌面导入与收录验证 | 项目内剧集副本、实际界面、合并、重启与取消结果 |
| Windows 划词与语音验证 | 用户参与的跨进程取词、系统语音播放、失败与取消结果 |
| 屏幕 OCR 验证 | 真实截图、DPI 对齐、识别合并与兼容边界 |
| 复习策略设计 | 初始间隔、掌握和易忘词规则,保留策略版本 |
| 测验与专项验证 | 41 项核心、实际测验、两种听力音频、人工确认、提示和重启证据 |
| 完整同步设计 | 真实连接、完整资料、冻结重试、别名、冲突和媒体契约 |
| 同步增量验证 | 当前核心与真实双向、原声、历史、冲突及未覆盖项 |
| 导入选择与查询验证 | 多轨/外置/转写、连续采集、实际模型和手动联网请求 |
| 离线安装与升级验证 | 随包工具、实际安装、原声播放、旧库迁移与发布余项 |
| 保存中断与恢复验证 | 真实进程终止、旧资料保持、重试与取消提交边界 |
| 本地工作流性能验证 | 1000 条词库的后台读取、实际本机处理、资源采样与模型失败隔离 |
| 当前验收覆盖审计 | 0.1 基线需求、42 个历史场景的实际证据和未关闭条件 |
| 媒体输入支持矩阵 | 六种视频后缀、已测编码、字幕与递归目录规则 |
| 受限制网络验收 | 实际出站限制、冷启动、播放听辨、截图补测及服务失败隔离 |
| 安装与使用说明 | 当前候选包、数据目录、系统资源和基本使用流程 |
| 0.1 候选发布与用户验收 | 匹配交付物、技术验证、支持边界和用户验收步骤 |
| 0.1 开发计划 | 按依赖安排的实施阶段与完成依据 |
| 文档管理规范 | 文档分类、评审状态、变更流程和需求追溯规则 |
| 开发约束 | 开发者与 AI 协作者必须遵守的项目规则 |
按 Alt+D 打开独立查询小窗,输入英文后 Enter 查询;Alt+C 读取原应用选区,Alt+E 截图识别后自动查询。Shift+Enter 换行,Esc 隐藏小窗;只查询不加入词库,点击“收录”后仍需确认保存。改用相同快捷键前退出 Pot。
小窗“选项”可以开启剪贴板监听和管理查询服务。监听启动默认关闭;自动查询默认只用本机模型,外部服务需明确启用。多个结果分别展示,已有缓存在本机保留。本地模型参数继续在主窗口“本地设置”管理。
“安装插件”接收声明式 JSON 文件,安装后默认关闭;用 本机 Qwen 示例 和 插件说明配置首个扩展。首版支持翻译/词典,不执行脚本/DLL,不直接兼容 Pot 包;OCR/语音插件另行规划。
当前是开发版本,未生成发行安装包。真实检查及范围见 Pot 替代验证,日常词库与独立测试数据保持分离。
0.6.0 新增选句翻译并替换:在支持的可编辑输入框中选中英文,按 Ctrl+Alt+R,完整中文自动替换当前选区;不发送消息或自动收录,原应用 Ctrl+Z 撤销。等待中再按同一键可取消,状态提示不抢焦点;目标变化后仅保留译文,托盘可手动查看。
本地设置可修改/禁用替换键和选择单个已启用翻译服务,默认本机 Qwen。实际支持控件、剪贴板范围及撤销证据见 替换验证。其他编辑器不据此视为已兼容,开发运行方式保持不变。
0.6.2 修复后台准备粒度:通用词义跨集只准备一次,对白译文按原句独立缓存;旧语境解释保留,特殊含义按需请求。任务分别显示词义与句子进度。源码验证与当前资料计数见去重修复,本轮未生成新安装包;新版首次启动迁移至 schema 8。
2026-10-10 增加网站学习功能的本地整合:左侧“听读练习”可导入 TXT、未加密 EPUB、原网站 .lesson.zip 课程包,或直接粘贴文本。支持逐句本地朗读、原声、输入即时反馈与自动前进、连续听读和本机位置恢复;选词或整句沿用收录确认窗口,有课程原声时可保存片段。完整阅读与输入草稿留在本机,收录后的词库继续按原同步流程处理。评估和实际验证边界见听读整合记录。
- 观看剧集前,按单词和短语确认需要学习的内容。
- 随时通过划词或截图 OCR 收录生词,并保存语境。
- 重复收录时合并词条,增加例句和音频,保留学习历史。
- 使用原声进行主动回忆测验,分别跟踪词义与听力表现。
- 核心流程离线运行;需要时进行联网查询和在线单词本同步。
默认在线,查询和同步仍由用户主动发起。连接失败时继续离线使用本地词库、原声和测验,可直接重试,成功后恢复在线状态;在本地设置启用并保存“手动离线”才会禁止外网操作,本机模型仍可用。
当前同一原句可保留多个已确认语境,复用原句和原声。完整同步、网页资料桥接与冲突选择已接通,真人批准后的双向例句、原声和学习历史主流程已通过;现场中断、删除、账号切换、容量和整体离线交付仍有余项。具体需求与验收以 PRD 为准,技术选型以架构设计文档为准。
文档的阅读与维护顺序见 文档管理规范。功能完成情况以实际验证记录为准,计划中的阶段不代表已经交付。
采用“主版本.功能版本.修复版本”:bug 修复递增第三位,大功能递增第二位并将第三位归零;主版本仅由负责人手动控制。规则从原 0.1.0 开始执行,当前开发版本以 package.json 为准,记录见 CHANGELOG。
pnpm version:patch --message "修复说明":bug 修复递增并同步配置及变更日志。pnpm version:minor --message "功能说明":大功能递增,第三位归零。pnpm version:check:核对前端、Tauri、Cargo 与 Cargo.lock 的版本。pnpm version:sync:将人工维护的 package.json 版本同步到其他配置。
每个逻辑交付递增一次;版本变更不触发打包、安装或发布标签。人工主版本设置与操作细节见版本管理规范。
公开仓库用于维护文档与后续代码。个人词库、影视文件、原声音频、模型权重和凭据不作为源代码提交。
项目采用 GPL-3.0-only。第三方代码和工具的来源、版本与许可按架构设计核对,不因本项目许可而改变它们各自的义务。
第三方版本与来源见 组件说明。
本机验证使用 Node.js 22、pnpm 10、Rust 1.95 和 Visual C++ 工具链。执行 pnpm install 后,可使用以下入口:
常用的三个入口均放在项目根目录:本地调试运行.ps1 用于本地调试运行,本地打包运行.ps1 生成本地调试 exe,生成安装包.ps1 生成安装包和独立运行目录。内部辅助脚本仍放在 scripts/。
手动打包可直接双击 生成安装包.cmd,或右键同名 .ps1 选择“使用 PowerShell 运行”。默认结束后停留显示结果,入口执行记录保存在 .local/package-logs/,离线工具另有详细构建日志;失败会显示具体位置并保留非零退出码。打包前需提交源码、保持工作区干净;没有通过该检查时不开始清理和编译。pnpm desktop:package 在原终端返回,不额外等待按键。
打包前可执行 powershell -NoProfile -ExecutionPolicy Bypass -File 生成安装包.ps1 -CheckOnly。从 0.8.33 起,它实际检查开发命令、版本、未提交文件、构建目录内的运行进程、前端依赖及所选模式的工具/资源,用中文集中列出阻塞原因和处理方法;通过返回 0,发现问题返回 1。pnpm desktop:package -CheckOnly 检查复用工具的模式。预检只保存执行记录,不清理、编译、下载或启动应用;通过后仍需手动打包。
只需释放构建缓存时,双击根目录 清理构建缓存.cmd。它调用同名 PowerShell 脚本,仅删除本项目 src-tauri/target/debug 和 release 下的 incremental、deps、build、.fingerprint,显示结果后停留,不编译或启动应用。先保存输入并退出调试/编译;检测到构建目录里的程序仍运行时会提示 PID/路径并停止。源码、工具、词库、原声、学习历史、各 Data、安装包及验证资料保留;下次编译需要重建缓存。详细范围及 -CheckOnly 预览见开发环境说明。
新 Windows 机器的开发与媒体环境脚本见开发环境说明,包含已实际验证的依赖版本、资源位置与权限要求。
pnpm build:前端类型检查与构建。pnpm test:core:不启动界面的 Rust 核心测试。pnpm desktop:dev:先自动清理专用临时目录和启动测试缓存,再本机调试运行;词库、媒体和正常依赖缓存保留。前端热更新、Rust 变更重启,使用本地 PATH、.tools/runtime和默认D:\SubtitleVocabularyList\Data。- 开发启动仅扫描前端相关内容,排除原生构建、工具源码和运行资料;本机新依赖缓存/WebView 数据目录的首次界面约 1.3 秒,代码编译另计,见启动性能记录。
- 双击根目录
本地调试运行.cmd:使用相同开发环境启动,调试命令结束后不暂停专用控制台;从已有终端启动时返回该终端提示符。 pnpm desktop:build:手动生成本地调试 exe,输出.local/build/SubtitleVocabularyList.exe和run-local.ps1;使用本机开发资源,不生成安装包,可在未提交代码上执行。pnpm desktop:package:手动发布打包,复用已准备的离线发行资源;输出release/<版本>/下的安装包、standalone/SubtitleVocabularyList.exe及其tools/、对应源码材料和摘要。要求源码已提交且工作区干净,不自动安装。
需要传入目录或首次构建发行工具时,可直接执行脚本:
powershell -NoProfile -ExecutionPolicy Bypass -File 本地调试运行.ps1
powershell -NoProfile -ExecutionPolicy Bypass -File 本地打包运行.ps1
powershell -NoProfile -ExecutionPolicy Bypass -File 生成安装包.ps1第三条仅在需要打包时手动执行,首次会准备离线发行资源;资源已有时加 -SkipToolBuild。三个入口均支持 -CheckOnly 查看环境和执行计划,不启动应用或构建安装包。0.6.1 调试和本地 exe 默认使用 D:\SubtitleVocabularyList\Data;安装版使用程序所在目录下的 Data,安装到 D:\SubtitleVocabularyList 时三者共用同一份资料,切换前完全退出。缓存位于 Data/cache,旧资料迁移与实际范围见目录说明。隔离测试仍可用 -DataDirectory 明确指定词库。
媒体原型另需 FFmpeg、ffprobe 与英语 Tesseract。scripts/setup-tools.ps1 准备私有的 Whisper 程序和模型,并校验模型摘要;它用于开发资源准备,不是最终用户安装说明。
“本地设置 → 启动与关闭行为”提供“开机启动(登录 Windows 后)”开关,默认不登记启动项。切换后立即更新当前用户的 Windows 启动项,无需再点击“保存设置”;登录启动沿用开启时的程序和资料目录,正常显示主窗口。关闭到托盘仍独立设置,完全退出不会取消已开启的下次登录启动;移动程序或资料目录后需关闭开关再开启。此项只保存在当前电脑/用户,不随词库迁移或同步,验证边界见开机启动记录。
当前按本机 Pot 的已核实配置对齐快捷键:划词 Alt+C、截图 Alt+E、输入翻译/收录 Alt+D。可在本地设置自定义、禁用或采用 Pot 快捷键后保存;切换前需退出占用相同快捷键的 Pot。旧工厂快捷键升级,自定义值保持;输入入口复用确认窗口,可查询后不收藏。替代范围与当前缺口见Windows 增量记录。声音选项列出已安装的 Windows 英语声音。当前开发版本默认关闭主窗口时完全退出;可在本地设置选择“常驻托盘,保留取词快捷键”并保存,托盘菜单仍可完全退出。初始窗口按当前屏幕可用空间缩小,内容与侧栏分别滚动。启动加载、实际显示与退出证据见桌面增量验证。历史安装包仍对应其原版本行为。