# Mobile Ink Annotation Pro 更新日志

## 1.0.8 / releaseSequence=9

发布日期：2026-09-15<br>
比较范围：已上线版本 `1.0.7 / releaseSequence=8` → 本次版本 `1.0.8 / releaseSequence=9`<br>
最低 Obsidian 版本：1.5.0

### 更新摘要

本次更新集中修复手写批注在批注中心和笔记回链卡片里“看不到笔迹”或“笔迹画错位置”的问题：PDF 手写记录的预览图改按阅读页真实的页面布局定位，导出的手写回链卡片能正确找回整组笔迹并直接显示批注中心已渲染的页面截图；`整理到笔记` 现在给每一条批注都生成预览图并显示进度。另外，标注画布不再借用 Obsidian 主题的 `.markdown-preview-view` 样式命名，避免第三方主题把整个标注页渲染成空白。

### 更新内容

#### 手写回链卡片

- 修复从批注中心导出的手写回链卡片一律显示“✏️ 手写区域（无笔迹）”的问题。批注中心导出的 `ink=` 参数写的是记录 ID（`handwriting:<锚点笔迹>`），而不是逐条笔迹 ID；卡片现在会按批注中心的方式重新分组当前文档的笔迹，取出对应整组显示；`standalone:<锚点>:p<N>` 形式的独立手写页记录显示整页。
- 卡片优先显示批注中心已经渲染好的“笔迹所在页面区域”截图（与卡片、表格导出嵌入的是同一张图）；没有截图时才退回到方格纸上只画笔迹的形态。图片加载失败会自动退回笔迹绘制。
- 刚写完立刻导出时，卡片会直接读取打开中的阅读页里尚未落盘的笔迹，不再在保存队列刷新前显示为空。
- 只有当笔迹确实落在回链自带的矩形范围内时才按该范围裁切；矩形是在其他布局宽度下记录的、或者根本没有矩形时，改用笔迹自身的边界作为画面范围。

#### 批注中心预览图

- 修复 PDF 手写记录的预览图定位：预览图改按阅读页的连续文档布局（每页占用与第 1 页相同的盒子并按固定间距堆叠）换算坐标，不再累加真实页高。此前逐页累计的取整误差和扫描件页面尺寸差异会让靠后的页面把笔迹画到页面之外——第 300 页可能偏低六分之一页。
- 修复从未保存的阅读页生成预览时使用旧页宽的问题：打开中的阅读页现在会报告笔迹实际所在的页面尺寸，与保存时写入的一致。
- 预览图缓存键加入笔迹所在的布局宽度与位置：同一组笔迹在另一宽度下重新保存、或来自尚未保存的阅读页时，会视为不同画面重新生成，此前一旦渲染错位就会一直沿用错图。旧的 v4 预览资源会按新规则重新生成。
- 批注中心里“笔迹所在页面区域”这类真实页面截图不再叠加方格纸背景。

#### 整理到笔记

- `整理到笔记` 现在给每一条批注生成预览图（此前只有圈画区域有图，手写块只有在之前做过卡片或表格导出时才有图，而且源文件删掉后还会继续指向它）。处理过程显示“正在准备批注预览图（n/N）… → 正在写入汇总笔记…”，某条预览生成失败只影响该条，完成提示会注明失败条数。
- 手写批注在笔记里由回链卡片本身展示预览图，不再在卡片上方重复嵌入同一张图。

#### 标注页与主题兼容

- 标注画布的背景层不再使用 Obsidian 主题专用的 `.markdown-preview-view` 类名（Markdown 标注页与独立手写笔记都改为插件自己的 `.mobile-ink-background`）。不少第三方主题会对该类设置布局、滤镜、混合模式或可见性规则，之前这些规则会泄漏到画布上，把整个标注页渲染成空白。
- 复习手写草稿的画布在打开时按测得的舞台尺寸初始化，修复首次打开时画布仍是 1×1 内部布局、要等一次窗口尺寸变化才能正常书写的问题。

### 验证范围

- 构建、TypeScript 检查与 Pro 发布结构校验。
- 手写回链卡片：记录 ID 到笔迹组的解析、独立页记录、打开中阅读页的实时笔迹快照、预览图优先与回退（`scripts/test-ink-backlink-preview.mjs`）。
- 批注中心预览：PDF 连续布局定位、未保存阅读页的实时快照尺寸、缓存键随布局变化、图层裁切（`verify:preview-crop`，含新增 `test-pdf-preview-live-snapshot.mjs`）。

### 升级方式

1. 升级前备份 Obsidian 库和当前插件目录，尤其是 `annotation-center` 数据目录。
2. 已安装支持应用内更新的版本：进入 `设置 -> Mobile Ink Annotation Pro -> 授权`，点击凭证卡片上的 `检查更新`。
3. 旧版本没有该入口：下载正式发布包，覆盖插件目录中的 `main.js`、`manifest.json`、`styles.css` 及发布包要求的资源文件。
4. 完全退出并重新打开 Obsidian。
5. 打开一次批注中心，滚动到 PDF 手写记录，确认预览图落在页面内；打开一篇整理过手写批注的笔记，确认回链卡片显示笔迹。

