Repository navigation
Releases
ZotAgent 0.7.2 — 正式版
更新内容
- 保留底部“复制 Markdown、插入光标、保存子笔记”按钮,同时支持右键操作指定 Agent 回答。
- 保存子笔记包含对应用户问题与 Agent 回答,以标题和边框清晰分隔;历史恢复保留问答与文献对应关系。
- 采用 Apache License 2.0,补充双语 README;安装包包含项目和相关依赖许可证。
- 清除重复 README、Windows 下载标记,补充环境文件、缓存、覆盖率和临时文件忽略规则,并检查安装包未夹带本地文件。
安装
下载 zotagent-0.7.2.xpi,在 Zotero 插件管理器中选择从文件安装,然后重启 Zotero。
验证
190 项测试中 189 项通过,1 项 Windows 专用测试跳过。构建、源码一致性、许可证和安装包内容校验通过。Zotero 实际界面中的右键菜单、光标插入及笔记显示尚未实测。
ZotAgent 0.7.0 — Windows 与 WSL Agent 并行、分隔线归档
Agent 环境
- Windows 与 WSL 的 Agent 路径分别保存(每个 Agent 两个字段),切换运行环境不再清空另一边;连接后两个系统同时检测并分别回填,已填写的路径不会被覆盖。
- 各 Agent 可分别选择 Windows 或 WSL 并同时使用。“自动”优先使用后端所在系统,未安装时改用另一系统;恢复会话时留在会话所属的系统。
- WSL 后端现在也能通过 Windows 互操作启动 Windows Agent;Windows 后端仍通过
wsl.exe启动 WSL Agent。工作目录在C:\…、/mnt/c/…、\\wsl.localhost\…之间自动转换。 - “检测连接”同时列出 Windows 与 WSL 的 Node.js。WSL 后端的 Node 可留空,由 WSL 登录环境(含 NVM)查找,不再误用
/mnt/…/node.exe。 - 路径默认值改为空。旧版本残留的
codex、claude等命令名按“自动检测”处理,不再阻止检测结果回填;旧设置自动迁移。
归档笔记
- 去掉表格外框:每条记录上下各用两条分隔线与其他记录隔开,记录内部各部分之间用一条分隔线。排序时分隔线随记录移动;已有的无框记录和 0.6.x 带框记录照常识别。Markdown 导出时双线合并为一条。
修复与维护
- Windows 上经
cmd.exe启动 npm 包装脚本时,参数中的引号、&、|、%变量%原样传递,不再被 cmd 解释。 - Runtime 健康检查报告的版本号与插件一致(此前固定为 0.6.1);协议版本升至 8。
- 请求参数错误返回 400,内部系统错误返回 500 并写入 Runtime 日志;数据目录只在一处计算。
- 依赖版本固定,新增
npm run coverage(Node 内置覆盖率)。旧发布与修复说明文档不再随仓库发布。
验证边界
- 在 WSL 中实测:同时检测到 Windows 与 WSL 的 OpenCode、两个系统的 Node,并从 WSL 后端成功启动 Windows OpenCode(
--version)。cmd 转义在 Windows Node 下用 npm 风格包装脚本实测通过。Windows Zotero 界面内的交互与归档显示尚未实测。
ZotAgent 0.6.2 — 紧凑双层归档布局
每次问答使用一个外框,内部依次为记录标题、用户问题、Agent 回答、上下文与记录信息四个框,框之间不留空白段落。Agent 和问题主题突出显示,回答前置,来源与时间后置。
排版全部由插件本地完成,不调用模型、不额外消耗 token。新布局用于新记录,已有记录保留原样;兼容排序、去重和 Markdown 导出。
验证:181 项测试,180 通过,1 项 Windows 专用测试跳过;构建与安装包一致性校验通过。Zotero 原生笔记编辑器的保存重开显示效果尚未实测。
安装:下载 zotagent-0.6.2.xpi,在 Zotero 插件管理器中从文件安装后重启。
ZotAgent 0.6.1 — 归档问题与回答加边框
0.6.1 — 归档问题与回答加边框
修改
- 归档笔记中每条记录的“问题”(含选区和截图)与“回答”分别显示在独立边框内,层次更清晰。元信息、文献来源和“记录结束”标记仍在框外。
- 边框由插件在保存时生成,不经过 Agent,不消耗 token。
- 边框使用 Zotero 笔记原生支持的单格表格,手动编辑和重新保存后仍保留;已有记录不改写,只对新归档生效。
- 导出 Markdown 时展开边框,问题和回答仍为普通标题、列表和表格。
验证
- 179 项测试,178 通过,1 项 Windows CMD 专用测试在 Linux/WSL 跳过;构建、源码/安装包一致性和 Runtime 指纹检查通过。
- 尚未在 Zotero 宿主中验证原生笔记编辑器的显示与序列化,请安装后实际提问一次确认。
安装包
zotagent-0.6.1.xpi,14094314 字节- SHA-256
ecf674a78601f6a3e12ab3dcdd2148ae40173794f1f04faf755228ff0ff28c8e
升级时退出 Zotero,安装新 XPI 后重启;Runtime 协议仍为 7,构建指纹会自动核对。
ZotAgent 0.4.4 — 原生终端显示插件会话
0.4.4 — 原生终端默认显示插件会话
修改
- Codex 点击“打开原生终端”后直接执行
codex --cd <原工作目录> resume --all --include-non-interactive,从包含非交互会话、跨目录历史的原生列表中选择对话。结构化聊天继续使用codex exec,不迁移 App Server。 - Claude Code 点击同一按钮时,仅在终端子进程设置
CLAUDE_CODE_ENTRYPOINT=sdk-cli,执行claude --resume。Windows、WSL、Windows Runtime 启动 WSL Agent 均传递该设置。普通恢复列表过滤 SDK 来源是之前真实插件对话不可见的原因,此方案不改写历史文件或系统环境。 - 会话信息明确显示“恢复列表”,原结构化会话 ID 仅供核对,不声称列表已选中或恢复成功。列表中的选择不会更改结构化聊天原有的会话绑定。
- 因原生列表不向插件报告选择结果,打开期间禁止其他窗口向同一 Agent 提交结构化请求或再打开该 Agent 的终端;关闭后解除。其他 Agent 可正常使用。
- Runtime 协议升为 5,防止更新后复用不支持恢复列表的旧服务。README 补充独立 WSL / PowerShell 命令与兼容边界。
验证
- 完整回归:149 项,148 通过,1 项 Windows CMD 专用测试跳过。新增/更新验证包含两个 Agent 的实际启动参数、Claude 子进程环境、跨环境传递、跨窗口占用保护及关闭后解除、前端恢复列表信息。
- 构建、语法及 XPI/内置 Runtime 内容一致性检查通过,新增 Codex Adapter 产物一致性检查。
- 本机 Claude Code 2.1.282 原生 CLI 检查:在临时配置目录,用本地固定响应服务生成测试对话,再以 SDK 来源测试转录验证
CLAUDE_CODE_ENTRYPOINT=sdk-cli claude --resume。真实 TUI 列出测试会话,选中后显示原问题和回答。恢复阶段模型地址设为不可用的本地端口,不提交新问题。 - 未下载浏览器、未启动 Zotero 测试窗口,未调用付费模型。Codex 启动参数依据本机 0.156.1 帮助和官方 CLI 文档,并由模拟 CLI 集成测试验证;真实 Windows Zotero 中的终端展示仍由用户验收。
边界与验收
- Claude 的入口变量是针对 2.1.282 实现验证的兼容办法,不是官方承诺稳定的列表参数。默认按项目筛选,恢复列表按 Ctrl+A 显示所有项目。Claude 会排除当前已打开的会话。
- 原来约 14.7KB、名称为
(session)的空初始化记录可能仍可见,它们没有问题和回答。本次使真正有内容的 SDK 会话进入列表,不为这些空记录伪造内容。 - Codex 两个参数控制启动恢复列表,不承诺在已打开的 Codex 内再次执行
/resume仍保持同样筛选;重新选择时关闭并重开插件原生终端即可。 - 仍不自动归档原生终端新增的消息。
- 安装新版、重启 Zotero;若使用手动启动的外置 Runtime,也停止旧服务后用更新后的脚本重启。依次打开 Codex 和 Claude 原生终端,选择包含插件问题的历史,核对输入、回答和继续对话。Claude 必要时按 Ctrl+A。
安装包:dist/zotagent-0.4.4.xpi,14,081,854 字节。
SHA-256:95b2aca4ad38640e04e950f49aa581655eac621ecf1d43e5ac3199f97234a3f5。
ZotAgent 0.4.3
0.4.3 — 选择已有子笔记与原生会话恢复
修改
- 前端显示主文献下未删除的子笔记数量,提供已有笔记下拉选择,默认保持上次归档目标。选择同步到同一主文献的各窗口,重命名、删除、新建后自动刷新。
- 归档目标在提问时固定,切换仅影响后续提问;普通子笔记保留正文,只追加结构化历史。新设备缺少本地绑定时优先识别已有归档笔记,避免直接另建重复归档。
- 新归档记录的 Agent、问题/回答标题、文献和时间标签使用原生笔记支持的颜色、加粗、底纹;保持归档边界及 Markdown 导出可读性,不批量修改旧正文。
- Claude Code 原生终端使用
--resume <会话ID>接续结构化会话;Claude/Codex 恢复使用记录中的实际工作目录。 - 原生终端增加折叠的会话信息:ID、实际环境、CLI、目录和恢复方法。结构化任务进行时禁止并行打开同一会话,终端模式下禁止在隐藏的结构化界面发送。Runtime 也检查同一会话是否正被其他请求/终端占用。
- Runtime 协议为 4,避免更新后复用没有恢复逻辑的旧服务;版本缓存目录升为 0.4.3。
诊断结论
- 用户确认先点击了停止,再打开 Codex 终端。截图里的
Conversation interrupted与手动停止一致,不认定为插件注入失败。 - 只读检查对应本地 Codex 会话:来源为
exec,CLI 0.156.1,目录/home/shzhao,保存了约 10.65 万字符的用户输入,包含文献上下文和提问标记,没有已完成回答。没有复制正文或凭据到本报告。 - 本机
codex resume --help与 OpenAI 官方文档均说明--include-non-interactive可包含非交互会话;--all取消目录过滤。恢复列表查不到不能推断历史未保存。 - 本机 Claude 2.1.282 帮助支持按 ID 恢复;所检查的近期原生记录存在用户输入和回答。旧插件交互入口不传 ID 是明确缺陷,文件大小本身不能证明 PDF 全文已注入。
- 官方依据:https://developers.openai.com/codex/cli/reference/#codex-resume 。
验证与边界
- 完整回归:146 项,145 通过、1 项 Windows CMD 专用测试跳过。新增集成测试只调用临时目录下的模拟 CLI,验证准确 ID 恢复、实际目录及结构化/PTY 相互排斥。
- 笔记测试覆盖跨窗口选择、旧任务目标保持、普通正文保留、无本地映射时重新发现归档、删除/其他主文献笔记拒绝、Notifier 刷新、颜色标记与 Markdown 导出。
- 不下载浏览器、不启动独立 Zotero 窗口、不发起真实模型请求。真实 Claude TUI 内容显示、Zotero 下拉交互及新笔记样式仍需用户本机验收。
- 原生终端输入不自动归档;OpenCode 仍打开独立交互界面,不宣称本轮实现其原生会话恢复。恢复历史不等于模型已成功处理全部输入。
本机验收
- 同一文献打开两个窗口,下拉选择一个已有普通子笔记,发送简短问题;确认两个窗口目标一致、旧正文保留、新记录追加到所选笔记。
- 回答中切换目标,确认旧问题结束后仍存到旧笔记;下一问题存到新笔记。检查计数与重命名刷新,以及 Agent/文献/时间的视觉区分。
- Claude/Codex 对话结束或停止后打开原生终端,展开会话信息核对 ID、目录和环境。Claude 应恢复对应内容,Codex 手动停止的历史可保留中断提示。
- 在相同环境运行
codex resume --all --include-non-interactive,或直接按显示的会话 ID 恢复。
构建与验证:npm run build、npm run verify、git diff --check 均通过。
安装包:dist/zotagent-0.4.3.xpi;SHA-256:a41c3e52a0cc9395c0b2024d7b55bea25176115d778757f5dc3ebe0253ce3f32。
ZotAgent 0.4.2
0.4.2 — 运行环境、命名模板与聊天布局修复
本批次包含 0.4.0 之后的环境修复和本机验收反馈。0.4.1 仅作为本地测试包交付,本次统一提交为 0.4.2。
改动
- 修复 Windows / WSL Agent 平台选择、路径检测与回填;按后端保存配置;防止复用错误环境或旧协议 Runtime。
- OpenCode 多行上下文通过 stdin 完整传递。显式模型必须使用
provider/modelID;留空时不添加--model。保留供应商嵌套错误的具体消息与模型 ID。 - 命名预设界面改为自由模板与字段插入下拉菜单,支持
{title}、{tags}、{author}、{date}、{time}等 18 种字段;保留日期时间格式、时区、标题长度、序号补零和即时预览。旧命名组合迁移为模板,已有笔记不改名。 - Windows Node 与 WSL Runtime 由插件隐藏启动;设置页显示运行环境、监听端口、PID 和地址。旧控制台不强制关闭,WSL 代理设置不改写。
- 记忆笔记栏改为紧凑单行,提供打开、新建、导出和按需出现的重试;删除“模型:Agent 默认模型”整行。回答区随窗口伸缩,文献/选区按内容排列并在不足时滚动,截图与清除按钮分开;终端调整字符行列。
- 兼容 Zotero 原生
div.zotero-note笔记容器;异步启动避免等待 UI 就绪时阻塞插件初始化。README 补充本机 WSL 路径、Windows Claude 安装/查找命令与 OpenCode 模型诊断。
OpenCode 诊断边界
本机 opencode models opencode 列出 opencode/mimo-v2.6-flash-free。当时 Zotero 保存的 MiMo-V2.6-Flash Free/OpenCode Zen 是显示名称,不是对应 ID;WSL 部分 OpenCode Agent 配置还引用 minimax/minimax-m2.5-free,与最近交互使用的模型不同。
现有证据支持模型配置不一致及错误详情丢失;不能据此断言所有退出码 1 均由同一原因导致。本轮没有付费模型调用,没有自动改写用户模型配置,也不自动换模型重试。
验证
npm test -- --test-isolation=none:137 项,136 通过、1 跳过、0 失败。跳过项需要原生 Windows CMD。npm run build、npm run verify、git diff --check通过。验证包含语法、清单、XPI 与源码一致性、Runtime 源码及 Windows PTY 二进制打包。- 自动化覆盖三 Agent 完整 95320 字符输入、取消与归档、截图保存、模板迁移/字段展开、模型参数省略与校验、嵌套错误、隐藏进程启动参数、平台切换等。
- 用户已确认上一测试包的基本归档、Claude/Codex 截图识别和归档嵌图、新建笔记,以及原验收清单功能 9/10 正常。该反馈不能代替新版真实界面验证。
- 按用户要求未引入浏览器测试依赖,未启动独立 Zotero 窗口;新布局在真实 Zotero 的外观、Windows 隐藏启动及原生终端尺寸需要本机验收。可选 Windows smoke 脚本本轮未运行。
- Claude/Codex 原生终端历史可见性尚未解决,不宣称本次已打通结构化与原生终端会话显示。跨设备同步不在本轮实测范围。
最小本机验收
- 设置命名为
{title}_ {tags}_ {author}_ {date},从下拉菜单插入字段,检查预览并新建记忆笔记。 - 退出旧 Runtime 后启动 Zotero,确认不再弹出 Runtime 控制台;设置页显示实际端口与 PID。
- 打开对话、附加截图、缩小/放大窗口,确认回答区伸缩、“清除”和发送等操作可访问;切换原生终端检查行列随窗口变化。
- OpenCode 分别留空模型、填写当前有效 ID,发起简短提问;如留空仍失败,保留新版显示的完整错误以核对原生配置。再附加 PDF 验证字符数记录。
安装包:dist/zotagent-0.4.2.xpi。
SHA-256:298cc056a03608e5f90dfc9c574a266119680f432ed02e23524fe27248a9de34。
提交和推送的实际时间、SHA 与远端核对结果将在成功后写入本地 VERSION-HISTORY.md。
v0.4.0 — 对话归档开发预览
0.4.0 当前实现快照
2026-09-26:用户要求先构建当前版本、推送 GitHub、在本地记录,再处理新增反馈。本版是开发预览,不代表计划的全部验收完成。
已纳入代码
- 同一主文献的多个窗口、三个 Agent 共享原生归档笔记;新建笔记后,已提交任务仍绑定旧目标。
- 完成、失败和中断时归档问题、完整可见回答、时间、文献来源、截图及全文数量;不保存思考和 PDF 全文,不额外调用模型。
- 设置中的排序、名称下拉选项及预览;打开、新建、重试、Markdown 与相对路径图片导出。
- 全部 Agent 不主动截断提取文本;保留 4 MiB 请求体限制及准确提交状态。
- 前端取消、历史文献恢复、批次失败判断、Claude 图片输入、多文本块和临时图片清理的修改。
验证状态
最近一次完整自动化运行:125 项,124 通过,1 跳过。此结果发生在停止测试要求之前;后续历史脚本调整未做行为测试。本次仅重新构建并检查语法、版本和产物来源一致性,不启动 Zotero 或 Agent。
独立 Zotero 10.0.3 测试使用模拟回答并禁用 Runtime,不依赖 Agent 配置。原生保存后记录数量断言失败,尚未定位;后续编辑器往返、图片导出及真实聊天链路验收未完成。跨设备同步和真实 Claude 视觉模型未实测。测试代码保留供后续修复,不宣称通过。
待处理反馈
- Windows 自动环境选择与 WSL Agent 路径混用,用户无法切换回 WSL。
- Windows OpenCode 退出码 1。
- PowerShell 中 OpenCode 上下文仅出现
## Zotero 文献上下文,需要检查完整提示词的传递。 - 原生归档实测失败和计划内其余验收。
使用入口
结构化聊天窗口新增当前记忆笔记及新建、打开、导出、重试操作;无主文献时提示不自动归档。命名和排序位于 Zotero 设置 → ZotAgent。手动保存子笔记继续作为精选回答入口,允许与历史重复。原生终端不参与自动归档。
推送成功后,实际 SHA、提交时间、推送完成时间、目标分支、产物校验值写入本地 VERSION-HISTORY.md;不预填成功信息。