@amphilagus/dsh-literature:DeepSeek Harness 的文獻檢索與定向跟蹤插件

前言

在 DSH「一切皆插件」的組織方式中,工具可以以 bundle 形式掛到具體 profile,再結合 agent preset 形成可用的會話能力。@amphilagus/dsh-literature 是 amphilagus 維護的一個 DSH 插件,定位是 DeepSeek Harness 的文獻檢索與定向跟蹤插件,並配套「文獻跟蹤助理」agent preset。

它面向的不是通用搜索,而是文獻工作流:按主題或研究者檢索 Crossref 與 arXiv,做人工分級後寫入全局新庫,並可在選中預設的會話裏做到期提醒和持續跟蹤。標準編碼 Agent 默認不加載本工具集,只有選中「文獻跟蹤助理」preset 的會話纔會啓用。

該插件收錄在 skillhub.cn 插件頁。該目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係,不應視爲官方應用商店。

這是什麼

@amphilagus/dsh-literature 可以概括爲三件事:

  1. 提供面向 agent 的文獻檢索工具。
  2. 提供研究者與跟蹤方案的數據管理。
  3. 配合「文獻跟蹤助理」preset,讓會話按任務加載運行時技能。

基礎信息:

  • 插件名:@amphilagus/dsh-literature
  • 維護者:amphilagus
  • 許可證:MIT
  • Node 要求:^22.19.0 || >=24.0.0
  • package.json 聲明:private: true
  • 配套 preset:「文獻跟蹤助理」

它不做全文抓取,也不做翻譯。提醒機制依賴當前會話進程:會話關閉期間不觸發,重開後會補發逾期任務。

核心功能

下面介紹插件已覈實的能力範圍。

檢索

  • Crossref 遠程搜索。
  • 本地查詢只打已篩查入藏的全局新庫。
  • DOI 詳情先查新庫;未入藏再走 Crossref。

跟蹤

  • 按研究主題檢索,主題可配 ISSN 白名單。
  • 按研究者檢索,研究者必須提供 ORCID。
  • 定期檢索 Crossref 與 arXiv。
  • 人工分級後寫入全局新庫。

輔助數據

  • SCI 期刊目錄,字段包括刊名、ISSN、影響因子、中科院分區。
  • 跨會話研究者檔案。
  • 會話本地的到期提醒。

運行時技能

插件註冊三個運行時技能:

  • literature-survey
  • literature-tracking-setup
  • literature-tracking-search

這三個技能是插件在啓用狀態下注冊的運行時技能,不是需要單獨放進 skills 目錄的文件。

數據管理

數據管理覆蓋:

  • 搜索緩存。
  • 全局新庫。
  • 跟蹤方案。
  • 研究者檔案。
  • 搜索記錄。

安裝與啓用

前置檢查

下面默認 profile 名爲 web。如果設置了 DSH_HOME,相關數據目錄會落在 $DSH_HOME 下。

安裝前先確認:

  1. 本機 Node 滿足 ^22.19.0 || >=24.0.0。
  2. 已檢查插件源碼、依賴和 MIT 許可證。
  3. 已確認該插件將以當前 dsh 進程權限運行。
  4. 準備選擇「文獻跟蹤助理」preset 的會話,而不是標準編碼會話。

只裝插件、不裝 preset:工具全部關閉。
只裝 preset、不裝插件:preset 裏的 @amphilagus/dsh-literature 行解析失敗,會話起不來。

安裝插件

先構建,再鏈進 profile:

cd dsh-literature
pnpm install
pnpm run build
./scripts/install-profile.sh web

或者使用鏈接安裝命令:

dsh plugin --profile web add "link:/絕對路徑/dsh-literature"

這一步把插件掛到目標 profile。此時如果沒有配套 preset,文獻工具仍不會在普通會話裏出現。

安裝 schedule 包

文獻跟蹤需要 schedule 能力。部署步驟裏需要安裝 schedule 包。文檔中給出的方式包括:

dsh plugin --profile web add "link:/絕對路徑/deepseek-harness/packages/schedule/schedule"

或:

dsh plugin --profile web add @deepseek-ai/dsh-schedule

這一步保證 profile 的 node_modules 裏有 schedule 依賴,preset 才能正確解析 schedule 工具。

放置 preset

preset 目錄名就是 preset id,文檔中爲 literature-tracking-assistant:

mkdir -p ~/.dsh/.agent-presets
cp -R preset ~/.dsh/.agent-presets/literature-tracking-assistant

應得到:

~/.dsh/.agent-presets/literature-tracking-assistant/preset.yml
~/.dsh/.agent-presets/literature-tracking-assistant/agent.cordis.yml

preset.yml 負責 picker 上的顯示名「文獻跟蹤助理」。如果要改人設、mailto、是否掛 schedule,編輯的是拷過去之後的 agent.cordis.yml,不是倉庫裏的源文件。

改完 preset 文件後,新開的會話纔會用新組合;已在跑的會話保持啓動時那一版。已有會話不能中途換 preset,需要開一個新會話再選。

重啓並驗收

web profile 需要重啓後才生效:

