Bundle
xby-dblp
一个通过模型上下文协议(MCP)提供DBLP计算机科学文献数据库访问的服务,支持学术文献检索、引用生成及格式化功能。
- Source
- xby-skill
- License
- MIT
- Updated
- Updated 6 days ago
Readme
# xby-dblp
DeepSeek Harness (DSH) 的插件:学术文献检索与引用工具
一个通过模型上下文协议(MCP)提供DBLP计算机科学文献数据库访问的服务,支持学术文献检索、引用生成及格式化功能。
## 功能
- **set_xby_apikey** — 在聊天中设置 API 密钥(自动持久化,重启有效)
- **get_instructions** — Get detailed DBLP usage instructions. Key points:
- Batch searches in parallel (5-10 at a time) for efficiency
- Add entries immediately after each search result (don't batch add_bibtex_entry calls)
- Use author+year for best results: search('Vaswani 2017') not just title
- Copy dblp_key EXACTLY from search results to add_bibtex_entry
- Export once at the end with export_bibtex
Call this tool for complete workflow details, search strategies, and examples.
- **search** — Search DBLP for publications using a boolean query string.
Arguments:
- query (string, required): A query string that may include boolean operators 'and' and 'or' (case-insensitive).
For example, 'Swin and Transformer'. Parentheses are not supported.
- max_results (number, optional): Maximum number of publications to return. Default is 10.
- year_from (number, optional): Lower bound for publication year.
- year_to (number, optional): Upper bound for publication year.
- venue_filter (string, optional): Case-insensitive substring filter for publication venues (e.g., 'iclr').
- include_bibtex (boolean, optional): Whether to include BibTeX entries in the results. Default is false.
Returns a list of publication objects including title, authors, venue, year, type, doi, ee, and url.
- **fuzzy_title_search** — Search DBLP for publications with fuzzy title matching.
Arguments:
- title (string, required): Full or partial title of the publication (case-insensitive).
- similarity_threshold (number, required): A float between 0 and 1 where 1.0 means an exact match.
- max_results (number, optional): Maximum number of publications to return. Default is 10.
- year_from (number, optional): Lower bound for publication year.
- year_to (number, optional): Upper bound for publication year.
- venue_filter (string, optional): Case-insensitive substring filter for publication venues.
- include_bibtex (boolean, optional): Whether to include BibTeX entries in the results. Default is false.
Returns a list of publication objects sorted by title similarity score.
- **get_author_publications** — Retrieve publication details for a specific author with fuzzy matching.
Arguments:
- author_name (string, required): Full or partial author name (case-insensitive).
- similarity_threshold (number, required): A float between 0 and 1 where 1.0 means an exact match.
- max_results (number, optional): Maximum number of publications to return. Default is 20.
- include_bibtex (boolean, optional): Whether to include BibTeX entries in the results. Default is false.
Returns a dictionary with keys: name, publication_count, publications, and stats (which includes top venues, years, and types).
- **get_venue_info** — Retrieve information about a publication venue from DBLP.
Arguments:
- venue_name (string, required): Venue name or abbreviation (e.g., 'ICLR', 'NeurIPS', or full name).
Returns a dictionary with fields:
- venue: Full venue title
- acronym: Venue acronym/abbreviation (if available)
- type: Venue type (e.g., 'Conference or Workshop', 'Journal', 'Repository')
- url: Canonical DBLP URL for the venue
Note: Publisher, ISSN, and other metadata are not available through this endpoint.
- **calculate_statistics** — Calculate statistics from a list of publication results.
Arguments:
- results (array, required): An array of publication objects, each with at least 'title', 'authors', 'venue', and 'year'.
Returns a dictionary with:
- total_publications: Total count.
- time_range: Dictionary with 'min' and 'max' publication years.
- top_authors: List of tuples (author, count) sorted by count.
- top_venues: List of tuples (venue, count) sorted by count (empty venue is treated as '(empty)').
- **add_bibtex_entry** — Add a BibTeX entry to the collection for later export. Call this once for each paper you want to export.
Arguments:
- dblp_key (string, required): The DBLP key from search results (e.g., 'conf/nips/VaswaniSPUJGKP17').
- citation_key (string, required): The citation key to use in the .bib file (e.g., 'Vaswani2017').
Workflow:
1. Fetches BibTeX directly from DBLP using the provided key
2. Replaces the citation key with your custom key
3. Adds to collection (duplicate citation_key will be overwritten)
4. Returns count of entries currently in collection
After adding all entries, call export_bibtex to save them to a .bib file.
- **export_bibtex** — Export all collected BibTeX entries to a .bib file. Call this after adding all entries with add_bibtex_entry.
Workflow:
1. Saves all collected entries to a .bib file at the specified path
2. Clears the collection for next export
3. Returns the full path to the exported file
Returns error if no entries have been added yet.
## 安装
### 方式一:从 GitHub 直接安装(推荐)
```bash
# 格式: dsh plugin --profile <profile> add github:<owner>/<repo>
dsh plugin --profile web add github:xby_skill/xby-dblp
```
### 方式二:从本地目录安装(开发模式)
```bash
# 仅用于本地开发调试
dsh plugin --profile web add /absolute/path/to/xby-dblp
```
### 方式三:通过 cordis.patch.yml 开发调试
```bash
dsh web --profile web --patch /absolute/path/to/dsh-ocr-plugin/cordis.patch.yml
```
## 配置
### 获取 API 密钥
前往 [小笨羊官网](https://xiaobenyang.com) 注册并获取 API 密钥。
Install
dsh plugin --profile web add github:xby-skill/xby-dblp
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install xby-dblp from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.