### 兼容性与注意事项

- 插件 ID 仍为 `mobile-ink-annotation-pro`，最低 Obsidian 版本仍为 1.5.0，不会自动迁移或重命名已有数据目录。
- 批注中心里已经生成过的手写预览图会在下次需要时按新规则重新渲染；旧图不会被立即删除，可能短暂占用额外空间。
- 之前用 1.0.7 整理到笔记的手写块，卡片会在打开笔记时按新逻辑显示笔迹，笔记内容本身不需要重新整理；如果想让这些块也带上预览图，重新执行一次 `整理到笔记` 即可（不会重复插入块）。
- 依赖 `.markdown-preview-view` 给标注页写自定义 CSS 的用户，请改用 `.mobile-ink-background`。
- 应用内更新需要有效 Ink Pro 授权、可访问授权服务，并且许可证更新权益覆盖目标发布序号；自动安装完成后必须完全重启 Obsidian。

## 1.0.7 / releaseSequence=8

发布日期：2026-09-13<br>
比较范围：已上线版本 `1.0.6 / releaseSequence=7` → 本次版本 `1.0.7 / releaseSequence=8`<br>
最低 Obsidian 版本：1.5.0

### 更新摘要

本次更新在批注中心之上新增「题库」：阅读时圈到的题目、批注中心里的摘录都可以交给 AI 抽取成结构化题目，用 FSRS 排期复习，复习时可以在题卡上直接手写演算。卡片收藏夹并入批注中心，成为内置的「收藏」集合，旧收藏自动迁移。批注中心改为「范围导航 + 列表 + 详情抽屉」的工作台布局，新增瀑布流和表格视图、整理到笔记、AI 派生批注折叠。阅读页工具栏做了精简，摘录胶囊的 AI 面板可拖动、可调整大小，圈画 OCR 结果直接显示在胶囊下方。书写链路完成八轮性能优化，落笔、抬笔和自动保存不再互相抢占主线程。AI 请求补上超时和桌面端流式回退，模型预设新增温度、最大输出长度和结构化输出。设置页拆成五个标签页并提供搜索框。业务数据向后兼容，可从 `1.0.6` 直接升级。

### 更新内容

#### 题库与复习（新增）

- 批注中心新增「题库」范围。单条批注的「更多」菜单提供 `添加到题库`，多选后可 `整理所选为错题`，把批注原文、OCR 文本、截图和我的思考交给 AI 抽取为结构化题目：题干、题型（单选 / 多选 / 判断 / 填空 / 简答 / 计算 / 案例）、选项、答案、解析、秒杀技巧、知识点、错因分类、难度、学科。
- 阅读页可以直接整理：文本选区、圈画区域和已有批注的摘录胶囊新增 `添加错题`（圈画为 `识别并添加错题`），不必先进入批注中心。一次最多合并 8 份材料；多份材料可标注题干 / 答案 / 解析 / 上下文用途，选择「合并为一道题」或「每份各自成题」。材料已在题库中时会提示 `补充材料`、`打开题目` 或 `另建新题目`，不会重复插入。
- 抽取材料和指令默认放入 AI 侧栏，由你确认后发送；也可选择「确认无误，直接发送」。AI 只负责题干、答案和解析，文件路径、页码、坐标、回链、截图路径由插件确定性生成。原文没有答案时答案留空并标记 `待补答案`，不会编造；非题目材料标记为 `非题目`；模型返回的字段置信度低于 0.6 时显示待核对提示。
- 题库面板提供 `题卡流`（答案默认遮罩，点击展开）、`紧凑表格`（答案可就地编辑）和 `独立复习` 三种视图；左侧分类导航按复习状态、题库合集、学科、标签分组并显示计数；顶部状态胶囊有 `全部 / 到期复习 / 顽固错题 / 待复核 / 待完善`，另有题型、错因下拉和搜索框（`Ctrl/⌘ K`）。
- 题目详情抽屉可编辑全部字段。手工修改过的字段自动锁定，之后重新抽取不会覆盖；可对单个字段重新抽取；`AI 补全讲解` 按设置中的「题库讲解方向」补写解析、技巧与考点，可选连答案一起推导（结果标记为 `AI 推导`）。抽屉关闭即保存，保存失败时保留原样并提示，另有 `放弃修改`。
- 题目支持多份来源材料：`添加来源材料`、`更新来源快照`，来源批注变化或解绑时给出提示；删除题目会保留原批注、生成的笔记和截图。
- 题库合集：新建、重命名、删除，一道题可属于多个合集，支持批量加入 / 移出；在某个合集内新建的题目自动归入该合集。
- 复习使用 `ts-fsrs` 调度。动态队列按「学习 / 重学到期 → 到期旧题 → 新题」出题；四档评分 `忘记了 / 想起但困难 / 正常想起 / 轻松想起`，显示预计间隔；客观题对错单独记录，不替代记忆评分。空格显示答案，数字 `1–4` 评分，`Ctrl/Cmd+Z` 撤销上次评分。提供 `稍后继续` 与 `结束本轮`，未提交的作答草稿保存在本机。
- 每道题显示思考用时（展开答案即停表）；会话级番茄钟默认 25 分钟，可设 1–180 分钟，跨题连续计时。本轮结束显示完成次数、回忆正确率和平均思考时间。
- `标记已掌握` 与 `暂停复习` 分离：掌握标记不改变计划，选择「忘记了」会清除掌握标记；暂停后恢复保留原到期时间。累计遗忘 8 次的题目标记为 `顽固错题`，题卡与复习页提示回到来源材料修复。
- 插件设置 `标注阅读 → 题库复习` 新增 `每日复习上限`（默认 60，范围 1–500）和 `目标保持率`（默认 90%，范围 70%–97%）。题库「更多」菜单可开始 `专项练习`，练习未到期题目并保存作答，但不改变 FSRS 到期时间。
- 复习时可开启手写草稿：整页原位手写、双栏草稿纸、纯净稿纸三种形态；钢笔 / 荧光笔 / 笔画橡皮、五色三档粗细、撤销重做、隐藏笔迹、方格 / 点阵 / 横线 / 纯白底纹；快捷键 `W` 开关手写、`P / H / E / D` 切换工具。手掌拒识与阅读页一致；提交评分时把演算裁切成一张快照随复习记录保存。
- 只有已核对、题干与答案完整且没有缺口的题目才能进入复习。「更多」菜单可 `批量核对当前筛选` 或 `批量核对已选题目`。
- 题目可同步为库内笔记 `Annotations/QuestionBank/<题目 ID>.md`。题干、答案、解析、错因四个区段支持在 Obsidian 里直接修改并回读，回读的字段自动锁定；选项、技巧、我的作答、分类、来源使用受保护补充区段。进入题库、刷新和开始复习时自动同步已有关联笔记，没有关联笔记的题目不会自动创建文件；冲突时提示人工合并。
- 导出：`Anki TSV`（稳定 GUID，自动写出 mastered / suspended / leech 标签）、`自测卷 Markdown`（题目在前、参考答案与解析在后）、`多维表`（含错因分类看板）。`导入旧版错题卡` 可把 1.0.5 生成的错题卡片笔记扫描进题库。
- 题库数据保存在批注中心数据目录下的 `question-bank.json`，每次写入前生成 `.bak`；复习评分只写题库文件，不重写批注索引，也不重写 Markdown 笔记。

