Releases: Marco0431/askgpt-zotero
Releases · Marco0431/askgpt-zotero
Release list
v1.2.10 · 修复回复时的 An invalid or illegal string was specified
🩹 v1.2.10:修复回复过程中出现的 An invalid or illegal string was specified
这个报错是 Zotero 底层(Gecko)的 NS_ERROR_DOM_SYNTAX_ERR:某个字符串被交给 DOM/Web API 时被判定不合法。它出现在发消息、AI 正在回复的时候,说明触发点在「把回答渲染进面板」这一步。
本版改动:
- 渲染改用安全插入:面板本身是 XHTML(XML)文档,直接
innerHTML = 片段时 Gecko 可能因为片段不满足 XML 良构而拒绝(换行<br>、表格、链接等片段都可能成为触发点)。现在一旦被拒绝,会自动改用 HTML 解析器解析后importNode搬进面板 —— 回答不会再中断,只有两条路都失败才退化成纯文本 - 异常全部留痕:渲染、流式、未捕获异常与 Promise 拒绝都会被记录到
extensions.askgpt.lastError(含阶段、错误名、消息、堆栈前几行),并在状态栏给出可读提示 - 设置里新增「最近一次面板错误」:反馈问题时可以直接复制那一栏(旁边有「清除记录」)
- 启动自检:插件启动时测一次「XML 文档中 innerHTML 的行为」并记录结果,便于精确定位这类渲染报错
- 顺带保留 v1.2.9 的加固:接口地址 / API Key / 模型名自动去除换行、制表符、零宽字符、BOM
📦 更新方式
- 已装旧版:Zotero → 工具 → 插件 → 齿轮 → Check for Updates,或等自动更新
- 首次安装:下载下方
askgpt.xpi→ 拖进 Zotero 插件窗口(或 齿轮 → Install Plugin From File…)→ 重启 Zotero
v1.2.9 · 修复 An invalid or illegal string was specified
🩹 v1.2.9 修复内容
修复:An invalid or illegal string was specified 报错
这是 Zotero 底层(Gecko)抛的 NS_ERROR_DOM_SYNTAX_ERR:把「不合法的字符串」交给 Web API 时会报,最常见的原因是接口地址 / API Key / 模型名里混进了看不见的字符(粘贴时带上的换行、制表符、零宽字符、BOM、不间断空格),它们进了请求头或 URL 就会触发这个异常。
本版加固(全部在面板设置里自动生效,无需重装配置):
- 设置值自动清洗:接口地址 / API Key / 模型名在读取与保存时都会去掉换行、制表符、零宽字符、BOM、不间断空格;已存在于设置里的脏值会在打开面板时自动修好并写回
- 接口地址规范化:没写协议自动补
https://;结尾多余的/、/v1、/chat/completions都会按规则归一 - 报错可读化:万一还是被 Gecko 拒绝,不再显示原始报错,而是提示「接口地址或 API Key 含非法字符,请重新粘贴」并附上实际请求地址,方便定位
- 顺手加固了另外两个可能触发同类异常的点:联网搜索的链接解码(百分号序列不合法时不再中断工具调用)、存为 Zotero 笔记时剔除 XML 非法控制字符
同版本附带
- 面板默认 900 × 520(宽而短),右下角可拖拽缩放,多尺寸自适应
- 整篇论文始终作为会话前缀;选中段落只作为本次提问的焦点
- 真 Markdown + KaTeX 离线渲染,标题写法归一化(
###不再显示成源码)
📦 更新方式
- 已装 1.2.8 及更早:Zotero → 工具 → 插件 → 齿轮 → Check for Updates,或等自动更新
- 首次安装:下载下方
askgpt.xpi→ 拖进 Zotero 插件窗口(或 齿轮 → Install Plugin From File…)→ 重启 Zotero
v1.2.8 · 面板可缩放 + 整篇论文上下文 + 真 KaTeX 渲染
✨ v1.2.8 更新内容
📌 面板:宽而短、可拖拽缩放、多尺寸自适应
- 默认尺寸从 720 × 860 改为 900 × 520(宽而短,空间几乎全给对话)
- 可拖拽缩放:右下角把手(另附右边缘、下边缘),拖动实时生效,松手写回设置;也可在 设置 → 面板大小 直接填
宽x高(范围 420×360 ~ 1600,且不会超出 Zotero 窗口) - 多尺寸自适应:宽 < 560px 省略标题、徽章收短文案;高 < 560px 顶部整体压紧;高 < 440px 收起快捷提示行;宽 > 1100px 对话内容居中限宽,避免一行过长
- 删掉「选中的原文」大卡片,改为顶部两个状态徽章(
📄 整篇文献 12.3k 字 · PDF 全文、🎯 选中 41 字 ✓);读不到全文时第一个徽章变黄提示「仅发选中段落」 - ⚙ 设置按钮移到输入栏;设置面板可用右上 ✕、底部「关闭」、
Esc、点面板空白处关掉(设置开着时Esc只关设置,不会隐藏面板) - 字号可调:12 / 13 / 14 / 15 / 16 / 18 px(默认 14),保存立即生效;字体换成 Inter / JetBrains Mono
- AI 气泡宽度用满面板,对话区占比约 76%
📖 整篇论文上下文
- 整篇文献始终作为会话固定前缀发送;选中文字只作为「选中段落」附加在本次问题前,不再把全文顶掉、也不清空对话历史
- 来源自动选择:默认用你正在读的那个文件(在读 PDF 就用 PDF 全文,在读译文就用译文);可在设置里固定为 PDF 优先 / 译文优先(译文附件里的公式是完整 LaTeX)
- 同一篇文献的其它附件依次兜底(PDF / Markdown / HTML / TXT);扫描版 PDF 读不到文字会自动换下一路
- PDF 走 Zotero 自带全文索引缓存,没有则现场抽取全文
🧮 渲染
- 真 Markdown + KaTeX 离线渲染(随插件打包,不联网):标题 / 表格 / 引用 / 删除线 / 列表 / 代码块 / 链接 + 行内与块级公式
- 修正模型常见的畸形标题写法(同一行、缩进 4 空格、缺空格、全角井号),
###不再显示成源码 - 没被
$包起来的裸上下标(F_t、J^T、x_{k+1})做视觉<sub>/<sup>兜底
🔧 其它
- 兼容 DeepSeek 思考模式(多轮对话原样回传
reasoning_content)与硅基流动/v1端点 - 会话按文献分离 + 前缀缓存:同一篇文献反复提问只付增量费用
- 回答里的公式一律要求用 LaTeX 输出
📦 安装 / 更新
- 已装旧版:Zotero → 工具 → 插件 → 齿轮 → Check for Updates(或等自动更新;本版起自动更新清单已就绪)
- 首次安装:下载下方
askgpt.xpi→ 拖进 Zotero 插件窗口(或 齿轮 → Install Plugin From File…)→ 重启 Zotero - 首次使用记得在 设置 → AskGPT 填接口地址 / API Key / 模型(默认 DeepSeek)
Release Manifest(Zotero 自动更新清单)
此 release 只放 Zotero 自动更新用的 update.json / update-beta.json,供插件内置的 update_url 拉取;请勿删除。
Release v1.2.7
Release v1.2.6
🚀 Enhancements
- AskGPT - Zotero AI 文献阅读助手 v1.2.6 (556e2e1)
🩹 Fixes
- 修复 TypeScript 类型错误(CI 构建通过) (76f6170)
❤️ Contributors
- Marco0431 (@Marco0431)