dsh-bioinf:DeepSeek Harness 生物信息学技能路由插件

前言

在 DeepSeek Harness(DSH)的插件开发中,直接将庞大的技能库(例如 986 个生物技能)打包成扁平的会话目录(约 230KB,60k-80k tokens)会导致性能下降。dsh-bioinf 作为一个插件,旨在解决这个问题:它用基于搜索的路由机制替代静态目录,并提供远程执行与场景化引导。

功能概览

该插件提供了以下核心能力:

  1. skill_search 工具
    实现了 BM25 风格的评分算法(权重:名称 ×6,类别 ×2,whenToUse ×1.5,描述 ×1),支持 CJK 双字支持。查询整个库的时间小于 10 毫秒,返回匹配的技能名称与类别。

  2. skill_categories 工具
    提供类别树结构,包含 15 个顶级分类及其子分类和技能数量,支持用户按领域浏览。

  3. bioinf-library 技能提供者
    将 986 个生物技能注册到 ctx.skills 中,使原生 skill 工具能够按需加载技能内容。技能名称标准化为 kebab-case,并过滤了 HTML 产地注释,保证描述的完整性。

  4. dsh-bioinf-anysearch
    注册一个 WebSearchProvider 到 ctx.web,为原生 web_search 工具提供支持。该组件独立存在,因为无头配置文件不挂载 web 接口。

  5. remote_exec 工具(可选)
    支持在配置的 GPU/训练服务器上执行 SSH 操作,包括 nvidia-smi 查看状态、使用 nohup 启动训练、日志轮询和预测任务。仅在 remote.host 和 remote.user 配置项存在时生效。

  6. Guidance 提示部分
    提供路由规则(例如“绝不猜测技能名称”)以及三种场景剧本:A. 文献深度审阅(生成可证伪假设),B. 生物数据检索/分析,C. 远程训练/预测。

安装与启用

该插件作为 Cordis patch 插件工作,目前未提供单一的 npm/pnpm install 命令。启用过程需要手动编辑配置文件并构建库文件。

  1. 配置工具技能
    确保在 @deepseek-ai/dsh-tool-skill 的配置中关闭 catalog:
    config:
      catalog: off
  1. 编辑 cordis.patch.yml
    在 cordis.patch.yml 中插入 bioinf 和 bioinf-anysearch 插件:
    - insert:
        - id: bioinf
          name: 'file:///D:/projs/bioinf_agent/deepseek-harness/packages/examples/dsh-bioinf/lib/index.js'
          config:
            skillsIndexFile: 'D:/projs/bioinf_agent/skills_meta/_dsh_index.json'
        - id: bioinf-anysearch
          name: 'file:///D:/projs/bioinf_agent/deepseek-harness/packages/examples/dsh-bioinf/lib/anysearch-plugin.js'
          config:
            apiKey: '...'
  1. 构建库文件
    在项目根目录下运行构建命令以生成 lib/ 目录:
    pnpm run build:lib:host

索引格式

skillsIndexFile 必须指向一个有效的 JSON 数组。索引文件定义了技能的元数据,示例格式如下:

[
  {
    "name": "scanpy",
    "dir": "scanpy",
    "cat1": "细胞组学与组学整合场景",
    "cat2": "单细胞与转录组分析",
    "cat3": "scanpy",
    "description": "...",
    "whenToUse": "...",
    "requirements": ["pip install scanpy"],
    "hasScripts": false,
    "nScripts": 0,
    "bodyChars": 1234,
    "path": "D:/.../scanpy/SKILL.md"
  }
]

注意事项

  1. Catalog 依赖:必须确保 tool-skill 的配置中 catalog: off 已开启。
  2. 远程执行条件:remote_exec 工具仅在配置了 remote.host 和 remote.user 时可用。
  3. 文件格式:skillsIndexFile 指向的文件必须是有效的 JSON 数组,否则插件可能无法正常工作。
  4. 测试环境:运行单元测试需要安装 vitest,测试文件位于 packages/examples/dsh-bioinf/tests/。

结语

dsh-bioinf 通过搜索路由和按需加载机制,解决了生物信息学场景下大型技能库的维护难题。结合远程执行工具,它能够支持从文献分析到服务器训练的全流程自动化。

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

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

小夜