zotero自动化论文推荐

SKILL效率
效率 未标注权限 许可证不明确
安装这个技能

定期(如每天)为用户推送一篇契合其研究兴趣的高质量学术论文,并在用户确认感兴趣时自动通过 Zotero API 将该论文(含元数据、PDF 附件)写入其 Zotero 文献库并归入指定条目,同时维护兴趣画像以持续优化后续推荐。 Use when the user asks to set up a recurring paper recommendation or daily paper push in a research domain, to auto-save recommended papers to their Zotero library when interested, or to build a self-improving recommendation loop that learns the user's paper interests over time.

一句话选型结论

按资料字段整理

zotero自动化论文推荐是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类效率 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_08372523/zotero-paper-recommendation
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

效率
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_08372523仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验2026-11-06上游最后核验时间 · 数据更新 2026-11-06
正文体量11.1 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在效率场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
zotero自动化论文推荐当前 未标注权限 未标注 未标注 未标注 有
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

11.1 KB
模型实际读到的说明书原文,来自技能仓库

论文推荐与 Zotero 归档

这个技能解决什么

推送一篇论文不难,难的是「连续跑三个月不出事」。历史故障几乎全部来自同一个原因:把 API 操作写成散文,每次由模型现场拼命令。所以本技能把动作收敛成一个可执行内核 scripts/zotero_reco.py(仅标准库),SKILL.md 只负责决策与话术。

三条硬原则:

  1. Zotero 库是唯一事实源,push_log.jsonl 是事件流水,interest_profile.md 只是派生视图——永远由脚本重算,不手工追加。这样不会再出现「库里 7 条、档案 4 条」的漂移。
  2. DOI 是主键,入库一律 upsert:重复运行、重推、补挂附件都不会产生重复条目。
  3. 每个写操作都要能回读:add 之后必跑 verify,字节级确认中文没坏、collection 归属正确、附件链接能打开。

依赖与环境

  • Python 3.9+,无第三方依赖(urllib / json / configparser 全标准库)。
  • 需要能直连 api.zotero.org;uploads.zotero.org 在部分网络(含中国大陆部分地区)不可达,届时自动走链接式附件。

状态目录(首次务必先 init)

状态与技能本体分离,路径按以下顺序解析:

  1. --state <path> 参数
  2. 环境变量 ZOTERO_STATE_ROOT
  3. 默认 ~/.zotero-paper-reco

> 不要把状态放进会话/聊天目录:换会话、换设备、云端跑定时任务时就找不到了,这是历史故障的根源之一。

<state_root>/
├── config.ini             # API Key、user_id、collection 名、兴趣种子、降级链接
├── push_log.jsonl         # 事件流水:push / selected / ignored / ignored_auto
└── interest_profile.md    # 派生视图,由 profile / sync 生成,不手改

config.ini 模板见 templates/config.ini.example,字段含义见 references/api-notes.md

四个段:[zotero] 凭证与 collection;[interests] 方向与种子权重;[keywords] 方向的关键词别名(中英混排文献靠它推断方向);[fulltext] 链接不可达时的降级候选。

决策树(每次触发先判断)

读 config.ini →
├─ 不存在 / 仍是占位符 → 走「阶段一:首次配置」
└─ 存在 → 跑 preflight
   ├─ ok=false(write=false / collection 不存在 / Key 失效)→ 先修配置,明确告知用户卡在哪,不要硬跑
   └─ ok=true → 按触发来源分两条线
      ├─ 定时推送 → 工作流 A
      └─ 用户说「加入 Zotero / 感兴趣」→ 工作流 B

阶段一:首次配置

  1. 运行 python scripts/zotero_reco.py init,得到 config.ini。
  2. 引导用户:https://www.zotero.org/settings/keys 建 private key,必须勾 Allow write access;https://www.zotero.org/settings 抄数字 User ID。
  3. 填好后运行 preflight --ensure-collection,把 write、collection、upload_endpoint 三项结果如实回报给用户。
  4. 绝不把 Key 写进对话、query、日志或产物;只在 config.ini 里。

工作流 A:每日推送

  1. 读画像:interest_profile.md 的权重 + 最近推送表(去重依据)。
  2. 检索:优先近 1–2 年、与研究兴趣直接相关;候选池至少 5 篇,避免「只搜到一篇就推」。
  3. 去重:每篇候选都先跑 lookup --doi <doi>;in_library=true 或 already_pushed=true → 直接丢弃。
  4. 打分:按 references/scoring-rubric.md 的五维打分,取最高分且 ≥3.5 的推;不足则如实说「今天没有值得推的」,不要凑数。
  5. 元数据:作者、期刊、卷期页、年份、DOI 一律用 Crossref/OpenAlex 按 DOI 取,不要从检索摘要里抄(历史上有把作者身份写错的记录)。
  6. 推送话术(口语化,5 行内):标题 / 作者 / 期刊·年份 / 一句话讲清它解决什么问题 / 「为什么推给你」/ DOI 或链接 / 一句「感兴趣就回复"加入 Zotero"」。
  7. 记流水:log --event push --doi ... --title ... --direction ... --score ...(这一步不能省,否则下次去重失效、画像失忆)。

工作流 B:用户点头 → 入库(事务化)

一条链路,五步,任一步失败都要停下并说明,不许「报成功但其实没进库」:

# 1) 组装条目 JSON(UTF-8),字段示例见 templates/item.example.json
# 2) 幂等入库:建条目时就把 collection 写进 payload,不事后补
python scripts/zotero_reco.py add --payload item.json --direction 交通能源 --score 4.2
# 3) 挂全文:先探活,不可达自动降级,别把 403 的链接挂上去
python scripts/zotero_reco.py attach --item-key <key> --link <URL> \
    --fallback "https://doi.org/<doi>" "https://search.napstic.cn/search?q=<doi>"
# 4) 回读校验:中文、collection、附件状态一把梭
python scripts/zotero_reco.py verify --item-key <key> --expect-title "<标题>" \
    --collection-key <collectionKey>
# 5) 回报用户:条目直达链接 + 附件是全文还是题录页

要点:

  • collection 归属写在创建 payload 里(add 已内置),不要先建条目再 POST /collections/{key}/items——那个端点对新建条目经常返回 400「Item not found in library」,必须先 PUT 改 data.collections 兜底。脚本已把这条弯路封掉。
  • 附件分层策略:OA PDF 且上传端点可达 → imported_file 传本体;否则优先 linked_url 指向 https://doi.org/<doi>(比出版社页面稳定);中文期刊官网常见校外 403 → 挂聚合库题录页并在附件标题写「题录/摘要页(全文需校园网)」;本机已有 PDF → linked_file(仅同一台电脑的客户端能打开)。
  • 中文编码:脚本内部 json.dumps(ensure_ascii=False).encode("utf-8"),响应 decode("utf-8", strict)。不要再走「Write 写 JSON 文件 + curl --data-binary」那套,也别用 PowerShell 的 ConvertTo-Json 拼中文请求体。

工作流 C:反馈与画像

用户反应 命令 效果
感兴趣/已入库 log --event selected --doi ... --direction ... 该方向 +0.2(30 天半衰期)
明确不感兴趣 log --event ignored --doi ... --direction ... 该方向 −0.15;同一方向累计 ≥2 次进入负面清单
推送后 3 天无回应 log --event ignored_auto --doi ... 弱负反馈 −0.05,防止权重只涨不跌
想重算画像 profile 从流水重生成 interest_profile.md
换了库/补历史 sync --collection <名> 从 collection 回填 selected,修正漂移

推荐配比:80% 按权重主攻 + 20% 探索位(相邻方向或新方法),否则权重高的方向会自我强化成一个越来越窄的专题;探索位命中也记 selected,画像自然扩边。

命令速查

命令 用途 关键参数
init 生成状态目录与配置模板 --force
preflight 开跑前体检 --ensure-collection
lookup DOI 查重(库内/已推送) --doi
add 幂等入库 + 归集 + 附件 + 记流水 --payload --link --pdf --direction --score --dry-run
attach 挂全文,链接探活自动降级 --item-key --link --fallback --pdf --linked-file
verify 回读校验中文/归属/附件 --item-key --expect-title --collection-key
log 记事件并重算画像 --event --doi --direction
sync 从库回填流水 --collection
profile 重算兴趣画像 —
migrate 旧状态迁移到新目录 --src --dst

所有命令输出 UTF-8 JSON,ok 字段是唯一判定依据;退出码:0 成功、1 一般失败、2 配置、3 鉴权、4 网络、5 版本冲突。

故障处理表

现象 根因 处置
403 Write access denied Key 创建时没勾 Allow write access 去 settings/keys 编辑该 Key 勾选保存;preflight 会先拦住
归入 collection 返回 400 Item not found in library 先建条目再关联,顺序错了 用 add(collection 随创建写入);历史条目用 PATCH data.collections
标题变 æºæ §å ¬è·¯ 请求体被非 UTF-8 通道二次编码 只走脚本;旧条目用 verify 定位后按当前 version 整体 PUT 重写
附件点开 403 Forbidden 挂了出版社/学报官网,对校外 IP 拦截 attach 先探活再挂;已挂的用 attach --link <可达页> 重建附件
uploads.zotero.org 超时 上传端点被网络屏蔽,或返回二次签名地址 降级 linked_url;要本体就先连校园网/VPN 再 attach --pdf
preflight 说 collection 不存在 首次使用 / 名字改了 preflight --ensure-collection
库里条数 > 档案条数 入库成功但没记流水 sync 回填,之后每次 add 自动记

更细的接口行为、错误码与降级顺序见 references/api-notes.md;打分与权重规则见 references/scoring-rubric.md。

隐私与发布

  • 技能包内不含任何账号、User ID、API Key、个人路径、真实 DOI 偏好;templates/ 全是占位符。
  • 用户的 config.ini 与 push_log.jsonl 属本地私有数据,只存在状态目录,不进技能包、不进对话、不进定时任务 query。
  • 打包上架用 scripts/pack_skillhub.py:校验 frontmatter 必填字段(name/description/version/display_name)、强制 <skill-name>/ 根目录与两级目录限制、回读 zip 自查。

平台约束(SkillHub / WorkBuddy)

  • 包内目录最多两级:<skill-name>/<子目录>/<文件>;references/、scripts/、templates/ 只放平铺文件。
  • ≤200 个文件、≤10 MB;排除 __pycache__、.pyc。

常见问题

5 问
答案由本站依据条目字段整理
zotero自动化论文推荐怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_08372523/zotero-paper-recommendation。安装方式为未标注。装完刷新技能列表或重开客户端。

zotero自动化论文推荐支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

zotero自动化论文推荐权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

zotero自动化论文推荐收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

zotero自动化论文推荐用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 2026-11-06。