#### 收藏并入批注中心

- 卡片收藏夹不再是独立视图。阅读时点击「收藏」的内容进入 `批注中心 → 我的收藏`（内置「收藏」集合）。已有批注直接使用原记录；没有批注的文字和截图也可直接收录，并保留收藏时的内容快照，原批注删除后仍可查看。
- 旧收藏在首次打开时自动迁移一次：保留原文、截图、回链与学习状态；「学习中」以标签和原状态记录保留，「已掌握 / 已归档」对应批注中心的已归档。旧收藏文件保留为备份，已被你删除的收藏不会在下次启动时重复导入。
- 左侧 Ribbon 的书签图标和阅读页内嵌卡片抽屉移除。命令 `Open card favorites` 改名为 `打开批注中心 · 收藏`；阅读页「更多」菜单提供 `批注中心 · 收藏`。旧的收藏夹工作区标签重新打开时会自动转到收藏集合。
- 设置「卡片收藏数据」改为「旧收藏迁移来源」，只用于读取旧备份；新收藏保存在批注中心数据目录。

#### 批注中心工作台重构

- 布局改为三栏：左侧 `范围导航`（阅读工作台：全部批注 / 最近 7 天 / 我的收藏 / 已整理题目 / 收集箱 / 已归档 / 题库，以及精读集合），中间批注列表，右侧详情抽屉默认收起，点击批注时滑出。窄屏时导航和抽屉改为浮层，进入题库时外层导航自动让位。
- 视图新增 `瀑布流` 和 `表格`，与原有 `按文档` 并列。表格可选择显示的列（类型、摘录、来源、位置、标签、状态、连接、更新时间、创建时间），行首固定「跳转原文」。按文档视图新增 `全部折叠 / 全部展开`。
- 筛选改为弹窗：来源文档、内容形态（文本 / 图片区域 / 手写批注 / 独立手写页）、标签；「更多筛选与排序」里保留来源类型、状态、知识连接、AI 状态、OCR 状态、更新时间和排序。生效的条件以胶囊显示在搜索框下方，可逐个移除或一键清空。
- 详情抽屉整合原文预览、我的思考（自动保存，失败时保留草稿）、AI 助读（解释 / 总结 / 联系一键提问，可继续追问，回答沉淀在批注上）、识别文字、知识连接（关联笔记与已整理的笔记块）、标签、集合、收藏和「整理到笔记」。
- 新增 `整理到笔记`：单条或多选批注可写入指定笔记的指定二级标题下（或追加到末尾），每条使用稳定块 ID `anno-<hash>`，重复整理到同一笔记不会重复插入；写入内容保留原文回链、我的思考和预览图，写入位置记录在批注上。
- 新增多选模式与底部批量操作条：整理到笔记、加入集合、复制 Markdown、归档 / 放回收集箱、导出多维表、批量生成卡片、整理所选为错题、AI 批量汇总、制作思维导图。
- AI 派生批注默认折叠到源批注下，源批注卡片显示「N 条 AI 回答」，搜索会命中被折叠的回答。筛选弹窗新增 `显示 AI 生成的批注`，开启后可单独管理这些记录的收藏、标签和归档。没有有效父记录的 AI 记录仍独立显示。
- PDF 区域预览改为整页位图合成后裁切，框内笔迹和文字标记一并可见；新增设置 `PDF 预览裁切`（按文字行 / 只要圈到的行 / 整段），OCR 和发给 AI 的图片随之更精确，扫描件自动退回整段。
- 键盘：`J / K` 或方向键移动，`Enter` 打开详情，`Space` 打开或关闭详情，`X` 勾选，`A` 归档并继续，`O` 打开原文，`Esc` 关闭详情。
- 索引重建、反向链接扫描和手写分组改为分批执行，并在书写期间推迟，长时间书写时不再卡顿。

