DBLP 学术文献检索助手
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-rn88lg3j/db-lp
技能介绍
手动管理参考文献的痛点
在撰写学术论文或技术报告时,我们经常需要引用计算机科学领域的文献。传统做法是打开 DBLP 网站,手动搜索论文,逐条复制 BibTeX 条目,再整理到 .bib 文件中。这个过程不仅耗时,还容易出错,尤其是当需要批量引用多篇文献时。更麻烦的是,DBLP 的搜索接口并不直接提供程序化调用,我们只能通过网页操作。
这个技能做了什么
学术文献检索与引用工具 将 DBLP 的查询能力封装为一组可通过 MCP 调用的工具函数。大模型作为路由层,理解你的检索意图,自动选择对应的工具,提取参数,并调用 DBLP API 获取结果。你只需要用自然语言描述需求,比如“帮我找 2017 年 Vaswani 等人在 NeurIPS 上发表的论文”,模型就会调用 scripts.tools.search 或 scripts.tools.fuzzy_title_search 完成检索,并返回结构化的文献信息。
核心能力包括:
- 文献检索:支持布尔查询(
and/or)和模糊标题匹配,可按年份、会议/期刊名称过滤。 - 作者出版物查询:给定作者名,返回其发表记录、统计信息(如高产年份、常见会议)。
- 会议/期刊信息查询:查询 venue 的全称、缩写、类型及 DBLP 链接。
- 统计计算:对检索结果自动计算总数、年份范围、高频作者和会议。
- BibTeX 管理:从检索结果中提取
dblp_key,调用add_bibtex_entry添加条目,最后用export_bibtex导出到本地.bib文件。
工作流程与关键步骤
技能使用前,必须在 .env 中配置 XBY_APIKEY。首次调用时,模型会通过 AskUserQuestion 询问密钥,并调用 scripts.config.set_api_key 保存。随后,模型根据用户意图选择工具函数,例如:
- 需要模糊匹配标题时,使用
fuzzy_title_search,需提供title和similarity_threshold。 - 需要按作者查询时,使用
get_author_publications,需提供author_name和similarity_threshold。 - 需要布尔查询时,使用
search,需提供query,可选max_results、year_from、year_to、venue_filter、include_bibtex。
所有工具返回的数据包含 raw 字段,模型会整理后展示给用户。对于 BibTeX 导出,需先逐个调用 add_bibtex_entry 添加条目,再调用 export_bibtex 指定路径保存。
注意事项与适用边界
- API 密钥是硬性要求:没有密钥时,模型会主动询问,但禁止在无密钥时编造数据或绕过搜索。
- 查询语法限制:布尔查询不支持括号,仅支持
and和or;模糊匹配需设置相似度阈值(0~1),1.0 表示完全匹配。 - 数据范围:DBLP 主要覆盖计算机科学领域的会议和期刊,其他学科的文献可能不在库中。
- 导出路径:
export_bibtex需要指定绝对路径,会自动创建目录和添加.bib后缀。 - 统计功能:
calculate_statistics只对已有的检索结果进行计算,不会主动发起新的搜索。
使用场景
- 当需要在论文中批量引用 DBLP 收录的计算机科学会议论文,并一次性导出为本地 `.bib` 文件时
- 当需要查询某位计算机科学家的全部发表记录、统计其高频会议和年份时
- 当需要在写作中按年份、会议缩写过滤检索特定主题的文献时
- 当需要从多篇搜索结果中快速生成高频作者和会议统计报告时
适合人员
- 撰写学术论文的研究生,需要在正文中精确引用 DBLP 中的会议论文
- 撰写技术报告的技术作者,需要从 DBLP 批量获取参考文献并整理成 `.bib` 文件
- 进行文献综述的研究人员,需要按年份和会议筛选并统计相关领域发表情况