Releases: dingdinglz/zotero-translate
Release list
Smart Paper Translator v0.1.46
划线翻译弹窗与摘要面板中的译文现在支持鼠标选中,并用 macOS ⌘C(Windows/Linux Ctrl+C)复制。本版包含上一正式 Release v0.1.45 之后的全部更新。
- 修复 Zotero 阅读器取消鼠标默认行为、导致译文无法选中的问题;为两处译文启用原生文字选择和焦点。
- 复制时只保留当前选中的译文纯文本,清除阅读器可能附带的 PDF 批注内容;其他区域的复制、面板拖动和缩放沿用现有行为。
验证:338 项自动测试、JavaScript 语法及静态检查通过;XPI 的 44 个运行时文件与发布提交中的源码逐字节一致,ZIP 完整性与 SHA-256 校验通过。最终包在 macOS Zotero 10.0.4 / Gecko 140.15.0 中通过 AddonManager 非安装式解析:ID、版本正确,error=0、isCompatible=true、appDisabled=false。隔离合成界面中已验证摘要的原生选择和纯文本复制;后续窗口自动化超时,完整安装后的拖选、复制和启停/重启尚未验收。本轮未安装插件、修改真实文库或调用模型。
插件清单兼容 Zotero 9.0–10.0.x;Zotero 9.0.6 本轮未重新执行原生验证。
下载 smart-paper-translator-0.1.46.xpi,在 Zotero「工具 → 插件」中选择「从文件安装插件」手动更新。安装后,可在划线译文与摘要译文中各选一段并复制粘贴,确认内容与选区一致。
XPI SHA-256:ea03c22c03b8afd2350cfda618f1e9c49c047861ec9206271fcb1363507f2415
Smart Paper Translator v0.1.45
点击文库列表中的单个智能标签,现在可以查看该文库全部分类下的同标签文章,并点击标题在文库中定位。本版包含上一正式 Release v0.1.41 之后的 v0.1.42–v0.1.45 累积更新。
- 新增同标签文章列表:按完整标签名匹配,规范化空白并忽略英文大小写;支持分页、刷新和点击定位。只读取已有本地标签,不调用模型;沿用手动标签和手动清空的优先级。标签读取失败会提示结果可能不完整,可刷新重试。
- 文库智能标签支持直接添加、改名、删除和清空。点击「编辑」或空白单元格的「+ 标签」即可操作;支持多语言及无摘要条目,每篇最多 20 个标签、每个最多 64 字符。手动保存优先于自动生成,不修改 Zotero 原生标签。
- 修复标签编辑浮层的输入框、按钮和边缘对齐;修复同标签文章浮层的大块空白与序号、标题错位。长标题可换行,窄窗口保持对齐,翻页后焦点落在第一篇标题上。
- 加强窗口、条目和异步请求校验:关闭或切换视图后丢弃迟到结果,标签或文库变化后要求刷新,定位前再次核对条目和标签。
- 更新 develop-zotero-plugins Skill 及配套参考,新增 Zotero 9 → 10 迁移指南,补充非安装式原生验证、资源读取、私有截图桥和发布核验流程。
验证:335 项自动测试、JavaScript 语法及静态检查通过;可复现构建的 44 个运行时文件与源码逐字节一致,ZIP 完整性和 SHA-256 校验通过。最终 XPI 在 macOS Zotero 10.0.4 中经 AddonManager 非安装式解析,返回正确 ID/版本、error=0、isCompatible=true、appDisabled=false。原生隔离合成界面验证了分页、标题定位回调、窄窗口和长标题对齐;最终包与验证文件字节一致。
插件清单兼容 Zotero 9.0–10.0.x。Zotero 9.0.6 本轮未重新执行原生验证;本轮未安装插件,也未执行安装后的完整文库交互、启停/重启或真实模型请求测试。
下载 smart-paper-translator-0.1.45.xpi,在 Zotero 的「工具 → 插件」中选择「从文件安装插件」手动更新。
XPI SHA-256:edcb56b2323843cadd0a80c20e801fd071f37c5265b9fcadea00eb9f257c7450
Smart Paper Translator v0.1.41
修复 Smart Paper Translator 在 Zotero 10.0.4 中显示“不兼容”的问题,保留 Zotero 9 支持。本版同时包含上一正式版 v0.1.39 之后的 Windows 路径和 Agents 侧栏改进。
- 插件清单兼容范围更新为 Zotero 9.0–10.0.x,并核对 Zotero 10 的 Reader、Item Pane、设置、资源读取和本地化接口。
- PDF 原页截图支持经验证的 Zotero 9.0.6 / 10.0.4。其他精确版本继续禁用截图;Zotero 10 的 Reading Mode 重排视图不捕获后台隐藏的 PDF。截图仍从原页生成,保留草稿与资源限制。
- 公共运行环境发现、PDF 附件及 Codex View Image 补充 Windows 盘符/UNC 路径处理;工作区 HTML 检查保留完整盘符/共享根,继续逐级拒绝软链接。
- 合并流式更新与镜像写盘,减少长对话重绘;工具卡片展开时才构建内容,并在更新时保留滚动位置。工具原始输出限制为 64 KiB,旧历史按相同规则处理。
- 固定 D3 bundle 的 LF 换行与完整性校验,避免 Windows 检出时转换换行导致图表资源校验失败。
验证:316 项自动测试、JavaScript/静态检查、可复现构建、44 个运行时文件与源码一致性、ZIP 完整性及 SHA-256 校验通过。最终 XPI 在 macOS Zotero 10.0.4 / Gecko 140.15.0 中经 AddonManager 非安装式解析,得到 error=0、isCompatible=true、appDisabled=false;合成 PDF 的原页 PNG 渲染与红蓝像素校验通过。
尚未执行完整安装后 UI 冒烟或真实模型请求测试;完整 Windows Agent 启动,尤其 Pi/OpenCode,仍未验证。Zotero 9.0.6 沿用历史验证。
下载 smart-paper-translator-0.1.41.xpi,在 Zotero 的“工具 → 插件”中选择“从文件安装插件”完成更新。截图请使用 PDF 原页视图。
XPI SHA-256:250b4a0afebf571ea4e35723db4fdd84881630f626c1e654b95adcf30a940034
Smart Paper Translator v0.1.39
Agents 侧栏新增 OpenCode,直接连接本机 opencode acp,复用已有登录、模型与权限配置,无需配置 Node / npx。本版包含上一正式版 v0.1.37 之后的 OpenCode 接入与检测修复。
- 支持 Build、Plan 及本机自定义运行模式,模型与思考选项随 OpenCode 返回值更新;配置确认成功后保存。
- Codex、Pi、OpenCode 按论文分别保留历史、会话配置和草稿。OpenCode 支持历史恢复、PDF 选区和截图,并复用公式、Mermaid、visualize 与文件引用渲染。
- 设置新增 OpenCode 标签页,支持候选路径、手动输入与文件浏览;路径为空时,刷新或检测会自动采用本机候选,包括
~/.opencode/bin,保留已有手动路径。 - 修复本机扩展的终端标题控制码混入协议导致的
ACP_INVALID_JSON,以及长模型目录读取不完整的问题。检测不发送提示词,使用独立空会话和临时数据库,结束后清理进程与临时数据。 - 模型明确支持图片时才发送截图,否则保留完整草稿;不支持原生 PDF 输入时提供论文文本快照引用。禁用自动升级、后台模型目录刷新和 npm 下载。
兼容 Zotero 9.0.x,验证环境为 macOS Zotero 9.0.6 / OpenCode 1.18.30;OpenCode 要求不低于 1.18.30 的稳定版 1.x。289 项自动测试、静态检查、可复现构建、归档和哈希校验通过,最终 XPI 通过 Zotero 原生安装器的非安装式解析。原生检测已覆盖本机配置与 901 个合成模型的长列表;尚未进行完整安装后的聊天 UI 冒烟或真实模型请求测试。
下载 smart-paper-translator-0.1.39.xpi,在 Zotero 插件管理器中选择“从文件安装插件”。安装后打开插件设置的 OpenCode 标签页,点击“检测 OpenCode”。
XPI SHA-256:2481826d15cfcdf090ea300314440a95643afc579df6aca96c344815629333f3
Smart Paper Translator v0.1.37
Agents 侧栏现在可以直接显示回复中的 visualize HTML 图表;已有历史中的标记也能加载,支持图例交互、展开查看和重试。
- 修复 Zotero 9.0.6 下图表“加载超时,请重试”:正确读取安装包内的 D3 和主题文本,并修复隔离图表向原生侧栏报告加载状态的兼容问题。启动错误会及时显示。
- 内置 D3 7.9.0 和明暗主题,图表预览无需联网下载资源。只读取当前论文、当前 Agent 和当前会话工作区内的 HTML;图表在禁止联网的隔离 iframe 中运行。
- 切换论文、Agent 或会话时清理预览,避免显示旧图表。
- 包含上一公开版本 v0.1.33 之后的改进:Agents 消息支持原生文字选择与复制;术语面板可删除当前论文的术语及对应翻译缓存。
兼容 Zotero 9.0.x,验证环境为 macOS Zotero 9.0.6。261 项自动测试、静态检查、XPI 结构与校验全部通过;原生临时图表验证和最终 XPI 的 AddonManager 非安装式解析通过。尚未进行 0.1.37 完整安装后的 UI 冒烟测试。
下载 smart-paper-translator-0.1.37.xpi,在 Zotero 的插件管理器中选择“从文件安装插件”。安装后重新打开原论文即可验证历史图表。
XPI SHA-256:01f643c960a9e4c21d184cb3461238650f14081856cb221bbac57ca7d7cc564e
Smart Paper Translator v0.1.33
本版本汇总自上一版正式 Release v0.1.28 以来的改进,主要增加可切换 Codex / Pi 的 Agents 侧栏,并完善权限、运行环境配置与选项显示。
- Agents 侧栏:原 Codex 入口更名为 Agents,可切换 Codex / Pi。每篇论文分别保留当前 Agent,以及各自的历史、模型、思考强度和草稿;Reader 选区与截图加入当前 Agent。
- Codex Full Access:新会话默认审批模式,可为当前论文的 Codex 会话选择 Full Access,允许工作区外文件操作与联网。选择在服务端确认成功后保存,并随会话恢复。
- Pi 接入与 max 思考强度:使用固定 pi-acp 0.0.33,沿用本机 Pi 登录、模型和扩展配置。按当前模型实际支持的档位展示思考选项,包括支持的 max;设置后回读确认。兼容补丁仅在插件启动的进程中生效,不改写本机 Pi 或 npm 缓存。
- ACP 设置重组:Node / npx 共用运行环境,Codex / Pi 采用独立 Tab。路径支持候选下拉、手动输入与文件选择,自动识别 PATH、NVM 和常见安装位置;修复 Zotero 文件选择报错及运行时版本诊断。
- 侧栏选项完整显示:模型与思考强度各占一行,长名称自动换行,收起时即可查看完整选中值;保留原生下拉菜单与键盘操作。
- 会话与内容兼容:旧 Codex 数据原路径升级,Pi 使用独立缓存与每篇论文的连接。保留 PDF 首轮上下文、截图、Markdown、公式、Mermaid 和文件/外链边界;补齐中英文文案。
Pi 需要本机 Pi 0.85.1 或更新版本及 Node 22.19.0 或更新版本。升级后在设置页的 Pi Tab 点击“重新检测”刷新模型与思考选项;首次准备适配器使用“准备并检测”。聊天启动保持离线 npm 模式,不会自动下载或升级适配器。
验证:228 项自动测试、JavaScript/静态检查、构建、SHA-256、XPI 根目录及 unzip -t 均通过;归档内 38 个运行时文件与源码一致。实际侧栏模块的独立预览覆盖 240 / 320 / 500 像素宽度与长名称。最终 XPI 已在 macOS Zotero 9.0.6 中通过非安装式解析,结果为 error: 0、isCompatible: true、appDisabled: false。未执行插件安装或真实 Codex/Pi 模型联调。
下载 smart-paper-translator-0.1.33.xpi,在 Zotero 的“工具 → 插件 → 齿轮菜单 → 从文件安装插件”中选择该文件。清单兼容范围为 Zotero 9.0–9.0.*。
附件提供 XPI 和 SHA256SUMS。XPI 的 SHA-256:
8aeaf9c18253a1610af3ce798a614540e1b6e4a9c25dcc112408b2adc2a6f69b
完整变更:v0.1.28...v0.1.33
Smart Paper Translator v0.1.28
从 v0.1.25 到 v0.1.28
本次正式版以线上上一版 Release v0.1.25 为基线,包含其后的全部 Mermaid 功能与兼容修复;0.1.26、0.1.27 的改动一并纳入。
新增与修复
- Codex 侧边栏支持渲染 Markdown 中完整闭合的
mermaid代码块;流式输出尚未闭合时继续显示源码。 - XPI 内置 Mermaid 11.16.1,按窗口延迟加载,完全离线渲染,不使用 CDN 或运行时下载。
- 保留可展开、可复制的原始源码;解析失败、超限或安全校验失败时自动显示源码,避免丢失内容。
- 修复 Zotero XUL 窗口没有 HTML
body导致的渲染失败:通过本地空白 HTML 渲染容器与独立 Gecko 沙箱运行 Mermaid,并兼容窗口的只读window/document属性。 - 修复 SVG 图片缺少明确固有尺寸的问题;为图像设置有界尺寸,横向长流程图支持水平滚动。
- 同一窗口内串行渲染并缓存结果,避免重复计算;新增中英文状态提示与回归测试。
安全与隐私
- 固定
securityLevel: strict、htmlLabels: false,锁定安全配置,并限制源码长度、边数、渲染时间、SVG 大小和节点数。 - 对生成的 SVG 做白名单校验,拒绝活动元素、HTML、链接及非本地资源引用;仅支持受限的本地阴影滤镜。
- 校验后的 SVG 序列化为隔离的数据图片,不作为活动 SVG 注入侧边栏;图片最长边不超过 4096 像素。
- Mermaid 渲染不发送网络请求,不调用 Codex 或其他模型服务。
兼容与验证
- 插件兼容范围:Zotero 9.0–9.0.*;实际原生验证环境:macOS、Zotero 9.0.6。
npm run check:180 项测试通过,JavaScript 语法与静态安全检查通过。- XPI 归档检查、
unzip -t、运行时文件逐项比对及 SHA-256 校验通过;归档仅包含plugin/下的运行时文件。 - 对最终相同 SHA-256 的 XPI,已在 Zotero 9.0.6 中通过
AddonManager.getInstallForFile()非安装式解析:错误码为 0,ID / 版本正确,兼容且未被应用禁用。 - 用户反馈的中文、
<br/>标签流程图已在 Zotero 9.0.6 原生渲染环境中成功生成并解码为图片。 - 未安装插件、未修改 Zotero profile,也未发起真实 Codex / API 请求;上述原生验证不等同于安装后的完整 UI 冒烟测试。
安装与升级
- 下载下方
smart-paper-translator-0.1.28.xpi。 - 在 Zotero 的“工具 → 插件”中,点击齿轮菜单,选择“从文件安装插件”。
- 选择 XPI 并按提示完成安装,重启 Zotero;重新打开已有 PDF 对话即可渲染历史消息中的 Mermaid 代码块,无需重新发送问题。
本版本通过 Release 附件手动安装/升级,不提供自动更新。
累计提交
f99a49cf020024128c66a7811cdabfdcf7b2b379— feat: render Mermaid diagrams in Codex sidebar
SHA-256
smart-paper-translator-0.1.28.xpi
c9e13abc38fcccd4a2ca62bcc0d86412dd02d166ca34db82c77174675c92b7d8
同时提供 SHA256SUMS 校验文件。
Smart Paper Translator v0.1.25
从 v0.1.20 到 v0.1.25
这是自上一正式 Release v0.1.20 以来的累计更新,覆盖其后的 4 个提交与 0.1.21–0.1.25 阶段成果,不只包含最后一次截图拖拽修复。
PDF 选区直接加入 Codex
- PDF 划线弹窗新增“添加到 Codex”。点击后只把选中文字加入当前 PDF 的对话草稿,不会立即启动 ACP 或请求模型。
- 支持在一轮中累积、去重和移除多个选区;按附件隔离草稿,并通过当前 Reader tab 精确复核 PDF,避免关联到错误论文。
- 真正发送时才附带页索引、页标签和单页/跨页 PDF 矩形坐标;论文文字被明确标记为不可信数据,而不是给模型的指令。
- 发送失败会完整恢复草稿;已发送选区可在本地历史和
session/load回放中恢复为可读卡片。
PDF 原页截图加入 Codex
- Reader 工具栏和 Codex 输入区都新增“截图”入口。可直接在左侧 PDF 阅读区拖拽框选,并在靠近边缘时自动滚动。
- 跨页框选会按实际覆盖页面拆成多张图,页间空隙不会进入截图。
- 截图由 Zotero 9.0.6 的 PDF.js 原页按坐标重新渲染,生成不含工具栏、选择层、深色模式或 Zotero 批注的干净 PNG;版本或内部能力不匹配时失败关闭,不降级成屏幕抓图。
- 修复 Gecko 特权域与 PDF.js 内容域之间的对象传递问题,解决进入框选后按住拖动没有反应的问题;渲染桥不再把特权回调传入 PDF.js 数组,并在目标 iframe 域内创建渲染参数。
- 截图先进入当前 PDF 草稿,支持缩略图、放大、移除和重新框选;允许不填写文字问题、直接发送纯图片。
- 张数不设固定上限,草稿按页折叠并惰性解码;同时保留单图上限和单轮紧急总资源保护,超限时保留完整草稿并阻止发送。
- 每张图片通过 ACP 图片块发送,并附带可复现的位置 JSON:页索引、页标签、PDF 点坐标、旋转、输出像素和渲染比例。模型不支持图片时不会自动换模型,也不会丢失草稿。
- 未发送截图可在 Zotero 重启后恢复;发送后的截图在历史中默认折叠,展开后才解码,并支持放大查看。
更完整、更安全的公式渲染
- XPI 内置 KaTeX
0.18.4,离线转换为 Firefox MathML,补齐分式、求和上下标、集合运算、重音、根式、矩阵、对齐环境和上下花括号等学术公式。 - 解析失败时显示原始 TeX,避免命令粘连成错误的伪公式。
- 保持
trust: false、宏展开与尺寸上限,只导入无外部资源的 MathML;不使用innerHTML、远程公式服务、运行时 CDN、KaTeX HTML 输出或远程字体。
Codex View Image 图片预览
- 完成态
View Image工具输出现在可在侧栏安全预览,不再只显示工具文字。 - 只有工具状态、读取语义、输入路径、位置和资源链接一致时才接受图片;限制为 25 MiB 以内、扩展名与签名一致的 PNG/JPEG/GIF/WebP/AVIF,拒绝 SVG、伪装文件和不一致路径。
- 通过验证的图片会复制到 ACP 工作区之外的会话隔离目录,界面不会回退读取模型提供的源路径,也不会把副本交回 Codex。
- 图片卡片默认折叠并惰性解码;点击后可在 Zotero 窗口内放大,并在“适应窗口”和“1:1 原始像素”之间切换。
session/load会按工具调用 ID 重新关联本地副本;重建会话时统一清理旧的工具图片和截图目录。
完整提交范围
d38d63b— PDF 选区加入 Codex 草稿12fd3d1— 使用内置 KaTeX 渲染 Codex 公式e1d2670— 预览 CodexView Image工具输出186bf73— PDF 原页截图、位置上下文及拖拽跨域修复
安装
- 下载
smart-paper-translator-0.1.25.xpi。 - 在 Zotero 中打开“工具 → 插件”。
- 点击齿轮菜单,选择“从文件安装插件”,然后选择下载的 XPI。
兼容性与验证
- 清单兼容范围:Zotero
9.0–9.0.*;目标和实际验证环境为 macOS Zotero9.0.6。 - PDF 原页截图使用精确版本保护的内部渲染桥;其他 Zotero 版本若能力不匹配,截图功能会明确关闭。
npm run check:166 项测试全部通过(上一 Release 为 123 项),JavaScript 语法与静态安全校验通过。- XPI 归档完整性、根目录结构、运行时文件范围和
SHA256SUMS均通过;Zotero 9.0.6AddonManager.getInstallForFile()非安装式解析通过,插件 ID、版本、兼容性和启用状态正确。 - SHA-256:
01d538240a3f9c3eeba8985438066cdbe82f9a3459c092b7fa0e437f4bcb51f4。
本次验证未安装插件、未修改 Zotero profile、未使用真实 API Key,也未向 Codex 发起真实模型请求。
Smart Paper Translator v0.1.20
从 v0.1.6 到 v0.1.20
这是自上一正式 Release v0.1.6 以来的累计更新,覆盖其后的 6 个提交与 0.1.7–0.1.20 阶段成果,而不只包含最后一个 Web Search 界面提交。
划线翻译与按 PDF 控制
- 已缓存的划线译文新增“重新翻译”操作;只有用户明确点击后才强制刷新,不会因显示缓存而自动请求。
- 强制刷新会绕过匹配缓存并原子替换同一记录;请求失败时保留旧译文和重试入口,不破坏其他配置版本。
- Reader 工具栏新增当前 PDF 的划线翻译禁用开关,默认不禁用,并按附件持久化。
- 禁用后不追加插件划线翻译 UI、不查询划线缓存、不调用翻译 API,同时不影响其他 PDF、摘要翻译或智能标签。
本机 Codex ACP 论文对话
- 在 Zotero 主窗口 Reader 的原生右侧 Item Pane 新增“Codex 对话”,通过本机 Agent Client Protocol stdio 连接 Codex,不复用插件内置翻译服务或翻译 API Key。
- 只使用当前
item-details的tabID → Zotero.Reader.getByTabID()精确解析 PDF;无法确认附件时直接禁用,不猜测父条目附件。独立 Reader 窗口不注册聊天。 - 每个 PDF 附件绑定可恢复的固定 Codex session;同一 PDF 的多个 Reader 视图共享状态和单 turn 锁,不同论文可并行对话。
- 第一条真实消息把当前 PDF 原子复制到专用工作区,并通过 ACP
resource_link附加真实 PDF;后续 turn 不重复附加 PDF。 - Zotero 重启后通过
session/load恢复同一 thread,并用远端回放对账本地镜像;交付状态不确定时先对账,避免重复发送。 - PDF 发生变化时暂停发送,允许用户确认继续使用旧快照,或归档旧映射和工作区后重建会话。
- 若找不到
pdftotext,使用 Zotero 9.0.6 的Zotero.PDFWorker.getFullText()生成本地文本兜底,但仍保留并引用真实 PDF。
固定、离线优先的 ACP 准备流程
- ACP 适配器固定为
@agentclientprotocol/codex-acp@1.6.2;只有用户明确点击“准备并检测 ACP”时才允许 npx 联网准备。 - 日常聊天以 npm 离线模式启动已准备的适配器;缓存缺失、路径变化或版本不匹配时直接报错,不静默下载或升级。
- 设置页可探测并展示经过脱敏的 Node、npx、Codex 路径、版本、登录和 ACP 健康状态。
- 动态模型与推理强度检测使用不发送提示词的临时空 session,并用
session/close释放;不会为清理探测 session 调用会归档 thread 的session/delete。 - Codex 模式固定为受审批的
agent,拒绝agent-full-access;权限请求和表单 elicitation 会展示命令、cwd、主机、读写位置及适配器提供的选项,插件不自动批准。
更完整的 Codex 对话界面
- 支持流式文本、安全 Markdown、表格、代码和基于 Firefox MathML 的常用 LaTeX 公式;不使用
innerHTML,也不自动加载远程图片。 execute、文件读取、图片查看、搜索和计划等常见工具显示为语义卡片,只呈现可读字段,不暴露原始事件 JSON、内部 ID 或时间戳。- 修复超宽路径、表格和工具输出挤出 Item Pane 的问题;流式更新保留已展开卡片和阅读位置,只有用户原本位于底部时才继续自动跟随。
- 最新思考状态显示在输入框上方的加载栏中,任务完成后自动隐藏;历史思考不会堆成大量展开卡片。
- Web Search 区分多查询搜索、打开页面和页内查找,展示 ACP 实际提供的查询、页面、关键词、标题、摘要或文本;事件未带回正文时会明确说明。
- Codex 回答和 Web Search 卡片只接受 HTTP/HTTPS 链接,且只有用户点击后才通过
Zotero.launchURL()交给系统默认浏览器。 - 支持
:codex-file-citation{...}与::codex-file-citation{...}两种文件引用格式;路径只能定位到当前 PDF 的专用工作区内。
开发者诊断与本地数据边界
- 设置页新增默认关闭的 Codex 开发者模式。关闭时不采集额外诊断,也不显示“复制日志”入口。
- 开启后只在内存中有界记录当前实时 turn 的工具和思考事件;日志脱敏常见密钥与用户主目录,不包含用户问题或最终回答,不会自动落盘或上传。
- 关闭开发者模式、重建会话或退出插件时清空诊断数据。
- Codex 的 session 映射、离线对话镜像、PDF 快照和生成文件按论文隔离保存在本机;不会修改 Zotero PDF、条目或附件,也不参与 Zotero 同步。
完整提交范围
68b2a0d— 为缓存划线译文新增显式重新翻译与失败保留60ae466— 新增持久化的每 PDF Codex ACP 对话61e6004— 完善 Codex 流式消息、工具卡片、布局与回放界面ba734d2— 将有界脱敏诊断限制在默认关闭的开发者模式36fe6e9— 新增按 PDF 持久化的划线翻译禁用开关f56e310— 强化 Web Search、安全外链和两种 Codex 文件引用
安装
- 下载
smart-paper-translator-0.1.20.xpi。 - 在 Zotero 中打开“工具 → 插件”。
- 点击齿轮菜单,选择“从文件安装插件”,然后选择下载的 XPI。
兼容性与验证
- 清单兼容范围:Zotero
9.0–9.0.*;目标和实际验证环境为 macOS Zotero9.0.6。 npm run check:123 项测试全部通过,JavaScript 语法和静态安全校验通过。- XPI 归档完整性、根目录结构和
SHA256SUMS均通过;Zotero 9.0.6AddonManager.getInstallForFile()非安装式解析得到正确 ID、版本、兼容性和启用状态。 - SHA-256:
d8a54896f8079e48236f793328cb76e2daaef785421289596b056f9f936da81f。
该版本验证未安装插件、未修改 Zotero profile、未使用真实 API Key,也未向 Codex 发起真实模型请求。
Smart Paper Translator v0.1.6
首个正式 Release:0.1.0 → 0.1.6
v0.1.6 是 Smart Paper Translator 的首个正式 GitHub Release,因此本说明覆盖从项目初始 0.1.0 到 0.1.6 的全部 4 个提交,而不只介绍最后加入的“划线后自动翻译”。
学术翻译基础能力
- 支持 DeepSeek,以及使用标准 Bearer 鉴权的 OpenAI Chat Completions 兼容服务;自定义 localhost/回环服务可不填写 API Key。
- 提供独立的摘要翻译和划线翻译模板。划线模板可使用论文标题、Zotero 父条目摘要、页码、目标语言和选中文字;模板只做受控变量替换,不执行代码。
- 打开 PDF 时自动翻译尚未缓存的摘要;缺少摘要时不会伪造内容或发起无意义请求。
- PDF 划线弹窗保持缓存优先:命中当前配置对应的缓存时立即显示且不联网;未命中时默认只有用户点击“翻译”后才发送请求。
- 支持 DeepSeek 请求约束、60 秒超时、匿名 Cookie 容器和安全错误映射;关闭 Zotero 默认的长时间 5xx 重试,并避免把论文正文写入 HTTP 调试日志。
按论文持久化缓存
- 摘要、划线句段、术语和智能标签按论文分别保存为本机 JSON 记录,不写入 Zotero 条目正文。
- 缓存签名包含服务、模型、目标语言、模板与论文上下文;配置或摘要变化后生成独立版本,不会误用旧译文。
- 写入采用临时文件原子替换;损坏记录会先备份再恢复,重复并发请求会合并,插件退出时阻止迟到结果继续落盘。
- API Key 保存在 Zotero/Mozilla Login Manager 中,不写入偏好、缓存 JSON 或 XPI。
Reader 悬浮翻译面板
- Reader 工具栏新增独立入口,可显示或隐藏论文智译悬浮窗。
- 悬浮窗以两个 Tab 分别展示摘要译文和当前论文术语;缓存状态使用独立标签,不混入译文正文。
- 标题栏支持自由拖动,右下角手柄可同时调整宽高;位置与尺寸会持久化,内容独立滚动,不挤压 PDF 阅读区。
- 异步读取带请求序号与附件检查,切换标签、关闭面板或切换论文后,旧结果不会写入当前界面。
本机智能标签列
- 根据论文标题和 Zotero 摘要,通过独立短请求生成 3–5 个英文智能标签。
- 在主页文献列表注册独立列,以低饱和主题色胶囊展示;配色稳定,并适配深色、高对比和强制颜色模式。
- 列表渲染只读取内存或本机缓存,不会因为选择、排序或浏览条目而发起网络请求。
- 智能标签不会写入 Zotero 原生 Tags,也不会随 Zotero 文库同步;附件子行保持为空。
可选的划线后自动翻译
- 设置页新增“划线后自动翻译”,默认关闭,并保留原来的手动点击模式。
- 开启后,只有未命中本地缓存的选中文字会立即发送到当前翻译服务;缓存命中仍然本地直显。
- 使用当前弹窗与附件状态检查避免异步结果串页,并用
translating状态防止重复请求。 - 自动翻译失败时恢复“重试”按钮,不会让一次失败导致弹窗失去后续操作入口。
完整提交范围
edb2433— 实现 Smart Paper Translator 0.1.0 基础翻译、缓存、设置和安全请求链路3bb2157— 完善 Reader 悬浮窗、缓存展示、拖动缩放与异步状态保护91f8199— 新增仅使用本机缓存的主页智能标签列d92cbee— 整合默认关闭的划线后自动翻译模式并发布 0.1.6
安装
- 下载
smart-paper-translator-0.1.6.xpi。 - 在 Zotero 中打开“工具 → 插件”。
- 点击齿轮菜单,选择“从文件安装插件”,然后选择下载的 XPI。
数据与隐私
- 摘要翻译会把 Zotero
abstractNote、标题和模板发送给所选服务;生成智能标签时会额外发送标题与摘要并产生一次短请求。 - 自动翻译默认关闭;开启后,只有未命中当前配置缓存的选中文字会自动发送并可能产生 API 用量。
- 原文、译文、术语和智能标签存放在 Zotero 数据目录的
smart-paper-translator/records/,不随 Zotero 同步,也不加密。
兼容性与验证
- 清单兼容范围:Zotero
9.0–9.0.*;目标和实际验证环境为 macOS Zotero9.0.6。 - JavaScript 语法、静态检查及 56 项自动化测试全部通过。
- XPI ZIP 完整性、归档根目录和 SHA-256 校验通过;Zotero 9.0.6
AddonManager.getInstallForFile()非安装式解析得到正确 ID、版本和兼容状态。 - SHA-256:
6213e8941fc8f29da26067cd099d95402881c6af9968844f267343cd2db82f1f。
该版本验证未安装插件,也未使用真实 API Key 发起翻译请求。