Skip to content

Releases: Marco0431/askgpt-zotero

v1.2.10 · 修复回复时的 An invalid or illegal string was specified

Choose a tag to compare

@Marco0431 Marco0431 released this 11 Sep 04:48

🩹 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

Choose a tag to compare

@Marco0431 Marco0431 released this 11 Sep 04:41

🩹 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 渲染

Choose a tag to compare

@Marco0431 Marco0431 released this 10 Sep 14:15

✨ 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 自动更新清单)

Choose a tag to compare

@Marco0431 Marco0431 released this 10 Sep 14:15

此 release 只放 Zotero 自动更新用的 update.json / update-beta.json,供插件内置的 update_url 拉取;请勿删除。

Release v1.2.7

Choose a tag to compare

@github-actions github-actions released this 21 Aug 19:49

🩹 Fixes

  • 通过 eslint/tsc CI 检查;版本 1.2.7 (f11566d)

❤️ Contributors

Release v1.2.6

Choose a tag to compare

@github-actions github-actions released this 21 Aug 19:43

🚀 Enhancements

  • AskGPT - Zotero AI 文献阅读助手 v1.2.6 (556e2e1)

🩹 Fixes

  • 修复 TypeScript 类型错误(CI 构建通过) (76f6170)

❤️ Contributors