#### 阅读页工具栏与摘录胶囊

- 主工具栏精简为画笔、记号笔、橡皮擦、框选 / 圈画、选择文本、添加、颜色和更多；激光笔、伴随脑图、批注中心 · 收藏、撤销、重做、浏览模式移入「更多」面板。
- 再次点按当前画笔或记号笔打开粗细与透明度，再次点按橡皮擦打开擦除设置，不再需要双击。浏览模式改为从「更多」进入；开启「手指书写」后主工具栏会显示手形 `浏览模式` 按钮，方便手指在书写和翻页之间切换。
- 添加面板直接列出书写便利贴、添加文本、单向箭头、矩形框、圆形、线条、双向箭头，不再有二级「添加形状」。
- 摘录胶囊菜单文案精简：`提取文字`、`删除`、`卡片与导出`、`导出卡片`、`入脑图`、`收藏`、`存图`、`引用`、`标签`、`复制回链`，并新增 `添加错题`。
- AI 解释面板可按住标题栏拖动，右下角可拖动调整大小（双击恢复默认）；面板位置固定在屏幕上，页面滚动或缩放不再让它漂移。回答生成后显示追问按钮（可在设置中自定义）。桌面端快捷键：`Esc` 收起、`Ctrl/Cmd+Shift+C` 复制回答、`Ctrl/Cmd+I` 插入到当前笔记。
- 圈画 OCR 结果直接显示在胶囊下方：字数统计、`问 AI`、`保存文本`、`文本流核对` 编辑区和 `规整断行`；修正后的文字随摘录保存。只有在胶囊已不可见时才回退到弹窗。
- 触屏文本选择统一为长按判定：长按开始选词，滑动仍是翻页，PDF 与 Markdown 行为一致。触屏上不再保留系统原生选区，避免 iOS / Android 的系统复制菜单盖住胶囊。框选 / 圈画模式下轻点已有摘录可直接打开，不必先退出模式。
- PDF 和独立笔记中的文本对象支持 Markdown 渲染：链接、双链、加粗、列表、引用、公式、表格等；单击链接直接打开，双击进入编辑。

#### 书写性能优化

- 输入采样合并到显示帧绘制，预测点按真实时间过期丢弃，不透明钢笔只清理尾段区域；整笔轮廓缓存为 Path2D，抬笔局部修正通过空间索引只查候选笔迹。
- 密集重叠笔迹使用位图分块缓存，追加一笔时不再重画整块历史；缩放但实际分辨率不变时不重建画布。
- 自动保存改为分批 JSON 编码并可取消：落笔即让出，新修改产生时取消旧编码；保存准备、独立笔记分页和大 PDF 保存前的资源清理都分批让出主线程；PDF 落笔取消只触及活动页面而不是全部页面。
- 摘录框选使用空间索引，只复制命中的点；分页同步增加版本检查，未变化时直接返回。
- 以上改动不修改笔迹文件格式，也不改变笔刷滤波、压感、插值和收尖参数。

#### AI 问答可靠性与模型预设

- 请求超时：流式回答 180 秒没有任何数据即断开并提示，缓冲式请求最长等待 300 秒，首次连接的预检 8 秒；不再无限停留在「正在思考」。
- 桌面端新增 Node 流式传输回退：对不返回跨域头的 OpenAI 兼容中继也能流式输出；该路径不走系统代理和系统证书，仅在常规流式失败时使用。
- 图片发送前自动压缩（桌面长边 1280、移动端 1024，已足够小的图片不重编码）；RAG 召回内容限制在 6000 字符、单条 1400 字符，避免浏览器代理截断提问。
- 模型预设新增 `结构化输出`（仅题目抽取与讲解使用）、`温度`（留空为 0.2）和 `最大输出长度`；Endpoint 漏写协议头时自动补全。
- 提示词设置：`系统提示词` 改名为 `全局回答风格`；新增 `追问`（回答生成后显示的追问按钮列表）；新增 `题库讲解方向`（通用 / 行测 / 申论 / 考研数学 / 考研英语 / 四六级 / 自定义）和自定义讲解角色。
- 题目抽取任务在 AI 侧栏中材料固定：多张图片时提示选择支持多图的模型，图片不可用时不发送不完整任务，重新生成不会重复写入题库。

#### 设置页与原文批注侧栏

