Skip to content

Releases: Einheriar/ZotSeek-U

ZotSeek-U v0.2.2

Choose a tag to compare

@Einheriar Einheriar released this 13 Sep 13:17

中文

ZotSeek-U v0.2.2 为本地 MCP/REST 增加完整集合地图、集合范围检索和候选内 metadata/tag 筛选,并更新 fork 的品牌与维护者信息。

MCP / REST:集合地图与范围检索

  • 新增只读 MCP 工具 get_library_map 和 REST /zotseek/library-map,一次返回指定文库的完整集合树、稳定 collectionKey、父子关系和层级。
  • search 支持稳定的 library_key + collection_key 范围;MCP 默认递归包含全部子集合,也可用 include_subcollections=false 只查直接成员。
  • 集合资格在 Semantic、Keyword、Hybrid、identity navigation 和 passage 各自的候选 TopK 之前生效;同一论文出现在多个子集合时按稳定身份去重。
  • 不存在或跨库的集合会明确报参数错误,不会静默回退到全库。未指定新范围时,原有 UI 与 JS API 行为保持不变。

候选内 metadata / tag 筛选

  • search.filter 支持年份、期刊、作者和单个完整标签;REST 提供对应参数。
  • 筛选发生在各路径既有的有界候选排序之后、最终 max_results 截断之前,因此符合条件的较低位候选可以补入最终窗口,但不会把它解释成穷举全库字段查询。
  • 标签使用 live Zotero 数据,做 Unicode NFC 规范化并区分大小写;年份、期刊、作者和标签之间为 AND。
  • identity navigation 的命中若不符合筛选条件会返回空结果,不会绕过条件转入内容搜索。

品牌与归属

  • Zotero 显示名统一为 ZotSeek-U,并补充 fork 维护者、上游归属和 MIT LICENSE。
  • 保留原 ZotSeek add-on ID,继续支持替换安装。

验证

  • 560/560 自动化测试通过;typecheck 没有新增错误;版本一致性、正式 build 和 GitHub CI 全部通过。
  • Zotero 9.0.6 + dev proxy 的 mcp-server runtime suite:34/34 场景通过、0 失败、0 跳过。
  • 真实 MCP Agent 验证:59/59 次工具调用成功;文库地图、集合范围、精确标签、稳定身份、REST 错误合同和候选补位均已覆盖。
  • 当前真实库没有嵌套 collection 样本;递归层级已由 Node 合成树和真实 Zotero 查询路径覆盖,但不冒称完成真实嵌套样本验收。
  • 多篇全文比较中,第三篇文献没有可读附件或 Child Notes;这属于全文获取工作流的开放边界,不是本次检索/筛选失败。

下载与校验

  • 下载 zotseek-0.2.2.xpi
  • SHA-256:c64cecbc4234d46e0b61d16913038c7691adc6bc39b8a1eaa962377426166367
  • 安装或更新后请完全重启 Zotero,以重新加载插件代码和 MCP 工具定义。

English

ZotSeek-U v0.2.2 adds complete collection maps, collection-scoped retrieval, and bounded metadata/tag filtering to the local MCP/REST interface. It also updates fork branding and maintainer attribution.

MCP / REST: collection maps and scoped retrieval

  • Adds the read-only MCP tool get_library_map and REST /zotseek/library-map, returning the complete collection tree for one library with stable collectionKey values, parent links, and depth.
  • search now accepts a stable library_key + collection_key scope. MCP includes all descendant collections by default; set include_subcollections=false for direct members only.
  • Collection eligibility is applied before each path's candidate TopK across Semantic, Keyword, Hybrid, identity navigation, and passages. Papers present in multiple descendants are deduplicated by stable identity.
  • Unknown or cross-library collections return explicit argument errors instead of silently falling back to the whole library. Existing UI and JS API behavior is unchanged when no new scope is supplied.

Bounded metadata and tag filtering

  • search.filter supports year, journal, author, and one complete tag, with matching REST parameters.
  • Filters run after each path's existing bounded ranking window and before the final max_results cap. Lower-ranked eligible candidates can therefore fill the final window, but this is not an exhaustive library-wide field query.
  • Tags come from live Zotero data, are Unicode NFC-normalized, and remain case-sensitive. Year, journal, author, and tag conditions are combined with AND.
  • An identity-navigation hit that fails the filters returns an empty result instead of bypassing the constraints through content search.

