@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_searchtracking_*researcher_profile_*schedule_create
  3. skill 列表里应有 literature-surveyliterature-tracking-setupliterature-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. 确认跟踪方向:topicperson
  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-surveyliterature-tracking-setupliterature-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

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

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

Xiaoye