- 设置页拆为 `标注阅读`、`笔刷手写`、`AI 与 OCR`、`存储数据`、`授权` 五个标签页，顶部检索框可跨标签页过滤设置项；授权改为凭证卡片，检查更新入口移到卡片上。
- 原文批注侧栏新增导出 Markdown、按正文位置 / 创建时间排序、折叠全部批注，删除后可撤销；原文变化后按上下文和标题路径重新定位批注。

#### 数据格式与迁移

- 新增 `question-bank.json`（题库）与 `Annotations/QuestionBank/` 笔记投影目录；后者只在你同步笔记时创建。
- 批注中心元数据新增收藏快照、集合归属、笔记块记录和题目反向索引字段；旧数据无需手动迁移。
- 旧收藏迁移一次并记录已迁移 ID；旧收藏文件保留不删。
- 题库复习参数从本机存储迁移到插件设置，跨设备同步。

### 授权与隐私说明

- 插件启动和日常使用仍只在本机校验许可证，不自动联网。
- 只有用户主动执行激活、恢复、续期、同步授权、管理设备、检查更新或下载更新时才访问授权服务。
- 题目抽取、AI 补全讲解、批注 AI 助读、OCR 都需要用户主动点击，才会把对应的文字或图片发送给你自己配置的 AI / OCR 服务商；发送前材料会显示在 AI 侧栏供确认。
- 复习评分、作答记录、思考耗时和手写演算快照只保存在本地题库文件中，不上传。
- 整理到笔记、导出 Anki / 自测卷 / 多维表均在本地生成文件，不经过任何服务端。

### 升级方式

1. 升级前备份 Obsidian 库和当前插件目录，尤其是 `annotation-center` 和 `card-favorites` 数据目录。
2. 已安装支持应用内更新的版本：进入 `设置 -> Mobile Ink Annotation Pro -> 授权`，点击凭证卡片上的 `检查更新`。
3. 旧版本没有该入口：下载正式发布包，覆盖插件目录中的 `main.js`、`manifest.json`、`styles.css` 及发布包要求的资源文件。
4. 完全退出并重新打开 Obsidian。
5. 打开插件设置确认版本号、授权状态与发布序号；打开一次批注中心，确认「我的收藏」中已出现旧收藏。

### 兼容性与注意事项

- 插件 ID 仍为 `mobile-ink-annotation-pro`，不会自动迁移或重命名已有数据目录。
- 最低 Obsidian 版本仍为 1.5.0。
- 不要同时启用 Mobile Ink Annotation Basic 与 Pro。
- 阅读页工具栏中不再有独立的激光笔、伴随脑图和卡片收藏夹按钮，请从「更多」面板进入；双击画笔打开设置的操作改为再次单击。
- 回退到 `1.0.6` 时，题库、收藏集合和整理到笔记的记录不可见但不会丢失；`1.0.6` 会继续读取旧收藏备份文件，但升级后新增的收藏不会出现在旧版收藏夹中。回退前请备份 `annotation-center` 目录。
- 题库复习依赖题目已核对；由 AI 抽取的题目默认为「待复核」，需要在详情中核对后才会进入复习队列。
- Node 流式回退只在桌面端可用，且不经过系统代理；需要代理的环境请使用原有传输方式。
- 应用内更新需要有效 Ink Pro 授权、可访问授权服务，并且许可证更新权益覆盖目标发布序号。
- 自动安装完成后必须完全重启 Obsidian；仅关闭标注页不会加载新代码。

### 验证范围

- 构建、TypeScript 检查与 Pro 发布结构校验。
- 题库：抽取解析与降级、字段锁、多来源合并与幂等、合集、反向索引自愈、旧错题卡导入（`verify:question-bank`）。
- 复习：FSRS 队列、评分记录、撤销、断点恢复、番茄钟跨题、会话冲突、草稿纸手写与手掌拒识、移动端阅读页入口（`verify:question-review`）。
- 收藏迁移与收藏集合、整理到笔记的幂等写入与块 ID（`verify:collections`、`verify:annotation-note-writer`）。
- AI 派生批注折叠、孤儿恢复、搜索命中、导出无副作用（`verify:ai-record-projection`）；表格视图定位（`verify:annotation-table`）。
- AI：请求超时、Node 流式传输、Endpoint 规范化、预设保存、提示词与追问列表、图片上下文、会话连续性（`verify:ai-timeout`、`verify:ai-node-stream`、`verify:ai-endpoint`、`verify:ai-provider-save`、`verify:ai-prompts`）。
- 书写：输入顺序、渲染合并与预测时效、位图分块缓存、分辨率复用、后台整理、分批 JSON 编码、保存准备、索引分批、PDF 落笔取消（`verify:ink-input`、`verify:ink-render`、`verify:ink-tiles`、`verify:ink-resolution`、`verify:ink-background`、`verify:ink-json`、`verify:ink-save-preparation`、`verify:ink-index`、`verify:pdf-input-cancellation`）。
- 阅读页：触屏文本选择手势、摘录体验、PDF 预览裁切与图层、文本对象 Markdown 渲染（`verify:text-selection`、`verify:excerpt`、`verify:preview-crop`、`verify:text-markdown`）。
- 授权协议、更新清单签名、下载授权、安装备份与回滚路径校验。
- 书写性能与题库草稿纸在桌面与 375px 窄屏浏览器环境中核对；真机手写延迟与移动端内存占用仍以设备实测为准。

