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:

  1. paper_search: Searches academic papers across sources. Supports OpenAlex and CrossRef, sorts by relevance, automatically deduplicates results, and provides metadata completeness scoring (0-100).
  2. paper_details: Retrieves complete metadata for a single paper, including extended abstract, author information, citation count, and original links.
  3. paper_cite: Generates standard citation formats, supporting APA 7th, MLA 9th, GB/T 7714, Chicago 17th, and Vancouver.
  4. paper_import_doi: Bulk-imports DOIs, automatically enriches metadata, and optionally stores items in the library.
  5. paper_save: Stores papers in the local SQLite library, supporting favorite categories, tag management, and reading-status markers (unread/reading/read).
  6. 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

  1. Search Papers: Use the paper_search tool in a DSH session, specifying keywords to search across sources.
  2. Generate Citations: Use the paper_cite tool to convert a paper DOI or ID into formats such as GB/T 7714.
  3. Manage Literature: Use paper_save to store papers in the local library, and use paper_export to 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.