最近开始用Zotero管理平常下载阅读的投资类学术文献。

第一次接触这类软件,在装上了Zotero之后,就尽可能将日常看到的学术资料入库。以往用文件目录收藏,实在是太傻了。

对于标准的学术论文,有DOI信息做索引,入库极为简单。

但AQR、UBS这类金融机构在官网发布的研究报告,入库就有点麻烦,尤其是引用关键词的设定、摘要生成等,用Zotero的官方插件就不太靠谱。

和Gemini聊了半天,开始想出来的是生成一个提示词,让Gemini去访问这个网页生成Zotero可以导入的BibTex文本,效果还不错。但每次都要去访问Gemini,还要输入这段固定的提示词,也很繁琐。

后来想着,在Cloudflare上架设一个Worker专门干这事,但灵机一动发现,我这种在自己电脑上读读文档的人,本地写一个脚本做这个不就行了。

于是让AI写了一个,生成BibTex的提示词很简单:

请根据这个网页/报告内容,输出一份用于 Zotero 的标准 BibTeX 文本(注意:机构作者请用双大括号类似 {{UBS Investment Bank}} 包裹以保留单字段,包含 keywords 标签,另请包含 abstract 字段,内容为 200 字左右的中文摘要)。除 BibTeX 内容本身外,不要输出任何解释或 Markdown 代码块标记。

不过,要和AI说清楚这是给Raycast用的,它知道要在头部加入Raycast的“元设定”。同时我会要求将生成的BibTex自动复制到剪贴板,这样用Zotero直接导入即可。

代码生成很快,调用的是Deepseek Flash模型。就是抓取AQR的文件时失败了。

于是要求它改用r.jina.ai的接口,顺利搞定——免费接口20 RPM也就够了。

最后,顺便又加了一个小功能,如果发现网页有PDF下载,就自动下载到下载目录,并根据BibTex中的引用关键词改名。

如今,需要生成某个网页的BibTex,只需要唤醒Raycast,输入我预先设定的bib快捷键,Tab输入网址,就可完成后续的生成下载工序。

image-20260925105958774