## 1.0.6 / releaseSequence=7

发布日期：2026-09-04<br>
比较范围：已上线版本 `1.0.5 / releaseSequence=6` → 本次版本 `1.0.6 / releaseSequence=7`<br>
最低 Obsidian 版本：1.5.0

### 更新摘要

本次更新改进在线更新提示与移动端更新体验。客户端弹窗只展示版本、发布日期、最低兼容版本和最多四个精简要点，并提供独立的完整更新日志入口；更新检查、下载和安装失败时会显示更明确的原因。发布流程同时把客户端摘要与完整日志分离，避免旧客户端因服务端返回冗长日志而拒绝更新信息。

### 更新内容

#### 更新弹窗重构

- 更新弹窗改为卡片式布局，集中展示发布版本、发布序号、发布日期和最低 Obsidian 版本。
- 精简摘要使用 Markdown 渲染，最多展示四个要点；完整历史日志不再塞入弹窗。
- 新增“查看完整更新日志”入口，用户可以在官网查看完整版本记录。
- 优化窄屏和移动端布局，按钮、状态卡片和更新要点在触控设备上更易阅读和操作。

#### 更新兼容与错误提示

- 客户端允许安全接收服务端精简后的更新说明，并继续对发布序号、正式签名清单、插件 ID、版本、文件大小和 SHA-256 做完整校验。
- 更新检查失败会根据授权、网络、服务端响应或兼容版本给出更明确提示。
- 下载、验签或安装失败时不会覆盖当前可用版本，并保留回滚备份供恢复。

#### 发布摘要规范

- 客户端弹窗摘要限制为 900 个字符、最多 4 个要点；完整更新日志继续保留在官网独立页面。
- 后续正式发布使用独立摘要文件，避免把整份更新日志写入更新查询接口。
- `1.0.4` 客户端可直接发现并升级到本次发布序号 7，无需先安装序号 6。

## 1.0.5 / releaseSequence=6

发布日期：2026-09-04<br>
比较范围：已上线版本 `1.0.4 / releaseSequence=5` → 本次版本 `1.0.5 / releaseSequence=6`<br>
最低 Obsidian 版本：1.5.0

### 更新摘要

本次更新把批注中心从「批注列表」升级为「文档工作台」：批注可按来源文档分组浏览，单条批注上可以直接完成转文字、AI 追问、生成学习卡片，并导出为多维表文件。智能问答补充了命令面板入口、上下文管理和浏览器代理下的会话一致性。iPad 阅读与书写链路同步完成稳定性优化，包括双指缩放画面偏移、放大后高清区域加载速度和笔画绘制时的画面跳动；还修复了书写模式下打开批注的繁琐切换，以及移动端拖动时误触 Obsidian 侧栏的问题。业务数据格式向后兼容，可从 `1.0.4` 直接升级；批注中心工作流索引会在首次打开时自动迁移到版本 2。

### 更新内容

#### 批注中心改为文档工作台

- 新增 `按文档` / `按时间` 两种浏览方式。按文档时，批注按来源文档分组，可整组展开、收起和勾选。
- 文档分组支持打开文档、`只看本文档`（把整个批注中心锁定到该文档范围）、批量归档或放回 Inbox、导出本文档批注。
- 新增 `AI 状态` 与 `OCR 状态` 筛选：`全部 / 已解答 / 未解答`、`全部 / 已识别 / 待识别`。
- 批注卡片新增属性条，可直接查看和修改状态、集合、标签、关联笔记，并显示是否已有学习卡片。
- 新增标签编辑：可搜索已有标签，也可直接输入回车新建标签。
- 列表改为局部更新。修改单条批注时只重绘对应卡片，不再重排整个列表；长列表新增 `加载更多`。
- 关联的卡片或笔记被重命名时引用自动跟随；被删除时标记为缺失，不再静默指向不存在的文件。
- 手写批注在滚动到可视范围后才生成预览图，未定位的批注会明确显示 `未定位页`。
- 继续保留 `J/K` 移动、`Enter` 展开、`A` 标记已处理并继续。

#### 批注上的 OCR 与 AI 沉淀

- 手写和图片批注新增 `转文字`。OCR 文本、识别状态、识别时间和错误信息缓存在该条批注上，可编辑、保存、复制、重新识别或单独删除。
- 新增 AI 摘要与 AI 回答沉淀。可对单条批注 `追问 AI`，回答保存在批注上，可展开查看、复制或删除。
- 新增 `生成学习卡片` 和 `生成错题卡片`，把批注原文、OCR 文本和 AI 回答输出为结构化卡片笔记；已生成的卡片可从批注直接打开。
- 新增批注批量 AI 汇总，一次最多 20 条批注，输出包含主题、核心概念、容易混淆点、行动建议和自测问题的 Markdown 学习综述。
- 删除 AI 摘要、单条 AI 回答或 OCR 结果时只清除对应内容，原始手写、截图和文本批注不受影响。

