Introduction¶
The DeepSeek Harness (DSH) ecosystem adopts an “everything is a plugin” design philosophy. For literature retrieval, citation formatting, and management needs in research scenarios, developers often need to integrate external services or write scripts. dsh-paperlens is a native Cordis plugin that provides multi-source academic search, citation formatting, literature export, and local SQLite library management. Its functional approach has been completely rewritten; it does not rely on browser authentication, and data does not leave the local machine.
Core Features¶
The plugin provides the following tools, covering the entire workflow from retrieval to archiving:
- paper_search: Searches academic papers across sources. Supports OpenAlex and CrossRef, sorts by relevance, automatically deduplicates results, and provides metadata completeness scoring (0-100).
- paper_details: Retrieves complete metadata for a single paper, including extended abstract, author information, citation count, and original links.
- paper_cite: Generates standard citation formats, supporting APA 7th, MLA 9th, GB/T 7714, Chicago 17th, and Vancouver.
- paper_import_doi: Bulk-imports DOIs, automatically enriches metadata, and optionally stores items in the library.
- paper_save: Stores papers in the local SQLite library, supporting favorite categories, tag management, and reading-status markers (unread/reading/read).
- paper_export: Exports the entire library as RIS, BibTeX, or CSV.
Installation and Activation¶
After installing the plugin, it is automatically mounted through dsh.bundle.patch, without manual changes to configuration files.
Installation command:
# 本地开发安装(file: 路径免 allowBuilds)
dsh plugin --profile web add file:D:/Coding/DSH-Plugin/dsh-paperlens
# 或从 GitCode 安装(包内已包含 lib/,无 prepare 脚本)
dsh plugin --profile web add https://gitcode.com/foqiang/dsh-paperlens.git
Configuration¶
The plugin relies on cordis.patch.yml to configure data sources. Insert the following content into the DSH configuration file:
- insert:
- id: dsh-paperlens
name: dsh-paperlens
config:
sources:
openalex: { enabled: true, email: "you@example.com" }
crossref: { enabled: true, email: "you@example.com" }
defaultMaxResults: 20
# libraryDir: 默认为 ~/.dsh/paperlens/
Note: Registering an email address with OpenAlex can improve polite pool priority.
Typical Usage¶
- Search Papers: Use the
paper_searchtool in a DSH session, specifying keywords to search across sources. - Generate Citations: Use the
paper_citetool to convert a paper DOI or ID into formats such as GB/T 7714. - Manage Literature: Use
paper_saveto store papers in the local library, and usepaper_exportto export the library in BibTeX format for LaTeX.
Applicable Scenarios and Notes¶
- Data Privacy: Data is transmitted only through open academic APIs. The literature library is stored on the local machine at
~/.dsh/paperlens/library.db. No plaintext API key is required, and data does not leave the local machine. - Source Limitations: Currently, sources that require browser authentication are not included (such as CNKI, Wanfang, Scopus, and ScienceDirect).
- KV Cache Impact: By default, the plugin does not inject any model-visible context (no systemPrompt section). It only generates one-time results when a tool is invoked. It does not affect the stable prefix of KV cache and uses append-only session records.
Ecosystem and License¶
This project was inspired by the PaperLens workflow, but the code has been completely rewritten. It is licensed under the MIT License.