让智能体检索 Zotero 文献、笔记与 PDF 全文并生成引用
29.8/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add yanglin7723/zotero-library该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · search
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件
查看扫描证据(共 44 处,展示前 32 条)
- 读取本地文件scripts/zotero.mjs:78
const pkg = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8")); - 读取本地文件scripts/zotero.mjs:176
for (const entry of readdirSync(cacheRoot, { withFileTypes: true })) { - 读取本地文件scripts/zotero.mjs:178
if (existsSync(join(cacheRoot, entry.name, ".zotero-ft-cache"))) ftCacheCount += 1; - 读取本地文件scripts/zotero.mjs:205
detail: `${paths.config}${existsSync(paths.config) ? "" : "(尚未写入)"}`, - 读取本地文件scripts/zotero.mjs:209
ok: existsSync(join(SKILL_DIR, "SKILL.md")), - 读取本地文件scripts/zotero.mjs:227
config: { path: paths.config, dataDir: config.dataDir, exists: existsSync(paths.config) }, - 执行外部命令来自配置/变量scripts/zotero.mjs:438
const child = spawn(command, args, { detached: true, stdio: "ignore" }); - 读取本地文件scripts/lib/config.mjs:17
if (!existsSync(CONFIG_PATH)) return {}; - 读取本地文件scripts/lib/config.mjs:18
const parsed = JSON.parse(readFileSync(CONFIG_PATH, "utf8")); - 写入本地文件scripts/lib/config.mjs:26
mkdirSync(CONFIG_ROOT, { recursive: true }); - 写入本地文件scripts/lib/config.mjs:27
writeFileSync(CONFIG_PATH, `${JSON.stringify(config, null, 2)}\n`, "utf8"); - 写入本地文件scripts/lib/config.mjs:32
mkdirSync(CACHE_DIR, { recursive: true }); - 读取本地文件scripts/lib/db.mjs:56
if (!existsSync(root)) continue; - 读取本地文件scripts/lib/db.mjs:59
entries = readdirSync(root, { withFileTypes: true }); - 读取本地文件scripts/lib/db.mjs:68
return statSync(join(b, "prefs.js")).mtimeMs - statSync(join(a, "prefs.js")).mtimeMs; - 读取本地文件scripts/lib/db.mjs:75
if (!existsSync(prefsPath)) continue; - 读取本地文件scripts/lib/db.mjs:78
text = readFileSync(prefsPath, "utf8"); - 读取本地文件scripts/lib/db.mjs:96
ok: Boolean(existsSync(join(resolved, DB_FILE))), - 写入本地文件scripts/lib/db.mjs:228
mkdirSync(snapshotDir, { recursive: true }); - 删除本地文件递归scripts/lib/db.mjs:243
rmSync(snapshotDir, { recursive: true, force: true }); - 写入本地文件scripts/lib/db.mjs:244
mkdirSync(snapshotDir, { recursive: true }); - 写入本地文件scripts/lib/db.mjs:255
copyFileSync(source, temp); - 删除本地文件scripts/lib/db.mjs:256
if (existsSync(destination)) unlinkSync(destination); - 写入本地文件scripts/lib/db.mjs:257
copyFileSync(temp, destination); - 删除本地文件scripts/lib/db.mjs:258
unlinkSync(temp); - 写入本地文件scripts/lib/db.mjs:260
writeFileSync(sigPath, signature, "utf8"); - 读取本地文件scripts/lib/items.mjs:688
if (!existsSync(path)) text = undefined; - 读取本地文件scripts/lib/items.mjs:689
else text = readFileSync(path, "utf8"); - 读取本地文件scripts/lib/items.mjs:832
if (path && existsSync(path)) size = statSync(path).size; - 读取本地文件scripts/lib/items.mjs:832
if (path && existsSync(path)) size = statSync(path).size; - 读取本地文件scripts/lib/items.mjs:840
path: path && existsSync(path) ? path : undefined, - 读取本地文件scripts/lib/items.mjs:841
exists: Boolean(path && existsSync(path)),
扫描于 2026/11/2(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
展开完整介绍(141 字)↓
零依赖的 DSH/Claude Code/Codex 技能,用来读取本地 Zotero 文库:元数据 + PDF 全文检索、笔记/高亮、PDF 按页取文本、APA7 / GB-T-7714 / BibTeX / RIS / CSL-JSON 引文。只读,Zotero 运行时也能用。
README
由 DeepSeek 最新模型翻译生成zotero-library
让你的 AI 智能体(DSH / Claude Code / Codex 等)直接读懂你的 Zotero 文献库:元数据搜索、PDF 全文检索、笔记与高亮、按页取正文、一键生成 APA 7 / GB/T 7714 / BibTeX 引用。
零依赖、只读、离线可用。不需要 Zotero 客户端开着,不需要 API key,不需要 zot / rak。
它解决什么问题
Zotero 里的 1000 篇文献,对 AI 来说原本是一堆不可见的 PDF。装了本技能之后,你只要说:
「我库里关于培养阴性 PJI 的文献有哪些?」
「这篇里我做过哪些标注?」
「把这几篇按 GB/T 7714 生成参考文献。」
「帮我找找我笔记里提过 IL-10 的地方。」
智能体就能直接检索、读取、引用你的真实文献库,而不是靠幻觉编造。
展开完整文档(README 剩余 1 节)
zotero-library 让你的 AI 智能体(DSH / Claude Code / Codex 等)直接读懂你的 Zotero 文献库:元数据搜索、PDF 全文检索、笔记与高亮、按页取正文、一键生成 APA 7 / GB/T 7714 / BibTeX 引用。 零依赖、只读、离线可用。不需要 Zotero 客户端开着,不需要 API key,不需要 zot / rak。 它解决什么问题 Zotero 里的 1000 篇文献,对 AI 来说原本是一堆不可见的 PDF。装了本技能之后,你只要说: 「我库里关于培养阴性 PJI 的文献有哪些?」 「这篇里我做过哪些标注?」 「把这几篇按 GB/T 7714 生成参考文献。」 「帮我找找我笔记里提过 IL-10 的地方。」 智能体就能直接检索、读取、引用你的真实文献库,而不是靠幻觉编造。 | 能力 | 命令 | | 元数据搜索(标题/作者/摘要/期刊/标签/DOI/年份) | zotlib search | | PDF 正文全文检索(返回页码 + 命中片段) | zotlib fulltext | | 条目详情 + 你自己的笔记与 PDF 高亮/批注 | zotlib read | | 按页提取 PDF 正文 | zotlib text --pages 1-3 | | 引用:APA 7 / GB-T-7714 / BibTeX / RIS / CSL-JSON | zotlib cite / zotlib export | | 分类、标签、最近添加、关联文献、统计 | zotlib collections / tags / recent / related / stats | 与 zotero-cli(zot + rak)的区别 | | 本技能 | zot/rak 方案 | | 依赖 | 无(只要 Node ≥ 22.5) | 需另装 zot、rak,rak 还要下载嵌入模型建索引 | | Zotero 运行时 | ✅ 自动读数据库快照 | 部分命令受锁影响;新版 Zotero 表结构变化可能报错 | | 全文检索 | ✅ 用 Zotero 自带全文索引,带页码 | 依赖自建索引 | | 笔记/标注/引用 | ✅ 内置 | 部分支持 | | 语义搜索 | ❌(关键词 + 全文) | ✅ rak 向量检索 | 两者可以共存:日常查询用本技能(快、稳、零配置),需要语义相似度时再用 rak。 一键安装 从 GitHub 安装(推荐,任选其一) 方式 1:agent skill 管理器(一条命令装进 ~/.agents/skills) npx skills add yanglin7723/zotero-library -g 方式 2:clone 后跑安装器(会探测数据目录、创建 zotlib 命令、自检) git clone https://github.com/yanglin7723/zotero-library.git cd zotero-library powershell -ExecutionPolicy Bypass -File .\install.ps1 # Windows ./install.sh # macOS / Linux 安装器会做四件事: 1. 检查 Node ≥ 22.5; 2. 自动探测你的 Zotero 数据目录(读 Zotero 首选项 prefs.js,支持自定义数据目录如 D:\Zotero); 3. 把技能复制到 ~/.agents/skills/zotero-library/(DSH / Claude Code 的技能目录); 4. 在技能目录下创建 bin/zotlib 命令、加入 PATH,并跑一遍自检。 装完新开一个会话,对智能体说「用 zotero-library 技能查一下我的文献库」即可。 常用参数: .\install.ps1 -DataDir "D:\Zotero" # 手动指定 Zotero 数据目录 .\install.ps1 -SkipPathUpdate # 不自动把技能 bin 目录加进 PATH .\install.ps1 -NoShim # 不创建 zotlib 命令 卸载 .\uninstall.ps1 # 移除技能与 zotlib 命令 .\uninstall.ps1 -PurgeConfig # 同时清掉 ~/.zotero-library 下的配置与缓存 手动安装(无安装器) 1. 复制到技能目录 mkdir -p ~/.agents/skills/zotero-library cp -r SKILL.md scripts references package.json ~/.agents/skills/zotero-library/ 2. 试运行(自动探测 Zotero 数据目录) node ~/.agents/skills/zotero-library/scripts/zotero.mjs doctor 3. 指定数据目录(自动探测失败时) node ~/.agents/skills/zotero-library/scripts/zotero.mjs config set-data-dir "D:\Zotero" 使用示例 zotlib doctor # 环境自检 zotlib stats # 库统计 zotlib search "periprosthetic joint infection" --limit 5 zotlib fulltext "biofilm formation" --limit 3 # 正文命中 + 页码 zotlib read P667P3EP # 含笔记与高亮 zotlib text P667P3EP --pages 1-2 zotlib cite P667P3EP --style gb7714 zotlib export --collection "06 课题-培养阴性PJI(凝血-炎症)" --style bibtex zotlib recent --days 7 输出默认 JSON(适合智能体),人读加 --format text: zotlib search "PJI" --format text 数据目录优先级:--data-dir > 环境变量 ZOTERO_DATA_DIR > ~/.zotero-library/config.json > Zotero 首选项 > 常见路径。 工作原理 Agent ──▶ zotlib(Node,零依赖) │ ├─ 自动探测 Zotero 数据目录(prefs.js / 常见路径) ├─ 直接打开 zotero.sqlite(Zotero 已关闭时) ├─ Zotero 运行中 → 复制 db+wal 到缓存目录做快照再读(绕开排他锁) ├─ 元数据:items / itemData / creators / tags / collections ├─ PDF 全文:<storage>/<attachmentKey>/.zotero-ft-cache(Zotero 自己的全文索引) └─ 笔记与标注:itemNotes / itemAnnotations - 快照按 (size, mtime) 校验,源数据没变就复用,命令耗时通常 0.2–0.6 秒。 - 只使用 SQLite 只读连接与只读文件访问。 安全与隐私 - 只读:没有写库代码路径,不会改动你的 Zotero 数据。 - 全本地:不发网络请求、不需要任何密钥;配置里只有数据目录路径。 - 不复制文献库:只有 Zotero 运行时的临时快照(~/.zotero-library/cache/,可随时删)。 - 需要联网的是你的智能体本身,与这个技能无关。 兼容性 | 项 | 要求 | | Node.js | ≥ 22.5(使用内置 node:sqlite;推荐 24 LTS) | | Zotero | 7 / 8 / 9 / 10 本地库(不需要 Zotero 客户端运行;需要本机已安装过并生成数据库) | | 系统 | Windows / macOS / Linux | | 依赖 | 无第三方 npm 包 | 已知限制 - 只读,不支持写标签/分类/笔记(请用 Zotero 客户端操作)。 - 语义搜索(“意思相近的论文”)不在范围内,需要时配合 rak。 - 没有 Zotero 全文索引的 PDF(新加入、未打开过)只能用 read 看元数据;text 会提示你去索引。 - 群组库(group library)条目可以读取,但命令暂未提供按 group 过滤。 开发与测试 node test/smoke.mjs # 单元测试 +(有本地库时)真实库集成测试 node scripts/zotero.mjs doctor --json 配套技能 - zotero-dsh(另一个方向,同为本地技能):把 DSH 接进 Zotero —— 在 PDF 里选中文字直接问 AI、术语翻译走大模型。 两者互补:zotero-library 让 AI 读你的库,zotero-dsh 让你在 Zotero 里用 AI。 License MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
yanglin7723/zotero-library
让智能体检索 Zotero 文献、笔记与 PDF 全文并生成引用
相关插件 · 搜索 / 抓取
LLM 知识平台Tencent/WeKnora
概览 ·快速开始 ·新特性 ·功能 ·客户端 ·文档 ·开发
★ 36,161已汉化DSH
72.1
智能体记忆系统MemTensor/MemOS
MemOS 2.0 Stardust星尘
★ 12,195已汉化DSH
71.2
跨代理记忆库zilliztech/memsearch
跨平台语义记忆,专为 AI 编程智能体打造。
★ 2,799已汉化DSH
70.9
技能语料库EverMind-AI/SkillCorpus
SkillCorpus 能给你什么
★ 694已汉化DSH
69.7
代码图谱记忆syncable-dev/memtrace-public
你的智能体值得拥有结构化记忆。
★ 509已汉化MCP
67.9
AnySearch 搜索插件anysearch-team/anysearch-dsh
AnySearch 网页搜索服务商,为 DeepSeek Harness(DSH)提供高级搜索工具
★ 457已汉化DSH
66.6