Skip to content

Release v1.3.6

Choose a tag to compare

@github-actions github-actions released this 23 Sep 09:13
· 5 commits to main since this release

AlphaPulse 给 Zotero 加两列:alphaXiv 点赞数 和 引用数(默认走 Google Scholar)。装了就能用,不用填 API key、不用注册、也不用手动绑定论文。数字写在条目的 Extra 字段里,可以随文献库同步。

这一版的新东西

  • 名字统一成 AlphaPulse。 插件名、仓库地址、下载的文件名和商店条目里的名字都是 AlphaPulse,装到的文件形如 alphapulse-v1.3.6.xpi。
  • 多了一个入口:工具 → AlphaPulse(或右键条目 → AlphaPulse)。 一个图标加插件名,悬停展开全部功能;原来散在右键里的五项收进这一个菜单,工具菜单里那份永远在。
  • 新增「打开 alphaXiv 页面」:在浏览器里打开这篇论文的 alphaXiv 页面,也就是点赞数真正的出处;条目还没识别出 arXiv ID 时会自动隐藏这一项。
  • 新增手动填写引用量…:读不到的数字可以自己填,填了就一直是它,自动读取不再覆盖。
  • 读取进度按文献分开:右键选中的每个条目各占一行,写着这条自己请求过几次、它自己下一次什么时候重试;读到数字之后这一条的计数清零。设置面板里那行同样只按文献列出来,说明是哪个条目、这条重试还要等多久——不再显示整场会话的请求总数(那个数字属于读取队列,不属于任何一篇论文)。
  • 点赞数为 0 的论文现在能正常读到 0。 alphaXiv 在没有人点赞时干脆不显示数字(按钮只剩图标),插件把「没有数字」当成了「读不出来」,于是报「未能读取(保留原值,约 5 分钟后自动重试)」。现在按钮在、数字不在就是 0:0 是个读数,不是失败,会照常写进 Extra。
  • 重试时间只有一个:弹窗、格子悬停、菜单那行、设置里那行说的都是同一个时刻,不会再出现「弹窗说 5 分钟、旁边写着现在」这种情况。
  • 读取节奏更保守了:页面停留改成 4–8 秒的随机区间,每批 8–15 条,歇 15–40 分钟。
  • 被 Google 拦住时自动清掉这边的 Google Cookie(后台行为,菜单里不再有「重置谷歌会话」)。
  • Zotero 11 的适配:同意 cookie 的写入按当前 Gecko 认识的时间单位走(见下)。

一、alphaXiv 点赞数

论文在 alphaXiv 上的点赞数——比引用数反应快得多,新论文有没有人在读,一眼就看出来。

  • 从条目的 URL、DOI 或 Extra 识别 arXiv ID;没有 ID 的条目按 DOI 与标题查询学术 API,只采用高置信度的结果,中等相似度按「未找到」处理,不会猜。
  • 滚到哪读到哪,每读完一条就显示一条,不用等整批读完。
  • 记录每日快照,列里可以显示 1130 ↑12 这样的变化。

二、引用数

默认 Google Scholar,也可以换成 OpenAlex 或 Semantic Scholar:勾一个就只显示那一个,勾多个时显示其中最大的数字,悬停可以看到来源。

  • 引用数变化慢,缓存时间比点赞数长,可以单独设置外观与阈值。
  • Google Scholar 没有公开 API,读取的是搜索结果页上的 Cited by;被限流(429)或要求人机验证时会自动暂停并按 10 分钟、20 分钟、40 分钟……(最长 2 小时)重试,不会用别的来源顶替,同时其它来源照常自动填充。
  • Google Scholar 只在选中条目或手动刷新时读取,避免把自己送进验证。

读取节奏

机器一样的节奏是要被拦的,所以读取按范围随机安排:

  • 两次搜索之间随机等 16–30 秒;
  • 打开页面后先向下滚一点,停留 4–8 秒再读,页面里的脚本也趁这段时间跑完;
  • 每读完 8–15 条,歇 15–40 分钟再继续(正在读的那几个格子会写着还剩几分钟)。