dsh --profile web

驗收順序:

  1. 新建會話,選擇「文獻跟蹤助理」。
  2. 會話中應能看到文獻檢索、跟蹤和 schedule 相關工具,例如 literature_search、tracking_*、researcher_profile_*、schedule_create。
  3. skill 列表裏應有 literature-survey、literature-tracking-setup、literature-tracking-search。
  4. 另開一個標準模式會話:文獻工具和 schedule 工具都不應出現。

典型用法

下面按三條路徑說明。在「文獻跟蹤助理」會話裏直接說需求即可,agent 會按任務加載對應技能。

搜索某主題最近的文章

這條路徑只做檢索和入藏,不建跟蹤方案、不排班。

  1. 加載 literature-survey。
  2. 調用 literature_search,帶上主題關鍵詞和 recentDays。
    - 近一週:7
    - 近一月:30
  3. 篩完後用 tracking_curate 寫入全局新庫。

搜索某研究者

這條路徑也只做檢索和入藏。

  1. 加載 literature-survey。
  2. 如果已有 ORCID,直接調用 literature_search,帶上 orcid。
  3. 如果只有姓名,先調用 researcher_profile_disambiguate,確認身份後再搜。
  4. 同樣可以用 recentDays 限制窗口。
  5. 篩完入全局新庫。

建立持續跟蹤

這條路徑會創建跟蹤方案並創建排班。

  1. 加載 literature-tracking-setup。
  2. 確認跟蹤方向:topic 或 person。
  3. 如果是 person,先消歧並建檔。
  4. 如果主題是 topic,可以配置 ISSN 白名單。
  5. 調用 tracking_plan_add。
  6. 調用 schedule_create。

注意:schedule_create 的週期是 every_seconds,最小 300 秒,不是日曆意義上的「每週一 9 點」。

到期執行跟蹤

到期提醒觸發,或手動要求跑一次時:

  1. 加載 literature-tracking-search。
  2. 做雙源檢索。
  3. 人工分級。
  4. 寫入全局新庫。
  5. 調用 tracking_log_complete 後彙報。

提醒只在當前會話進程存活時觸發。關閉期間不響,重開後補發逾期任務。

數據、配置與權限

數據位置

文檔中的數據路徑在:

$DSH_HOME/data/literature

其中包含:

$DSH_HOME/data/literature/literature.db
$DSH_HOME/data/literature/sci_journals.db

literature.db 用於搜索緩存、全局新庫、跟蹤方案、研究者檔案和搜索記錄。sci_journals.db 用於 SCI 期刊目錄。

sandbox 權限

有 sandboxPolicy.grant 的 DSH 會把 $DSH_HOME/data/literature 登記爲額外可寫根,bash/fs 才能碰 backup 和 export。

沒有 grant 的舊版 DSH,插件仍能加載,只是 shell 可能寫不進去。文獻工具本身不走 sandbox。

常用配置

插件配置應寫在 preset 那次重新掛載上,而不是 host 的空殼配置上。編輯文件:

~/.dsh/.agent-presets/literature-tracking-assistant/agent.cordis.yml

文檔中給出的示例:

- id: literature-search
  name: '@amphilagus/dsh-literature'
  config:
    enabled: true
    mailto: you@example.com
    # dbPath: ~/custom/literature.db
    # cacheRemote: true

常見配置項:

  • enabled:主開關。本 preset 裏必須爲 true。
  • mailto:Crossref polite pool 郵箱。
  • dbPath:SQLite 路徑,覆蓋搜索緩存、新庫和跟蹤方案。
  • cacheRemote:是否把遠程命中寫入搜索緩存。
  • sciJournalsPath:SCI 目錄路徑。

改完 preset 文件後,新開的會話纔會用新組合;已在跑的會話保持啓動時那一版。

適用場景與注意

適合以下情況:

  • 需要在 DSH 會話裏做主題文獻檢索。
  • 需要按 ORCID 跟蹤研究者。
  • 需要把人工篩選結果沉澱到全局新庫。
  • 需要會話級到期提醒和持續跟蹤。

不適合或需要注意:

  1. 需要全文抓取或翻譯時,本插件不做這些能力。
  2. 標準編碼 Agent 默認不加載本工具集,必須選中「文獻跟蹤助理」preset。
  3. 技能是運行時註冊的,不要把 literature-survey、literature-tracking-setup、literature-tracking-search 拷進 skills 目錄。
  4. 排班週期是 every_seconds,最小 300 秒,不是日曆時間點。
  5. 插件以當前 dsh 進程權限運行,安裝前應檢查源碼、依賴和許可證。

結尾

@amphilagus/dsh-literature 的價值比較明確:把 Crossref、arXiv、本地 SQLite 數據、研究者檔案和 schedule 提醒組合成一個 DSH 插件,再配合「文獻跟蹤助理」preset 形成可執行的文獻工作流。

目錄頁:https://www.skillhub.cn/plugins/amphilagus/dsh-literature

源碼:https://github.com/amphilagus/dsh-literature

羽毛球分组比赛记分
小程序二维码

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

小夜