dsh-paperlens:在 DSH 裏做跨源文獻檢索與本地文獻庫

前言

在 DeepSeek Harness(DSH)裏做科研或技術調研時,常見做法是臨時讓模型「搜幾篇論文」——結果往往依賴模型幻覺、鏈接不可復現,也沒有統一的引文格式和本地歸檔。若希望檢索走開放學術 API、元數據結構化、引用按規範輸出,並能把讀過的文獻留在本機,就需要把「找 → 篩 → 讀 → 懂 → 存 → 引」拆成可調用的工具,而不是一次性對話。

dsh-paperlens 是 fuqiang-lab 爲 DSH 編寫的原生 Cordis 插件(MIT,當前包版本 0.1.0)。它受 PaperLens 工作流思路啓發,代碼爲源碼級重寫,不依賴自帶 AI 網關;詳析、對比、綜述仍由 DSH 會話模型完成,插件只提供檢索、格式化與庫管理數據。

這是什麼

一句話:多源學術檢索 + 引文格式化 + 文獻導出 + 本地 sqlite 文獻庫,掛載在 DSH 的 Cordis 工具層。

  • 維護者:fuqiang-lab(README 署名 fuqiang (foqiang))
  • 倉庫:https://github.com/fuqiang-lab/dsh-paperlens
  • 社區目錄:https://www.skillhub.cn/plugins/fuqiang-lab/dsh-paperlens
  • 運行要求:package.json 聲明 Node >=22.5.0,peer 依賴 @deepseek-ai/cordis 等

本地優先:檢索經 OpenAlex、CrossRef 等開放 API(無明文 key 必需);文獻庫默認在 ~/.dsh/paperlens/library.db(node:sqlite + FTS5),數據不出本機。

核心功能

插件通過下列工具暴露能力(名稱與說明均來自項目 README):

工具 說明
paper_search 跨源檢索(OpenAlex + CrossRef),相關性排序、去重、元數據完整度評分(0–100)
paper_details 單篇完整元數據(摘要、作者、被引、鏈接等)
paper_cite 引文格式化:APA 7th、MLA 9th、GB/T 7714、Chicago 17th、Vancouver
paper_import_doi 批量 DOI 導入並充實元數據,可寫入文獻庫
paper_save 存入本地庫(收藏夾、標籤、閱讀狀態 unread / reading / read)
paper_export 從庫導出 RIS、BibTeX、CSV

README 說明:v1 數據源爲 OpenAlex / CrossRef;CNKI、萬方、Scopus 等需瀏覽器與機構認證,不在本插件範圍。paper_graph 爲 v2 預留。插件默認不向模型注入 systemPrompt 或 pre-step,僅在工具調用時產生一次性上下文,對 KV cache 穩定前綴無額外影響。

安裝與啓用

bundle 聲明在 dsh.bundle.patch(包內爲 cordis.patch.yml),安裝後下次啓動自動掛載,無需手改 cordis.patch.yml。

README 給出的安裝方式如下(請按你的環境擇一,路徑需替換爲實際位置):

# 本地開發(file: 路徑免 allowBuilds)
dsh plugin --profile web add file:D:/Coding/DSH-Plugin/dsh-paperlens

# 或 git 安裝(本包已提交 lib/,無 prepare 腳本 → 零 allowBuilds)
dsh plugin --profile web add https://gitcode.com/foqiang/dsh-paperlens.git

在 cordis.patch.yml 的 insert config 段可追加(或覈對)如下配置:

- insert:
  - id: dsh-paperlens
    name: dsh-paperlens
    config:
      sources:
        openalex: { enabled: true, email: "you@example.com" }   # mailto 提升 OpenAlex polite pool
        crossref: { enabled: true, email: "you@example.com" }
      defaultMaxResults: 20        # paper_search 默認條數
      # libraryDir: 默認爲 ~/.dsh/paperlens/

安裝前請閱讀倉庫源碼與 MIT 許可證;插件以當前 dsh 進程權限運行,會訪問外網學術 API 並在本機讀寫 sqlite 庫。

典型用法

在已掛載插件的 DSH 會話中,通過自然語言讓模型調用對應工具即可,無需單獨啓動子服務。可復現的流程示例:

  1. 用 paper_search 按關鍵詞檢索,利用 defaultMaxResults 控制默認條數(配置項見上)。
  2. 對候選篇目調用 paper_details 拉齊元數據,再由會話模型做篩讀與摘要(分析不在插件內完成)。
  3. 確定收錄後 paper_save 寫入本地庫,或通過 paper_import_doi 批量導入 DOI。
  4. 寫作階段用 paper_cite 輸出指定體例(含 GB/T 7714);交稿或導入 Zotero 等時用 paper_export 導出 RIS / BibTeX / CSV。

維護者在倉庫中提供離線與前網絡冒煙腳本,供開發自檢:

node build.mjs   # 編譯 lib/
node smoke.mjs   # 純邏輯 smoke(離線)
node scripts/net-smoke.mjs  # 真網絡檢索(需能訪問 api.openalex.org / api.crossref.org)

適用場景與注意

適合:已在 DSH 上做文獻調研的智能體開發者、需要開放 API 檢索與國內常用 GB/T 7714 引文格式、希望文獻元數據落在本機 sqlite 而非雲端的用戶。

邊界:Semantic Scholar 無 key 易 429,README 稱留待 v2;GUI 式引用圖譜不做。生態上 DSH 強調「一切皆插件」,SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。

結尾

dsh-paperlens 把文獻工作流拆成可編排的 Cordis 工具,檢索與庫存本地、引文與導出規範化,與會話模型分工清晰。進一步安裝細節與邊界說明見倉庫 README。

  • 目錄頁:https://www.skillhub.cn/plugins/fuqiang-lab/dsh-paperlens
  • GitHub:https://github.com/fuqiang-lab/dsh-paperlens
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