> ## Documentation Index
> Fetch the complete documentation index at: https://ophel.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 更新日志

> Ophel Atlas 的所有重要更改均记录于此。

<Update label="v1.1.8">
  ### 🚀 新增功能

  * **提示词平台筛选** — 提示词现在支持在编辑弹窗中设置适用平台（如 ChatGPT、Gemini、Claude）；分类栏新增地球图标按钮，点击可弹出多选筛选面板并显示角标计数，方便用户按平台快速筛选提示词。([#802](https://github.com/urzeye/ophel/issues/802))

  ### ✨ 功能优化

  * **提示词队列悬浮条层级** — 将队列胶囊和面板的 z-index 从 99998/99999 下调至 9998/9999，避免悬浮条遮挡主面板、提示词预览和导入/预览弹窗。

  ### 🐛 问题修复

  * **提示词变量多行输入** — 修复向提示词变量粘贴多行 Markdown 内容时，因输入框为单行导致换行被压成一行的问题；变量文本框现在改为自适应高度，短内容保持紧凑，长内容自动增高以保留换行与格式。([#801](https://github.com/urzeye/ophel/issues/801))

  - **ChatGPT 智能避让输入框宽度** — 修复 ChatGPT 改版后，智能避让功能导致输入框过窄的问题。
  - **豆包禅模式侧边栏** — 修复开启禅模式后豆包侧边栏仍留有占位空间的问题，原因为旧 DOM 选择器未能匹配更新后的侧边栏结构；新增对应容器选择器，确保侧边栏完全自动收缩。([#806](https://github.com/urzeye/ophel/issues/806))
</Update>

<Update label="v1.1.7">
  ### ✨ 功能优化

  * **阅读历史恢复控制** — 自动恢复阅读位置时，现在滚动正文或选择大纲条目会立即停止恢复，让用户导航始终优先，并保存用户选择的新位置。([#797](https://github.com/urzeye/ophel/issues/797))

  ### 🐛 问题修复

  * **Claude 回复后的大纲刷新** — 修复已完成索引的 Claude 长对话在发送新问题后会重新全量扫描并滚动整段会话的问题；新回复现在只会增量更新已有大纲缓存。([#785](https://github.com/urzeye/ophel/issues/785))
  * **Claude 大纲当前位置高亮** — 修复当前可见问题与前文问题使用相同开头时，大纲可能高亮到前一个问题的问题；当前位置跟随现在会准确对应当前问题。
</Update>

<Update label="v1.1.6">
  ### ✨ 功能优化

  * **Claude 页面结构适配** — 适配 Claude 更新后的对话页面 DOM 结构，确保大纲能够读取全部消息，并完整导出会话内容。([#781](https://github.com/urzeye/ophel/issues/781))

  ### 🐛 问题修复

  * **Claude Canvas 文档导出** — 修复 Markdown 和剪贴板导出可能遗漏 Claude Canvas 文档正文的问题；现在会收集会话中的 Canvas 文档（包括虚拟列表中的文档），并在导出后恢复原先打开的 Canvas。
  * **Claude Canvas 智能避让** — 修复打开 Claude Canvas 文档后，智能避让可能无法继续为 Ophel 面板预留空间，导致文档内容被遮挡的问题。
  * **全局快捷键打开网址** — 修复自定义全局快捷键打开 URL 后，快捷键仍会打开 Gemini 默认地址的问题。([#778](https://github.com/urzeye/ophel/issues/778))
</Update>

<Update label="v1.1.5">
  ### 🚀 新增功能

  * **自动吸附触发方式** — 自动吸附模式现在可选择显示边缘把手或隐藏边缘热区，收起后界面更干净，同时仍可从屏幕边缘唤出面板。([#770](https://github.com/urzeye/ophel/issues/770))
  * **提示词排序快捷操作** — 提示词菜单现在新增“上移”和“下移”，不方便拖拽时也能整理提示词顺序。([#774](https://github.com/urzeye/ophel/issues/774))

  ### 🐛 问题修复

  * **豆包用户问题抽取** — 修复豆包新版聊天气泡结构下，新对话的用户问题可能无法被大纲、Markdown 渲染、导出等功能正确识别的问题，同时保留旧对话结构兼容。([#771](https://github.com/urzeye/ophel/issues/771))
</Update>

<Update label="v1.1.4">
  ### 🚀 新增功能

  * **面板 Tab 排序** — 现在可以直接在面板中拖拽调整大纲、会话和提示词 Tab 的顺序，设置页会同步显示同一顺序，不必先打开选项页。([#764](https://github.com/urzeye/ophel/issues/764))
  * **面板宽度控制** — 悬浮面板现在支持拖拽边缘调整宽度，并可开启 Beta 版悬停临时加宽；相关设置收在“面板宽度”下，可通过全局搜索定位，临时加宽时也不会触发页面避让跳动。([#763](https://github.com/urzeye/ophel/issues/763))

  ### ✨ 功能优化

  * **智能避让布局** — 智能避让现在覆盖更多新对话、Canvas、侧边面板和文件查看场景，Ophel 悬浮面板打开时会让页面内容、输入框和站点原生面板更稳定地进入可见安全区。([#761](https://github.com/urzeye/ophel/issues/761))

  ### 🐛 问题修复

  * **Kimi 会话同步** — 修复 Kimi 更新侧边栏布局后，新建或近期对话可能无法同步到会话面板的问题。([#759](https://github.com/urzeye/ophel/issues/759))
</Update>

<Update label="v1.1.3">
  ### 🚀 新增功能

  * **智能避让布局** — 新增 Beta 版智能避让，Ophel 面板处于悬浮模式时，站点会重新计算聊天安全区，在页面加宽或浏览器窗口较窄时减少消息、代码块和输入框被面板遮挡的情况。 ([#744](https://github.com/urzeye/ophel/issues/744), [#752](https://github.com/urzeye/ophel/issues/752))

  - **意大利语支持** — Ophel Atlas 现在支持意大利语界面、扩展元数据和油猴脚本资源，意大利语用户可直接使用本地化后的面板与设置。

  ### ✨ 功能优化

  * **主面板工具栏与快捷按钮** — 统一大纲、提示词和会话面板的工具栏与搜索框样式，并调整快捷按钮反馈，让高频控制区在不同主题下更清楚。
  * **面板头部与标签栏** — 调整了面板头部、拖拽提示和标签栏样式，减少视觉噪音，让控制区和整体界面语言更一致。([#749](https://github.com/urzeye/ophel/issues/749))
  * **设置页与主题管理界面** — 重新整理了设置侧边栏、主题预置卡片、自定义样式列表和样式编辑器，让导航层级更清楚，主题选择也更容易扫读。([#749](https://github.com/urzeye/ophel/issues/749))
  * **提示词预览分类标签** — 提示词预览现在会用与分类一致的彩色标签展示分类，并调整预览标题区和内容区布局，让信息层级更清楚。

  ### 🐛 问题修复

  * **Claude 油猴脚本导出** — 修复在油猴脚本中导出包含思考块的 Claude 对话时，导出前页面准备可能失败的问题。
  * **自定义标签页标题格式** — 修复千问和 Z.ai 切换会话后可能复用已重命名的浏览器标签页标题的问题，避免使用包含 `{model}` 的自定义格式时出现标题或模型片段重复。
  * **Kimi 禅模式** — 修复 Kimi 更新页面布局后，禅模式无法隐藏侧边栏的问题。
</Update>

<Update label="v1.1.2">
  ### 🚀 新增功能

  * **Gemini Canvas 文档导出** — Gemini Canvas 导出现在支持普通文档 Canvas 面板，会把文章类 Canvas 正文写入对话导出和 Canvas Markdown 复制/下载结果。([#736](https://github.com/urzeye/ophel/issues/736))

  ### ✨ 功能优化

  * **长对话导出加载** — Gemini 和 Qwen Studio 导出现在会先加载更早的懒加载历史再收集消息，减少长对话导出遗漏内容的情况。([#739](https://github.com/urzeye/ophel/issues/739))

  ### 🐛 问题修复

  * **AI Studio 油猴脚本模型锁定** — 修复了选项页的 AI Studio 模型锁定功能在油猴脚本中无法获取模型列表的问题。原因是油猴脚本没有后台代理，现在改为在油猴模式下直接调用适配器获取模型列表。([#733](https://github.com/urzeye/ophel/issues/733))
</Update>

<Update label="v1.1.1">
  ### ✨ 功能优化

  * **长对话大纲性能** — 大型大纲现在只渲染可见行，跳过折叠或过滤隐藏的节点，并合并自动刷新、滚动和尺寸更新；同时减少位置测量并缓存 ChatGPT/Claude/Gemini 字数统计，降低长对话卡顿。([#677](https://github.com/urzeye/ophel/issues/677), [#682](https://github.com/urzeye/ophel/issues/682), [#683](https://github.com/urzeye/ophel/issues/683), [#691](https://github.com/urzeye/ophel/issues/691), [#695](https://github.com/urzeye/ophel/issues/695), [#696](https://github.com/urzeye/ophel/issues/696), [#698](https://github.com/urzeye/ophel/issues/698), [#699](https://github.com/urzeye/ophel/issues/699))
  * **全局搜索大纲更新** — 全局搜索打开时刷新一次大纲并跟随大纲管理器更新，不再每 1200ms 轮询，减少搜索面板打开时的后台工作。([#692](https://github.com/urzeye/ophel/issues/692))
  * **会话侧边栏同步** — 会话同步现在会把新增、更新、删除和目标文件夹变化批量写入一次 store，减少历史同步时的存储写入。([#697](https://github.com/urzeye/ophel/issues/697))
  * **后台页面工作量** — 页内收藏图标现在会避开无关 DOM 变化触发的完整大纲扫描，选中的提示词复用统一 URL 变化监听；标签页标题检查只在页面后台空闲时降频，同时保留生成完成通知入口。
  * **千问长会话 DOM 适配** — 适配千问对话页新版长会话懒加载结构，导出会话和复制大纲现在会先补齐早期历史再收集消息。

  ### 🐛 问题修复

  * **提示词发送快捷键** — 修复在 Claude、DeepSeek 等站点输入框中使用 Ophel 配置的发送快捷键时可能出现明显延迟的问题；双击发送提示词现在也会遵守 Ctrl+Enter 发送模式，不再把提示词留在输入框或插入换行。([#701](https://github.com/urzeye/ophel/issues/701), [#710](https://github.com/urzeye/ophel/issues/710))
  * **ChatGPT 置顶会话** — 修复 ChatGPT 新侧边栏布局下的会话同步问题；“已置顶”分区中的会话现在会被导入并跟踪标题变化，项目文件夹不会被误识别为会话。
  * **Codex task 页面大纲** — ChatGPT 上的 Codex Cloud task 分享页现在会在大纲中显示原始问题和回复标题，不再显示为空。([#709](https://github.com/urzeye/ophel/issues/709))
  * **Gemini 会话同步** — 修复 Gemini 首次安装或会话库为空时自动同步可能只加载部分历史、会话面板数量仍显示为空，以及手动同步滚到底后等待过久的问题。([#712](https://github.com/urzeye/ophel/issues/712))
  * **Gemini 分享对话继续按钮** — 修复净化模式可能隐藏 Gemini 分享页「Continue this chat」按钮的问题。([#703](https://github.com/urzeye/ophel/issues/703))
  * **豆包长对话导出** — 修复豆包虚拟滚动长对话可能只导出或复制当前挂载消息窗口的问题；导出和复制完整大纲现在会先扫描对话再收集消息。
  * **大纲滚动高亮稳定性** — 修复正文滚动时可能高亮用户问题、上一条回答或隐藏子标题，而不是当前可见标题的问题。([#704](https://github.com/urzeye/ophel/issues/704), [#708](https://github.com/urzeye/ophel/issues/708))
</Update>

<Update label="v1.1.0">
  ### 🚀 新增功能

  * **快捷引用链（Quick Quote Chains）** — 提示词链现在可直接从快捷引用操作触发，支持链图标选择器、拖拽排序和内嵌引用锚点，确保页面刷新后可靠恢复引用定位。([#623](https://github.com/urzeye/ophel/issues/623))
  * **Gemini Canvas Markdown 操作** — Gemini Canvas 工具栏现在新增 Ophel 复制 Markdown 和下载 Markdown 按钮，可将 Canvas 代码导出为带代码块的 Markdown，不必执行完整会话导出。([#663](https://github.com/urzeye/ophel/issues/663))
  * **分段对话导出** — 对话导出现在支持在可搜索选择器中选择消息范围，并将选中片段导出为 ZIP、合并 Markdown 或复制到剪贴板。([#665](https://github.com/urzeye/ophel/issues/665))
  * **更新说明弹窗** — Ophel 现在会在每个版本首次打开时展示更新说明，也可从关于页面重新查看；扩展版和油猴版都能看到本次更新内容。([#666](https://github.com/urzeye/ophel/issues/666))

  ### ✨ 功能优化

  * **快捷引用原生站点定位** — 快捷引用操作现在会检测支持站点的原生选中文本弹窗，并自动选择不重叠的位置；在会与原生编辑器冲突的页面上也会停用 Ophel 锚点。([#658](https://github.com/urzeye/ophel/issues/658), [#660](https://github.com/urzeye/ophel/issues/660), [#661](https://github.com/urzeye/ophel/issues/661))
  * **快捷引用默认操作** — “引用回复”现在作为默认提示词链提供，选中文本弹窗保留固定复制操作，并减少内置操作数量。([#664](https://github.com/urzeye/ophel/issues/664))
  * **提示词链启用与同步** — 从选中文本触发提示词链时，现在会在需要时提示启用提示词队列；提示词链面板也会提示启用快捷引用，油猴版备份和 WebDAV 同步会包含链数据。([#661](https://github.com/urzeye/ophel/issues/661), [#671](https://github.com/urzeye/ophel/issues/671))
  * **商店与工具栏图标** — 更新 Chrome 商店图标，弱化评价图标悬浮效果，并让大纲工具栏图标颜色与其他标签保持一致。([#662](https://github.com/urzeye/ophel/issues/662), [#668](https://github.com/urzeye/ophel/issues/668))

  ### 🐛 问题修复

  * **层级为 0 时的大纲复制** — 修复当未开启展示用户问题且大纲层级设为 0 时，复制大纲返回空内容的问题，虽然面板上显示了 AI 回复的标题。现在该场景下会复制所有层级（H1-H6）的标题，与面板显示一致。
  * **提示词队列键盘快捷键** — 提示词队列输入框现在遵守用户的发送快捷键设置（Enter 或 Ctrl+Enter），不再硬编码 Enter 行为。展开的队列面板使用捕获阶段事件处理，避免键盘事件被可编辑元素保护机制拦截，确保 Enter 和 Ctrl+Enter 快捷键在所有平台（包括 Mac）上正常工作。
  * **提示词队列文本对齐** — 队列项文本现在左对齐显示，而不是居中对齐，提升可读性。
  * **ChatGLM 生成状态检测** — 修复由历史消息中"本次回答已被终止"静态文本导致的生成状态误判。`isGenerating()` 方法现在排除 `.stop-answer-default` 选择器，该选择器匹配的是历史回复中的静态文本，而非当前生成状态。
  * **ChatGLM 停止按钮** — Alt+K 快捷键现在可以正确停止生成，通过定位到内层的 `.enter-icon-container` 元素而不是外层容器 div。
  * **千问 Slate 编辑器状态同步** — 修复从提示词队列插入内容后无法编辑删除的问题。编辑器现在通过 `全选 + 删除 + 插入文本` 并触发完整的事件链（`beforeinput`、`input`、`change`）来正确同步 Slate 的虚拟 DOM，确保 DOM 和 Slate 状态同步更新。
  * **启动器预览保留逻辑** — 鼠标从面板 Logo 移动到其他快捷按钮（如工具箱）时，面板悬浮预览现在会自动收起，不再遮挡工具箱菜单。([#653](https://github.com/urzeye/ophel/issues/653))
  * **快捷引用导出标记** — 修复不可见快捷引用锚点可能在对话导出和大纲复制中留下空大纲条目，或导致消息被过滤的问题。([#669](https://github.com/urzeye/ophel/issues/669))
  * **油猴版重置与恢复状态** — “清除全部数据”、备份恢复和更新说明状态现在都会使用统一的平台存储键，避免油猴版重置不完整或恢复状态残留。([#670](https://github.com/urzeye/ophel/issues/670))
</Update>

<Update label="v1.0.60">
  ### ✨ 功能优化

  * **油猴脚本包体积** — 将 Markdown 渲染代码、Markdown 样式、用户提问 Markdown 样式和站点图标拆分为外部油猴资源，减少 Greasy Fork 同步时需要处理的内联代码，同时保持原有渲染注入路径不变。
  * **禅模式退出按钮** — 禅模式设置新增“显示退出按钮”开关，可隐藏页面上的退出按钮，保留快捷按钮和快捷键退出入口，避免遮挡标题或对话内容。([#645](https://github.com/urzeye/ophel/issues/645))

  ### 🐛 问题修复

  * **AI Studio 移动端 Enter 键** — Android 等移动设备上的 AI Studio 现在会让软键盘 Enter 插入换行，不再误触发送；通过 Ophel 触发的发送仍会使用原生发送按钮或安全的键盘兜底。([#646](https://github.com/urzeye/ophel/issues/646))
  * **AI Studio 移动端历史同步** — AI Studio 会话同步现在可以识别移动端 Library 卡片布局，移动端有历史记录时不再误提示找不到侧边栏会话。
  * **会话同步加载** — 会话同步现在会使用各站点适配器自己的会话来源判断侧边栏历史是否加载完成，为慢速懒加载侧边栏等待更久，并在无法确认已完整加载时禁用同步删除；豆包和元宝也改为复用更安全的基类加载逻辑。([#639](https://github.com/urzeye/ophel/issues/639))
</Update>

<Update label="v1.0.59">
  ### 🚀 新增功能

  * **大纲复制** — 大纲工具栏现在可以复用导出流程，将当前选择层级的大纲复制为 Markdown 标题；虚拟滚动会话会先加载完整内容并在结束后恢复页面位置，再复制标题与用户提问。([#539](https://github.com/urzeye/ophel/issues/539))
  * **会话快速打开** — 会话条目现在可通过右键菜单在新标签页打开，方便复用旧会话而不替换当前聊天。([#578](https://github.com/urzeye/ophel/issues/578))

  ### 🐛 问题修复

  * **ChatGPT 原生 TOC 大纲** — 当 ChatGPT 原生 TOC 只有悬浮后才把真实提示词写入按钮时，大纲现在可以恢复完整的用户问题列表，并按 TOC 实例缓存已抽取文本；油猴版也不再因跨 Realm `PointerEvent` 构造失败而报错。([#642](https://github.com/urzeye/ophel/issues/642))
  * **ChatGPT 标签页状态** — 当侧边栏会话标题包含“Stop”或“停止”时，ChatGPT 空闲标签页不再误显示 `⏳`；生成状态检测现在只使用输入区内可见的停止按钮。([#630](https://github.com/urzeye/ophel/issues/630))
  * **Gemini 标签页重命名** — 开启自动重命名后，Gemini 在回复过程中不再反复闪回原生页面标题。
  * **Gemini 去水印** — 改用 SDK 实现替换旧版 Gemini/Nano Banana 去水印逻辑，并修复用户上传图误处理和生成图去水印回归问题。([#593](https://github.com/urzeye/ophel/issues/593), [#625](https://github.com/urzeye/ophel/issues/625))
  * **提示词导入** — 提示词库导入现在支持从备份页面导出的提示词备份文件，不再只接受裸提示词列表 JSON。
  * **用户问题渲染间距** — 用户问题渲染为 Markdown 后，现在会忽略站点原生纯文本换行样式，避免 DeepSeek、豆包、Z.ai、ChatGLM、通义千问等站点在段落和引用块之间出现过大的空白间距。
</Update>

<Update label="v1.0.58">
  ### 🐛 问题修复

  * **对话标题隔离** — 浏览器标签页重命名现在会把 Ophel 管理的状态、模型标签与原始对话标题隔离，避免页面取不到模型名时把标签页状态、模型名或反复追加的 `->` 分隔符带入导出的对话标题和文件名。
  * **豆包分享页导出与大纲** — 现在会把 `/thread/` 下的豆包分享链接识别为可导出的对话，分享页消息列表也可用于大纲提取，不再依赖普通对话页的虚拟列表结构。
  * **Z.ai 分享页大纲** — Z.ai 分享页现在会复用导出使用的对话内容容器识别逻辑，即使分享 DOM 没有常规的 `#chat-container` 包裹也能抽取大纲。
  * **ChatGLM 代码块导出** — ChatGLM 回复被代码块拆成多段时，现在会导出完整回答，不再停在第一个渲染出来的 Markdown 片段。
  * **未命名导出标题国际化** — 抓取不到标题时，导出的未命名标题现在会跟随当前界面语言，即使旧数据里保存过其他语言的兜底标题也不会继续沿用。
  * **Qianwen 用户问题 Markdown 对比度** — Qianwen 开启用户问题 Markdown 渲染后，现在会使用专门的可读气泡样式，不再继承原生问题卡片的低对比度颜色。
  * **Qianwen/Qwen Studio 大纲重复问题** — 用户问题被站点多层容器包裹时，现在大纲里只显示一次，同时保持导出内容不变。
  * **自定义标签页标题格式** — 模型名缺失和已管理标题污染现在会按用户配置的占位符结构解析，不再依赖某个分隔符清理，避免任意自定义格式下标题递归增长。
</Update>

<Update label="v1.0.57">
  ### 🐛 问题修复

  * **Claude 主题模式同步** — Claude 主题切换现在会把 Claude 专属 DOM 提示限制在 Claude 适配器内，并避免额外写入页面级 `light`、`data-theme`、`color-scheme` 标记，减少与 Claude 原生主题状态不一致导致的显示问题。
  * **ChatGPT 原生 TOC 收藏稳定性** — ChatGPT 原生 TOC 的用户提问收藏现在会在虚拟滚动状态变化时保持一致身份，减少同一提示词被识别成幽灵收藏或重复收藏的问题。
</Update>

<Update label="v1.0.56">
  ### 🚀 新增功能

  * **AI Studio 用户附件导出** — AI Studio Markdown 导出现在会包含用户提问中的图片和文件；zip 附件包会把可下载的用户图片保存在 `assets/images/`，仅文件卡片则在 Markdown 中保留可见文件名和 token 信息。
  * **ChatGLM 附件、图片与思维链导出** — ChatGLM 导出现在会保留用户上传图片和文件，以及 AI 生成图片，支持普通 Markdown 与 zip 附件包；分享页导出也会识别 ChatGLM 当前的思维链数据结构，并在开启「导出包含思维链」后以 `> [Thought]` 引用块格式导出，同时过滤用户头像资源。
  * **ChatGPT 生成图片导出** — ChatGPT Markdown 导出现在会包含仅含生成图片的 AI 回复，并在普通 Markdown 与 zip 附件包导出中保留生成图片。
  * **Claude 附件与思维链导出** — Claude Markdown 导出现在会保留用户提问中的图片和文件，支持普通 Markdown 与 zip 附件包；开启「导出包含思维链」后，也会展开并导出 Claude 的思考过程。
  * **DeepSeek 用户附件导出** — DeepSeek Markdown 导出现在会保留用户提问中的图片和文件，包含分享页；zip 附件包会把可下载的分享附件解析到 `assets/images/` 与 `assets/files/`，并在 Markdown 中使用稳定相对路径引用。
  * **豆包图片与附件导出** — 豆包 Markdown 导出现在会包含用户提问中的图片和文件，以及 AI 回复中的图片；zip 附件包会把可下载资源保存到 `assets/images/` 与 `assets/files/`，并在页面 DOM 只保留占位图时兜底导出生成图片。
  * **Grok 图片与附件导出** — Grok Markdown 导出现在会包含 AI 回复中的生成图片，以及用户提问中的图片和文件；zip 附件包会把可下载图片保存到 `assets/images/`、用户文件保存到 `assets/files/`，并在 Markdown 中使用稳定相对路径引用。
  * **Gemini Canvas 代码导出** — Gemini 普通会话和分享页导出现在会打开 Canvas artifact，用不依赖界面语言的方式切换到代码标签页，并把生成的 Canvas 代码纳入 Markdown 导出。
  * **Ima 附件、生成图片与思维链导出** — Ima Markdown 导出现在会保留用户提问中的上传图片和文件，在普通 Markdown 与 zip 附件包中导出 AI 生成图片，并可在开启「导出包含思维链」后导出页面中可见的思考内容；空附件容器会被忽略，普通用户提问不再误导出 `attachment` 附件项。
  * **Kimi 分享会话导出** — Kimi 分享页现在支持会话导出、大纲和滚动导航；导出会保留用户上传图片，并在 Markdown 与 zip 附件包中引用，同时纳入可见文件附件标签，确保用户提问与对应 AI 回复保持正确顺序。
  * **通义千问附件与生成图片导出** — 通义千问 Markdown 导出现在会识别分享页新版问题/回答 DOM，保留用户提问中的图片和文件卡片，并在普通 Markdown 与 zip 附件包中导出 AI 生成图片，避免新版页面导出为空消息。
  * **Qwen Studio 附件、生成图片与思维链导出** — Qwen Studio Markdown 导出现在会保留用户提问中的上传图片和完整文件卡片名称，在普通 Markdown 与 zip 附件包中导出 AI 生成图片，并可在开启「导出包含思维链」后导出普通会话和分享页展开后的思考内容。
  * **元宝附件、生成图片与思维链导出** — 元宝 Markdown 导出现在会保留用户提问中的图片和文件，在普通 Markdown 与 zip 附件包中导出 AI 生成图片，并可在开启「导出包含思维链」后导出页面中可见的思考内容。
  * **Z.ai 附件与思维链导出** — Z.ai 普通会话和分享页导出现在会保留用户上传的图片与文件，支持 Markdown 与 zip 附件包；同时会合并 API 与 DOM 中带签名 CDN 链接的重复附件，并在开启「导出包含思维链」后导出推理内容。

  ### ✨ 功能优化

  * **导出进度遮罩** — 长对话导出现在会显示全屏进度遮罩，并标明当前导出阶段；在 Ophel 加载历史、提取内容、打包资源、保存文件和恢复页面期间，会阻止误点击、滚动和输入。
</Update>

<Update label="v1.0.55">
  ### 🚀 新增功能

  * **ChatGPT Deep Research 导出** — ChatGPT Markdown zip 导出现在会保留用户提问中的上传图片和可链接文件，并将 Deep Research 报告以标题和链接形式写入 Markdown；扩展版同时补充 `oaiusercontent.com` 资源权限以支持分享页图片打包。([#579](https://github.com/urzeye/ophel/issues/579))
  * **Claude 文档 Artifact 与文档大纲** — Claude 生成的 Markdown 文档 Artifact 现在可在 Markdown zip 导出中作为 `assets/documents/` 下的独立文件引用；当 Claude 右侧文档面板打开时，大纲标签页也会显示独立的「文档」来源用于浏览和跳转。([#588](https://github.com/urzeye/ophel/issues/588))
  * **Claude 用户附件导出** — Claude Markdown zip 导出现在会保留用户提问中的上传图片和可链接文件，并分别打包到 `assets/images/` 与 `assets/files/`，在 Markdown 中使用稳定相对路径引用。([#588](https://github.com/urzeye/ophel/issues/588))
  * **Gemini Deep Research 文档大纲** — 大纲标签页现在会在 Gemini Deep Research 报告打开时显示「对话 / 文档」来源切换，可单独浏览右侧报告的标题结构并跳转到报告面板内的对应章节，避免与左侧对话大纲混在一起。([#585](https://github.com/urzeye/ophel/issues/585))
  * **Gemini Deep Research 报告面板 Markdown 快捷操作** — 在 Gemini Deep Research 右侧报告面板工具栏新增复制 Markdown 和下载 Markdown 按钮，可直接导出当前报告内容，不影响普通会话导出流程。([#579](https://github.com/urzeye/ophel/issues/579))
  * **Markdown 附件导出包** — 当站点适配器提供附件资源时，Markdown 导出现在可生成包含主文档、附件和 manifest 的 zip 包，并使用稳定的相对路径引用文件；生成的 Markdown 文档统一放入 `assets/documents/`、图片放入 `assets/images/`、用户上传附件放入 `assets/files/`，并按普通 Gemini 会话同样的方式解析用户上传文档。([#580](https://github.com/urzeye/ophel/issues/580))
  * **Gemini Deep Research 导出** — Gemini Deep Research 现在可导出用户自己的应用内会话、会话分享页和生成报告分享页；报告侧栏关闭时会在导出期间自动打开并在结束后恢复，同时把用户提问中的上传文件标签纳入导出内容。([#573](https://github.com/urzeye/ophel/issues/573))

  ### 🐛 问题修复

  * **主题同步回归** — 关闭「同步原生页面颜色」不再阻止支持主题联动的网页跟随 Ophel 亮/暗主题切换；该设置现在仅控制原生颜色覆盖 CSS，豆包和 Ima 仍由站点适配器保持仅切换面板主题。
  * **Claude 导出顺序与大纲清理** — Claude AI 回复导出现在会保留正文与 Artifact 链接在原回复中的先后顺序，同时不再把「Recents」这类页面/侧边栏标题误纳入对话大纲。([#588](https://github.com/urzeye/ophel/issues/588))
  * **页内收藏图标显示** — 页内收藏星号现在会完整遵循隐藏设置，并且不再依赖「大纲」标签页的「展示用户提问」过滤，修复 ChatGPT、DeepSeek、AI Studio、豆包等虚拟滚动站点上星号残留或漏显示的问题。([#570](https://github.com/urzeye/ophel/issues/570))
</Update>

<Update label="v1.0.54">
  ### 🚀 新增功能

  * **提示词队列与提示词库联动** — 提示词库操作现在可加入队列，队列批量加入弹窗也可直接从提示词库选择提示词。([#547](https://github.com/urzeye/ophel/issues/547), @mrpops2ko)

  ### ✨ 功能优化

  * **整行拖拽排序** — 提示词和会话文件夹现在可直接长按整行拖拽排序，与会话条目的交互保持一致，不再需要专门的拖动图标。
  * **更清晰的大纲标签页图标** — 更新「大纲」标签页和「界面排版」设置中的图标，使其更直观地表达层级大纲结构，同时保留原文档样式图标用于空状态展示。
  * **提示词悬浮控件** — 优化已选提示词悬浮条样式，并与提示词队列在输入框上方对齐。

  ### 🐛 问题修复

  * **豆包和 Ima 面板主题切换** — 在不支持原生页面主题切换的站点上，Ophel 面板现在会独立切换主题，修复豆包切到深色后无法切回的问题，并保持用户提问中渲染后的代码块可读。
  * **ChatGPT 净化模式赞助卡片** — 净化模式现在会隐藏 ChatGPT 的赞助推荐卡片，包括带有「Ad options」菜单的新广告块。
  * **豆包大纲抽取** — 豆包大纲现在可识别新版 `md-box-root` 回答 DOM，恢复此前显示为空的大纲标题。([#565](https://github.com/urzeye/ophel/issues/565))
  * **会话文件夹选择器图标间距** — 收紧同步文件夹选择框的内边距，并为文件夹 emoji 图标提供稳定的居中区域，避免在「会话」工具栏中看起来被裁切。
  * **仅附件消息发送快捷键** — 现在可以使用 Enter 或 Ctrl+Enter 发送只有图片或附件、没有文字的消息。([#555](https://github.com/urzeye/ophel/issues/555))
  * **临时面板预览交互** — 从快捷按钮组临时预览面板打开弹窗、菜单、下拉选择或提示词弹窗时，交互期间面板会保持显示，并在交互结束后自动收起。
  * **DeepSeek 大纲跳转** — 在 DeepSeek 长对话中，用户问题不在当前 DOM 挂载区域时，大纲跳转会借助 DeepSeek 原生时间线定位；快速连续点击时会忽略过期跳转结果，并确保大纲面板只高亮当前所在位置，普通大纲跳转也不会再误提示收藏内容缺失。
</Update>

<Update label="v1.0.53">
  ### 🚀 新增功能

  * **公式复制格式设置** — 双击复制公式现在可选择输出 LaTeX 源码或 MathML 源码。LaTeX 模式仍支持自动添加分隔符；MathML 模式会在站点提供 `<math>` 源码时复制序列化后的 MathML。

  ### 🐛 问题修复

  * **Claude 适配器** — 适配 Claude 页面改版：大纲不再误抓屏幕阅读器专用标题、识别新格式分享链接、修复主题切换、模型锁定和点击模拟兼容新版 UI 组件。
  * **豆包虚拟滚动导航** — 适配豆包新版虚拟列表聊天 DOM，现在大纲跳转、返回锚点、去顶部/去底部会使用真实的 `v_list_scroller` 滚动容器。大纲还会在内存中缓存进入过视口的标题和用户问题，避免豆包将不可见内容从 DOM 卸载后，已浏览过的大纲条目从面板中消失。
  * **Kimi 会话跳转** — 修复在「会话」面板中点击 Kimi 侧边栏历史项时无法切换聊天的问题。现在会按解析出的会话 ID 精确匹配 Kimi 聊天链接，并在原生链接未挂载时使用 SPA 路由兜底。
  * **Ima 用户问题抽取** — 适配 Ima 新版聊天 DOM，恢复对 `userBubbleWrap` / `chatMainBubble` 结构中用户提问的识别，确保大纲、导出、用量统计和用户提问 Markdown 渲染都能重新包含这些内容。
  * **公式复制站点兼容性** — 适配 Qwen Studio 的非标准公式 DOM，可从 `<math>` 内直接文本节点提取 LaTeX 源码；Kimi 和元宝现在会明确提示当前站点暂不支持，而不是尝试从仅用于视觉渲染的 KaTeX HTML 中不可靠地反推源码。
  * **Gemini Canvas 开启表格复制 Markdown 后页面卡死** — 不再向 Gemini Canvas 编辑器内的表格注入复制按钮，避免与 ProseMirror 编辑器形成 DOM 更新循环，导致包含表格的 Canvas 文档卡死或崩溃。([#535](https://github.com/urzeye/ophel/issues/535))
</Update>

<Update label="v1.0.52">
  ### 🚀 新增功能

  * **悬停 Ophel logo 临时预览面板** — 当面板收起到快捷按钮 logo 后，鼠标悬停 logo 会在快捷按钮组旁临时显示面板预览。该预览不会持久化面板展开状态，点击 logo 仍执行原有的面板展开/收起操作。([#524](https://github.com/urzeye/ophel/issues/524))
  * **标题格式占位符芯片** — 设置中的标题格式输入框现在将 `{status}`、`{title}`、`{model}` 占位符渲染为蓝色芯片样式，模板结构一目了然，编辑更直观。
  * **标签页状态指示器：「仅在未读时显示完成标记」** — 新增选项，✅ 完成图标仅在标签页未查看时显示，查看后自动隐藏。([#520](https://github.com/urzeye/ophel/issues/520))

  ### 🐛 问题修复

  * **阅读历史恢复范围收窄** — 阅读历史现在只会在用户自己的历史会话页保存和恢复位置，分享页、新会话页及站点内其它页面不再误触发；同时将会话页判断下沉到各站点适配器，便于后续维护。
  * **会话同步清理** — 手动同步现在会移除同一站点、同一账号下已在原站删除的会话，并在 Gemini 同步前按需展开「最近」会话区域。
  * **Gemini「资料库」页面：修复「在新标签页中打开」** — 适配新的 `/library` 路径（原 `/mystuff`），并调整按钮位置避免与原生删除按钮重叠。
  * **禅模式退出按钮因透明度过高导致文字难以辨认**：将按钮背景从半透明毛玻璃变量改为主题主背景色，避免底层页面文字穿透导致按钮文字和页面文字都看不清。([#431](https://github.com/urzeye/ophel/issues/431))
  * **标签页标题：修复 `->` 重复追加** — 修复了一个竞态问题：当模型名暂时取不到时，自动重命名格式会反复在标题末尾追加 `->`，导致出现 `标题->->->->` 的异常显示。
  * **Gemini 适配器：兼容新版侧边栏结构** — 更新选择器与导航逻辑以支持新的 `gem-nav-list-item[data-test-id="conversation"]` 侧边栏项；新增滚动加载辅助函数，修复会话 ID/标题提取与跳转，恢复对 Gemini 侧边栏改版的兼容性。
</Update>

<Update label="v1.0.51">
  ### 🚀 新增功能

  * **快捷按钮感应唤醒距离**（设置 → 快捷按钮）：新增滑块，控制鼠标距离快捷按钮水滴多远时自动展开（默认 150 像素，与之前行为一致）。设为 **0** 时启用真正的悬停模式——鼠标须在水滴上停留 300ms 后才展开，避免划过时误触。([#492](https://github.com/urzeye/ophel/issues/492))
  * **支持将会话拖拽到文件夹**：在「会话」面板中，可直接把对话拖到任意文件夹完成移动。感谢 @t0ny-peng ([#512](https://github.com/urzeye/ophel/issues/512))

  ### 🐛 问题修复

  * **悬浮面板设置体验与定位预览优化**：将"默认边距"设置项移动至最下方且仅在"悬浮"面板模式下展示，并精细化更新了全部 10 种语言版本的文案。同时修复了切换至悬浮模式并刷新后，拖拽或调整"默认边距/默认位置"滑块面板位置无法实时更新和预览的问题。([#519](https://github.com/urzeye/ophel/issues/519))
  * **修复了 ChatGPT 大纲显示不全及跳转异常的问题**：解决了在长对话中大纲内容缺失、点击大纲条目无法正确跳转的问题；同时修复了切换不同对话时，大纲显示延迟、内容错乱或出现空白占位标题的情况。([#402](https://github.com/urzeye/ophel/issues/402))
  * **解决了 ChatGPT 导出长对话时内容重复、乱序或大段缺失的问题**：优化了导出机制，确保长达数十轮的对话能够按正确的先后顺序被完整导出，不再出现内容遗漏、顺序错乱或同一条消息被重复导出的现象。
  * **修复 AI Studio 长会话导出有 turn 缺漏、反复滚动**：重写导出收集器，直接按 DOM 顺序遍历 `ms-chat-turn`，一次扫完所有用户提问、AI 回复（含附件、独立的「思考」turn）。
  * **修复 12 个站点分享页面标题缺失或错误**：新增 `isSharePage()` 检测和页面标题回退，确保浏览器标签页标题和导出 Markdown 标题在分享（非自有）页面上正确显示。
</Update>

<Update label="v1.0.50">
  ### 🐛 问题修复

  * 修复了 DeepSeek、Kimi、千问的「页面宽度调整」和「用户问题宽度调整」设置不生效或对齐异常的问题
  * 修复了千问用户消息中的代码、公式等内容无法正常渲染的问题
  * 修复了 ChatGLM、Ima、Kimi 的净化模式未能隐藏新版页面中的活动推广区域
  * 修复了 ChatGLM 开启页面宽度调整后代码块宽度显示不一致的问题
  * 修复了 AI Studio 按 `Alt+/` 快捷键时提示「找不到模型选择器」的问题
  * 修复了 AI Studio 和 ChatGPT 在长对话中，大纲只显示当前可见消息的问题
  * 修复了在用户提问的代码块内向下滚动时，复制按钮消失的问题
  * 修复了部分站点（如 Kimi、DeepSeek）代码块背景色与消息气泡背景色难以区分的问题
  * 修复了 ChatGPT 切换明暗主题时圆形扩散动画失效的问题
</Update>

<Update label="v1.0.49">
  ### 🐛 问题修复

  * **macOS CJK 字体修复后 Windows UI 字体回退异常**：在 Windows 与其他非 macOS 平台恢复 `system-ui` 优先，仅在 macOS 上保留 CJK 字体位于 `system-ui` 前方。同时移除 Inter 本地回退中的 Arial/Roboto 别名，避免未内置 Inter 的环境混用不相关字体，改为回落到原生系统 UI 字体。（[#489](https://github.com/urzeye/ophel/issues/489) 回归，[#491](https://github.com/urzeye/ophel/issues/491)）
  * **macOS CJK 字体显示过细（PingFang SC）**：将 macOS CJK 首选字体由 `PingFang SC` 改为 `Hiragino Sans SC`（PingFang SC 保留为兜底）。黑体-简笔画更粗，正常字重下在 macOS 上可读性更佳。
</Update>

<Update label="v1.0.48">
  ### 🐛 问题修复

  * **设置关于页面商店图标在平台名换行时变小**：为"好评鼓励"区块中的商店图标 SVG 添加 `flex-shrink: 0`，确保无论平台名称长短，图标均保持一致尺寸。同时将德语 `edgeAddons` 文案从 `"Microsoft Edge Add-on"` 缩短为 `"Edge Add-on"`，与其他语言保持一致并避免换行。
  * **Gemini 用户提问代码块缩进丢失**：修复 `extractUserQueryMarkdown` 对每行 `query-text-line` 使用 `.trim()` 导致所有行首空格被删除、代码缩进丢失的问题。现改用 dedent 逻辑，仅去除 Gemini 统一添加的包装前导空格，保留代码块内的相对缩进。
  * **ChatGPT 模型锁定在非英文界面下失效**：修复本地化显示名（如「思考」）与用户输入关键词（如 `think`）不匹配导致无限循环切换模型的问题。适配器现在在菜单关闭后仍会保留上次读取的模型 slug，使锁定检测不受界面语言影响。
  * **ChatGPT 改版后模型锁定失效**：2025 年 ChatGPT 改版移除了顶部模型切换按钮。已更新适配器以匹配 Composer 区域的 Pill 按钮（`__composer-pill`），修正菜单项检测逻辑（`menuitemradio` role + `data-testid^=model-switcher-`），并从 Pill 按钮的 `span.truncate` 文本节点读取当前模型名。同时移除了约 90 行针对旧版二次点击交互的过时状态缓存代码。
  * **用户提问代码块在复制按钮附近过早换行**：修复用户提问 Markdown 代码块的复制按钮参与代码文本排版、压缩第一行可用宽度的问题。现在复制按钮会覆盖在代码块右上角，不再强制代码提前换行。
  * **Gemini 使用代码块后字体回退到 Times New Roman**：修复用户提问包含反引号或代码块时，Gemini 字体退回到浏览器默认（Times New Roman）的问题。渲染容器现已通过内联 `!important` 样式覆盖 Angular 的组件作用域 CSS 规则，确保字体和代码块背景色正常显示。主要影响 Firefox/Zen Browser 用户。（[#474](https://github.com/urzeye/ophel/issues/474)）
  * **用户提问气泡背景色被站点主题覆盖**：修复 ChatGPT、Kimi、Gemini 的「原生主题同步」功能错误地将主题色应用到用户提问气泡背景的问题。现在启用主题同步时，用户气泡会保留各平台原有的背景色。
  * **用户提问代码块语法高亮失效**：修复部分站点 CSS 覆盖 hljs token 颜色（关键字、字符串、注释等）导致代码块语法高亮显示异常的问题。
  * **macOS 英文环境下 CJK 字体回落为日文字形**：修复各 UI 层面的 `font-family` 将 `system-ui`/`BlinkMacSystemFont` 排在 CJK 字体之前，导致 Blink 引擎在英文语言环境的 macOS 上优先使用 Hiragino（日文字体）而非 PingFang SC，造成同一段文字中字形混杂、字符度量不一致的问题。现已将 CJK 字体（`PingFang SC`、`Hiragino Sans SC` 等）移至 `system-ui` 前方。（[#486](https://github.com/urzeye/ophel/issues/486)）
</Update>

<Update label="v1.0.47">
  ### ✨ 功能优化

  * **Gemini Markdown 加粗修复默认关闭**：该开关默认改为关闭，需要时可在「设置 → 站点设置 → Gemini」手动开启。
  * **自动吸附模式支持记忆展开状态**：悬浮模式和自动吸附模式均可记住刷新前面板的展开/收起状态。

  ### 🐛 问题修复

  * **Claude 回复通知持续重复**：修复 Claude.ai 回复完成后通知不断重复触发的问题。（[#470](https://github.com/urzeye/ophel/issues/470)）
  * **元宝主题同步失效**：修复元宝更新深色模式实现后主题联动失效的问题。
  * **元宝拖拽排序失效**：修复设置弹窗和提示词面板中拖拽排序在元宝上完全失效的问题。
</Update>

<Update label="v1.0.46">
  ### 🐛 问题修复

  * **Gemini 引用来源 tooltip 在 Markdown 修复开启时失效**：修复启用 Markdown 加粗修复功能时，Gemini 的引用来源气泡提示消失的问题。根本原因是修复逻辑通过重写段落 `innerHTML` 破坏了 Gemini 原生的 tooltip 事件绑定。现在包含来源引用标记的段落会跳过处理，保留原有交互行为。（[#468](https://github.com/urzeye/ophel/issues/468)）
</Update>

<Update label="v1.0.45">
  ### ✨ 功能优化

  * **页面宽度上限提升至 99%**：页面宽度和用户提问宽度的最大百分比上限从 94% 提升至 99%。（[#447](https://github.com/urzeye/ophel/issues/447)）
  * **窄屏自动适配**：手机等窄屏设备上，百分比宽度模式会自动扩展为 95%，避免内容过窄。（[#447](https://github.com/urzeye/ophel/issues/447)）
  * **面板展开时自动隐藏快捷按钮组**：设置开关开启后，打开面板时快捷按钮组自动收起，关闭面板后恢复，界面更清爽。
  * **快捷按钮设置布局优化**：「隐藏」开关和「不透明度」调节单独成组，位于按钮排序列表上方，更易找到。

  ### 🐛 问题修复

  * **缩放时面板位置偏移**：修复使用触摸板或浏览器缩放快捷键后，快捷按钮组和主面板逐渐漂移到屏幕中央的问题。（[#458](https://github.com/urzeye/ophel/issues/458)）
  * **快捷按钮设置刷新后丢失**：修复部分设置项保存后刷新页面被重置的问题。
  * **多语言文案未翻译**：修复俄语、英语、德语等 10 种语言下，部分弹窗和提示文字未翻译、显示为中文的问题。
  * **韩文/CJK 文字显示异常**：修复 Windows 用户面板内韩文等文字显示为方块或乱码的问题。（感谢 @Apious [#432](https://github.com/urzeye/ophel/issues/432)）
  * **DeepSeek 页面宽度**：调整 AI 回复与输入框宽度保持一致。
</Update>

<Update label="v1.0.44">
  ### ✨ 功能优化

  * **WebDAV 服务商快速预设**：新增坚果云、InfiniCloud、Nextcloud、Synology、Seafile 等常见网盘的服务器地址预设，点击即可填入，无需手动查阅。
  * **备份操作区布局重新设计**：将测试连接、保存配置、立即备份、恢复备份等操作按钮重新分组排版，层次更清晰。
  * **备份文件列表样式优化**：文件名改用可滚动横向布局避免截断，恢复与删除按钮独立成列，操作目标更明确。
  * **设置页说明文字优化**：字数统计、Firefox 快捷键说明、AI Studio 模型同步等提示文案重新措辞，表意更准确。
  * **阅读历史默认保留 3 天**：将默认保留时长从 7 天缩短至 3 天，减少本地存储占用；现有数据不受影响。
  * **发送快捷键设置移入 Prompts 面板**：「发送快捷键」选项从通用设置移至「Prompts」标签页，与提示词相关功能集中管理。
  * **全局快捷键默认改为 Alt+O**：避免与 Chrome 内置的「打开 Gemini」快捷键冲突，Mac 上显示为 `⌥O`。
  * **ChatGPT 加粗修复默认关闭**：降低对 ChatGPT 原生页面样式的干预，需要时可手动开启。

  ### 🐛 问题修复

  * **WebDAV 备份列表解析兼容性**：修复部分 WebDAV 服务商（如 pCloud）返回的 XML 含命名空间前缀时，无法读取云端备份文件列表的问题。
  * **WebDAV 首次授权后操作中断**：修复首次使用 WebDAV 功能时，授权弹窗确认后原操作（备份、恢复或测试连接）未继续执行的问题。
  * **豆包删除会话确认异常**：适配豆包新版页面结构，修复删除会话时确认弹窗无法正常触发的问题（繁体界面同修）。
  * **快捷按钮初始化位置抖动**：修复页面刷新后快捷按钮从顶部滑落至目标位置的视觉跳变问题。

  ### ℹ️ 提醒

  * 已安装用户的全局快捷键不会自动变更。如需使用 `Alt+O`，请到浏览器快捷键设置中手动调整。
</Update>

<Update label="v1.0.43">
  ### 🚀 新增功能

  * **面板模式切换快捷键**：新增 `Alt+M`（Mac：`⌥M`）快捷键，可在「自动吸附」与「悬浮」模式之间一键切换。

  ### ✨ 功能优化

  * **提示消息更醒目**：Toast 提示在各主题（含深色模式）下显示更清晰，长文本自动截断，同时适配系统「减少动态效果」设置。
  * **锚点按钮点击动效**：主面板底栏及快捷浮动锚点按钮点击时新增轻弹动画，操作反馈更直观。

  ### 🐛 问题修复

  * **切换标签页后提示气泡残留**：修复鼠标悬停触发气泡计时期间，切走再切回浏览器标签页后气泡意外出现的问题。
  * **横向图片轮播被误拦截**：修复开启「防止自动滚动」后，ChatGPT 等页面的横向图片轮播无法左右翻页的问题。
</Update>

<Update label="v1.0.42">
  ### ⚠️ 破坏性变更

  * **双击标题栏切换行为变更**：面板顶部标题栏区域的双击行为由原来的「切换隐私模式」改为「快速切换面板显示模式（悬浮 ↔ 自动吸附）」。

  ### ✨ 功能优化

  * **双击标题栏快速切换面板显示模式**：双击面板顶部标题栏（Logo 或品牌名区域）即可在悬浮模式和自动吸附模式之间快速切换，无需进入设置。
  * **悬浮到 Logo / 品牌名展示高级指南**：鼠标移入面板顶部 Logo 或 Ophel 品牌名时，自动弹出快捷键高级指南（MagicCodex），移出后自动关闭。
  * **界面整体样式优化**：优化诸多 UI 细节。
  * **设置页社区入口升级**：左下角新增商店评分、GitHub、Ko-fi、Discord 四个快捷入口，同时整合主题与语言切换。
  * **关于页面视觉打磨**：按钮、标题、导航、主题卡片等细节全面美化。
  * **功能提示导览**：面板和大纲标签页新增功能提示气泡，帮助发现隐藏功能。
  * **面板标签页图标略微放大**：大纲、会话、提示词图标尺寸从 14px 调整为 16px，更加清晰。

  ### 🐛 问题修复

  * **更新提醒重复弹出**：修复关闭"插件已更新"弹窗后，过一会儿仍会重复弹出的问题。
  * **设置滑块恢复默认后刷新回弹**：修复点击"恢复默认"即时生效、但刷新页面后又恢复旧值的问题。
  * **刷新页面时面板短暂变回默认浅色主题**：修复在加载速度较快的站点（如 Gemini）上，刷新后面板会短暂闪烁为默认外观再切回用户设置主题的问题。
</Update>

<Update label="v1.0.41">
  ### ✨ 功能优化

  * **全局搜索新增「功能技巧」分类**：在全局搜索中输入 `tip:` 即可快速筛选所有功能技巧，专属 Tab 让技巧内容一目了然，方便随时发现和回顾隐藏功能。
  * **模糊搜索按钮激活态视觉优化**：开启模糊搜索后，按钮改为主题色文字 + 加粗 + 主题色实线边框 + 浅底色高亮，激活状态一目了然，自动适配深色/亮色及自定义主题色。

  ### 🐛 问题修复

  * **搜索语法示例点击无效**：修复全局搜索中点击语法示例（如 `type:outline`、`date:7d` 等）只关闭弹层、未插入到输入框的问题。
  * **Toast 提示层级遮挡**：修复 Toast 提示被全局搜索和设置页的背景模糊滤镜 (`backdrop-filter`) 阻挡和模糊的问题。将挂载点从 `document.body` 调整到 Shadow DOM 最高层级容器内，避免层叠上下文隔离。
  * **AI Studio 适配新版侧边栏**：同步适配 AI Studio 新侧边栏结构。
</Update>

<Update label="v1.0.40">
  ### ✨ 功能优化

  * **大纲滚动同步性能优化**：滚动对话页面时，大纲高亮指示从 React 全量 re-render 改为 DOM classList 直接操作，每次滚动仅执行 2 次 DOM 操作，消除原先 1000+ 个 OutlineNodeView 的无效 reconcile。([#397](https://github.com/urzeye/ophel/issues/397))
  * **MutationObserver 监听范围缩小**：大纲自动更新的 MutationObserver 从 `document.body` 缩小到 AI 回复容器级别，减少无关 DOM 变动触发的回调开销。([#395](https://github.com/urzeye/ophel/issues/395))
  * **treeKey 哈希压缩**：大纲树 key 改用 djb2 hash 算法，将超长键值压缩为 8 位 hex 字符串，提升大量标题场景下的字符串比较效率。([#395](https://github.com/urzeye/ophel/issues/395))

  ### 🐛 问题修复

  * **大纲同级同名标题折叠状态互覆盖**：修复两个相同文本的同级标题（如两个 `## 总结`）折叠/展开状态互相覆盖的问题，key 生成策略改为优先使用节点 ID。([#395](https://github.com/urzeye/ophel/issues/395))
  * **大纲 fallback 刷新竞态**：修复 fallback 计时器在 treeKey 已自然更新后仍强制重建树的问题，避免不必要的用户折叠状态重置。([#395](https://github.com/urzeye/ophel/issues/395))
  * **切 Tab 漏刷新**：修复 AI 生成完成时大纲 Tab 处于后台导致刷新丢失的问题，切回大纲 Tab 时自动补刷。([#395](https://github.com/urzeye/ophel/issues/395))
  * **面板模式切换闪烁**：修复从悬浮模式切换到边缘吸附模式时面板在页面左侧闪烁一帧的问题。([#398](https://github.com/urzeye/ophel/issues/398))
  * **快捷按钮误触拖拽**：将长按拖拽阈值从 150ms 提升至 220ms，减少快速点击时误触发拖拽的情况。
  * **悬浮模式切换位置跳动**：从设置页切换到悬浮模式时面板不再重置到 `defaultEdgeDistance` 位置，改为原地固定；`defaultEdgeDistance` 仅作为页面刷新时的初始定位。
  * **吸附模式下关闭设置/搜索后面板不收回**：修复设置模态框和全局搜索在 Shadow DOM 内渲染导致 MutationObserver 无法检测其关闭的问题，统一 overlay 检测范围并在关闭后同步面板 hover 状态。
  * **设置页切换吸附模式无预览效果**：从设置页切换到边缘吸附模式时，面板立即收缩吸附作为预览，而不是因检测到设置模态框仍打开而保持展开。
</Update>

<Update label="v1.0.39">
  ### ✨ 功能优化

  * **面板模式简化**：将面板行为设置精简为两种模式（悬浮 / 边缘吸附），操作更直观，不再需要分别配置多个开关。
  * **面板 Header 一键切换模式**：新增图钉/吸附切换按钮，无需进入设置即可快速切换面板行为。
  * **面板 Header 精简**：精简顶部按钮，移除不常用操作，界面更干净。
  * **标题悬浮小贴士**：鼠标悬停面板标题时随机显示使用技巧，帮助发现隐藏功能。
  * **边缘吸附模式下导航按钮始终可见**：滚动到顶部/底部、锚点等快捷按钮不再被面板遮挡时隐藏。
  * **会话列表性能优化**：文件夹下大量会话展开不再卡顿，采用渐进式加载。([#369](https://github.com/urzeye/ophel/issues/369))
  * **全局搜索性能优化**：减少搜索结果的重复渲染，提升搜索流畅度。
  * **油猴脚本加载速度优化**: 大幅提升刷新页面后油猴脚本加载速度。
  * **主题适配精细化**：原生主题仅对侧边栏染色，不再影响 AI 平台主内容区。
  * **内置 Inter 字体**：扩展版内置 Inter Variable 字体，提升排版品质。

  ### 🐛 问题修复

  * **权限管理页面恢复正常**：修复权限管理页面卡在刷新状态、"允许"按钮点击无反应的问题。根因为 `chrome.notifications` API 未做可选权限守卫导致 Service Worker 初始化失败；同时将 Options 页面的权限请求改为直接调用 `chrome.permissions.request()`，不再依赖 Service Worker 中转。([#384](https://github.com/urzeye/ophel/issues/384))
  * 修复面板模式切换时的滚动条闪烁、位置跳变等交互异常。
  * 修复左侧吸附动画延迟，左右两侧行为现已统一。
  * 修复双击标题导致面板意外脱离吸附的问题。
  * 修复若干内存泄漏（动画帧、计时器未清理）。
  * 修复韩文在油猴脚本中显示为方块的问题。([#373](https://github.com/urzeye/ophel/issues/373))
  * 修复快捷按钮液态收缩后的位置漂移与图标异常。
  * 修复设置页滑块组件最大值标签位置偏移到恢复默认按钮下方的问题。
</Update>

<Update label="v1.0.38">
  ### ✨ 功能优化

  * **禅模式与净化模式拆分**：将原有"禅模式"拆分为"禅模式"（隐藏侧边栏和导航）与"净化模式"（隐藏免责声明、广告等冗余元素）两个独立设置项。净化模式默认开启，禅模式开启时自动附带净化效果。([#365](https://github.com/urzeye/ophel/issues/365))
  * **通知点击跳转前台**：浏览器扩展版的 AI 生成完成桌面通知现支持点击直接跳转到对应标签页并聚焦窗口，与油猴脚本版行为保持一致。 ([#359](https://github.com/urzeye/ophel/issues/359))

  ### 🐛 问题修复

  * **Firefox 大纲面板滚轮回弹**：修复在 Firefox（含 Zen 浏览器）中滚动大纲面板时面板自动跳回活跃项位置的问题，通过 wheel 事件防抖暂停自动定位。([#360](https://github.com/urzeye/ophel/issues/360))
  * **ChatGPT 阅读记录恢复后跳到底部**：修复刷新页面后阅读进度恢复成功但随即被 ChatGPT 自动滚动拉到底部的问题。新增 DOM 属性精确位置锁机制实现同步跨世界通信，替代存在竞态的异步 postMessage 方案；引入自适应超时策略（2 秒静默释放，最长 15 秒），并支持锁定期间大纲点击、锚点跳转等用户导航。
  * **mac 幽灵穿透恢复**：修复 macOS 下长按 Command 键时，面板偶尔不会进入低干扰幽灵穿透态的问题，减少对页面内容和点击操作的遮挡。

  ### 🐍 文档调整

  * **用户文档全面重写**：以中英双语重写全部用户指南，覆盖快速上手、面板概览、浮动按钮、智能大纲、会话管理、提示词库、增强功能、外观主题、备份同步、快捷键、常见问题等章节，内容更完整、更易上手。
</Update>

<Update label="v1.0.37">
  ### ✨ 功能优化

  * **主面板与快捷按钮样式重构**：整体刷新主面板与快捷按钮的视觉样式，进一步统一层次、间距与悬浮交互，界面观感更轻盈。
  * **快捷按钮幽灵穿透交互**：快捷按钮在空闲时会进入低干扰的“幽灵态”，并支持鼠标事件穿透到底层页面，减少对原站点内容与操作的遮挡。
</Update>

<Update label="v1.0.36">
  ### ✨ 功能优化

  * **快捷按钮体验升级**：将“禅模式”与“全局设置”整合至外层快捷组并默认开启；重构了智能分组排序，上方聚合功能开关、底部固定导航操作并以分隔线区隔。
  * **禅模式沉浸式图标动效**：开启禅模式后，在快捷按钮中的相关图标现会无缝切换为闭眼状态（EyeClosedIcon），并伴随极简风格的 4 秒浅呼吸发光动效，视觉反馈更加契合“沉浸防打扰”心智。
  * **原生页面颜色同步文案澄清**：将“同步原生页面主题”相关文案统一收敛为“同步原生页面颜色”，明确页面亮暗模式始终跟随 Ophel，这个开关只额外控制部分原生元素颜色；并同步补齐 10 种语言描述，减少对设置作用范围的误解。
  * **禅模式退出视觉重构**：退出按钮全新升级为顶置居中的悬浮玻璃态胶囊（Glassmorphism），支持灵动的出场微动画，并无缝适配全局主题系统。
  * **全局 Toast 提示升级**：告别厚重的渐变色块，重构为高级毛玻璃卡片样式；内置智能避让机制，在开启禅模式时自动动态下移，完美解决互相遮挡问题。
  * **去水印处理指示器位置调整**：Gemini 图片去水印中的 loading 指示器改为固定显示在图片右下角，减少对右上角操作按钮与图片主体的遮挡。
  * **禅模式站点适配与退出入口优化**：统一梳理各站点的禅模式配置，为更多 AI 站点补齐默认隐藏元素；开启后会直接隐藏侧边栏、免责声明及站内干扰区，并在页面高层级位置提供固定悬浮的“退出禅模式”入口，减少误触展开与退出成本。
  * **禅模式快捷键与折叠态兼容补强**：在“设置 - 快捷键位 - 交互控制”中新增“切换禅模式”，默认快捷键为 `Ctrl + Shift + Z`；同时优化 Kimi 等站点在侧边栏折叠态下的禅模式布局表现，减少开启后主内容区留白或错位的问题。
  * **Qwen Studio 站点命名统一**：将原 `chat.qwen.ai` 站点的外显名称统一调整为 `Qwen Studio`，同步覆盖适配器展示名、设置项、会话提示、README 与 Issue 模板等入口，减少新旧命名并存带来的理解成本。

  ### 🐛 问题修复

  * **AI Studio 主题 fallback 冲突修复**：修复 AI Studio 在开启“同步原生页面颜色”后，站点已完成原生主题切换却又额外套用通用 fallback，导致页面主题类冲突、整体样式错乱的问题。
  * **多站点 system 主题偏好刷新丢失修复**：修复 DeepSeek、Qwen Studio 与 ChatGLM 在通过 Ophel 切换为“跟随系统”后，站点虽然已写入 `system` 偏好，但刷新页面后仍可能被 Ophel 误判为当前实际亮色，导致面板主题状态回落为 `light` 的问题。
  * **禅模式组件多语言失联修复**：修复在开启禅模式后切换插件语言语言，静态注入的退出按钮文案未能即时同步翻译刷新的问题。
  * **Userscript Gemini inline 图去水印稳定位修复**：针对 Gemini `/app` 与 `/share` 页面里只剩 `blob:` / `data:` 的生成图片，去水印流程现会同时验证 `48px` 与 `96px` 水印候选及其邻近位置，并仅在试擦后确认确实改善时才采用结果，减少“大图里仍是 48 水印却按 96 去擦”或误判为“没有水印”直接跳过的问题。
  * **Userscript inline 图结果复用修复**：同一张 Gemini inline 图片的自动显示、预览放大、复制与下载现会尽量复用同一份去水印结果，减少同源 `blob:` 图片在不同入口表现不一致的问题。
</Update>

<Update label="v1.0.35">
  ### 🚀 新增功能

  * **原生页面主题同步开关**：在“外观主题”中新增“同步原生页面主题”开关，可独立控制 Ophel 切换主题时是否联动修改当前网站的亮暗模式与原生颜色；同时补齐全局搜索索引，支持直接搜索并定位到该设置项。

  ### ✨ 功能优化

  * **Gemini 用户提问图片导出补齐**：导出对话时会一并保留 Gemini 用户提问中上传的图片，避免导出结果只剩文本提示词而丢失参考图。

  ### 🐛 问题修复

  * **ChatGPT 思考模式完成时机修复**：针对 ChatGPT `thinking_effort` 请求引入按轮次分流的完成判定逻辑；普通回复继续沿用网络监控，开启标准/进阶思考时则改为等待页面真实进入并退出生成态后再提示完成，避免思考阶段刚发生 `stream_handoff` 就被误判为“对话已完成”。 ([#343](https://github.com/urzeye/ophel/issues/343))
  * **豆包会话同步恢复**：适配豆包新版侧边栏 DOM 结构，恢复会话列表识别、当前会话定位与新建对话入口的同步能力，减少因官方页面改版导致的侧边栏功能失效。 ([#342](https://github.com/urzeye/ophel/issues/342))
  * **豆包大纲与导出结构适配**：切换到豆包新版聊天消息区 DOM，恢复大纲抽取、最新回复提取与会话导出等依赖消息结构的功能，避免官方改版后出现大纲为空或导出抓不到内容的问题。 ([#342](https://github.com/urzeye/ophel/issues/342))
  * **Gemini 图片 Markdown 导出恢复**：兼容 Gemini 新版生成图片结构，导出 Markdown 时会正确保留回复中的生成图片，不再因图片包裹层变化或临时 `blob:` 地址导致图片丢失。 ([#339](https://github.com/urzeye/ophel/issues/339))
  * **Gemini 去水印新图片组件兼容**：去水印流程现支持 Gemini 新版生成图片组件结构，兼容新的图片卡片、复制按钮与“下载完整尺寸的图片”按钮，减少复制/下载生成图时失效的情况。
  * **Gemini 会话图去水印误判修复**：调整 Gemini 去水印尺寸判定逻辑，在 `/app` 会话页识别到 preview 图片来源时优先使用 `48px` 水印配置，避免将小水印误按大图规则处理，导致原水印未去除、额外留下错误印记或亮边残影。 ([#335](https://github.com/urzeye/ophel/issues/335))
  * **扩展更新提示层级修复**：提升页面内“插件已更新”提示卡片的显示层级，避免在面板展开或快捷浮层出现时被遮挡，确保刷新入口始终可见。
  * **Grok 用户提问加宽对齐修复**：修复 Grok 开启“用户问题加宽”后，用户提问气泡被错误居中、没有保持右对齐的问题。
  * **Grok 内容区宽度异常收缩**：修复 Grok 页面宽度调整时，内部 `--content-max-width` 在嵌套容器上重复生效，导致最新一条对话内容明显比上方历史消息更窄的问题。
</Update>

<Update label="v1.0.34">
  ### 🐛 问题修复

  * **Firefox 空闲回调兼容性**：修复 Firefox 下因直接调用 `requestIdleCallback` / `cancelIdleCallback` 丢失 `window` 上下文而报错的问题，避免大纲滚动同步过程中触发 `TypeError`。
  * **主题同步 hydration 竞态**：延后主题回调注册与主题监听启动时机，确保在设置 hydration 完成后才允许主题状态回写，减少 Firefox 下切换深色或“跟随系统”后刷新页面导致免责声明弹窗反复出现、部分设置被默认值覆盖的风险。 ([#333](https://github.com/urzeye/ophel/issues/333))
</Update>

<Update label="v1.0.33">
  ### 🐛 问题修复

  * **站点宽度开关失效**：修复 ChatGPT、Claude 等站点在“站点配置”中点击“启用页面加宽”和“启用用户问题加宽”后开关无法打开的问题。宽度配置归一化时现会保留已保存的站点键，避免未列入默认表的站点配置被意外覆盖。 ([#330](https://github.com/urzeye/ophel/issues/330))
</Update>

<Update label="v1.0.32">
  ### 🐛 问题修复

  * **Userscript 设置回退默认值**：修复油猴脚本在页面刷新后，只要修改任意设置就可能把整份配置回写为默认值的问题；现已收紧 `settings-store` 的预览态与 hydration 持久化时序，避免临时状态误覆盖已保存设置。
  * **Userscript 历史设置兼容恢复**：兼容旧版油猴脚本直接将原始 `settings` 对象存入 GM 存储的历史格式，升级后会自动包装为 Zustand `persist` 所需结构，减少因旧数据格式导致的设置失效或被当作空配置的问题。
  * **免责声明误弹修复**：免责声明弹窗现会等待设置 hydration 完成后再判断显示条件，避免 userscript 在设置尚未加载完成时误判为“未同意”，从而重复弹窗。
</Update>

<Update label="v1.0.31">
  ### ✨ 功能优化

  * **豆包页面宽度联动补齐**：页面宽度控制现会同步覆盖 `--content-max-width` 相关容器与变量，修复调整页面宽度时底部输入框没有一起变化的问题。
  * **快捷按钮组位置记忆**：拖动快捷按钮组后的摆放位置现在会自动保存，刷新页面后也能恢复，减少每次进入页面都要重新调整的问题。([#293](https://github.com/urzeye/ophel/issues/293), [#3](https://github.com/urzeye/ophel/issues/3))
  * **快捷按钮设置结构整理**：将快捷按钮顺序、透明度、工具箱菜单、悬浮工具栏状态与位置统一收拢到 `settings.quickButtons`，同时兼容历史版本散落在顶层的旧配置，以及旧版备份文件的恢复/导入。
  * **布局设置改为滑块控制**：将页面宽度、用户问题宽度、默认边距、面板宽度、面板高度与吸附触发距离等原本需要手动输入的数值项统一为滑块交互，滑动时会实时显示当前值，减少参数理解与输入成本。
  * **宽度配置统一为百分比**：页面宽度与用户问题宽度现统一保留 `%` 配置，并移除底部快捷刻度按钮；同时补充默认值恢复入口，优化设置页操作的一致性。
  * **历史宽度配置自动兼容**：针对旧版本保存的 `px` 宽度数据，升级后会自动换算并迁移到新的百分比配置，尽量避免用户重新配置。

  ### 🐛 问题修复

  * **豆包原生主题适配清理**：移除豆包站点的原生主题覆盖样式注入，避免继续依赖已单独维护的主题适配文件。
  * **快捷按钮组缩放漂移修复**：优化浏览器窗口缩放或尺寸变化时的定位逻辑，快捷按钮组会尽量跟随原有相对位置，减少意外跑到页面中间、反复需要手动摆回去的问题。
  * **滑块预览态残留修复**：修复设置页中滑块在拖动预览过程中若直接切页或关闭面板，临时预览值可能残留的问题，未提交的预览状态现在会在组件卸载时自动清理。
</Update>

<Update label="v1.0.30">
  ### 🚀 新增功能

  * 主题切换同步影响原站点（部分支持，持续优化）

  ### ✨ 功能优化

  * 优化快捷键背景色效果（玻璃态透明）
</Update>

<Update label="v1.0.29">
  ### ✨ 功能优化

  * **Userscript 包体积瘦身**：Userscript 构建改为通过 CDN 引入 `react` 与 `react-dom`，并将多语言文案拆分为外部 JSON 资源加载，显著降低 `ophel.user.js` 体积，解决 Greasy Fork 因脚本过长导致同步失败的问题，同时不影响浏览器扩展版本的打包结果。
  * **Userscript 多语言加载链路优化**：Userscript 启动时会优先初始化当前语言资源，并在语言切换后自动刷新界面文案，确保外部语言包方案下的首屏加载与切换体验保持稳定。

  ### 🐛 问题修复

  * **主题切换扩散动画起点修复**：修复快捷按钮组里的主题切换动画总是从页面右上角开始扩散的问题；现在快捷按钮与主面板中的主题切换都会稳定从触发按钮位置向外扩散。
</Update>

<Update label="v1.0.28">
  ### 🚀 新增功能

  * **AI 回复 Mermaid 兜底渲染**：为未原生支持的站点增加 Mermaid 代码块识别与渲染，支持代码/图表切换、缩放、全屏与 PNG 下载。 ([#285](https://github.com/urzeye/ophel/issues/285))

  ### ✨ 功能优化

  * **KaTeX 字体瘦身**：扩展包仅保留 `.woff2` 字体，减轻包体积并兼容 Firefox 打包。
  * **Mermaid 工具栏体验优化**：优化按钮图标、适应页面与全屏查看体验。
  * **面板与大纲图标焕新**：将面板顶部/折叠入口的 Sparkle 图标与大纲面板“仅显示提问”按钮升级为更统一的 SVG 图标，并同步微调按钮尺寸与层次感，提升深浅主题下的辨识度。
  * **提示词图标体系优化**：重绘提示词相关图标，并为提示词队列补充独立图标，减少不同入口之间的视觉混淆，提升识别效率。
  * **UI 优化**：优化图标展示，并调整关于页支持平台区域与相关功能文案，提升整体视觉一致性与可读性。
  * **扩展更新提示体验优化**：当浏览器扩展检测到新版本时，页面右下角现会优先显示 Ophel 自定义的刷新提示卡片，明确告知“插件已更新”并提供一键刷新入口，减少用户在更新后继续使用旧上下文时的困惑。

  ### 🐛 问题修复

  * **Gemini Enterprise 导出噪音清理**：去除导出 Markdown 时混入的多余样式与状态文本。
  * **原生站点输入抢焦点修复**：修复 ChatGPT 等原生站点在 Firefox 等环境下会抢走 Ophel 输入焦点的问题，解决主面板大纲搜索框输入首个字符后焦点被夺回、后续无法连续输入的异常。 ([#304](https://github.com/urzeye/ophel/issues/304))
  * **交互入口焦点保护统一**：统一设置、全局搜索、提示词队列与主面板的输入焦点保护逻辑，并兼容队列/通用弹窗内部的 `Enter`、`Escape` 等本地键盘交互，避免在防抢焦点时误伤自身快捷键行为。
  * **扩展升级重复提示收敛**：修复扩展更新后同时出现 Ophel 主提示、失效兜底提示与 Plasmo 默认 `Context Invalidated, Press to Reload` 提示叠加的问题，统一收敛为单个更新提示卡片。
</Update>

<Update label="v1.0.27">
  ### 🚀 新增功能

  * **用户问题数学公式渲染**：用户问题 Markdown 渲染现已支持识别并展示 LaTeX 数学公式（含行内公式与块公式）。 ([#299](https://github.com/urzeye/ophel/issues/299))

  ### ✨ 功能优化

  * **导出过程提示增强**：统一优化导出开始时的 Toast 提示文案，明确提醒“导出期间请勿操作当前页面”，并适当延长提示停留时间；同步补齐 10 种语言文案，减少 AI Studio、DeepSeek 等长对话导出时的误操作干扰。
  * **Markdown 导出头部排版优化**：调整导出文档顶部标题与元信息区块之间的空行结构，提升首屏可读性，避免标题、分隔线与导出元数据过于拥挤。

  ### 🐛 问题修复

  * **AI Studio 虚拟滚动导出错位**：参考 DeepSeek 的虚拟滚动处理方式，重构 AI Studio 导出时的轮次配对与顺序保持逻辑，修复长对话中用户问题、思考内容与 AI 回复相互错位，甚至集中堆到文档底部的问题。
  * **AI Studio 导出内容缺失与格式异常**：修复虚拟滚动场景下屏幕外回复为空、仅导出思考不导出正文、用户问题被截断，以及列表、引用、行内代码、代码块与 Markdown/公式内容提取不完整的问题。
  * **导出标题被标签页重命名污染**：修复 AI Studio 导出文档一级标题误使用扩展改写后的浏览器标签标题的问题，现已优先使用原始会话标题；同时为 Grok 与通用导出链路补充保护，避免导出时被当前页面标题回写覆盖。
</Update>

<Update label="v1.0.26">
  ### 🚀 新增功能

  * **Gemini Voyager 增量导入**：在数据管理页新增“从 Gemini Voyager 导入”，将 Voyager 文件夹结构压平成路径名称后增量合并到当前 Gemini 账号，便于从 Voyager 迁移既有整理结果。 ([#287](https://github.com/urzeye/ophel/issues/287))

  ### ✨ 功能优化

  * **多行块公式分隔符格式优化**：调整块级 LaTeX 的包装规则，多行公式在导出 Markdown 时会使用换行包裹的 `$$` 分隔符，减少与正文粘连的情况；双击复制公式的基础分隔符逻辑也已同步收敛 。 ([#296](https://github.com/urzeye/ophel/issues/296))

  ### 🐛 问题修复

  * **DeepSeek 页面宽度同步优化**：调整 `chat.deepseek.com` 页面宽度控制逻辑，将消息区与底部输入框统一到同一套 `--message-list-max-width` 宽度变量上，页面加宽时输入框现可与消息区保持一致。 ([#281](https://github.com/urzeye/ophel/issues/281))
  * **Claude 大纲与滚动导航失效**：兼容 Claude 新版聊天滚动容器结构，修复大纲提取为空，以及“去顶部 / 去底部 / 返回锚点”等基于滚动容器的导航功能失效问题。 ([#291](https://github.com/urzeye/ophel/issues/291))
  * **Gemini 公式复制右括号丢失**：修复 Gemini 页面双击复制 LaTeX 公式时，若公式最右侧是 `)` 会被误删的问题；导出链路不受影响，现已正确保留原始公式内容。 ([#292](https://github.com/urzeye/ophel/issues/292))
  * **Markdown 导出格式修复**：优化通用 `htmlToMarkdown()` 转换逻辑，修复 ChatGPT 等站点在导出/复制 Markdown 时，代码块语言标题与正文粘连、代码内容被压成单行，以及多级列表首层缩进丢失的问题。 ([#296](https://github.com/urzeye/ophel/issues/296))
</Update>

<Update label="v1.0.25">
  ### 🚀 新增功能

  * **Yuanbao 站点适配**：新增对 `yuanbao.tencent.com` 的首版兼容支持 ([#279](https://github.com/urzeye/ophel/issues/279))

  ### 🐛 问题修复

  * **设置弹窗输入防抢焦点**：将设置弹窗内输入控件的键盘事件捕获拦截改为所有站点通用，修复 Firefox 等环境下部分站点原生输入框会抢走“页面宽度控制”等设置项焦点的问题。
</Update>

<Update label="v1.0.24">
  ### 🚀 新增功能

  * **腾讯 ima 站点适配**：新增对 `ima.qq.com` 的首版兼容支持 ([#275](https://github.com/urzeye/ophel/issues/275))

  ### 🐛 问题修复

  * **QwenAI 国际版宽度调节**：修复 `chat.qwen.ai` 页面加宽与用户问题宽度设置不生效的问题，现已正确覆盖对话消息容器与用户气泡的限宽样式。
  * **DeepSeek 宽度控制**：修复 `chat.deepseek.com` 页面宽度控制与用户问题宽度设置不生效的问题，改为覆盖虚拟列表限宽变量与稳定的用户消息结构。 ([#281](https://github.com/urzeye/ophel/issues/281))
</Update>

<Update label="v1.0.23">
  ### 🚀 新增功能

  * **QwenAI 国际版适配**：新增对 `www.qianwen.com` 的首版兼容支持 ([#240](https://github.com/urzeye/ophel/issues/240))。

  ### 🐛 问题修复

  * **新会话快捷键兼容性**：修复 macOS 与部分站点上新建会话快捷键失效，及豆包误回退为整页刷新的问题。
  * **高级模型设置搜索国际化**：修复高级模型用量统计相关设置在全局搜索结果中标题未本地化的问题。
</Update>

<Update label="v1.0.22">
  ### ✨ 功能优化

  * **Userscript 外置资源发布优化**：将油猴脚本的样式、通知音与水印底图改为 hash 文件名的外置静态资源，通过独立的 `userscript-assets` 发布链分发，避免后续每个 GitHub Release 重复附带同一批资源文件。
  * **Tooltip 基础能力收敛**：抽取共享 tooltip core，统一 React 面板与站点注入场景的样式、定位、容器选择与隐藏时机，减少重复实现并降低后续维护成本。
  * **流式请求监控精度提升**：收窄 ChatGPT、Grok、Kimi 与 ChatGLM 的生成请求匹配条件，减少把普通网络请求误判为 AI 流式回复的情况。

  ### 🐛 问题修复

  * **Userscript 资源加载稳定性**：油猴脚本改为引用稳定的外置资源地址，减少脚本体积继续膨胀带来的发布风险，并为后续版本复用未变更资源提供兼容基础。
  * **Gemini My Stuff 油猴兼容性**：修复 Gemini「我的内容」页在油猴脚本环境下因 CSP / Trusted Types 限制导致“在新标签页中打开”悬浮按钮图标无法渲染的问题。
  * **Gemini My Stuff 悬浮态残留**：修复点击“在新标签页中打开”后返回原页面时，悬浮按钮与 tooltip 文案仍残留显示的问题。
  * **Gemini Usage 面板油猴兼容性**：修复高级模型 Usage 统计面板在 Gemini 页面油猴脚本环境下因 `innerHTML` 被 Trusted Types 拦截而持续报错的问题。
  * **Gemini 用户问题渲染油猴兼容性**：修复 Gemini 普通版用户问题 Markdown 渲染在油猴脚本环境下因 Trusted Types 拦截直接 `innerHTML` 赋值而报错的问题。
  * **Gemini Enterprise Shadow DOM 兼容性**：修复 Gemini Enterprise 用户问题 Markdown 预览在 Shadow DOM 场景下渲染失效，以及高级模型 Usage 统计面板挂载异常导致样式丢失、文字出现在输入区的问题。
  * **单行 Markdown 用户问题渲染**：放宽用户问题 Markdown 识别条件，支持单行引用、标题、列表、加粗、行内代码与链接内容正常触发渲染。
  * **ThemeManager 全局单例复用**：修复页面刷新时 `App` 与核心模块重复创建 `ThemeManager`，导致主题状态竞争以及控制台出现 `[App] Global ThemeManager not found, creating fallback instance` 告警的问题。
  * **Gemini 刷新误报完成通知**：修复 Gemini 普通版与 Gemini Enterprise 在页面刷新时，偶发误判“AI 已生成完成”并错误弹出完成通知、播放提示音的问题。
  * **ChatGPT 模型锁定兼容新版页面**：适配 ChatGPT 新版模型选择菜单，修复模型锁定时反复打开/关闭模型弹窗、旧模型名被误判为当前模型，以及标签页标题中的模型名称在新版页面下显示不稳定的问题。
  * **DeepSeek 深度思考导出与大纲提取**：修复 DeepSeek 开启深度思考时，大纲、复制 Markdown、导出 Markdown 误提取思维链内容的问题；导出结果现已受“导出包含思维链”设置控制。
  * **DeepSeek 分享会话导出**：修复 `chat.deepseek.com/share/*` 分享页导出时误提示“请先打开要导出的会话”的问题，支持直接识别分享会话并完成导出。
  * **DeepSeek 虚拟滚动大纲错序**：修复在 DeepSeek 长对话虚拟滚动场景下，当前可见 AI 回复标题偶发被排到对应用户提问之前，导致大纲顺序不合理的问题。
</Update>

<Update label="v1.0.21">
  ### 🚀 新增功能

  * **高级模型 Usage 统计与本地估算**：新增高级模型对话本地计数与预估面板，并在功能页提供历史 Usage 统计曲线，可按站点与小时、天、月查看次数或粗估 Tokens。 ([#103](https://github.com/urzeye/ophel/issues/103), [#256](https://github.com/urzeye/ophel/issues/256)) by @KanameMadoka520

  ### 🐛 问题修复

  * 修复油猴脚本由于名称变更导致无法加载的问题，回滚脚本名称
  * 修复 DeepSeek 虚拟滚动导致的大纲缺失与导出格式丢失问题
  * 修复 DeepSeek 删除后页面未刷新，以及豆包会话删除未同步到原网站的问题
  * 修复豆包“复制最新回复”无内容的问题，并将多站点“复制最新回复”统一升级为 Markdown 提取，尽量保留标题、加粗、表格、公式与代码块；兼容 DeepSeek / AI Studio 虚拟滚动与 Gemini Enterprise Shadow DOM 场景
</Update>

<Update label="v1.0.20">
  ### 🚀 新增功能

  * **Gemini MyStuff 新标签页打开**：在 Gemini「我的内容」页面为媒体卡片新增右上角“在新标签页中打开”入口，支持直接跳转回原始会话位置 ([#185](https://github.com/urzeye/ophel/issues/185))

  ### ✨ 功能优化

  * **快捷键跨平台兼容优化**：
    * 统一主修饰键与次修饰键的跨平台语义：Windows/Linux 使用 `Ctrl`、`Alt`，macOS 使用 `Command`、`Option`，提升多设备共用配置时的一致性。
    * 快捷键设置页与队列快捷键提示统一按物理按键归一化显示，macOS 下录入 `Option + 字母/数字/常用符号` 时不再因为系统特殊字符输入而出现异常展示。
    * 修复 macOS 下部分快捷键因 `Option` 参与输入特殊字符，导致保存为 `∂`、`†`、`¬` 等字符后显示异常或触发不稳定的问题。
    * 为本地已保存的旧快捷键配置增加兼容迁移，覆盖扩展启动、设置页 hydration、跨页面同步与整包设置替换等场景，减少历史用户升级后的重配成本。
</Update>

<Update label="v1.0.19">
  ### 🚀 新增功能

  * **通义千问 (Qianwen) 站点适配**：新增对 `www.qianwen.com` 的首版兼容支持 ([#189](https://github.com/urzeye/ophel/issues/189))
  * **提示词队列批量导入**：支持在提示词队列中一次性粘贴多条内容，按“逐行拆分”或“自定义分隔符”解析后批量入队，AI 空闲时会立即发送首条，其余内容自动排队接力发送。([#223](https://github.com/urzeye/ophel/issues/223))

  ### ✨ 功能优化

  * 完成提示增强：新增 3 组内置通知音预设，支持播放次数与播放间隔配置，并在用户回到页面时立即停止重复播放 ([#228](https://github.com/urzeye/ophel/issues/228))
  * 国际化文案补齐：完善德语、西班牙语、法语、日语、韩语、葡萄牙语、俄语的缺失与残留英文文案，统一多语言显示体验。

  ### 🐛 问题修复

  * 修复 DeepSeek 与 Z.ai 在部分长对话中去顶部、去底部、返回锚点、大纲滚动跟随与高亮状态不稳定的问题 ([#241](https://github.com/urzeye/ophel/issues/241))
  * 修复 Gemini 页面在后台时会反复将标签页标题重置为 `Google Gemini`，导致与自动重命名逻辑来回覆盖闪烁的问题。
  * 修复快捷键冲突提示在非中文语言下因空文案回退为中文“冲突”的问题。
  * 修复韩语快捷键列表缺少 `shortcutShowShortcuts` 文案的问题。
  * 修复西班牙语面板标题残留旧品牌名 `Gemini Helper` 的问题。
</Update>

<Update label="v1.0.18">
  ### 🚀 新增功能

  * **Z.ai 站点适配**：新增对 `chat.z.ai` 的首版兼容支持 ([#218](https://github.com/urzeye/ophel/issues/218))

  ### ✨ 功能优化

  * 暂时隐藏“手动锚点”设置与快捷按钮，减少用户困扰
  * 优化Gemini、AI Studio在启用页面加宽后的markdown表格渲染样式
  * Popup 站点支持列表与适配器对齐，快速访问展示全部已支持站点

  ### 🐛 问题修复

  * 当开启用户问题markdown渲染功能时，限制用户提问中图片尺寸 ([#224](https://github.com/urzeye/ophel/issues/224)) by @tjsky
  * 修复悬浮工具栏拖动到屏幕边缘后，窗口缩放导致工具栏被挤出可视区域而消失的问题 ([#221](https://github.com/urzeye/ophel/issues/221))
  * 修复 Grok 会话同步误将命令面板 Actions 项当作会话的问题
  * 修复 Grok 置顶识别逻辑，避免同步后出现全部置顶/取消置顶异常
</Update>

<Update label="v1.0.17">
  ### 🚀 新增功能

  * **ChatGLM 站点适配**：新增对 `chatglm.cn` 的首版兼容支持。

  ### ✨ 功能优化

  * 国际化优化：“收件箱”国际化适配
</Update>

<Update label="v1.0.16">
  ### 🚀 新增功能

  * **Kimi 站点适配（首版）**：新增对 `www.kimi.com` 的完整站点接入

  ### ✨ 功能优化

  ### 🐛 问题修复
</Update>

<Update label="v1.0.15">
  ### 🚀 新增功能

  * **全局搜索快捷键支持自定义**：新增 `openGlobalSearch` 可配置动作，默认键位为 `Ctrl+K`（Mac 显示为 `⌘K`），可在「快捷键位 -> 交互控制」中修改或移除。
  * **全局搜索设置直达快捷键**：在「全局搜索 -> 搜索匹配」新增“全局搜索快捷键”设置项，可一键跳转到快捷键设置并高亮定位对应键位行。
  * **DeepSeek 站点适配**：新增对 `chat.deepseek.com` 的首版兼容支持。

  ### ✨ 功能优化

  * **触发提示改为动态配置**：全局搜索页面顶部触发说明由固定文案改为动态拼装，实时反映当前用户配置（双击 Shift / 自定义键位）。
  * **删除快捷键场景兼容**：当用户移除全局搜索快捷键后，触发说明会自动降级展示可用触发方式；若全部关闭，显示“未设置”。
  * **会话同步结果诊断增强**：会话手动同步后新增“扫描/新增/更新”结果提示；当侧边栏未检测到会话时提供明确引导；并修正更新统计口径与元数据回填写入逻辑。by @joevalleyfield
  * **DeepSeek 会话同步增强**：补齐会话重命名同步、链接与 CID 回写更新，并新增置顶会话识别，支持区分置顶/普通会话分组。
  * **DeepSeek 生成状态监控**：接入 DeepSeek 流式生成请求监控，生成开始/结束状态更及时，标签页状态与完成通知链路更准确。

  ### 🌍 国际化

  * **10 语言文案补齐**：补齐并同步 `globalSearchTriggerHint` 模板化文案、`globalSearchTriggerDoubleShift`、以及“全局搜索快捷键”跳转项（标题/描述/按钮）的 10 种语言键值。

  ### 🐛 问题修复

  * **设置搜索漏项补齐**：补齐“快捷键位”“全局搜索”“会话同步删除”等此前无法被设置搜索命中的配置项，支持按名称与关键词定位。
  * **快捷键设置检索稳定性**：快捷键条目索引改为基于元数据动态生成，后续新增/调整快捷键时无需手动维护搜索索引，降低漏配风险。
  * **DeepSeek 发送按钮误判**：修复发送按钮定位错误命中附件按钮的问题，并增加按发送快捷键模拟 `Enter` / `Ctrl+Enter` 的兜底发送逻辑，提升兼容性。
  * **ChatGPT Projects 导出失败**：修复在 `Projects` 会话中执行“导出 Markdown / 复制 Markdown”时，因项目内会话未同步到本地索引而报 `Conversation not found` 的问题。现在会从当前页面即时补齐会话元数据后再导出。
</Update>

<Update label="v1.0.14">
  ### 🚀 新增功能

  * **豆包 (Doubao) 兼容适配**：Ophel 现已全面兼容字节跳动旗下 AI 助手“豆包”。

  ### 🐛 问题修复

  * **备份恢复数据丢失**：修复了恢复备份后，已打开的 AI 页面因内存中保留旧数据而将刚恢复的备份覆盖为空的问题。现在恢复成功后会自动通知所有打开的 AI 页面刷新，并跳过首次自动同步，确保还原后的数据保持干净。
  * **备份导出/导入数据结构错误**：修复了导出时丢失会话的 `lastUsedFolderId`（上次使用的文件夹）等辅助属性，以及导入时因判断条件错误导致包含 2 条以上会话的备份无法正确还原的问题。
  * **阅读历史恢复结构兼容修复**：修复了 `readingHistory` 在本地导入与 WebDAV 恢复时被错误包装为 `{ readingHistory: ... }` 的问题。现已按 `{ history, lastCleanupRun }` 正确还原，避免阅读历史丢失。
  * **WebDAV 恢复状态回写修复**：修复了下载恢复成功后 `lastSyncStatus` 仍停留在 `syncing` 的问题。现在恢复成功会正确写回 `lastSyncTime` 与 `lastSyncStatus: success`。
  * **Gemini 跨浏览器导入会话不可见**：将 Gemini 会话隔离标识从数字 `cid`（`/u/n`）升级为账号邮箱优先，并在插件升级后首次打开 Gemini 时自动迁移旧数据（数字 `cid` -> 邮箱 `cid`），兼容 `u/0` 导入到 `u/1` 等跨浏览器场景，避免会话/文件夹/标签导入后“看不见”。
  * **导入备份模块加载异常**：修复了本地导入与 WebDAV 恢复链路中动态导入校验模块导致的 `Cannot find module` 报错，改为静态导入，恢复流程在打包产物下稳定可用。
  * **导入失败排查能力**：补充导入解析失败与写入失败的明确控制台错误日志，并在 Toast 中展示真实错误信息，便于快速定位问题。
  * **导入确认弹窗与多语言文案补齐**：优化导入确认弹窗中的“备份时间/类型”信息展示样式；新增并补齐 10 种语言的 `类型` 与 `已打开的 AI 页面将被刷新` 文案键值，避免多语言场景文案缺失。
</Update>

<Update label="v1.0.13">
  ### 🚀 新增功能

  * **禅模式 (Zen Mode)**：新增禅模式设置，隐藏页面中不必要的元素（如底部的模型免责声明等），为您提供更纯粹的对话界面体验。

  ### 🐛 问题修复

  * **Gemini Enterprise 提示词队列修复**：修复了 Gemini Enterprise 页面改版后，通过提示词队列发送提示词时，提示词未能插入到原网页输入框、误触语音按钮导致"未能识别您的语音内容"错误的问题。
    * 修复全局 Enter 键捕获监听器拦截队列输入框的 Enter 事件，导致跳过内容插入直接触发提交的问题。
    * 修复 `findTextarea()` 错误地匹配到扩展自身的队列输入框（`gh-queue-input`），而非 Gemini Enterprise 的 ProseMirror 编辑器的问题。
    * 修复提交按钮选择器缺少"发送"标签，导致无法匹配改版后的发送按钮的问题。
    * 修复发送确认逻辑因编辑器占位文字"接着提问"误判内容未清空，导致确认超时并重复发送的问题。
  * **WebDAV 备份显示修复**：修复了在非坚果云 WebDAV 服务器（如 Nextcloud、群晖、阿里云盘 WebDAV 等）下因解析 XML 命名空间前缀失败导致备份列表无法显示的问题。
</Update>

<Update label="v1.0.12">
  ### 🚀 新增功能

  * **提示词队列 (Prompt Queue)**：全新的连贯交互体验，让你在 AI 正在生成内容时不会被打断思路。

    * **智能排队机制**：通过悬浮窗输入提示词时，若 AI 处于空闲即立刻发送；若 AI 正在生成，则自动置入悬浮队列，待 AI 再次空闲后按序接力发送。
    * **沉浸式悬浮窗 (Ghost UI)**：悬浮贴靠在原生输入框上方，提供队列总览。不仅支持外部唤起，双击 Prompts 面板时也会自动利用此排队机制。
    * **完善的管理操作**：支持对队列进行一键清空、删除、插队发送（强制发送），并在未发送前悬浮展示“编辑”按钮以支持多行长文案的行内修改。
    * **高度可定制与自适应**：支持全局自定义唤起快捷键（默认 `Alt+J`）；悬浮输入框可根据你输入的内容无缝自适应撑宽与拉长；底部提示关闭引导。
    * **基础架构深度集成**：全局搜索（Double Shift）已完整纳入“提示词队列”设置项，搜索、多语言翻译同步适配到位。

  * **提示词变量高级用法**：新增提示词变量的默认值与下拉选择语法支持。

    * `{{变量:默认值}}`：变量弹窗打开时自动预填默认值，快速确认即可使用。
    * `{{变量:选项1|选项2|选项3}}`：变量弹窗中以下拉选择器呈现，精准选择预设选项。
    * 与基础变量 `{{变量}}` 完全向后兼容，无需修改已有提示词。

  ### 🐛 问题修复

  * **提示词变量支持多语言**：修复了提示词变量（`{{变量名}}`）仅支持英文字母和数字的问题，现在已完美支持中文、日文、韩文、俄文等所有语言及特殊字符。
  * **Gemini Enterprise 主题切换**：修复了由于 Gemini Enterprise 页面改版导致页面内“设置和帮助”按钮无法点击，进而导致主题跟随系统切换失效的问题。
</Update>

<Update label="v1.0.11">
  ### 新增功能

  * 导出设置新增 `导出包含思维链` 开关（默认开启），支持按需包含或排除思维链内容。
  * 新增导出生命周期能力：站点适配器可实现导出前准备与导出后恢复，为后续跨站点导出增强提供统一扩展点。

  ### 功能优化

  * Gemini（普通版）导出支持自动展开会话内思维链，并在导出完成后恢复原折叠状态与阅读位置。
  * Gemini（普通版）思维链导出改为 Markdown 引用块（`>`）呈现，与正文明确分区且避免重复内容。
  * 全局搜索中的设置检索改为始终使用完整设置集参与评分，提升多语言界面下设置标题命中率。
  * 全局搜索补充 `export-include-thoughts` 设置项索引与标题映射，支持按设置名与关键词直接定位。
  * 会话列表信息密度优化：标题与标签改为同一行展示，避免无标签会话出现第二行空白占位。
  * 会话列表移除更新时间展示：不再单独占用一行显示时间，将可视空间优先让给标题与标签信息。
  * 多标签折叠增强：当标签超出可显示数量时继续显示 `+N`，并支持悬浮查看完整标签列表（含标签颜色与名称）。
  * 窄面板适配优化：在较窄宽度下自动收紧标签展示策略，保证标题可读性并降低信息拥挤感。
  * 会话操作入口优化：右侧操作按钮采用更轻量的悬浮显隐交互，减少默认状态下对主信息的干扰。

  ### 问题修复

  * Gemini（普通版）大纲抽取过滤 `cdk-visually-hidden` 辅助标题，修复“Gemini says / Gemini 说”等语言相关隐藏标题误入大纲的问题。
  * Gemini（普通版）导出 Markdown 前会清理 `cdk-visually-hidden` 节点，避免辅助隐藏标题被导出到结果文件中。
  * 补齐 `导出包含思维链` 相关文案的 10 语言键值，修复非中英文环境下该设置文案缺失问题。
</Update>

<Update label="v1.0.10">
  ### 新增功能

  * 会话管理新增“云端同步删除”能力，支持在会话 Tab 批量触发后同步删除站点云端会话。
  * 设置页同步删除文案与能力描述统一为跨站点模型，便于后续扩展更多站点。
  * 允许关闭double shift全局搜索快捷键。

  ### 功能优化

  * ChatGPT 同步删除链路精简并标准化原因码，减少冗余逻辑与调试分支。
  * Claude 组织 ID 解析改为按运行环境分流，并保留 API 兜底，提高插件与脚本环境兼容性。
  * Grok 新增 API/UI 双通道删除策略，云端同步开启时删除后自动刷新页面以保持列表一致。

  ### 问题修复

  * 修复会话批量删除统计中远端失败计数不准确的问题。
  * 修复 Gemini / Gemini Enterprise UI 删除流程稳定性问题，覆盖菜单触发、删除点击与完成态判定。
  * 修复 Gemini Enterprise 云端删除成功后本地会话未及时移除的问题。
  * 修复 AI Studio 云端删除 API 不稳定导致的回滚问题，改为稳定的 UI 删除路径。
</Update>

<Update label="v1.0.9">
  ### 🚀 新增功能

  ### ✨ 功能优化

  * 创建/编辑提示词弹窗禁止点击遮罩关闭，保留按钮关闭与 `Esc` 关闭，避免文本选中后在弹窗外释放鼠标导致误关闭。
  * 分类管理弹窗与“修改分类名称”输入弹窗统一为禁止遮罩关闭，交互行为保持一致。
  * `ConfirmDialog` 与 `InputDialog` 新增 `closeOnOverlayClick` 配置项，可按场景控制是否允许点击遮罩关闭。
  * `VariableInputDialog` 接入通用 `DialogOverlay`，统一 Portal、键盘关闭与遮罩交互行为。
  * 修复多层弹窗的 `Esc` 关闭顺序，改为始终优先关闭当前最上层弹窗。
  * 全局搜索结果区重构为“上下文条 + 非悬浮分组标题”，在键盘上下导航时保持主内容完整可见，不再被分组标题遮挡。
  * 全局搜索键盘导航滚动策略升级为“安全区滚动”，高亮项会稳定停留在可视安全范围，减少边缘抖动与跳动感。
  * 全局搜索补充 `combobox / listbox / option` ARIA 语义与 `aria-activedescendant` 联动，提升键盘与读屏可访问性体验。
  * 全局搜索右上角快捷键标签统一为 `⌨ Ctrl+K / double shift`，同时在搜索输入框占位符加入 `Ctrl+K` 弱提示，提升快捷键可发现性。
  * 新增“情境提醒”轻提示：用户通过 UI 打开全局搜索时，提示“下次可按快捷键快速打开”，并支持关闭与“不再提示”。
  * 情境提醒加入频控与自动收敛策略：每日最多提示一次、总次数上限、自动消失、快捷键使用达到阈值后自动停止提醒。
  * 全局搜索上下文元信息文案改为语义化表达（如“第 X 项 · 已显示 Y/Z”），降低新用户理解成本。
  * 优化全局搜索结果区滚动体验：修复横向溢出并美化纵向滚动条样式，提升视觉一致性。
  * 全局搜索补全命中原因标签：会话（标题/文件夹/标签）、大纲（标题/类型/编号）、提示词（标题/分类/内容/ID）、设置（名称/关键词/ID/别名）。
  * 全局搜索排序策略增强：按「精确命中 > 前缀命中 > 包含命中 > 综合分 > 最近使用」排序，降低误点并提升首屏相关性。
  * 提示词在“内容命中”时新增一行命中片段预览，并显示前缀“内容命中：”，支持关键词高亮。
  * 修复新增命中原因文案在多语言中的乱码问题，统一 10 种语言文案可读性。
  * 全局搜索新增“模糊搜索”能力（可选开关），支持拼写容错兜底匹配，并在结果中标记“模糊命中”。
  * 模糊命中结果新增差异化高亮样式（与精确命中区分），降低误判成本。
  * 全局搜索“模糊搜索”默认改为关闭，用户可在「设置 -> 全局搜索」按需开启。

  ### 🐛 问题修复

  * **Gemini 去水印（普通版）**：修复复制/下载链路在部分场景下仍拿到带水印或非完整尺寸图片的问题；统一为优先获取完整尺寸无水印结果，并在 fullsize 不可用时对复制流程安全降级，避免操作报错。
  * **Gemini 去水印兼容性**：优化扩展与油猴脚本的拦截策略（主世界 `fetch` 与 Userscript `unsafeWindow.fetch` 协同），清理调试残留逻辑，提升稳定性与一致性。
  * 在面板自动隐藏与 Portal 活跃检测中加入 `.gh-dialog-overlay` 识别，避免 Tampermonkey 环境下弹窗打开时面板被误判收起。
  * 修复全局搜索使用 `ArrowUp` 导航时，悬浮分组标题遮挡当前高亮结果项的问题。
  * 修复全局搜索结果区在特定宽度下出现横向滚动条的问题。
</Update>

<Update label="v1.0.8">
  ### 🚀 新增功能

  * 新增 Search Everywhere 全局搜索弹窗，支持双击 Shift / Ctrl(Cmd)+K 触发，覆盖分类：全部、大纲、会话、提示词、设置。
  * 设置页新增「站点配置 -> 全局搜索」配置页，可配置提示词 Enter 行为（智能/仅定位），并支持触发方式说明。
  * 快捷按钮组新增「搜索」按钮（默认开启），位于工具箱按钮下方，可一键打开全局搜索。
  * 支持设置项深链定位（页面 + 子 Tab + 行高亮），可精准跳转到具体设置项。

  ![search](https://github.com/user-attachments/assets/4e004b47-98de-4d14-a3d7-60993ed85b1f)

  ### 🎨 UI & 交互升级

  * 全局搜索分类栏与结果区布局优化，支持分类计数、All 分组限流与“查看更多”。
  * 搜索结果统一命中高亮样式；会话结果元信息单行化（站点/文件夹/标签）。
  * 大纲结果增强用户问题与 AI 回复层级区分，提升可读性。
  * 优化滚轮快速滚动时的 hover 高亮跳动问题（短暂锁定 hover）。

  ### 🐛 问题修复

  * 修复搜索结果分类高度异常、键盘上下导航不跟随滚动到可视区域的问题。
  * 修复多语言下全局搜索文案与分类显示不一致的问题。
  * 修复会话切换或大纲延迟加载后，全局搜索结果未及时刷新的问题。
  * 修复提示词搜索回车行为在不同场景下反馈不一致的问题（无变量直接插入，含变量打开填写弹窗）。
  * 修复会话文件夹名称 emoji 重复显示与下拉文本对齐问题，并抽离通用 `SelectDropdown` 组件用于统一下拉样式。

  ### 🌍 国际化

  * 补齐全局搜索相关新增文案在 10 种语言中的键值，包括分类、空态、提示词行为、站点名称与页内提示。
</Update>

<Update label="v1.0.7">
  ### 🚀 新增功能

  * 新增「设置 -> 功能模块 -> 提示词 Tab」配置项：`双击提示词直接发送`（默认关闭）,开启后，双击提示词可直接发送；含变量的提示词在变量确认后自动发送
  * 支持自定义配置发送快捷键（Enter / Ctrl+Enter） [#59](https://github.com/urzeye/ophel/issues/59)

  ### 🎨 UI & 交互升级

  * **大纲视觉重构 (Focus Card)**：
    * **卡片式设计**：彻底重构了“用户提问”在大纲中的展示样式，采用精致的卡片风格（Focus Card），使其在众多标题中脱颖而出。
    * **视觉锚点**：新增左侧悬浮的“胶囊指示器”（Pill Indicator），为长列表提供清晰的视觉节奏感。
    * **交互反馈**：移除了旧版高亮时的右侧竖条，改为更符合卡片隐喻的**边框变色与微光晕**效果，在同步滚动（Sync）和手动定位（Locate）时提供沉浸式反馈。
    * **夜间模式适配**：所有卡片颜色、阴影与高亮效果均实现了主题自适应，完美支持深色/黑色模式，告别刺眼白底。

  ### 🐛 问题修复

  * **大纲高亮修正**：修复了 AI 回复标题在手动定位（Locate）模式下右侧边框显示为直角（由同步样式覆盖导致）的视觉 Bug，现在所有高亮状态均保持完美的圆角矩形。
  * **主题样式优化**：
    * **深色模式升级**：优化了 Classic Dark、Aurora、Cyberpunk 等深色主题的品牌渐变色，降低亮度以减少眩光，提升阅读舒适度。
    * **按钮视觉统一**：重构“添加提示词”按钮样式，使其与底部导航按钮风格保持一致（Header 背景色 + 悬浮阴影），实现 UI 语言的高度统一。
    * **对比度修复**：修正深色模式下的文字对比度，确保底部导航按钮等元素清晰可见。
    * **导出文件名优化**：将导出的时间戳格式从 `YYYYMMDD_HHmmss` 优化为更易读的 `YYYY-MM-DD_HH-mm-ss`，方便文件管理与归档。

  ### 📜 协议与文档

  * **开源协议切换**：项目许可证从 `CC BY-NC-SA 4.0` 迁移为 `GNU GPLv3`，并将 `package.json` 的 SPDX 标识更新为 `GPL-3.0-only`。
  * **许可证正文更新**：`LICENSE` 文件替换为 GPLv3 官方文本，并补充版权署名信息。
  * **多语言文档同步**：主 README 与 `.github/readmes` 下多语言 README 统一更新许可证徽章与协议说明。
  * **授权说明清理**：移除 README 中“商业授权联系”相关文案，避免与 GPL 条款产生歧义。
</Update>

<Update label="v1.0.6">
  ### 🚀 新增功能

  * **系统主题模式**：新增跟随系统主题，面板与网页主题保持同步（含 Gemini Enterprise 的系统主题检测与切换）。
  * **系统切换动画**：手动切换到系统模式时，提供一致的主题切换动画体验。
  * **新增快捷工具箱**: 在按钮组操作的新增入口，提升部分操作的便捷性
  * **工具箱自定义**：新增工具箱菜单配置功能，用户可自由定制工具箱中显示的按钮。
  * **自动全量同步**：改为按当前站点/团队的数据是否为空触发，避免被其它站点历史数据误阻止。
  * **全量同步稳定性**：增加侧边栏就绪等待与多轮滚动同步，提高懒加载场景的完整性。
  * **快捷按钮透明度**：新增快捷按钮组整体透明度调节（40% - 100%），降低遮挡感。
  * **快捷按钮拖拽交互**：长按显示进度提示，拖拽触发更清晰；拖动位置不再持久化，切换面板位置会重置。
  * **导出增强**：支持自定义导出文件名（自动添加站点前缀）、Markdown 内容首行增加 H1 标题，并支持可选的文件名时间戳后缀。

  ### 🐛 问题修复

  * **Grok 手动同步**：修复关闭“查看全部”弹窗时触发快捷键报错的问题。
  * **多语言同步**：同步并补全了德语、西班牙语、法语、日语、韩语、葡萄牙语、俄语的缺失翻译键值。
  * **代码质量**：修复了导出模块中的类型定义问题。

  ### 🔧 功能优化

  * **配置体验**：将工具箱设置移至"基本设置"页面，支持通过工具箱内的"设置"按钮直接唤起配置弹窗，无需跳转新标签页。
  * **国际化**：工具箱菜单及其配置项全面支持 10 种语言显示。
  * **导出文案**：将"导出"按钮文案优化为"导出 Markdown"（Export Markdown），表意更精准。
  * **设置优化**：优化了导出设置的 UI 交互，移动图片转 Base64 选项到底部，优化输入框体验。
</Update>

<Update label="v1.0.5">
  ### 🚀 新增功能

  * **大纲字数统计**：
    * **回复字数**：在大纲面板中，每个用户提问会显示对应 AI 回复的字数（如 `1.2k`、`3.5k`），方便评估回复内容量。
    * **标题字数**：每个标题节点也会显示其下属内容的字数，辅助内容结构分析。
    * **思维链排除**：自动排除 AI 的"思考过程"（Thinking/Reasoning）内容，仅统计实际回复字数。
    * **可选开关**：设置面板新增"显示字数统计"选项，默认开启，可按需关闭。
    * **格式优化**：超长数字自动格式化（1000 → 1k），保持界面简洁。

  ### 🔧 功能优化

  * **AI Studio 虚拟滚动兼容**：为 AI Studio 添加字数缓存机制，解决虚拟滚动导致的字数丢失问题。
  * **大纲高亮流程重构**：改为数据驱动流程，提高一致性与可维护性。
  * **跟随模式优化**：仅在跟随模式下启用滚动高亮观察器，减少无效监听。
  * **滚动跟踪稳定性**：提升高亮可见性与滚动跟踪稳定性。
  * **开发体验**：降低 hooks 与日志相关的 lint 噪音。
  * **设置禁用提示**：依赖项未开启时点击会提示需先开启对应前置设置，并加入提示节流避免频繁弹出。
  * **快捷按钮组优化**：优化按钮分组与分隔逻辑，锚点提示支持本地化；手动锚点按钮默认关闭。
  * **快捷按钮位置同步**：面板默认位置切换为左侧时，快捷按钮组同步移动到左侧。

  ### 🐛 问题修复

  * **TypeScript 类型检查**：修复 `catch` 中错误变量丢失导致的 `pnpm typecheck` 失败问题。
  * **Markdown 导出**：修复导出文件与复制到剪贴板时 Markdown 结构丢失的问题（标题/列表/代码块等恢复）。
  * **Markdown 导出**：修复 Emoji 乱码的问题（使用 Unicode codepoint + UTF-8 BOM 确保编码正确）。
  * **大纲滚动跟踪**：修复部分场景下滚动跟踪不稳定的问题。
  * **大纲导航提示**：超长文本会清理空白并截断显示，避免提示溢出。

  ### ⚠️ 已知限制

  * **Gemini Enterprise**：由于 Shadow DOM 限制，新回复需刷新页面才能正确显示字数。
</Update>

<Update label="v1.0.4">
  ### 🚀 新增功能

  * **大纲收藏系统 (Favorites)**：

    * **收藏功能**：支持对任意大纲节点进行收藏（点击节点右侧星号），重要内容触手可及。
    * **过滤模式**：工具栏新增“收藏模式”开关，开启后仅显示收藏内容及其上下文。
    * **智能上下文**：收藏模式下会自动展开收藏节点的路径，并智能隐藏无关节点，保持视图清爽。

  * **页面内收藏 (Inline Bookmarks)**：

    * **即时收藏**：在页面正文的用户问题和 AI 回复标题旁直接显示收藏图标，无需打开侧边栏即可快速收藏。
    * **状态同步**：页面内收藏操作与大纲面板完全同步，实心黄色星星表示已收藏。
    * **智能显隐**：未收藏时图标半透明显示，鼠标悬浮时高亮，减少视觉干扰。

  * **全局自定义 Tooltip 系统**：

    * **Premium 视觉**：引入统一的深色半透明拟态风格 Tooltip，替代原生浏览器提示，视觉效果更精致稳定。
    * **智能交互**：优化了大纲项操作按钮的 Tooltip 触发逻辑，支持进入子按钮时自动切换提示，并解决了嵌套触发导致的布局跳动。
    * **环境兼容**：解决了对话框（Portaled Dialogs）在 Shadow DOM 环境下的样式丢失问题。

  * **UI 视觉升级**：

    * **图标优化**：重绘了工具栏和列表中的图标，使用更饱满锐利的圆角风格，提升精致度。
    * **布局优化**：优化了操作图标（复制、收藏）的布局和渐变遮罩，防止长文本遮挡。
    * **搜索框高亮**：统一了提示词与大纲搜索框的聚焦（Focus）样式，使用主题蓝色替代浏览器默认黑色边框，交互感更强。

  * **大纲快捷键增强**：

    * 新增 `Alt + C`：快速切换大纲收藏模式。
    * 新增 `Alt + Shift + 4/5/6`：支持一键展开大纲至更深层级（4-6 级）。
    * 新增 `Alt + Shift + Q`：一键仅显示用户问题（自动开启显示并重置展开层级）。

  * **面板宽度自定义**：新增面板宽度设置选项，支持在 200px 至 600px 之间自由调整面板宽度。

  * **面板吸附优化**：改进边缘吸附（Edge Snap）的隐藏逻辑，吸附后始终保持 10px 的露出宽度，不再受面板宽度影响。

  ### 🔧 功能优化

  * **全语言文案优化**：将原本含义模糊的“切换面板” (Toggle Panel) 在所有 10 种语言中统一优化为“展开/收起面板” (Expand/Collapse Panel)，交互意图更明确。

  * **Tooltip 性能**：优化了 Tooltip 组件的测量与定位算法，支持 `disabled` Prop 动态禁用。

  * **文本截断**：统一了所有站点适配器的大纲文本截断逻辑为 200 字符，并移除了硬编码的 "..." 后缀，交由 CSS 处理省略号。

  * **全节点复制**：增强了复制功能，支持对所有大纲节点（包括普通标题和用户提问）进行全文复制，并智能提取完整文本。

  * **配置体验升级**：

    * 引入 `NumberInput` 组件，彻底解决设置页输入框在中文输入法下的冲突及焦点丢失问题。
    * 调整面板默认高度为 85vh，提供更舒适的视觉体验。
    * 扩大面板默认边距的可调范围至 0-400px。
    * 优化吸附触发阈值默认值为 18px，减少误操作。

  * **面板交互**：优化了面板在“边缘吸附”模式下的点击外部行为。现在点击外部区域会使面板缩回边缘（Retract to Edge），而不是最小化为悬浮球。

  * **设置文案**：设置页中的"点击外部自动隐藏"描述现在会根据吸附状态动态更新，提供更准确的交互反馈。

  * **锚点状态统一**：重构锚点管理机制，使用全局 `anchorStore` 替代分散在各组件中的独立状态，解决面板按钮、快捷键、QuickButtons 之间锚点不同步的问题。

  ### 🐛 问题修复

  * **UI 修复**：修复了提示词搜索框缺失类名导致的聚焦样式失效问题。
  * **大纲跟随**：增强滚动容器检测机制，修复部分站点下大纲无法正确跟随阅读进度的问题 by @urzeye
  * **Markdown 修复**：解决流式输出场景下 Markdown 渲染修复功能的兼容性问题 by @urzeye
  * **设置同步**：修复设置页输入值在编辑过程中可能被后台同步意外覆盖的问题 by @urzeye
  * **位置同步**：修复了在吸附状态下切换面板默认位置时，吸附状态丢失或未正确跟随的问题。
  * **初始化状态**：修复了在开启边缘吸附时，页面刷新后面板未能正确保持吸附状态的问题。
  * **大纲导航**：修复了使用 `Alt + ↑/↓` 快捷键导航标题时，连续按键可能卡在同一项或跳转不准确的问题。现在通过"视口距离检查"自动区分连续导航和用户手动滚动。
  * **AI Studio 书签修复**：
    * **Side-Channel Hydration**：解决了 AI Studio 因虚拟滚动/懒加载导致无法获取用户提问文本，进而导致大纲标题为空或丢失的问题。现在通过侧边栏 (`ms-prompt-scrollbar`) 智能回填文本。
</Update>

<Update label="v1.0.3">
  ### 🚀 新增功能

  * **ChatGPT Markdown 修复**：新增 ChatGPT 加粗文本渲染修复功能，解决 Markdown `**加粗**` 未正确渲染的问题 by @urzeye

  ### 🐛 问题修复

  * support gemini multi-account `/u/<n>` URLs (keep single-user `/app` style) / 支持 gemini 多账户 `/u/<n>` URL（保留单用户 `/app` 风格） [#16](https://github.com/urzeye/ophel/issues/16) by @lanvent
  * **ChatGPT 登录问题**：修复了 ChatGPT 无法正常登录的问题 by @urzeye
  * **Release 工作流**：修复了 GitHub Release 中 Full Changelog 比较链接缺少上一个版本号的问题 by @urzeye

  ### 🔧 功能优化

  * **适配器重构**：将 Markdown 修复配置迁移到适配器模式，提升代码可维护性 by @urzeye
</Update>

<Update label="v1.0.1">
  ### 🚀 新增功能

  * **油猴脚本兼容**：提供 Tampermonkey/GreaseMonkey 脚本的完整构建支持，扩展了浏览器扩展之外的使用方式。
  * **多语言文档**：发布并同步了 8 种额外语言（日语、韩语、繁体中文、德语、法语、西班牙语、葡萄牙语、俄语）的详细 README 文档。
  * **工程化**：添加 Pull Request 模板以规范社区贡献。

  ### 🐛 问题修复

  * **CI/CD**：优化了文档构建工作流，避免在仅更新 `docs` 目录下的 README 文件时触发不必要的构建。
  * **文档**：修复了多语言文档中缺失的“演示”、“本地构建”和“Star History”章节。
</Update>

<Update label="v1.0.0">
  ### 🎉 首次发布

  这是 Ophel 的第一个正式版本，为 Gemini、ChatGPT、Claude、Grok 和 AI Studio 提供全方位的增强体验。

  ### ✨ 核心功能

  #### 智能大纲导航

  * 自动解析 AI 回复内容，生成可点击的目录大纲
  * 支持多级标题层级结构
  * 快速定位到指定内容位置

  #### 会话管理

  * 按文件夹整理对话
  * 批量操作会话
  * 会话搜索与定位
  * 同步原生侧边栏置顶状态

  #### 提示词库

  * 内置丰富的提示词模板
  * 支持自定义创建和编辑
  * 分组管理与快速搜索
  * 一键填充到输入框

  #### 快捷键系统

  * 提供丰富的键盘快捷键
  * 支持自定义按键绑定
  * 覆盖常用操作场景

  #### 主题与外观

  * 20+ 精心设计的主题
  * 区分浅色/深色模式主题
  * 支持自定义页面宽度

  #### 阅读记录恢复

  * 自动保存阅读位置
  * 重新打开时恢复上次阅读进度
  * 智能区分新内容

  #### WebDAV 同步

  * 支持同步设置到个人 WebDAV 服务器
  * 多设备配置共享
  * 完全自主掌控数据

  ### 🌐 平台支持

  * **Gemini** - 完整功能支持
  * **Gemini Business** - 完整功能支持
  * **ChatGPT** - 完整功能支持
  * **Claude** - 完整功能支持
  * **Grok** - 完整功能支持
  * **AI Studio** - 完整功能支持

  ### 🌍 多语言支持

  * 简体中文
  * 繁体中文
  * English
  * Deutsch
  * Español
  * Français
  * 日本語
  * 한국어
  * Português
  * Русский

  ### 🔒 隐私保护

  * 所有数据本地存储
  * 无远程数据收集
  * 无第三方跟踪
  * 开源透明

  [1.1.8]: https://github.com/urzeye/ophel/releases/tag/v1.1.8

  [1.1.7]: https://github.com/urzeye/ophel/releases/tag/v1.1.7

  [1.1.6]: https://github.com/urzeye/ophel/releases/tag/v1.1.6

  [1.1.5]: https://github.com/urzeye/ophel/releases/tag/v1.1.5

  [1.1.4]: https://github.com/urzeye/ophel/releases/tag/v1.1.4

  [1.1.3]: https://github.com/urzeye/ophel/releases/tag/v1.1.3

  [1.1.2]: https://github.com/urzeye/ophel/releases/tag/v1.1.2

  [1.1.1]: https://github.com/urzeye/ophel/releases/tag/v1.1.1

  [1.1.0]: https://github.com/urzeye/ophel/releases/tag/v1.1.0

  [1.0.60]: https://github.com/urzeye/ophel/releases/tag/v1.0.60

  [1.0.59]: https://github.com/urzeye/ophel/releases/tag/v1.0.59

  [1.0.58]: https://github.com/urzeye/ophel/releases/tag/v1.0.58

  [1.0.57]: https://github.com/urzeye/ophel/releases/tag/v1.0.57

  [1.0.56]: https://github.com/urzeye/ophel/releases/tag/v1.0.56

  [1.0.55]: https://github.com/urzeye/ophel/releases/tag/v1.0.55

  [1.0.54]: https://github.com/urzeye/ophel/releases/tag/v1.0.54

  [1.0.53]: https://github.com/urzeye/ophel/releases/tag/v1.0.53

  [1.0.52]: https://github.com/urzeye/ophel/releases/tag/v1.0.52

  [1.0.51]: https://github.com/urzeye/ophel/releases/tag/v1.0.51

  [1.0.50]: https://github.com/urzeye/ophel/releases/tag/v1.0.50

  [1.0.49]: https://github.com/urzeye/ophel/releases/tag/v1.0.49

  [1.0.48]: https://github.com/urzeye/ophel/releases/tag/v1.0.48

  [1.0.47]: https://github.com/urzeye/ophel/releases/tag/v1.0.47

  [1.0.46]: https://github.com/urzeye/ophel/releases/tag/v1.0.46

  [1.0.45]: https://github.com/urzeye/ophel/releases/tag/v1.0.45

  [1.0.44]: https://github.com/urzeye/ophel/releases/tag/v1.0.44

  [1.0.43]: https://github.com/urzeye/ophel/releases/tag/v1.0.43

  [1.0.42]: https://github.com/urzeye/ophel/releases/tag/v1.0.42

  [1.0.41]: https://github.com/urzeye/ophel/releases/tag/v1.0.41

  [1.0.40]: https://github.com/urzeye/ophel/releases/tag/v1.0.40

  [1.0.39]: https://github.com/urzeye/ophel/releases/tag/v1.0.39

  [1.0.38]: https://github.com/urzeye/ophel/releases/tag/v1.0.38

  [1.0.37]: https://github.com/urzeye/ophel/releases/tag/v1.0.37

  [1.0.36]: https://github.com/urzeye/ophel/releases/tag/v1.0.36

  [1.0.35]: https://github.com/urzeye/ophel/releases/tag/v1.0.35

  [1.0.34]: https://github.com/urzeye/ophel/releases/tag/v1.0.34

  [1.0.33]: https://github.com/urzeye/ophel/releases/tag/v1.0.33

  [1.0.32]: https://github.com/urzeye/ophel/releases/tag/v1.0.32

  [1.0.31]: https://github.com/urzeye/ophel/releases/tag/v1.0.31

  [1.0.30]: https://github.com/urzeye/ophel/releases/tag/v1.0.30

  [1.0.29]: https://github.com/urzeye/ophel/releases/tag/v1.0.29

  [1.0.28]: https://github.com/urzeye/ophel/releases/tag/v1.0.28

  [1.0.27]: https://github.com/urzeye/ophel/releases/tag/v1.0.27

  [1.0.26]: https://github.com/urzeye/ophel/releases/tag/v1.0.26

  [1.0.25]: https://github.com/urzeye/ophel/releases/tag/v1.0.25

  [1.0.24]: https://github.com/urzeye/ophel/releases/tag/v1.0.24

  [1.0.23]: https://github.com/urzeye/ophel/releases/tag/v1.0.23

  [1.0.22]: https://github.com/urzeye/ophel/releases/tag/v1.0.22

  [1.0.21]: https://github.com/urzeye/ophel/releases/tag/v1.0.21

  [1.0.20]: https://github.com/urzeye/ophel/releases/tag/v1.0.20

  [1.0.19]: https://github.com/urzeye/ophel/releases/tag/v1.0.19

  [1.0.18]: https://github.com/urzeye/ophel/releases/tag/v1.0.18

  [1.0.17]: https://github.com/urzeye/ophel/releases/tag/v1.0.17

  [1.0.16]: https://github.com/urzeye/ophel/releases/tag/v1.0.16

  [1.0.15]: https://github.com/urzeye/ophel/releases/tag/v1.0.15

  [1.0.14]: https://github.com/urzeye/ophel/releases/tag/v1.0.14

  [1.0.13]: https://github.com/urzeye/ophel/releases/tag/v1.0.13

  [1.0.12]: https://github.com/urzeye/ophel/releases/tag/v1.0.12

  [1.0.11]: https://github.com/urzeye/ophel/releases/tag/v1.0.11

  [1.0.10]: https://github.com/urzeye/ophel/releases/tag/v1.0.10

  [1.0.9]: https://github.com/urzeye/ophel/releases/tag/v1.0.9

  [1.0.8]: https://github.com/urzeye/ophel/releases/tag/v1.0.8

  [1.0.7]: https://github.com/urzeye/ophel/releases/tag/v1.0.7

  [1.0.6]: https://github.com/urzeye/ophel/releases/tag/v1.0.6

  [1.0.5]: https://github.com/urzeye/ophel/releases/tag/v1.0.5

  [1.0.4]: https://github.com/urzeye/ophel/releases/tag/v1.0.4

  [1.0.3]: https://github.com/urzeye/ophel/releases/tag/v1.0.3

  [1.0.1]: https://github.com/urzeye/ophel/releases/tag/v1.0.1

  [1.0.0]: https://github.com/urzeye/ophel/releases/tag/v1.0.0
</Update>
