前言¶
在 DSH「一切皆插件」的组织方式中,工具可以以 bundle 形式挂到具体 profile,再结合 agent preset 形成可用的会话能力。@amphilagus/dsh-literature 是 amphilagus 维护的一个 DSH 插件,定位是 DeepSeek Harness 的文献检索与定向跟踪插件,并配套「文献跟踪助理」agent preset。
它面向的不是通用搜索,而是文献工作流:按主题或研究者检索 Crossref 与 arXiv,做人工分级后写入全局新库,并可在选中预设的会话里做到期提醒和持续跟踪。标准编码 Agent 默认不加载本工具集,只有选中「文献跟踪助理」preset 的会话才会启用。
该插件收录在 skillhub.cn 插件页。该目录是独立站点,与 DeepSeek / 幻方无官方从属关系,不应视为官方应用商店。
这是什么¶
@amphilagus/dsh-literature 可以概括为三件事:
- 提供面向 agent 的文献检索工具。
- 提供研究者与跟踪方案的数据管理。
- 配合「文献跟踪助理」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-surveyliterature-tracking-setupliterature-tracking-search
这三个技能是插件在启用状态下注册的运行时技能,不是需要单独放进 skills 目录的文件。
数据管理¶
数据管理覆盖:
- 搜索缓存。
- 全局新库。
- 跟踪方案。
- 研究者档案。
- 搜索记录。
安装与启用¶
前置检查¶
下面默认 profile 名为 web。如果设置了 DSH_HOME,相关数据目录会落在 $DSH_HOME 下。
安装前先确认:
- 本机 Node 满足
^22.19.0 || >=24.0.0。 - 已检查插件源码、依赖和
MIT许可证。 - 已确认该插件将以当前
dsh进程权限运行。 - 准备选择「文献跟踪助理」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
验收顺序:
- 新建会话,选择「文献跟踪助理」。
- 会话中应能看到文献检索、跟踪和 schedule 相关工具,例如
literature_search、tracking_*、researcher_profile_*、schedule_create。 skill列表里应有literature-survey、literature-tracking-setup、literature-tracking-search。- 另开一个标准模式会话:文献工具和 schedule 工具都不应出现。
典型用法¶
下面按三条路径说明。在「文献跟踪助理」会话里直接说需求即可,agent 会按任务加载对应技能。
搜索某主题最近的文章¶
这条路径只做检索和入藏,不建跟踪方案、不排班。
- 加载
literature-survey。 - 调用
literature_search,带上主题关键词和recentDays。
- 近一周:7
- 近一月:30 - 筛完后用
tracking_curate写入全局新库。
搜索某研究者¶
这条路径也只做检索和入藏。
- 加载
literature-survey。 - 如果已有 ORCID,直接调用
literature_search,带上orcid。 - 如果只有姓名,先调用
researcher_profile_disambiguate,确认身份后再搜。 - 同样可以用
recentDays限制窗口。 - 筛完入全局新库。
建立持续跟踪¶
这条路径会创建跟踪方案并创建排班。
- 加载
literature-tracking-setup。 - 确认跟踪方向:
topic或person。 - 如果是
person,先消歧并建档。 - 如果主题是
topic,可以配置 ISSN 白名单。 - 调用
tracking_plan_add。 - 调用
schedule_create。
注意:schedule_create 的周期是 every_seconds,最小 300 秒,不是日历意义上的「每周一 9 点」。
到期执行跟踪¶
到期提醒触发,或手动要求跑一次时:
- 加载
literature-tracking-search。 - 做双源检索。
- 人工分级。
- 写入全局新库。
- 调用
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 跟踪研究者。
- 需要把人工筛选结果沉淀到全局新库。
- 需要会话级到期提醒和持续跟踪。
不适合或需要注意:
- 需要全文抓取或翻译时,本插件不做这些能力。
- 标准编码 Agent 默认不加载本工具集,必须选中「文献跟踪助理」preset。
- 技能是运行时注册的,不要把
literature-survey、literature-tracking-setup、literature-tracking-search拷进 skills 目录。 - 排班周期是
every_seconds,最小300秒,不是日历时间点。 - 插件以当前
dsh进程权限运行,安装前应检查源码、依赖和许可证。
结尾¶
@amphilagus/dsh-literature 的价值比较明确:把 Crossref、arXiv、本地 SQLite 数据、研究者档案和 schedule 提醒组合成一个 DSH 插件,再配合「文献跟踪助理」preset 形成可执行的文献工作流。
目录页:https://www.skillhub.cn/plugins/amphilagus/dsh-literature