Branding and attribution

  • Uses ZotSeek-U as the Zotero display name and adds fork maintainer, upstream attribution, and an MIT LICENSE.
  • Keeps the original ZotSeek add-on ID for replacement-install compatibility.

Validation

  • 560/560 automated tests passed, with no new typecheck errors; release-manifest consistency, production build, and GitHub CI all passed.
  • Zotero 9.0.6 with the dev proxy passed all 34/34 mcp-server runtime scenarios with no failures or skips.
  • Real MCP Agent validation completed 59/59 successful tool calls covering library maps, collection scope, exact tags, stable identities, REST error contracts, and post-filter backfill.
  • The current real library has no nested collection fixture. Recursive hierarchy is covered by Node synthetic trees and real Zotero query paths, but is not claimed as a live nested-fixture acceptance result.
  • A three-paper full-text comparison could read only two papers because the third had no readable attachment or Child Notes. This remains a full-text workflow boundary, not a search/filter failure.

Download and checksum

  • Download zotseek-0.2.2.xpi
  • SHA-256: c64cecbc4234d46e0b61d16913038c7691adc6bc39b8a1eaa962377426166367
  • Fully restart Zotero after installing or updating so the plugin code and MCP tool definitions are reloaded.

Full changelog: v0.2.1...v0.2.2

ZotSeek-U v0.2.1

Choose a tag to compare

@Einheriar Einheriar released this 11 Sep 12:06

中文

ZotSeek-U v0.2.1 重点改善文献简报工作流,并为 MCP/REST 增加可选的期刊指标。

文献简报

  • 内置提示词也会自动下载:在首次引导中选择内置提示词后,标准论文和综述两份模板会以不覆盖已有文件的名称保存到默认下载目录。
  • 下载与启用保持一致:只有两份内置模板都下载成功,才会启用该模板组合并完成引导;如果下载失败,当前模板和引导状态都不会被错误改变。
  • 修复 Better Notes 目录异常:新生成简报会保留 HTML 顶层块边界,并使用 Zotero 富文本笔记的 schema version 9,使 Better Notes 能正确识别 H1–H6 标题,不再把正文串进左侧 TOC。
  • 此修复作用于新生成的简报,不会自动重写已经存在的旧笔记。

MCP / REST:Zotero Style 期刊指标

  • search、find_similar 和 get_item 现在可以返回可选的 journalMetrics:

    {
      "journalMetrics": {
        "provider": "zotero-style",
        "impactFactor": 7.9,
        "sciQuartile": "Q1"
      }
    }
  • impactFactor 对应 Zotero Style 缓存中的影响因子;sciQuartile 仅返回 JCR SCI Q1–Q4。

  • 仅当 Zotero Style 已安装、已启用且本地缓存中存在有效数据时才返回相应字段;未安装、已禁用、没有缓存或值无效时会自然省略,不影响原有 MCP/REST 调用。

  • ZotSeek-U 只读取 Style 已有的本地缓存,不读取密钥、不请求 EasyScholar,也不会触发指标刷新。

  • 期刊指标只是补充信息,不参与索引、筛选或搜索排序;缓存值可能不是最新值。

  • 兼容 Zotero Style 6.x 的 zoterostyle.json / rank 存储,并保留旧版内存缓存兼容路径。

验证

  • 自动化测试:551 项测试、77 个测试套件全部通过。
  • 版本一致性检查与正式构建通过。
  • 已在 Zotero 9.0.6 + Zotero Style 6.0.73 中实际验证 search、find_similar 和 get_item 的期刊指标返回。

下载与校验

  • 下载 zotseek-0.2.1.xpi
  • SHA-256:67e2b5cb8d77afc340a9451e60e0135cca0fc7d6b970df4ea06be3dcf7bcbe52
  • 安装或更新后请完全重启 Zotero,以确保新版本代码和 MCP 工具定义被重新加载。

English

