Introduction

In the DeepSeek Harness (DSH) plugin ecosystem, plugins are usually provided as flat session catalogs. However, in scenarios such as bioinformatics, a carefully curated skill library may contain hundreds of skills. Loading these directly into the session prompt leads to a large size (about 230 KB / 60–80k tokens), causing context waste.

The dsh-bioinf-routed plugin aims to solve this problem. It replaces the original catalog pattern with a search-based routing pattern, allowing agents to retrieve skills by keywords instead of loading everything at once.

Plugin Overview

This is an integrated bioinformatics resource routing plugin. It inherits the core design style of dsh-bioinf, retains BM25 skill search and scenario-guided features, and extends these with capabilities such as a data lake, model registry (ADMET/docking/repurposing + server), knowledge documents, and software libraries. These resources are managed centrally and operate behind a small routing model (bioinf_route), with an optional LLM router for expansion.

This plugin is maintained by user gsh150801 and is licensed under the MIT license.

Core Features

The plugin mainly provides the following capabilities:

  1. BM25-style skill search: Supports a CJK bilingual tokenization scoring mechanism for skill retrieval.
  2. Category tree browsing tool: Provides top-level categories and subcategories, supporting browsing by domain.
  3. Bioinformatics library integration: Registers 986 skills into the context for on-demand invocation by the native skill tool.
  4. Web search provider: Registers dsh-bioinf-anysearch to ctx.web, providing data source support for the native web_search tool.
  5. Remote execution tool (optional): Supports executing commands on a configured GPU training server via SSH (for example, nvidia-smi, background training, log polling, and prediction tasks).
  6. Guidance prompt module: Includes routing rules (such as “never guess skill names”) and three scenario scripts (in-depth literature review, biological data retrieval/analysis, and remote training/prediction).

Configuration and Enablement

Using this plugin requires local files and configuration.

Prerequisites:
* A local skillsIndexFile file is required.
* A local anysearch-plugin.js file is required.
* Peer Dependencies must be installed: @deepseek-ai/cordis, @deepseek-ai/dsh-skill, @deepseek-ai/dsh-tools, @deepseek-ai/dsh-web, @deepseek-ai/schemastery.

Configuration example (using cordis.patch.yml or a configuration file):

- insert:
    # 注册 bioinf 技能库和索引
    - id: bioinf
      name: 'file:///path/to/dsh-bioinf/lib/index.js'
      config:
        skillsIndexFile: '/path/to/skills_meta/_dsh_index.json'
    # 注册 Web 搜索提供程序
    - id: bioinf-anysearch
      name: 'file:///path/to/dsh-bioinf/lib/anysearch-plugin.js'
      config:
        apiKey: 'your_api_key'

Typical Usage

After enabling the plugin, it usually needs to be used together with dsh-tool-skill, and the native catalog feature should be disabled.

  1. Disable the native catalog:
    When configuring @deepseek-ai/dsh-tool-skill, set catalog to off.
    - id: tool-skill
      name: '@deepseek-ai/dsh-tool-skill'
      config:
        catalog: off
  1. Enable remote execution:
    If SSH execution of remote GPU tasks is required, set host and user information in the configuration.
    config:
      remote:
        host: 'gpu-server.example.com'
        user: 'username'

Notes

  • Permissions and security: The plugin runs with the permissions of the current DSH process. Please check the source code and license before use.
  • File dependencies: The paths for skillsIndexFile and anysearch-plugin.js must be configured correctly; otherwise, the related features cannot be loaded.
  • Remote connection: Using the remote execution feature requires correct SSH connection parameters (remote.host and remote.user).

Summary

By introducing search and routing mechanisms, dsh-bioinf-routed solves the loading bottleneck of large bioinformatics skill libraries within the DSH context. It decouples resource management from routing logic, enabling agents to efficiently invoke tools and documents for specific scenarios.

For more details and source code, please refer to:
* Plugin directory page
* GitHub repository