这四组范围都能在 设置 → AlphaPulse 里调整,每个输入框旁边都写着建议值;下面还有一行**「当前:…」**,把当前这八个数字连成一句话(停留写成 4–8 秒 这样的区间),改一个字段它就跟着变,改完对下一次搜索就生效。

想看当前进度,不用打开设置:菜单最上面就是它——右键选中几个条目,每个条目各占一行,写的是这一条自己的事:「〈论文标题〉:本条已请求 3 次 · 约 5 分钟后自动重试」。读到的数字一落地,这条的计数就清零;还没轮到的条目写 0,不会借用别的条目的数字,也不是整场会话的总数。设置面板里那行同样只列文献,写明是哪个条目、还要等多久。

同一个等待只有一个时间:Google 拒绝时弹的那条提示、格子悬停里的「约 N 分钟后自动重试」、菜单里那一行、设置里那一行,说的都是同一个时刻——不会再出现「弹窗说 5 分钟、旁边的字写着现在」。

操作

右键任意条目:刷新点赞数、刷新引用数、在浏览器中打开 Google Scholar 搜索页(自己核对数字用)、手动填写引用量…、清除本插件写入的 Extra 记录。

两个刷新动作各读各的,互不影响,也都只作用在选中的条目上;读取期间单元格显示 …,完成后弹一条结果提示。清除范围严格限定在本插件自己写的那几行,条目里其它内容原样保留。

外观

  • 两列都可按固定阈值或当前列表的分位数分档着色,也能按点赞 / 引用数区间筛选(范围外的条目整格变淡)。
  • 11 种外观样式(玻璃胶囊、莫兰迪低饱和、双色拼接……),每个颜色框都是取色面板(色域 + 色相条),也可以直接输入 CSS 颜色,随时可恢复默认。
  • 显示样式、着色、范围筛选各自独立;引用数可以跟随点赞的外观,也可以单独设置。

引用量也能自己填

Google Scholar 读不到(被拦、遇到验证码、这篇在它的库里叫别的名字)时,右键 → 手动填写引用量…,填进去的数字就显示在引用列里,并且自动读取不会再覆盖它;把输入框清空就交回自动读取。悬停会写明这个数字是手动填的,不会算到任何来源头上。选中多条时这一项会隐藏——一个数字只属于一条。

读不出来时

失败的格子会写明原因,以及多久之后自动重试——不是只说一句「读取失败」:

  • 悬停提示形如「读取失败:被限流(HTTP 429)· 约 15 分钟后自动重试」;
  • 被 Google 拦住时,插件自己清掉这边的 Google Cookie、下一轮重试重新打开 Scholar 首页——这是后台动作,菜单里没有这一项,也不需要任何操作;
  • 刷新结束后的提示里也会写「N 条未能读取(保留原值,约 X 分钟后自动重试)」,原来的数字不会被清掉;
  • 碰巧正赶上「休息」的格子,会写着这一批已经读满、还剩几分钟继续。

兼容与隐私

  • 支持 Zotero 7 / 8 / 9 / 10 / 11:范围只在一个地方定义,manifest、README 和包描述由测试与静态检查盯着不能让它们走散;插件只用 Zotero 7 起就有的接口,可选接口一律先探测再调用。(发布前在 7.0.32 / 8.0.4 / 9.0.6 / 10.0.3 和 11.0 开发版这几个真实版本上各跑一遍完整测试套件。)Zotero 11 用的是 Gecko 145,那里的 cookie 接口把过期时间当毫秒读:老写法传秒值不会被报错,只会被当成 1970 年,于是同意 cookie 静悄悄写不进去、每次读引用都落在 Google 的同意页上。现在按接口本身(maybeCapExpiry)选时间单位,两边都对。
  • 所有记录都写在条目的 Extra 字段里(alphaxiv_* 行),可随文献库同步;联网请求只发往 alphaXiv、arXiv、OpenAlex、Semantic Scholar、Crossref、Google Scholar 等学术站点,不发送文献库内容或个人信息。