#### 导出为多维表（`.duowei`）

- 批注中心新增 `导出所选为多维表`、`导出本文档为多维表` 和 `导出当前列表为多维表`。
- 导出结果是独立的 `.duowei` 文件，可由多维表格插件直接打开。两个插件保持各自独立安装，本插件不引用多维表格插件的内部模块，属于文件格式级集成。
- 导出内容包含摘录、附近原文、批注说明、我的理解、OCR 文字、AI 摘要、AI 问答、来源文件、批注定位、来源类型、页码、位置、集合、标签、状态、创建/更新时间、相关笔记和学习卡片等字段，并预置 `表格`、`批注画廊` 和 `按状态` 三个视图。

#### 智能问答增强

- 命令面板新增四条命令：`打开智能问答侧栏`、`对选中文本发起智能问答`、`停止智能问答生成`、`导出当前智能问答会话为笔记`。
- 上下文改为可视条。同一会话可累积多个上下文，每个上下文可单独打开或移除；默认只发送最新图片，出现两张以上图片时可开启 `多图` 进行比较，只支持单图的模型预设会显示 `单图` 并禁用多图开关。
- AI 配置改为 `模型预设`。一个预设是一组 `Endpoint + 模型 + API Key`，文本问答与图片问答各自选用一个预设，也可以在问答面板顶部的模型标签上随时切换。原先分开的 `智能问答 Endpoint / 模型 / API Key` 和 `智能问图 Endpoint / 模型 / API Key` 不再单独显示，升级时旧配置自动转成预设：两套设置指向同一服务时合并为 `默认模型`，指向不同服务时拆成 `文本问答` 和 `图片问答`，无需重新填写。
- 预设新增 `支持图片输入`、`会话由服务端保存`、`重置会话路径` 和 `内容格式` 开关，可分别适配视觉模型、浏览器代理类服务，以及把 `content` 声明成字符串、拒绝多模态数组的服务。
- 预设新增 `测试生成`：实际调用一次模型并直接显示返回结果，视觉预设会附带一张 32×32 测试图片。
- 新增 `导入本地服务`，一次性加入本地 Gemini、Qwen、DeepSeek、Kimi、MiMo 和 Ollama 六个本机代理预设。
- 新增 `系统提示词`、`一键提问`（最多 8 条，格式为 `标签|提示词`）和 `发送快捷键`（自动 / Enter / Ctrl-Cmd + Enter）三项设置。
- 切换到由服务端保存会话的浏览器代理时，插件会在需要时先重置服务端会话再回放本地历史。新建、清空、编辑、删除、停止生成和重新生成都会让远端状态在下一次请求前重新同步。
- 检测到网页桥接返回上一轮回答时会阻止写入，并提示下一次重试会重建并恢复当前本地会话。
- 把回答写回笔记时可以指定插入目标：当前笔记、选中文本或截图区域；目标笔记已关闭或不可编辑时给出明确提示，不再静默失败。
- 重新激活标注页时恢复原滚动位置，并避免打开文件时重复应用同一份视图状态。

#### iPad 缩放、高清渲染与书写稳定性

- 修复 iPad 双指缩放时内容逐渐偏离手指中心的问题。缩放开始时会记住手指中心对应的页面逻辑位置，缩放过程始终以该位置为锚点。
- 针对 iPadOS WebKit 在缩放后延迟重算自动居中边距的行为，增加当帧与后续帧的二次滚动锚点校正，减少缩放结束后画面突然横向或纵向跳移。
- 缩放结束后不再等待完整的交互冷却时间，会更快启动当前可见区域的高清 PDF 渲染。
- 高清分块改为按页面网格稳定分块，并使用较粗的缩放档位、高清分块复用和可见区域保护，避免轻微缩放或滚动就重复渲染、缓存抖动或暂时退回低清底图。
- 移动端高清分块支持并行处理可见任务，优先渲染视口中心附近内容，放大 PDF 后文字和图像恢复清晰的等待时间更短。
- 笔画绘制期间统一使用交互渲染倍率，抬笔并短暂空闲后再切回高清倍率；缩放手势进行中也不再反复更改笔迹画布倍率，降低连续书写、抬笔和缩放切换时的画面跳动与卡顿。

#### PDF 目录跳转修复

- 目录目标解析与 pdf.js 链接服务保持一致：任意对象引用都会先查询缓存页号，未命中后再调用 `getPageIndex`，不再要求引用必须暴露固定的 `{ num, gen }` 形状。
- 修复部分 WPS 导出或合并 PDF 将书签写成 `/Dest [null /XYZ …]` 后，左侧目录点击没有任何反馈的问题。插件会识别“目录标题完整、目标引用为空、可视目录页仍保留 Link 行”的损坏结构，并将目录项与目录行按顺序配对。
- 用户主动点击这类损坏目录项时，插件使用已配置的 OCR 只识别目录行最右侧的印刷页码，并把结果缓存在当前视图中，再跳到对应正文页；标准目录不会进入 OCR 回退。

#### 书写时直接打开批注