ZotSeek-U v0.2.1 improves the literature-brief workflow and adds optional journal metrics to MCP/REST responses.

Literature briefs

  • Bundled prompts are now downloaded automatically when selected in the setup wizard. The standard-article and review templates are saved to the default download folder using non-overwriting filenames.
  • The bundled pair is activated and setup is completed only after both files download successfully. A failed download leaves the active prompts and setup state unchanged.
  • Fixed malformed Better Notes outlines for newly generated briefs. ZotSeek-U now preserves top-level HTML block boundaries and writes Zotero rich-text note schema version 9, allowing Better Notes to recognize H1–H6 headings without absorbing body text into the TOC.
  • Existing notes are not rewritten automatically; the fix applies to newly generated briefs.

MCP / REST: Zotero Style journal metrics

  • search, find_similar, and get_item can now include optional journalMetrics with impactFactor and JCR SCI sciQuartile (Q1–Q4).
  • Metrics are returned only when Zotero Style is installed, active, and has valid cached data. Otherwise, the fields are omitted without affecting the original request.
  • ZotSeek-U reads only Style's existing local cache. It does not access credentials, contact EasyScholar, or trigger a metric refresh.
  • Metrics are informational only and never affect indexing, filtering, or ranking. Cached values may be stale.
  • Supports the Zotero Style 6.x zoterostyle.json / rank layout with a legacy in-memory-cache fallback.

Validation

  • All 551 automated tests across 77 suites passed.
  • Version consistency checks and the production build passed.
  • Journal metrics were verified in Zotero 9.0.6 with Zotero Style 6.0.73 using search, find_similar, and get_item.

Download and checksum

  • Download zotseek-0.2.1.xpi
  • SHA-256: 67e2b5cb8d77afc340a9451e60e0135cca0fc7d6b970df4ea06be3dcf7bcbe52
  • Fully restart Zotero after installing or updating so the new plugin code and MCP tool definitions are reloaded.

Full changelog: 1f3d3e6...v0.2.1

ZotSeek-U v0.2.0

Choose a tag to compare

@Einheriar Einheriar released this 11 Sep 09:19

ZotSeek-U 0.2.0 更新简报引导,并汇总自 0.1.0 以来的搜索、MCP 和可靠性改进。

  • 简报引导新增功能介绍、步骤指示器、卡片布局和暗色配色;修复页面下方大片空白及介绍页无法前进的问题,小窗口中内容可滚动,底部操作按钮保持可见。
  • 统一文献级混合搜索的有界排序,关键词候选扩展为 K50,并完善 MCP 搜索证据字段及工具说明。
  • BM25 快照持久化与启动准备、紧凑 CSR 存储及存储统计改进。
  • 索引并发、数据库兼容、PDF 页边界恢复、简报内容保真和请求授权边界等可靠性修复。

安装附件 zotseek-0.2.0.xpi,兼容范围为 Zotero 9.0–10.0.*。安装包包含本地 Embedding 模型,约 216.36 MiB。

验证:543 项 Node 测试通过;类型检查无新增错误(保留 15 项既有 baseline);版本检查、生产构建及 XPI CRC 校验通过。简报引导在真实 Zotero 9.0.6 中通过 10 次导航与 72 组布局检查。英文仅做静态文案布局验证;完整英文 UI、动态结果路径与真实生成的完整验收尚未完成。

SHA-256:cfbf3f5dea3907bdd0622f34bb50abcfbfa7f02578fa6f2f81edc7db2fd58b9d

ZotSeek-U v0.1.0

Choose a tag to compare

@Einheriar Einheriar released this 06 Sep 08:23

First independent ZotSeek-U release. Important migration note: ZotSeek-U retains the original ZotSeek add-on ID and local data namespace, so it replaces ZotSeek rather than coexisting with it. To preserve the existing index and preferences, install this XPI directly over ZotSeek and do not uninstall ZotSeek first. This package includes the Multilingual E5 base model; Nomic and BGE-M3 are not bundled. Compatible with Zotero 9.0 through 10.0.*. SHA-256: AB7318552B58111484FCFC679CC06E330709A1BA782B016788A8555310F5BEBC