- 不再需要「退出画笔模式 → 点击批注 → 切回画笔」。手写笔继续书写，手指轻点高亮、下划线、批注标记或遮盖块即可打开批注菜单，点击页面空白处收起。
- 判定规则：只有「按下后基本不移动、并在 0.7 秒内抬起」才算轻点，手指滑动仍然是翻页；手写笔和鼠标左键始终是书写，不会触发打开。刚落笔写完的短时间内，手指点击会被既有的手掌拒识挡下。
- 细长的下划线和小圆点批注标记会按手指尺寸放大命中区域，重叠批注取面积最小的一条。
- 批注弹窗、文本菜单、框选菜单和搜索框在书写状态下不再被笔迹输入吞掉，可以直接操作里面的按钮。
- 开启「手指书写」时手指本身就是笔，此路径自动关闭，仍按原方式切到浏览或选择状态操作。

#### 移动端拖动手势修复

- 修复 iPad / 手机上左右拖动时误触 Obsidian 侧边栏滑出的问题。拖动对象、便利贴、回链引用框四角、批注弹窗、文本搜索框、悬浮工具栏、脑图节点与批注卡片，以及可拖动的弹窗，都不再被识别成打开左右侧栏的滑动手势。
- 实现方式：拖动期间在窗口捕获阶段拦截 `touchmove`，只阻止事件继续传播，不改变默认行为，因此页面滚动、双指缩放和笔迹输入均不受影响。指针抬起、取消或视图关闭时立即恢复；即使拖动被中断，最后一根手指离开屏幕时也会自动恢复。

#### 数据格式与迁移

- 批注中心工作流索引升级到版本 2，首次打开批注中心时自动迁移，无需手动操作。
- 批注状态由四种精简为两种：原 `已摘录` 归入 `收件箱`，原 `已理解` 归入 `已归档`。卡片收藏夹的状态流转不变。
- 批注中心不再显示评分。旧数据中的评分字段保留在索引里，不会被删除。
- 笔迹和 PDF 文本批注新增创建时间与更新时间，用于批注中心按真实编辑时间排序。旧数据缺少该字段时按既有顺序显示，不做回填。

### 授权与隐私说明

- 插件启动和日常使用仍只在本机校验许可证，不自动联网。
- 只有用户主动执行激活、恢复、续期、同步授权、管理设备、检查更新或下载更新时才访问授权服务。
- 授权与更新请求不上传笔记、文件名、手写内容、截图、OCR 内容、AI 会话或使用数据。
- 批注上的转文字、追问 AI、生成卡片和批量汇总都需要用户主动点击，才会把对应文本或图片发送给你自己配置的 OCR / AI 服务商；批注中心不会在后台自动识别或提问。
- 导出为多维表在本地生成文件，不经过任何服务端。

### 升级方式

1. 升级前备份 Obsidian 库和当前插件目录。
2. 已安装支持应用内更新的版本：进入 `设置 -> Mobile Ink Annotation Pro -> 版本与更新`，点击 `检查更新`。
3. 旧版本没有该入口：下载正式发布包，覆盖插件目录中的 `main.js`、`manifest.json`、`styles.css` 及发布包要求的资源文件。
4. 完全退出并重新打开 Obsidian。
5. 打开插件设置确认版本号、授权状态与发布序号，再打开一次批注中心确认工作流索引已迁移。

### 兼容性与注意事项

- 插件 ID 仍为 `mobile-ink-annotation-pro`，不会自动迁移或重命名已有数据目录。
- 最低 Obsidian 版本仍为 1.5.0。
- 不要同时启用 Mobile Ink Annotation Basic 与 Pro。
- 工作流索引迁移到版本 2 后，旧版本插件读取该索引时会把状态视为未知并回落到 `收件箱`。如需回退到 `1.0.4`，请先备份 `annotation-center` 目录。
- 导出的 `.duowei` 文件需要已安装多维表格插件才能打开；本插件不负责该文件后续的编辑与同步。
- 应用内更新需要有效 Ink Pro 授权、可访问授权服务，并且许可证更新权益覆盖目标发布序号。
- 自动安装完成后必须完全重启 Obsidian；仅关闭标注页不会加载新代码。

### 验证范围

- 构建与 Pro 发布结构校验。
- 授权协议、远端状态持久化、证书同步和发布目录响应校验。
- 更新清单签名、文件哈希、下载授权、安装备份与回滚路径校验。
- 批注中心工作流索引由版本 1 迁移到版本 2 的状态归并与幂等复跑。
- 批注 OCR 缓存、AI 摘要与 AI 回答的写入、编辑和单项删除路径。
- `.duowei` 导出文件的字段、记录和视图结构校验。
- 智能问答的图片上下文、会话连续性、笔记插入目标和流式输出回归测试。
- iPad 双指缩放的中心锚定、WebKit 延迟布局校正、缩放后高清分块加载与缓存复用。
- iPad 连续落笔/抬笔和缩放交替时的笔迹画布倍率、画面位置与清晰度切换。
- 书写模式下手指轻点打开高亮、下划线、批注标记和遮盖块，同时不影响笔迹输入、翻页和手掌拒识。
- iPad / 手机上的对象、引用框、浮动控件、弹窗和脑图拖动手势，以及异常中断后的拦截自动释放。
